dt-shared-front 1.1.8 → 1.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack://dt-shared-front/webpack/universalModuleDefinition","webpack://dt-shared-front/webpack/bootstrap","webpack://dt-shared-front/external \"react\"","webpack://dt-shared-front/external \"classnames\"","webpack://dt-shared-front/external \"tslib\"","webpack://dt-shared-front/external \"antd\"","webpack://dt-shared-front/./src/components/input/input.module.scss?d620","webpack://dt-shared-front/./src/components/text-area/text-area.module.scss?eae4","webpack://dt-shared-front/./src/components/slider/slider.module.scss?860e","webpack://dt-shared-front/./src/components/button/button.module.scss?1fd0","webpack://dt-shared-front/./src/components/link/link.module.scss?8dbb","webpack://dt-shared-front/./src/components/text/text.module.scss?cdc8","webpack://dt-shared-front/./src/components/heading/heading.module.scss?3287","webpack://dt-shared-front/external \"formik\"","webpack://dt-shared-front/./src/components/tag-button/tag-button.module.scss?b873","webpack://dt-shared-front/external \"antd/lib/date-picker/locale/ru_RU\"","webpack://dt-shared-front/./src/components/icon/icon.module.scss?74cb","webpack://dt-shared-front/./src/components/loader/loader.module.scss?4128","webpack://dt-shared-front/./src/components/counter/counter.module.scss?8950","webpack://dt-shared-front/./src/components/loader-line/loader-line.module.scss?4270","webpack://dt-shared-front/external \"swiper\"","webpack://dt-shared-front/external \"antd/lib/date-picker/generatePicker\"","webpack://dt-shared-front/external \"rc-picker/lib/generate/dateFns\"","webpack://dt-shared-front/external \"lodash.debounce\"","webpack://dt-shared-front/./src/components/auto-complete/auto-complete.module.scss?3ddc","webpack://dt-shared-front/./src/components/checkbox/checkbox.module.scss?cc3b","webpack://dt-shared-front/./src/components/select/select.module.scss?d303","webpack://dt-shared-front/./src/components/spoiler/spoiler.module.scss?afe8","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.module.scss?6d4e","webpack://dt-shared-front/./src/components/tag-box/tag-box.module.scss?7456","webpack://dt-shared-front/./src/components/tooltip/tooltip.module.scss?2ed9","webpack://dt-shared-front/external \"react-media\"","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?58a4","webpack://dt-shared-front/./src/components/divider/divider.module.scss?0be2","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7567","webpack://dt-shared-front/external \"swiper/react\"","webpack://dt-shared-front/./src/components/switch/switch.module.scss?e461","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.module.scss?1908","webpack://dt-shared-front/external \"lodash\"","webpack://dt-shared-front/external \"inputmask\"","webpack://dt-shared-front/./src/components/dropdown/dropdown.module.scss?3660","webpack://dt-shared-front/./src/components/modal/modal.module.scss?1d96","webpack://dt-shared-front/external \"date-fns\"","webpack://dt-shared-front/external \"react-loading-skeleton\"","webpack://dt-shared-front/external \"react-dom\"","webpack://dt-shared-front/./src/components/upload/upload.module.scss","webpack://dt-shared-front/./src/components/icon/icon.tsx","webpack://dt-shared-front/./src/components/icon/icons/clear.svg","webpack://dt-shared-front/./src/components/icon/icons/select-arrow.svg","webpack://dt-shared-front/./src/components/auto-complete/auto-complete.tsx","webpack://dt-shared-front/./src/components/icon/icons/button-loader.svg","webpack://dt-shared-front/./src/components/button/button.tsx","webpack://dt-shared-front/./src/components/media/media.tsx","webpack://dt-shared-front/./src/components/icon/icons/breadcrubms-arrow.svg","webpack://dt-shared-front/./src/components/text/text.tsx","webpack://dt-shared-front/./src/components/link/link.tsx","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.tsx","webpack://dt-shared-front/./src/components/checkbox/checkbox.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-plus.svg","webpack://dt-shared-front/./src/components/counter/counter.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-minus.svg","webpack://dt-shared-front/./src/components/icon/icons/date-picker.svg","webpack://dt-shared-front/./src/components/icon/icons/input-loader.svg","webpack://dt-shared-front/./src/components/input/input.tsx","webpack://dt-shared-front/./src/components/icon/icons/input-search.svg","webpack://dt-shared-front/./src/components/date-picker/date-picker.tsx","webpack://dt-shared-front/./src/components/divider/divider.tsx","webpack://dt-shared-front/./src/components/dropdown/dropdown.tsx","webpack://dt-shared-front/./src/components/form/form-focus-error.tsx","webpack://dt-shared-front/./src/components/form/form.tsx","webpack://dt-shared-front/./src/components/form-control/form-control.tsx","webpack://dt-shared-front/./src/components/heading/heading.tsx","webpack://dt-shared-front/./src/components/icon/icons/loader.svg","webpack://dt-shared-front/./src/components/loader/loader.tsx","webpack://dt-shared-front/./src/components/loader-line/loader-line.tsx","webpack://dt-shared-front/./src/components/menu/menu.tsx","webpack://dt-shared-front/./src/components/icon/icons/modal-close.svg","webpack://dt-shared-front/./src/components/modal/modal.tsx","webpack://dt-shared-front/./src/components/modal/modal.provider.tsx","webpack://dt-shared-front/./src/components/radio/radio.tsx","webpack://dt-shared-front/./src/components/range-picker/range-picker.tsx","webpack://dt-shared-front/./src/components/select/select.tsx","webpack://dt-shared-front/./src/components/selector/selector.tsx","webpack://dt-shared-front/./src/components/skeleton/skeleton.tsx","webpack://dt-shared-front/./src/components/icon/icons/arrow-prev.svg","webpack://dt-shared-front/./src/components/slider/slider.tsx","webpack://dt-shared-front/./src/components/icon/icons/arrow-next.svg","webpack://dt-shared-front/./src/components/icon/icons/spoiler-arrow-active.svg","webpack://dt-shared-front/./src/components/spoiler/spoiler.tsx","webpack://dt-shared-front/./src/components/icon/icons/spoiler-arrow.svg","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.tsx","webpack://dt-shared-front/./src/components/switch/switch.tsx","webpack://dt-shared-front/./src/components/tag-box/tag-box.tsx","webpack://dt-shared-front/./src/components/tag-button/tag-button.tsx","webpack://dt-shared-front/./src/components/tag-button/tag-buttton-group.tsx","webpack://dt-shared-front/./src/components/utils/combine-ref.ts","webpack://dt-shared-front/./src/components/text-area/text-area.tsx","webpack://dt-shared-front/./src/components/tooltip/tooltip.utils.tsx","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.tsx","webpack://dt-shared-front/./src/components/tooltip/tooltip.tsx","webpack://dt-shared-front/./src/components/upload/upload.tsx","webpack://dt-shared-front/./src/components/utils/apple-detect.ts","webpack://dt-shared-front/./src/components/utils/date-format.ts","webpack://dt-shared-front/./src/components/utils/date.ts","webpack://dt-shared-front/./src/components/utils/pluralize.ts","webpack://dt-shared-front/./src/components/utils/price-format.ts","webpack://dt-shared-front/./src/components/utils/text-sanitize.ts","webpack://dt-shared-front/./src/components/utils/time-left.ts","webpack://dt-shared-front/./src/index.ts"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","EIconSize","EIconVariant","IconSvg","active","size","medium","variant","className","onClick","props","classNames","icon","clickable","formatItemToOption","item","valueKey","labelKey","labels","includes","label","data","AutoComplete","onServerSearch","debounceTimeout","labelPlaceholder","onRenderOption","popupClassName","fetching","setFetching","serverOptions","setServerOptions","searchValue","setSearchValue","fetchRef","options","_options","Array","isArray","values","map","option","_onRenderOptions","hasLabel","optionText","onChange","_option","res","find","debounceFetcher","current","fetchId","then","newOptions","onSelect","notFoundContent","placeholder","onSearch","val","backfill","suffixIcon","autoComplete","error","stacked","clearIcon","EButtonSize","EButtonVariant","EButtonIconPosition","Button","iconPosition","right","width","Icon","loading","disabled","children","type","button","withIcon","loaderClassNames","loader","iconClassNames","icon__only","_onClick","e","style","MEDIA_MATCHES","mobile","tablet","desktop","Media","renderDesktop","renderMobile","renderTablet","render","mounted","setMounted","defaultRender","matches","queries","MediaContext","MediaProvider","Provider","withMedia","Component","useMedia","Error","ETextSize","ELinkVariant","ELinkType","ELinkSize","Text","bold","addition","success","inverse","attention","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","Link","target","link","href","dashed","rel","mainLink","linkBold","Breadcrumbs","paths","onReplace","media","onBack","reverse","path","isBack","length","breadcrumbs","index","breadcrumbsLink","title","isCurrent","UNIQ_COUNT","Checkbox","_value","_setValue","_onChange","currentTarget","checked","id","checkboxContainer","checkbox","htmlFor","Counter","setValue","count","newCount","counter","undefined","min","max","EInputVariant","EInputSize","EInputBorder","Input","ref","onFocus","onBlur","onClear","onPointerUp","required","showClear","outlined","border","normal","adaptive","debounceTime","beginSearch","NaN","mask","autofocus","_loading","_setLoading","_mask","_setMask","innerRef","setTimeout","focus","remove","inputMask","greedy","dispatchEvent","Event","bubbles","input","invalid","inputClassNames","clearClassNames","clear","labelClassNames","_onSearchDebounce","callback","prev","_onSearch","_onClear","_onKeyPress","onKeyPress","lang","locale","AntDatePicker","DatePicker","format","onRenderInput","_","showToday","inputRender","Divider","height","bordered","divider","Dropdown","dropdownRender","originNode","dropdown","FocusError","errors","isSubmitting","isValidating","keys","selector","errorElement","formRef","querySelector","Form","onChangeBlur","form","dirty","isValid","validateForm","onSubmit","handleSubmit","FormControl","component","field","meta","helpers","ctx","validationSchema","schemaDescription","describe","accessor","split","join","fields","tests","some","test","isRequiredField","touched","setError","args","setTouched","EHeadingLevel","Heading","level","h1","warning","centerText","HeadingTag","heading","textWarning","center","Loader","absolute","fixed","LoaderLine","loaderLine","bar","Menu","Modal","footer","sidebar","closable","open","setOpen","setData","_width","_setWidth","_title","_setTitle","_footer","_setFooter","_closable","_setClosable","full","_full","_setFull","footerFixed","_footerFixed","_setFooterFixed","handleCancel","handleOpen","close","setTitle","setFooter","setClosable","setWidth","setFooterFixed","setFull","maskClosable","destroyOnClose","afterClose","closeIcon","onCancel","maskTransitionName","transitionName","modal","modalContext","ModalProvider","modals","setModals","initialProps","Date","getTime","concat","useModal","Radio","position","nativeEvent","Group","RangePicker","disabledDate","isFromToday","pickerRef","Select","onServerSearchGroup","optionsGroup","setOptionsGroup","isEqual","group","Option","_onRenderGroup","OptGroup","onDropdownVisibleChange","_optionsGroup","select","Selector","Skeleton","use","Slider","items","slidesPerView","renderItem","viewItem","loop","asyncReady","showNavigation","navPosition","spaceBetween","autoplay","freeMode","showCounter","centeredSlides","classNamePrev","classNameNext","overflow","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","speed","preloadImages","loopedSlides","onSlideChange","sw","realIndex","delay","disableOnInteraction","navigation","nextEl","prevEl","onImagesReady","swiper","slideTo","onBeforeInit","params","lazy","checkInView","loadPrevNext","swiperSlide","swiperSlideAuto","sliderCounter","Spoiler","initialValue","opened","setOpened","spoiler","arrow","StackedInput","setKey","stacked_input","stacked_input__select","dropdownMatchSelectWidth","stacked_input__input","Switch","TagBox","v","filter","maxTagCount","removeIcon","menuItemSelectedIcon","ETagButtonSize","ETagButtonVariant","TagButton","selected","TagButtonGroup","tagButtonGroup","onRenderLabel","useCombinedRefs","targetRef","refs","forEach","ETextAreaVariant","ETextAreaSize","ETextAreaBorder","observe","element","event","handler","addEventListener","deobserve","removeEventListener","TooltipPosition","TextArea","autoFocus","combineRef","resize","scrollHeight","delayedResize","window","init","textarea","textarea__disabled","TextSpoiler","isOpen","textSpoiler","openText","large","action","getScrollTopParent","clientHeight","parentElement","Tooltip","placement","refTooltip","refArrow","stylesTooltip","setStylesTooltip","stylesArrow","setStylesArrow","scrollElement","recalcPosition","elem","targetElement","child","getAttribute","slice","tooltipElement","getBoundingClientRect","top","left","tooltipWidth","tooltipHeight","leftPosition","bottom","offsetWidth","document","body","opacity","recalcStyles","tooltipProperties","recalcArrowStyles","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","Upload","onUpload","renderName","file","setFile","uid","status","url","thumbUrl","info","URL","createObjectURL","originFileObj","onUploadFile","Dragger","showUploadList","showRemoveIcon","maxCount","upload","customRequest","fileList","listType","accept","appleDetect","navigator","platform","userAgent","units","YYYY","year","YY","M","month","MM","MMM","MMMM","MMMMM","D","day","DD","weekday","dd","hh","hour","mm","minute","ss","second","getDate","replaceAll","dateFormat","utc","plural","userTimezoneOffset","getTimezoneOffset","dateUnits","dateItems","delimeters","Boolean","stringDate","unit","toLocaleTimeString","assign","toLocaleDateString","toUpperCase","toLocaleString","replace","push","dateWithoutTimezone","date","dateWithTimezone","pluralize","plurals","priceFormat","price","Intl","NumberFormat","currency","minimumFractionDigits","formatToParts","Math","ceil","currencySign","cur","reduce","part","PREPOSITIONS","replacement","str","textSanitize","regex","RegExp","x","decorate","UNITS","timeLeftMinutes","time","timeLeft","floor"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dt-shared-front\"] = factory();\n\telse\n\t\troot[\"dt-shared-front\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 44);\n","module.exports = require(\"react\");","module.exports = require(\"classnames\");","module.exports = require(\"tslib\");","module.exports = require(\"antd\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"shared__input-module__input--5GrwX_1701180310515\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1701180310515\",\"label\":\"shared__input-module__label--tNO2a_1701180310515\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1701180310515\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1701180310515\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1701180310515\",\"disabled\":\"shared__input-module__disabled--ABDAb_1701180310515\",\"invalid\":\"shared__input-module__invalid--e--FF_1701180310515\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1701180310515\",\"clear\":\"shared__input-module__clear--OvXQO_1701180310515\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1701180310515\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1701180310515\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1701180310515\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1701180310515\",\"icon\":\"shared__input-module__icon--zr4sW_1701180310515\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1701180310515\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1701180310515\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1701180310515\",\"loader\":\"shared__input-module__loader--QYYkV_1701180310515\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1701180310515\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1701180310515\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1701180310515\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1701180310515\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1701180310515\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1701180310515\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1701180310515\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1701180310515\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1701180310515\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1701180310515\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1701180310515\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1701180310515\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1701180310515\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1701180310515\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1701180310515\",\"clear\":\"shared__text-area-module__clear--cniAi_1701180310515\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1701180310515\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1701180310515\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1701180310515\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1701180310515\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1701180310515\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1701180310515\",\"icon\":\"shared__text-area-module__icon--HqPRa_1701180310515\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1701180310515\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1701180310515\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1701180310515\",\"loader\":\"shared__text-area-module__loader--zfGHC_1701180310515\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1701180310515\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1701180310515\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1701180310515\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1701180310515\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1701180310515\",\"ready\":\"shared__slider-module__ready--H+y-p_1701180310515\",\"slider\":\"shared__slider-module__slider--UBNwU_1701180310515\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1701180310515\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1701180310515\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1701180310515\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1701180310515\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1701180310515\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1701180310515\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1701180310515\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1701180310515\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1701180310515\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1701180310515\",\"button__small\":\"shared__button-module__button__small--kA9VI_1701180310515\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1701180310515\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1701180310515\",\"button__large\":\"shared__button-module__button__large--PG1dR_1701180310515\",\"button__default\":\"shared__button-module__button__default--mYOHn_1701180310515\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1701180310515\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1701180310515\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1701180310515\",\"loading\":\"shared__button-module__loading--IZ3gt_1701180310515\",\"icon\":\"shared__button-module__icon--Gso9o_1701180310515\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1701180310515\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1701180310515\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1701180310515\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1701180310515\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1701180310515\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1701180310515\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1701180310515\",\"loader\":\"shared__button-module__loader--v14UE_1701180310515\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1701180310515\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1701180310515\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1701180310515\",\"link__link\":\"shared__link-module__link__link--gUwQW_1701180310515\",\"link__action\":\"shared__link-module__link__action--USwiE_1701180310515\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1701180310515\",\"addition\":\"shared__link-module__addition--3xkZd_1701180310515\",\"link__small\":\"shared__link-module__link__small--alNG-_1701180310515\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1701180310515\",\"link__large\":\"shared__link-module__link__large--2gcWq_1701180310515\",\"icon\":\"shared__link-module__icon--DUvf4_1701180310515\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1701180310515\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1701180310515\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1701180310515\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1701180310515\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1701180310515\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1701180310515\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1701180310515\",\"text__large\":\"shared__text-module__text__large--oRnU3_1701180310515\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1701180310515\",\"textBold\":\"shared__text-module__textBold--56jgD_1701180310515\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1701180310515\",\"textError\":\"shared__text-module__textError--MvnkN_1701180310515\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1701180310515\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1701180310515\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1701180310515\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1701180310515\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1701180310515\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1701180310515\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1701180310515\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1701180310515\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1701180310515\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1701180310515\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1701180310515\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1701180310515\",\"textError\":\"shared__heading-module__textError--Bm1mE_1701180310515\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1701180310515\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1701180310515\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1701180310515\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1701180310515\",\"button__small\":\"shared__tag-button-module__button__small--VKA08_1701180310515\",\"button__medium\":\"shared__tag-button-module__button__medium--M0TM+_1701180310515\",\"button__large\":\"shared__tag-button-module__button__large--PobFJ_1701180310515\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1701180310515\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1701180310515\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1701180310515\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1701180310515\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1701180310515\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1701180310515\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1701180310515\",\"loading\":\"shared__tag-button-module__loading--emtZM_1701180310515\",\"icon\":\"shared__tag-button-module__icon--LtczE_1701180310515\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1701180310515\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1701180310515\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1701180310515\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1701180310515\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1701180310515\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1701180310515\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1701180310515\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1701180310515\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1701180310515\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1701180310515\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1701180310515\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1701180310515\",\"active\":\"shared__icon-module__active--HQWC5_1701180310515\",\"icon__light\":\"shared__icon-module__icon__light--7x2By_1701180310515\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1701180310515\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1701180310515\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1701180310515\",\"absolute\":\"shared__loader-module__absolute--nggvH_1701180310515\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1701180310515\",\"button\":\"shared__counter-module__button--sOvjE_1701180310515\",\"value\":\"shared__counter-module__value--JD2xM_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1701180310515\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1701180310515\",\"active\":\"shared__loader-line-module__active--0J8lF_1701180310515\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1701180310515\",\"border\":\"shared__loader-line-module__border--OXwgu_1701180310515\"};","module.exports = require(\"swiper\");","module.exports = require(\"antd/lib/date-picker/generatePicker\");","module.exports = require(\"rc-picker/lib/generate/dateFns\");","module.exports = require(\"lodash.debounce\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"autoComplete\":\"shared__auto-complete-module__autoComplete--E+tq+_1701180310515\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1701180310515\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1701180310515\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1701180310515\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1701180310515\",\"error\":\"shared__checkbox-module__error--xRaxv_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1701180310515\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1701180310515\",\"disabled\":\"shared__select-module__disabled--gfQp-_1701180310515\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1701180310515\",\"optionText\":\"shared__select-module__optionText--7GphM_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1701180310515\",\"title\":\"shared__spoiler-module__title--N0ID7_1701180310515\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1701180310515\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1701180310515\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1701180310515\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1701180310515\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1701180310515\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1701180310515\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1701180310515\",\"left\":\"shared__tooltip-module__left--2nmo1_1701180310515\",\"right\":\"shared__tooltip-module__right--JgZSX_1701180310515\",\"top\":\"shared__tooltip-module__top--VsESz_1701180310515\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1701180310515\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1701180310515\",\"error\":\"shared__form-control-module__error--FVB3Z_1701180310515\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1701180310515\",\"active\":\"shared__switch-module__active--Mghyc_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1701180310515\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1701180310515\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1701180310515\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1701180310515\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1701180310515\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1701180310515\"};","module.exports = require(\"date-fns\");","module.exports = require(\"react-loading-skeleton\");","module.exports = require(\"react-dom\");","// extracted by mini-css-extract-plugin\nmodule.exports = {};","import React from 'react';\n\nimport cn from 'classnames';\nimport { useMemo } from 'react';\nimport { PropsWithChildren } from 'react';\n\nimport styles from './icon.module.scss';\n\nexport enum EIconSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EIconVariant {\n default = 'default',\n black = 'black',\n attention = 'attention',\n revert = 'revert',\n warning = 'warning',\n initial = 'initial',\n light = 'light'\n}\n\ninterface IIconProps {\n size?: keyof typeof EIconSize;\n variant?: keyof typeof EIconVariant;\n active?: boolean;\n icon: any;\n className?: string;\n onClick?: (e: any) => void;\n 'data-tooltip-target'?: boolean\n}\n\nexport const Icon = ({\n icon: IconSvg,\n active,\n size = EIconSize.medium,\n variant = EIconVariant.default,\n className,\n onClick,\n ...props\n}: PropsWithChildren<IIconProps>) => {\n const classNames = useMemo(\n () =>\n cn(className, styles.icon, styles[`icon__${size}`], styles[`icon__${variant}`], {\n [styles.active]: active,\n [styles.clickable]: !!onClick,\n }),\n [size, variant, active, className, onClick],\n );\n\n if (!IconSvg) {\n return null\n }\n\n return <IconSvg {...props} onClick={onClick} className={classNames} />;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgClear(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.894 5.394a.857.857 0 011.212 0l5.394 5.393 5.394-5.393a.857.857 0 011.131-.071l.081.071a.857.857 0 010 1.212L13.713 12l5.393 5.394a.858.858 0 01.071 1.132l-.07.08a.857.857 0 01-1.213 0L12.5 13.213l-5.394 5.393a.857.857 0 01-1.131.072l-.081-.072a.857.857 0 010-1.212L11.287 12 5.894 6.606a.857.857 0 01-.071-1.131l.07-.08z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik01Ljg5Mzg3IDUuMzk0MTJDNi4yMjg2MSA1LjA1OTM4IDYuNzcxMzIgNS4wNTkzOCA3LjEwNjA2IDUuMzk0MTJMMTIuNSAxMC43ODc0TDE3Ljg5MzkgNS4zOTQxMkMxOC4yMDI5IDUuMDg1MTMgMTguNjg5MSA1LjA2MTM2IDE5LjAyNTMgNS4zMjI4MUwxOS4xMDYxIDUuMzk0MTJDMTkuNDQwOCA1LjcyODg1IDE5LjQ0MDggNi4yNzE1NyAxOS4xMDYxIDYuNjA2M0wxMy43MTI4IDEyLjAwMDJMMTkuMTA2MSAxNy4zOTQxQzE5LjQxNSAxNy43MDMxIDE5LjQzODggMTguMTg5MyAxOS4xNzc0IDE4LjUyNTZMMTkuMTA2MSAxOC42MDYzQzE4Ljc3MTMgMTguOTQxIDE4LjIyODYgMTguOTQxIDE3Ljg5MzkgMTguNjA2M0wxMi41IDEzLjIxMzFMNy4xMDYwNiAxOC42MDYzQzYuNzk3MDcgMTguOTE1MyA2LjMxMDg3IDE4LjkzOTEgNS45NzQ2MiAxOC42Nzc2TDUuODkzODcgMTguNjA2M0M1LjU1OTE0IDE4LjI3MTYgNS41NTkxNCAxNy43Mjg5IDUuODkzODcgMTcuMzk0MUwxMS4yODcxIDEyLjAwMDJMNS44OTM4NyA2LjYwNjNDNS41ODQ4OSA2LjI5NzMxIDUuNTYxMTIgNS44MTExMiA1LjgyMjU3IDUuNDc0ODdMNS44OTM4NyA1LjM5NDEyWiIgZmlsbD0iIzhCOEI4QiIgLz4KPC9zdmc+Cg==\";\nexport { SvgClear as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSelectArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.65 11.24a1 1 0 10-1.3 1.52l7 6a1 1 0 001.3 0l7-6a1 1 0 00-1.3-1.52L14 16.684 7.65 11.24z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik03LjY1MDgxIDExLjI0MDhDNy4yMzE0OCAxMC44ODEzIDYuNjAwMTggMTAuOTI5OSA2LjI0MDc2IDExLjM0OTJDNS44ODEzNCAxMS43Njg2IDUuOTI5OSAxMi4zOTk5IDYuMzQ5MjMgMTIuNzU5M0wxMy4zNDkyIDE4Ljc1OTNDMTMuNzIzNyAxOS4wODAzIDE0LjI3NjMgMTkuMDgwMyAxNC42NTA4IDE4Ljc1OTNMMjEuNjUwOCAxMi43NTkzQzIyLjA3MDEgMTIuMzk5OSAyMi4xMTg3IDExLjc2ODYgMjEuNzU5MyAxMS4zNDkyQzIxLjM5OTkgMTAuOTI5OSAyMC43Njg2IDEwLjg4MTMgMjAuMzQ5MiAxMS4yNDA4TDE0IDE2LjY4MjlMNy42NTA4MSAxMS4yNDA4WiIgZmlsbD0iY3VycmVudENvbG9yIiAvPgo8L3N2Zz4K\";\nexport { SvgSelectArrow as ReactComponent };","import React from 'react';\n\nimport { Icon } from \"@shared/icon\";\nimport { AutoComplete as AntdAutoComplete, AutoCompleteProps } from \"antd\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport ClearIcon from '../icon/icons/clear.svg';\nimport SelectArrowIcon from '../icon/icons/select-arrow.svg';\nimport classNames from \"classnames\";\nimport { debounce } from \"lodash\";\nimport styles from './auto-complete.module.scss';\n\nexport interface ISelectOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: IAutoCompleteProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ISelectOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ISelectOption<T>;\n}\n\ntype IAutoCompleteProps<T> = Omit<AutoCompleteProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onServerSearch?: (val: string) => Promise<T[]>;\n onRenderOption?: (item: T) => React.ReactNode;\n onChange?: (option: T, options?: T[]) => void;\n debounceTimeout?: number;\n stacked?: boolean;\n popupClassName?: string;\n icon?: any;\n};\n\nexport function AutoComplete<T>({labels, labelKey, valueKey, onServerSearch, icon, debounceTimeout = 500, labelPlaceholder, onRenderOption, popupClassName, ...props}: IAutoCompleteProps<T>) {\n const [fetching, setFetching] = useState(false);\n const [serverOptions, setServerOptions] = useState<ISelectOption<T>[]>(null);\n const [searchValue, setSearchValue] = useState<string>('')\n const fetchRef = useRef(0);\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n const _onRenderOptions = useCallback(\n (option: ISelectOption<T>) => {\n if (onRenderOption) {\n return {\n label: onRenderOption(option.data),\n value: option.label,\n data: option.data,\n key: option.value\n };\n }\n\n return {\n label: <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>,\n value: option.label,\n data: option.data,\n key: option.value\n };\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _options: any[] = useMemo(() => (serverOptions || options || []).map(_onRenderOptions), [\n onServerSearch,\n options,\n serverOptions,\n ]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setSearchValue(value);\n props.onChange && props.onChange(_option?.data, (serverOptions || options)?.map((i) => i.data));\n },\n [props.onChange, _options, serverOptions, options]\n );\n\n useEffect(() => {\n const res = props.value && _options?.find((option) => option.key === props.value[valueKey]);\n res && setSearchValue(res.value);\n }, [props.value]);\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1;\n const fetchId = fetchRef.current;\n setServerOptions([]);\n setFetching(true);\n\n onServerSearch && onServerSearch(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setServerOptions(newOptions?.map((option) => formatItemToOption(option, valueKey, labelKey)));\n setFetching(false);\n });\n };\n\n return debounce(loadOptions, debounceTimeout);\n }, [onServerSearch, debounceTimeout]);\n\n return <AntdAutoComplete\n value={searchValue}\n options={_options}\n onSelect={onChange}\n popupClassName={popupClassName}\n notFoundContent={null}\n placeholder={props.placeholder || labelPlaceholder}\n onSearch={(val) => {\n setSearchValue(val);\n debounceFetcher(val);\n }}\n backfill\n suffixIcon={<Icon icon={icon || SelectArrowIcon} />}\n className={classNames('ant-select-customize-input', props.className, styles.autoComplete, { 'select-error': props.error, 'select-stacked': props.stacked, 'select-loading': fetching })}\n clearIcon={<Icon icon={ClearIcon} />}\n ></AntdAutoComplete>\n}\n","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgButtonLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#button-loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#button-loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"button-loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"button-loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xNyAxMEMxNyAxMS42MTk1IDE2LjQzODUgMTMuMTg4OSAxNS40MTExIDE0LjQ0MDhDMTQuMzgzNyAxNS42OTI2IDEyLjk1NCAxNi41NDk1IDExLjM2NTcgMTYuODY1NUM5Ljc3NzI5IDE3LjE4MTQgOC4xMjg1IDE2LjkzNjkgNi43MDAyNCAxNi4xNzM0QzUuMjcxOTggMTUuNDEgNC4xNTI2MiAxNC4xNzUgMy41MzI4NyAxMi42Nzg4QzIuOTEzMTEgMTEuMTgyNiAyLjgzMTMzIDkuNTE3NzYgMy4zMDE0NCA3Ljk2ODAxQzMuNzcxNTUgNi40MTgyNSA0Ljc2NDQ4IDUuMDc5NDUgNi4xMTEwMyA0LjE3OTcxQzcuNDU3NTggMy4yNzk5NyA5LjA3NDQ1IDIuODc0OTcgMTAuNjg2MSAzLjAzMzcxQzEyLjAwNjIgMy4xNjM3MiAxMy4yNTU4IDMuNjY1MyAxNC4yOTQgNC40NzE3M0MxNC42NzU3IDQuNzY4MTcgMTQuNjcyOCA1LjMyNzI2IDE0LjMzMSA1LjY2ODk3VjUuNjY4OTdDMTMuOTg5MyA2LjAxMDY4IDEzLjQzODcgNi4wMDM1MyAxMy4wNDUgNS43MjMyNUMxMi4zMDI4IDUuMTk0OCAxMS40MzEzIDQuODY1NTcgMTAuNTE0NiA0Ljc3NTI4QzkuMzA1ODQgNC42NTYyMyA4LjA5MzE5IDQuOTU5OTggNy4wODMyOCA1LjYzNDc4QzYuMDczMzYgNi4zMDk1OSA1LjMyODY3IDcuMzEzNjkgNC45NzYwOCA4LjQ3NjAxQzQuNjIzNSA5LjYzODMyIDQuNjg0ODQgMTAuODg2OSA1LjE0OTY1IDEyLjAwOTFDNS42MTQ0NyAxMy4xMzEyIDYuNDUzOTkgMTQuMDU3NSA3LjUyNTE5IDE0LjYzMDFDOC41OTYzOCAxNS4yMDI3IDkuODMyOTcgMTUuMzg2MSAxMS4wMjQyIDE1LjE0OTFDMTIuMjE1NSAxNC45MTIyIDEzLjI4NzggMTQuMjY5NSAxNC4wNTgzIDEzLjMzMDZDMTQuODI4OSAxMi4zOTE3IDE1LjI1IDExLjIxNDYgMTUuMjUgMTBIMTdaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIj4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZVR5cGU9InhtbCIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgMTAgMTAiIHRvPSIzNjAgMTAgMTAiIGR1cj0iMC43NXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgPC9wYXRoPgoJPHBhdGggZD0iTTE3IDEwQzE3IDExLjYxOTUgMTYuNDM4NSAxMy4xODg5IDE1LjQxMTEgMTQuNDQwOEMxNC4zODM3IDE1LjY5MjYgMTIuOTU0IDE2LjU0OTUgMTEuMzY1NyAxNi44NjU1QzkuNzc3MjkgMTcuMTgxNCA4LjEyODUgMTYuOTM2OSA2LjcwMDI0IDE2LjE3MzRDNS4yNzE5OCAxNS40MSA0LjE1MjYyIDE0LjE3NSAzLjUzMjg3IDEyLjY3ODhDMi45MTMxMSAxMS4xODI2IDIuODMxMzMgOS41MTc3NiAzLjMwMTQ0IDcuOTY4MDFDMy43NzE1NSA2LjQxODI1IDQuNzY0NDggNS4wNzk0NSA2LjExMTAzIDQuMTc5NzFDNy40NTc1OCAzLjI3OTk3IDkuMDc0NDUgMi44NzQ5NyAxMC42ODYxIDMuMDMzNzFDMTIuMDA2MiAzLjE2MzcyIDEzLjI1NTggMy42NjUzIDE0LjI5NCA0LjQ3MTczQzE0LjY3NTcgNC43NjgxNyAxNC42NzI4IDUuMzI3MjYgMTQuMzMxIDUuNjY4OTdWNS42Njg5N0MxMy45ODkzIDYuMDEwNjggMTMuNDM4NyA2LjAwMzUzIDEzLjA0NSA1LjcyMzI1QzEyLjMwMjggNS4xOTQ4IDExLjQzMTMgNC44NjU1NyAxMC41MTQ2IDQuNzc1MjhDOS4zMDU4NCA0LjY1NjIzIDguMDkzMTkgNC45NTk5OCA3LjA4MzI4IDUuNjM0NzhDNi4wNzMzNiA2LjMwOTU5IDUuMzI4NjcgNy4zMTM2OSA0Ljk3NjA4IDguNDc2MDFDNC42MjM1IDkuNjM4MzIgNC42ODQ4NCAxMC44ODY5IDUuMTQ5NjUgMTIuMDA5MUM1LjYxNDQ3IDEzLjEzMTIgNi40NTM5OSAxNC4wNTc1IDcuNTI1MTkgMTQuNjMwMUM4LjU5NjM4IDE1LjIwMjcgOS44MzI5NyAxNS4zODYxIDExLjAyNDIgMTUuMTQ5MUMxMi4yMTU1IDE0LjkxMjIgMTMuMjg3OCAxNC4yNjk1IDE0LjA1ODMgMTMuMzMwNkMxNC44Mjg5IDEyLjM5MTcgMTUuMjUgMTEuMjE0NiAxNS4yNSAxMEgxN1oiIGZpbGw9InVybCgjcGFpbnQxX2xpbmVhcikiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlVHlwZT0ieG1sIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMCAxMCAxMCIgdG89IjM2MCAxMCAxMCIgZHVyPSIwLjc1cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICA8L3BhdGg+Cgk8ZGVmcz4KCQk8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXIiIHgxPSIxNC41IiB5MT0iNS41IiB4Mj0iMTYuNSIgeTI9IjEwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIHN0b3AtY29sb3I9ImN1cnJlbnRDb2xvciIgLz4KCQkJPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIHN0b3Atb3BhY2l0eT0iMCIgLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJCTxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhciIgeDE9IjEwIiB5MT0iMTYiIHgyPSIxNyIgeTI9IjkuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQk8c3RvcCBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIC8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIiBzdG9wLW9wYWNpdHk9IjAiIC8+CgkJPC9saW5lYXJHcmFkaWVudD4KCTwvZGVmcz4KPC9zdmc+Cg==\";\nexport { SvgButtonLoader as ReactComponent };","import React, { PropsWithChildren, useMemo, MouseEvent, useCallback } from 'react';\nimport classnames from 'classnames';\nimport Loader from '../icon/icons/button-loader.svg';\n\nimport styles from './button.module.scss';\n\nexport enum EButtonSize {\n smallS = 'smallS',\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EButtonVariant {\n default = 'default',\n secondary = 'secondary',\n}\n\nexport enum EButtonIconPosition {\n left = 'left',\n right = 'right',\n}\n\ninterface IButtonProps {\n variant?: keyof typeof EButtonVariant;\n size?: keyof typeof EButtonSize;\n icon?: any;\n width?: string;\n iconPosition?: keyof typeof EButtonIconPosition;\n loading?: boolean;\n disabled?: boolean;\n className?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e?: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const Button = ({\n variant = EButtonVariant.default,\n size = EButtonSize.medium,\n iconPosition = EButtonIconPosition.right,\n width,\n icon: Icon,\n loading,\n disabled,\n children,\n className,\n onClick,\n type = 'button',\n}: PropsWithChildren<IButtonProps>) => {\n const classNames = useMemo(\n () =>\n classnames(\n styles.button,\n className,\n styles[`button__${variant}`],\n styles[`button__${size}`],\n styles[`button__icon_${iconPosition}`],\n {\n [styles.loading]: loading,\n [styles.withIcon]: Icon,\n }\n ),\n [variant, size, loading, Icon, disabled, className]\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size]\n );\n\n const iconClassNames = useMemo(\n () =>\n classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], { [styles.icon__only]: !children }),\n [variant, size, children]\n );\n\n const _onClick = useCallback(\n (e?: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) return;\n\n onClick && onClick(e);\n },\n [onClick, disabled, loading]\n );\n\n return (\n <button type={type} className={classNames} disabled={disabled} onClick={_onClick} style={{ width }}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n {loading && <Loader className={loaderClassNames} />}\n </button>\n );\n};\n","import React, {\n ComponentProps,\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport ReactMedia from 'react-media';\n\ntype IMediaRender = () => any;\n\nconst MEDIA_MATCHES = {\n mobile: '(max-width: 767px)',\n tablet: '(max-width: 1023px) and (min-width: 768px)',\n desktop: '(min-width: 1024px)',\n};\n\nexport interface IMediaMatches {\n mobile: boolean;\n tablet: boolean;\n desktop: boolean;\n}\n\ninterface IMediaProps {\n renderMobile?: IMediaRender;\n renderTablet?: IMediaRender;\n renderDesktop?: IMediaRender;\n render?: (matches: IMediaMatches) => React.ReactNode;\n}\n\nexport const Media = ({ renderDesktop, renderMobile, renderTablet, render }: IMediaProps) => {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const defaultRender = useCallback(\n (matches) => {\n if (matches.tablet && renderTablet) {\n return renderTablet && renderTablet();\n } else if (matches.mobile && renderMobile) {\n return renderMobile && renderMobile();\n } else if (matches.desktop && renderDesktop) {\n return renderDesktop && renderDesktop();\n }\n\n return null;\n },\n [renderTablet, renderMobile, renderMobile, render],\n );\n\n return <>{mounted && <ReactMedia queries={MEDIA_MATCHES}>{render || defaultRender}</ReactMedia>}</>;\n};\n\ninterface IMediaContext {\n mobile: boolean;\n tablet: boolean;\n desktop: boolean;\n}\n\nconst MediaContext = createContext<IMediaContext | null>(null);\n\nexport const MediaProvider = ({ children }: PropsWithChildren<{}>) => {\n return (\n <ReactMedia queries={MEDIA_MATCHES}>\n {(matches: IMediaMatches) => <MediaContext.Provider value={matches}>{children}</MediaContext.Provider>}\n </ReactMedia>\n );\n};\n\nexport declare type IReactComponent<P = any> =\n | React.ClassicComponentClass<P>\n | React.ComponentClass<P>\n | React.FunctionComponent<P>\n | React.ForwardRefExoticComponent<P>;\nexport function withMedia<T extends IReactComponent>(Component: T): T;\nexport function withMedia<T extends React.FunctionComponent<any>>(Component: T) {\n return (props: ComponentProps<typeof Component>) => (\n <MediaProvider>\n <Component {...props} />\n </MediaProvider>\n );\n}\n\nexport const useMedia = () => {\n const data = useContext(MediaContext);\n if (!data) {\n throw new Error('Не подключен MediaProvider');\n }\n\n return data;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgBreadcrubmsArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 13,\n height: 8,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.172.464l3.182 3.182a.5.5 0 010 .708L9.172 7.536a.5.5 0 11-.708-.708L10.793 4.5H0v-1h10.793L8.464 1.172a.5.5 0 11.708-.708z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEzIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTkuMTcxNTcgMC40NjQ0N0wxMi4zNTM2IDMuNjQ2NDVDMTIuNTQ4OCAzLjg0MTcxIDEyLjU0ODggNC4xNTgzIDEyLjM1MzYgNC4zNTM1Nkw5LjE3MTU3IDcuNTM1NTRDOC45NzYzMSA3LjczMDggOC42NTk3MyA3LjczMDggOC40NjQ0NyA3LjUzNTU0QzguMjY5MiA3LjM0MDI4IDguMjY5MiA3LjAyMzY5IDguNDY0NDcgNi44Mjg0M0wxMC43OTI5IDQuNUgwVjMuNUgxMC43OTI5TDguNDY0NDcgMS4xNzE1OEM4LjI2OTIgMC45NzYzMTUgOC4yNjkyIDAuNjU5NzMzIDguNDY0NDcgMC40NjQ0N0M4LjY1OTczIDAuMjY5MjA4IDguOTc2MzEgMC4yNjkyMDggOS4xNzE1NyAwLjQ2NDQ3WiIgZmlsbD0iIzhCOEI4QiIgLz4KPC9zdmc+Cg==\";\nexport { SvgBreadcrubmsArrow as ReactComponent };","import React from 'react';\n\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './text.module.scss';\n\nexport enum ETextSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\ninterface ITextProps {\n size?: keyof typeof ETextSize;\n children?: any;\n bold?: boolean;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n error?: boolean;\n className?: string;\n inverse?: boolean;\n style?: any;\n through?: boolean;\n tag?: 'p' | 'span' | 'div' | 'sub' | 'label';\n\n}\n\nexport const Text = ({\n children,\n size = ETextSize.medium,\n bold,\n addition,\n success,\n error,\n inverse,\n attention,\n className,\n style,\n through,\n tag = 'div',\n}: ITextProps) => {\n const TextTag = useMemo(() => tag as keyof JSX.IntrinsicElements, [tag]);\n\n const classNames = useMemo(\n () =>\n classnames(styles.text, className, styles[`text__${size}`], {\n [styles.textAddition]: addition,\n [styles.textBold]: bold,\n [styles.textSuccess]: success,\n [styles.textAttention]: attention,\n [styles.textError]: error,\n [styles.textThrough]: through,\n [styles.textInverse]: inverse,\n }),\n [size, className, addition, bold, success, attention, error, inverse],\n );\n\n\n return <TextTag style={style} className={classNames}>{children}</TextTag>;\n};\n","import React from 'react';\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './link.module.scss';\n\nexport enum ELinkVariant {\n link = 'link',\n href = 'href',\n action = 'action',\n}\n\nexport enum ELinkType {\n default = 'default',\n addition = 'addition',\n success = 'success',\n error = 'error',\n}\n\nexport enum ELinkSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\ninterface ILinkProps {\n size?: keyof typeof ELinkSize;\n icon?: any;\n variant?: keyof typeof ELinkVariant;\n children: any;\n href?: string;\n bold?: boolean;\n type?: keyof typeof ELinkType;\n dashed?: boolean;\n className?: string;\n target?: '_blank';\n onClick?: () => void;\n rel?: string;\n mainLink?: boolean;\n style?: any;\n}\n\nexport const Link = ({\n children,\n target,\n icon: Icon,\n variant = ELinkVariant.link,\n size = ELinkSize.medium,\n href,\n bold,\n className,\n type,\n dashed,\n onClick,\n rel,\n mainLink,\n style,\n}: ILinkProps) => {\n const classNames = useMemo(\n () =>\n classnames(styles.link, className, styles[`link__${variant}`], styles[`link__${size}`], styles[`link__${type}`], {\n [styles.linkBold]: bold,\n [styles.dashed]: dashed,\n }),\n [variant, className, dashed, type]\n );\n\n const iconClassNames = useMemo(\n () =>\n classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], { [styles.icon__only]: !children }),\n [variant, size, children]\n );\n\n if (variant === ELinkVariant.href) {\n return (\n <a className={classNames} target={target} rel={rel} href={href} style={style}>\n {children}\n </a>\n );\n }\n\n const link = useMemo(\n () =>\n variant === ELinkVariant.link && mainLink ? (\n <a className={classNames} target={target} href={href} rel={rel} style={style}>\n {children}\n </a>\n ) : variant === ELinkVariant.link ? (\n <a className={classNames} target={target} rel={rel} style={style}>\n {children}\n </a>\n ) : (\n <div className={classNames} onClick={onClick} style={style}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n </div>\n ),\n [variant, children, onClick]\n );\n\n return link;\n};\n","import React from 'react';\n\nimport { Button } from '@shared/button';\nimport { useMedia, withMedia } from '@shared/media';\nimport { Fragment, useCallback } from 'react';\n\nimport BreadcrumbsArrowIcon from '../icon/icons/breadcrubms-arrow.svg';\n\nimport styles from './breadcrumbs.module.scss';\nimport { Text } from '@shared/text';\nimport { Link } from '@shared/link';\n\nexport interface IBreadcrumbsPath {\n title: string;\n path: string;\n isBack?: boolean;\n isCurrent?: boolean;\n}\n\ninterface IBreadcrumbsProps {\n paths: IBreadcrumbsPath[];\n onReplace?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onReplace }: IBreadcrumbsProps) => {\n const media = useMedia();\n\n const onBack = useCallback(() => {\n const backPath = paths.reverse().find((i) => i.path && i.isBack);\n if (backPath) {\n onReplace && onReplace(paths[paths.length - 1].path);\n } else {\n onReplace && onReplace('/');\n }\n }, [paths]);\n\n return media.mobile ? (\n <div>\n <Button size=\"small\" onClick={onBack}>\n Назад\n </Button>\n </div>\n ) : (\n <div className={styles.breadcrumbs}>\n {paths.map((item, index) => (\n <Fragment key={index}>\n {!!index && <BreadcrumbsArrowIcon />}\n <span key={index}>\n {item.path ? (\n <Link href={item.path}>\n <Text size=\"large\" className={styles.breadcrumbsLink}>{item.title}</Text>\n </Link>\n ) : (\n <Text size=\"large\" attention={item.isCurrent} bold={item.isCurrent}>{item.title}</Text>\n )}\n </span>\n </Fragment>\n ))}\n </div>\n );\n});\n","import React, { PropsWithChildren, useCallback, useEffect, useMemo, useState } from 'react';\nimport classnames from 'classnames';\nimport { ChangeEvent } from 'react';\nimport styles from './checkbox.module.scss';\n\nexport type ICheckboxProps = {\n disabled?: boolean;\n value?: boolean;\n error?: boolean;\n onChange?: (val: boolean) => void;\n small?: boolean;\n name?: string;\n};\n\nlet UNIQ_COUNT = 1;\n\nexport const Checkbox = ({ disabled = false, value = false, onChange = () => {}, children, error }: PropsWithChildren<ICheckboxProps>) => {\n const [_value, _setValue] = useState(value);\n\n useEffect(() => {\n value !== _value && _setValue(value);\n }, [value]);\n\n const _onChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (value === e.currentTarget.checked) {\n return;\n }\n _setValue(e.currentTarget.checked);\n onChange(e.currentTarget.checked);\n },\n [onChange, value],\n );\n\n const id = useMemo(() => `checkbox${UNIQ_COUNT++}`, []);\n\n return (\n <div className={styles.checkboxContainer}>\n <input\n name=\"name\"\n className={classnames(styles.checkbox, { [styles.error]: error })}\n type=\"checkbox\"\n disabled={disabled}\n id={id}\n checked={_value}\n onChange={_onChange}\n />\n <label htmlFor={id}>{children}</label>\n </div>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCounterPlus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2.286c.316 0 .571.256.571.571V7.43h4.572a.571.571 0 010 1.142H8.57v4.572a.571.571 0 01-1.143 0V8.57h-4.57a.571.571 0 010-1.142h4.57V2.857c0-.315.256-.571.572-.571z\",\n fill: \"#fff\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KCTxwYXRoIGQ9Ik03Ljk5OTkzIDIuMjg1NzFDOC4zMTU1MiAyLjI4NTcxIDguNTcxMzYgMi41NDE1NSA4LjU3MTM2IDIuODU3MTRWNy40Mjg1N0gxMy4xNDI4QzEzLjQ1ODQgNy40Mjg1NyAxMy43MTQyIDcuNjg0NDEgMTMuNzE0MiA4QzEzLjcxNDIgOC4zMTU1OSAxMy40NTg0IDguNTcxNDMgMTMuMTQyOCA4LjU3MTQzSDguNTcxMzZWMTMuMTQyOUM4LjU3MTM2IDEzLjQ1ODQgOC4zMTU1MiAxMy43MTQzIDcuOTk5OTMgMTMuNzE0M0M3LjY4NDM0IDEzLjcxNDMgNy40Mjg1IDEzLjQ1ODQgNy40Mjg1IDEzLjE0MjlWOC41NzE0M0gyLjg1NzA3QzIuNTQxNDggOC41NzE0MyAyLjI4NTY0IDguMzE1NTkgMi4yODU2NCA4QzIuMjg1NjQgNy42ODQ0MSAyLjU0MTQ4IDcuNDI4NTcgMi44NTcwNyA3LjQyODU3SDcuNDI4NVYyLjg1NzE0QzcuNDI4NSAyLjU0MTU1IDcuNjg0MzQgMi4yODU3MSA3Ljk5OTkzIDIuMjg1NzFaIiBmaWxsPSJ3aGl0ZSIgLz4KPC9zdmc+Cg==\";\nexport { SvgCounterPlus as ReactComponent };","import React from 'react';\n\nimport { Button } from '@shared/button';\nimport { Text } from '@shared/text';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport CounterMinusIcon from '../icon/icons/counter-minus.svg';\nimport CounterPlusIcon from '../icon/icons/counter-plus.svg';\n\nimport styles from './counter.module.scss';\n\ninterface ICounterProps {\n value?: number;\n max?: number;\n min?: number;\n onChange?: (count: number) => void;\n}\n\nexport const Counter = (props: ICounterProps) => {\n const [value, setValue] = useState(props.value || 0);\n\n const onChange = useCallback((e) => {\n setValue((count) => {\n const newCount = count + e;\n props.onChange && props.onChange(newCount);\n return newCount;\n });\n }, [props.onChange]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n return (\n <div className={styles.counter}>\n <Button\n className={styles.button}\n icon={CounterMinusIcon}\n disabled={props.min != undefined && value <= props.min}\n onClick={onChange.bind(null, -1)}\n />\n <Text className={styles.value} size=\"large\">\n {value}\n </Text>\n <Button\n className={styles.button}\n icon={CounterPlusIcon}\n disabled={props.max != undefined && value >= props.max}\n onClick={onChange.bind(null, 1)}\n />\n </div>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCounterMinus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.286 8c0-.316.255-.571.571-.571h10.286a.571.571 0 010 1.142H2.857A.571.571 0 012.286 8z\",\n fill: \"#212121\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJub25lIj4KCTxwYXRoIGQ9Ik0yLjI4NTY0IDhDMi4yODU2NCA3LjY4NDQxIDIuNTQxNDggNy40Mjg1NyAyLjg1NzA3IDcuNDI4NTdIMTMuMTQyOEMxMy40NTg0IDcuNDI4NTcgMTMuNzE0MiA3LjY4NDQxIDEzLjcxNDIgOEMxMy43MTQyIDguMzE1NTkgMTMuNDU4NCA4LjU3MTQzIDEzLjE0MjggOC41NzE0M0gyLjg1NzA3QzIuNTQxNDggOC41NzE0MyAyLjI4NTY0IDguMzE1NTkgMi4yODU2NCA4WiIgZmlsbD0iIzIxMjEyMSIgLz4KPC9zdmc+Cg==\";\nexport { SvgCounterMinus as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgDatePicker(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.286.857c.473 0 .857.384.857.857v.994c.72.115 1.186.3 1.654.55a4.673 4.673 0 011.944 1.944c.408.762.642 1.518.681 3.369h.006v6.265l-.004.523c-.035 1.902-.27 2.668-.683 3.439a4.673 4.673 0 01-1.944 1.944c-.838.448-1.669.687-3.961.687H9.164l-.523-.005c-1.902-.035-2.668-.27-3.439-.682a4.673 4.673 0 01-1.944-1.944c-.43-.805-.667-1.603-.686-3.694V8.57c.045-1.851.279-2.607.686-3.369a4.673 4.673 0 011.944-1.944c.469-.25.935-.435 1.655-.55v-.994a.857.857 0 011.714 0v.863c.186-.004.383-.006.593-.006h5.672c.21 0 .407.002.594.006l-.002-.863c0-.473.384-.857.858-.857zm3.427 9.429H4.286v4.792l.008.488c.033 1.292.17 1.85.476 2.423.288.54.701.953 1.24 1.241.64.342 1.264.472 2.912.483h6.156l.488-.007c1.292-.033 1.85-.17 2.423-.476.54-.288.952-.701 1.24-1.24.343-.64.473-1.264.484-2.912v-4.792zm-3.388 4.286c.371 0 .663.07.908.2.244.13.436.322.566.567.131.244.2.536.2.907v.08c0 .37-.069.662-.2.907-.13.244-.322.436-.566.567-.245.13-.537.2-.908.2h-.079c-.37 0-.663-.07-.907-.2a1.363 1.363 0 01-.567-.567c-.131-.245-.2-.537-.2-.908v-.079c0-.37.069-.663.2-.907.13-.245.322-.437.567-.567.244-.13.536-.2.907-.2h.079zM15.078 4.287H8.922l-.35.004v.852a.857.857 0 01-1.715 0V4.45c-.327.075-.585.18-.846.32A2.96 2.96 0 004.77 6.01c-.317.592-.452 1.17-.48 2.56h15.418l-.002-.137c-.034-1.292-.17-1.85-.476-2.423a2.959 2.959 0 00-1.241-1.24 3.287 3.287 0 00-.845-.32l-.001.692a.857.857 0 11-1.715 0l.002-.852c-.112-.002-.229-.004-.352-.004z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xNi4yODU2IDAuODU3MTc4QzE2Ljc1OSAwLjg1NzE3OCAxNy4xNDI3IDEuMjQwOTMgMTcuMTQyNyAxLjcxNDMyTDE3LjE0MzMgMi43MDg0NUMxNy44NjMyIDIuODIyOTggMTguMzI5MyAzLjAwNzk5IDE4Ljc5NzUgMy4yNTgzOEMxOS42MzU2IDMuNzA2NTkgMjAuMjkzMyA0LjM2NDM0IDIwLjc0MTUgNS4yMDI0M0MyMS4xNDg3IDUuOTYzODUgMjEuMzgzIDYuNzE5NjcgMjEuNDIyNSA4LjU3MDY3TDIxLjQyODQgOC41NzE0NlYxNC44MzU4TDIxLjQyMzkgMTUuMzU4N0MyMS4zODg5IDE3LjI2MTMgMjEuMTUzOSAxOC4wMjY2IDIwLjc0MTUgMTguNzk3NkMyMC4yOTMzIDE5LjYzNTcgMTkuNjM1NiAyMC4yOTM1IDE4Ljc5NzUgMjAuNzQxN0MxNy45NTk0IDIxLjE4OTkgMTcuMTI4MSAyMS40Mjg2IDE0LjgzNTYgMjEuNDI4Nkg5LjE2NDE0TDguNjQxMjUgMjEuNDI0QzYuNzM4NjEgMjEuMzg5MSA1Ljk3MzMgMjEuMTU0MSA1LjIwMjI2IDIwLjc0MTdDNC4zNjQxNiAyMC4yOTM1IDMuNzA2NDIgMTkuNjM1NyAzLjI1ODIgMTguNzk3NkMyLjgyNzkxIDE3Ljk5MzEgMi41OTA3MiAxNy4xOTQ3IDIuNTcyNDMgMTUuMTAzOUwyLjU3MTI5IDkuMTY0MzFWOC41NzE0NkMyLjYxNjcyIDYuNzE5NjcgMi44NTA5OSA1Ljk2Mzg1IDMuMjU4MiA1LjIwMjQzQzMuNzA2NDIgNC4zNjQzNCA0LjM2NDE2IDMuNzA2NTkgNS4yMDIyNiAzLjI1ODM4QzUuNjcwNjQgMy4wMDc4OCA2LjEzNjkgMi44MjI4MyA2Ljg1NzI3IDIuNzA4MzFMNi44NTcgMS43MTQzMkM2Ljg1NyAxLjI0MDkzIDcuMjQwNzYgMC44NTcxNzggNy43MTQxNSAwLjg1NzE3OEM4LjE4NzUzIDAuODU3MTc4IDguNTcxMjkgMS4yNDA5MyA4LjU3MTI5IDEuNzE0MzJMOC41NzA0OSAyLjU3NzQ0QzguNzU2ODkgMi41NzM0NiA4Ljk1NDQgMi41NzE0NiA5LjE2NDE0IDIuNTcxNDZIMTQuODM1NkMxNS4wNDU2IDIuNTcxNDYgMTUuMjQzNCAyLjU3MzQ3IDE1LjQzMDEgMi41Nzc0NUwxNS40Mjg0IDEuNzE0MzJDMTUuNDI4NCAxLjI0MDkzIDE1LjgxMjIgMC44NTcxNzggMTYuMjg1NiAwLjg1NzE3OFpNMTkuNzEzMyAxMC4yODU3SDQuMjg1NTdMNC4yODYzNyAxNS4wNzgzTDQuMjkzOTUgMTUuNTY1OUM0LjMyNzI3IDE2Ljg1NzcgNC40NjM3OCAxNy40MTY4IDQuNzY5ODggMTcuOTg5MkM1LjA1ODMzIDE4LjUyODUgNS40NzEzNiAxOC45NDE2IDYuMDEwNzEgMTkuMjNDNi42NTA0MiAxOS41NzIxIDcuMjczNTMgMTkuNzAyNCA4LjkyMTYxIDE5LjcxMzVIMTUuMDc4MUwxNS41NjU3IDE5LjcwNTlDMTYuODU3NiAxOS42NzI2IDE3LjQxNjYgMTkuNTM2MSAxNy45ODkgMTkuMjNDMTguNTI4NCAxOC45NDE2IDE4Ljk0MTQgMTguNTI4NSAxOS4yMjk4IDE3Ljk4OTJDMTkuNTcyIDE3LjM0OTUgMTkuNzAyMiAxNi43MjY0IDE5LjcxMzQgMTUuMDc4M0wxOS43MTMzIDEwLjI4NTdaTTE2LjMyNSAxNC41NzE1QzE2LjY5NiAxNC41NzE1IDE2Ljk4ODEgMTQuNjQxMSAxNy4yMzI1IDE0Ljc3MThDMTcuNDc2OSAxNC45MDI1IDE3LjY2ODggMTUuMDk0NCAxNy43OTk1IDE1LjMzODhDMTcuOTMwMiAxNS41ODMzIDE3Ljk5OTkgMTUuODc1NCAxNy45OTk5IDE2LjI0NjNWMTYuMzI1MkMxNy45OTk5IDE2LjY5NjEgMTcuOTMwMiAxNi45ODgyIDE3Ljc5OTUgMTcuMjMyN0MxNy42Njg4IDE3LjQ3NzEgMTcuNDc2OSAxNy42NjkgMTcuMjMyNSAxNy43OTk3QzE2Ljk4ODEgMTcuOTMwNCAxNi42OTYgMTggMTYuMzI1IDE4SDE2LjI0NjFDMTUuODc1MiAxOCAxNS41ODMxIDE3LjkzMDQgMTUuMzM4NyAxNy43OTk3QzE1LjA5NDIgMTcuNjY5IDE0LjkwMjQgMTcuNDc3MSAxNC43NzE2IDE3LjIzMjdDMTQuNjQwOSAxNi45ODgyIDE0LjU3MTMgMTYuNjk2MSAxNC41NzEzIDE2LjMyNTJWMTYuMjQ2M0MxNC41NzEzIDE1Ljg3NTQgMTQuNjQwOSAxNS41ODMzIDE0Ljc3MTYgMTUuMzM4OEMxNC45MDI0IDE1LjA5NDQgMTUuMDk0MiAxNC45MDI1IDE1LjMzODcgMTQuNzcxOEMxNS41ODMxIDE0LjY0MTEgMTUuODc1MiAxNC41NzE1IDE2LjI0NjEgMTQuNTcxNUgxNi4zMjVaTTE1LjA3ODEgNC4yODY1NEg4LjkyMTYxTDguNTcxMjkgNC4yOTA4OVY1LjE0Mjg5QzguNTcxMjkgNS42MTYyOCA4LjE4NzUzIDYuMDAwMDMgNy43MTQxNSA2LjAwMDAzQzcuMjQwNzYgNi4wMDAwMyA2Ljg1NyA1LjYxNjI4IDYuODU3IDUuMTQyODlMNi44NTYzNiA0LjQ1MDc2QzYuNTMwMDUgNC41MjYxMSA2LjI3MTc2IDQuNjMwNDQgNi4wMTA3MSA0Ljc3MDA2QzUuNDcxMzYgNS4wNTg1IDUuMDU4MzMgNS40NzE1NCA0Ljc2OTg4IDYuMDEwODlDNC40NTMyNCA2LjYwMjk2IDQuMzE4MDcgNy4xODA4MyA0LjI5MDg3IDguNTcwM0wxOS43MDgxIDguNTcxNDZMMTkuNzA1OCA4LjQzNDE5QzE5LjY3MjQgNy4xNDIzNCAxOS41MzU5IDYuNTgzMjUgMTkuMjI5OCA2LjAxMDg5QzE4Ljk0MTQgNS40NzE1NCAxOC41Mjg0IDUuMDU4NSAxNy45ODkgNC43NzAwNkMxNy43MjggNC42MzA0OCAxNy40Njk4IDQuNTI2MTYgMTcuMTQzNiA0LjQ1MDgxTDE3LjE0MjcgNS4xNDI4OUMxNy4xNDI3IDUuNjE2MjggMTYuNzU5IDYuMDAwMDMgMTYuMjg1NiA2LjAwMDAzQzE1LjgxMjIgNi4wMDAwMyAxNS40Mjg0IDUuNjE2MjggMTUuNDI4NCA1LjE0Mjg5TDE1LjQzMDUgNC4yOTEwNkMxNS4zMTg0IDQuMjg4ODcgMTUuMjAxMSA0LjI4NzM3IDE1LjA3ODEgNC4yODY1NFoiIGZpbGw9IiM4QjhCOEIiIC8+Cjwvc3ZnPgo=\";\nexport { SvgDatePicker as ReactComponent };","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgInputLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#input-loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#input-loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"input-loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"input-loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xNyAxMEMxNyAxMS42MTk1IDE2LjQzODUgMTMuMTg4OSAxNS40MTExIDE0LjQ0MDhDMTQuMzgzNyAxNS42OTI2IDEyLjk1NCAxNi41NDk1IDExLjM2NTcgMTYuODY1NUM5Ljc3NzI5IDE3LjE4MTQgOC4xMjg1IDE2LjkzNjkgNi43MDAyNCAxNi4xNzM0QzUuMjcxOTggMTUuNDEgNC4xNTI2MiAxNC4xNzUgMy41MzI4NyAxMi42Nzg4QzIuOTEzMTEgMTEuMTgyNiAyLjgzMTMzIDkuNTE3NzYgMy4zMDE0NCA3Ljk2ODAxQzMuNzcxNTUgNi40MTgyNSA0Ljc2NDQ4IDUuMDc5NDUgNi4xMTEwMyA0LjE3OTcxQzcuNDU3NTggMy4yNzk5NyA5LjA3NDQ1IDIuODc0OTcgMTAuNjg2MSAzLjAzMzcxQzEyLjAwNjIgMy4xNjM3MiAxMy4yNTU4IDMuNjY1MyAxNC4yOTQgNC40NzE3M0MxNC42NzU3IDQuNzY4MTcgMTQuNjcyOCA1LjMyNzI2IDE0LjMzMSA1LjY2ODk3VjUuNjY4OTdDMTMuOTg5MyA2LjAxMDY4IDEzLjQzODcgNi4wMDM1MyAxMy4wNDUgNS43MjMyNUMxMi4zMDI4IDUuMTk0OCAxMS40MzEzIDQuODY1NTcgMTAuNTE0NiA0Ljc3NTI4QzkuMzA1ODQgNC42NTYyMyA4LjA5MzE5IDQuOTU5OTggNy4wODMyOCA1LjYzNDc4QzYuMDczMzYgNi4zMDk1OSA1LjMyODY3IDcuMzEzNjkgNC45NzYwOCA4LjQ3NjAxQzQuNjIzNSA5LjYzODMyIDQuNjg0ODQgMTAuODg2OSA1LjE0OTY1IDEyLjAwOTFDNS42MTQ0NyAxMy4xMzEyIDYuNDUzOTkgMTQuMDU3NSA3LjUyNTE5IDE0LjYzMDFDOC41OTYzOCAxNS4yMDI3IDkuODMyOTcgMTUuMzg2MSAxMS4wMjQyIDE1LjE0OTFDMTIuMjE1NSAxNC45MTIyIDEzLjI4NzggMTQuMjY5NSAxNC4wNTgzIDEzLjMzMDZDMTQuODI4OSAxMi4zOTE3IDE1LjI1IDExLjIxNDYgMTUuMjUgMTBIMTdaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIj4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZVR5cGU9InhtbCIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgMTAgMTAiIHRvPSIzNjAgMTAgMTAiIGR1cj0iMC43NXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgPC9wYXRoPgoJPHBhdGggZD0iTTE3IDEwQzE3IDExLjYxOTUgMTYuNDM4NSAxMy4xODg5IDE1LjQxMTEgMTQuNDQwOEMxNC4zODM3IDE1LjY5MjYgMTIuOTU0IDE2LjU0OTUgMTEuMzY1NyAxNi44NjU1QzkuNzc3MjkgMTcuMTgxNCA4LjEyODUgMTYuOTM2OSA2LjcwMDI0IDE2LjE3MzRDNS4yNzE5OCAxNS40MSA0LjE1MjYyIDE0LjE3NSAzLjUzMjg3IDEyLjY3ODhDMi45MTMxMSAxMS4xODI2IDIuODMxMzMgOS41MTc3NiAzLjMwMTQ0IDcuOTY4MDFDMy43NzE1NSA2LjQxODI1IDQuNzY0NDggNS4wNzk0NSA2LjExMTAzIDQuMTc5NzFDNy40NTc1OCAzLjI3OTk3IDkuMDc0NDUgMi44NzQ5NyAxMC42ODYxIDMuMDMzNzFDMTIuMDA2MiAzLjE2MzcyIDEzLjI1NTggMy42NjUzIDE0LjI5NCA0LjQ3MTczQzE0LjY3NTcgNC43NjgxNyAxNC42NzI4IDUuMzI3MjYgMTQuMzMxIDUuNjY4OTdWNS42Njg5N0MxMy45ODkzIDYuMDEwNjggMTMuNDM4NyA2LjAwMzUzIDEzLjA0NSA1LjcyMzI1QzEyLjMwMjggNS4xOTQ4IDExLjQzMTMgNC44NjU1NyAxMC41MTQ2IDQuNzc1MjhDOS4zMDU4NCA0LjY1NjIzIDguMDkzMTkgNC45NTk5OCA3LjA4MzI4IDUuNjM0NzhDNi4wNzMzNiA2LjMwOTU5IDUuMzI4NjcgNy4zMTM2OSA0Ljk3NjA4IDguNDc2MDFDNC42MjM1IDkuNjM4MzIgNC42ODQ4NCAxMC44ODY5IDUuMTQ5NjUgMTIuMDA5MUM1LjYxNDQ3IDEzLjEzMTIgNi40NTM5OSAxNC4wNTc1IDcuNTI1MTkgMTQuNjMwMUM4LjU5NjM4IDE1LjIwMjcgOS44MzI5NyAxNS4zODYxIDExLjAyNDIgMTUuMTQ5MUMxMi4yMTU1IDE0LjkxMjIgMTMuMjg3OCAxNC4yNjk1IDE0LjA1ODMgMTMuMzMwNkMxNC44Mjg5IDEyLjM5MTcgMTUuMjUgMTEuMjE0NiAxNS4yNSAxMEgxN1oiIGZpbGw9InVybCgjcGFpbnQxX2xpbmVhcikiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlVHlwZT0ieG1sIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMCAxMCAxMCIgdG89IjM2MCAxMCAxMCIgZHVyPSIwLjc1cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICA8L3BhdGg+Cgk8ZGVmcz4KCQk8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXIiIHgxPSIxNC41IiB5MT0iNS41IiB4Mj0iMTYuNSIgeTI9IjEwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIHN0b3AtY29sb3I9ImN1cnJlbnRDb2xvciIgLz4KCQkJPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIHN0b3Atb3BhY2l0eT0iMCIgLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJCTxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhciIgeDE9IjEwIiB5MT0iMTYiIHgyPSIxNyIgeTI9IjkuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQk8c3RvcCBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIC8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIiBzdG9wLW9wYWNpdHk9IjAiIC8+CgkJPC9saW5lYXJHcmFkaWVudD4KCTwvZGVmcz4KPC9zdmc+Cg==\";\nexport { SvgInputLoader as ReactComponent };","import React, {\n InputHTMLAttributes,\n useMemo,\n ChangeEvent,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useCallback,\n useState,\n useRef,\n useImperativeHandle,\n} from 'react';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\n\nimport ClearIcon from '../icon/icons/clear.svg';\nimport InputSearchIcon from '../icon/icons/input-search.svg';\nimport InputLoaderIcon from '../icon/icons/input-loader.svg';\nimport Inputmask from 'inputmask';\n\nimport styles from './input.module.scss';\n\n\nexport enum EInputVariant {\n filled = 'filled',\n outlined = 'outlined',\n pure = 'pure',\n}\n\nexport enum EInputSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EInputBorder {\n circle = 'circle',\n normal = 'normal',\n}\n\nexport type IInputProps = {\n error?: boolean;\n icon?: any;\n value?: any;\n autofocus?: boolean;\n variant?: keyof typeof EInputVariant;\n size?: keyof typeof EInputSize;\n border?: keyof typeof EInputBorder;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n className?: string;\n beginSearch?: number;\n debounceTime?: number;\n labelPlaceholder?: string;\n mask?: string;\n onClear?: (val?: string) => void;\n onPointerUp?: (e: any) => void;\n onChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n onSearch?: ((val: string) => void) | ((val: string) => Promise<void>);\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'variant' | 'onChange'>;\n\nexport const Input = forwardRef<HTMLInputElement, IInputProps>(\n (\n {\n onChange,\n onFocus = () => {},\n onBlur = () => {},\n onClear,\n onSearch,\n onPointerUp,\n icon: Icon,\n name,\n required,\n disabled,\n value,\n type = 'text',\n placeholder,\n style,\n loading = false,\n showClear,\n error,\n labelPlaceholder,\n size = EInputSize.medium,\n variant = EInputVariant.outlined,\n border = EInputBorder.normal,\n adaptive,\n width,\n className,\n debounceTime = 500,\n beginSearch = NaN,\n mask,\n autofocus,\n ...props\n }: IInputProps,\n ref\n ) => {\n const [_value, _setValue] = useState<string | undefined>(value);\n const [_loading, _setLoading] = useState(loading);\n const [_mask, _setMask] = useState(null);\n\n const innerRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => innerRef.current);\n\n useEffect(() => {\n autofocus && setTimeout(() => {\n innerRef.current.focus();\n }, 500);\n }, [autofocus]);\n\n useEffect(() => _setValue(value), [value]);\n useEffect(() => _setLoading(loading), [loading]);\n useEffect(() => {\n if (!mask && _mask) {\n _mask.remove();\n _setMask(null);\n }\n\n if (!mask || !innerRef.current) {\n return;\n }\n\n if (!innerRef.current) {\n return;\n }\n const inputMask = new Inputmask({ mask, greedy: false });\n\n setTimeout(() => {\n _setMask(inputMask.mask(innerRef.current));\n innerRef.current.dispatchEvent(new Event('change', { bubbles: true }))\n })\n }, [mask, innerRef.current])\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.input,\n className,\n styles[`input__${variant}`],\n styles[`input__${size}`],\n styles[`input__border_${border}`],\n {\n [styles[`input__${size}_adaptive`]]: adaptive,\n [styles[`input__action_${size}`]]: Icon || _loading || showClear || onSearch,\n [styles[`input__actions_${size}`]]: (Icon || _loading || onSearch) && showClear,\n [styles.disabled]: disabled,\n [styles.invalid]: error,\n }\n ),\n [variant, size, border, disabled, _loading, showClear, adaptive, className, error, onSearch]\n );\n\n const inputClassNames = useMemo(\n () =>\n classnames({\n [styles.invalid]: error,\n }),\n [error]\n );\n\n const clearClassNames = useMemo(\n () =>\n classnames(styles.clear, styles[`clear__${variant}`], styles[`clear__${size}`], {\n [styles[`clear__action_${size}`]]: Icon || _loading || onSearch,\n }),\n [variant, size, Icon, _loading, _value, onSearch]\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size]\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`]), [\n variant,\n size,\n ]);\n\n const labelClassNames = useMemo(() => classnames(styles.label), []);\n\n const _onSearchDebounce = useCallback(\n debounce((val, callback) => {\n _setValue((prev) => {\n if (prev !== val) {\n return;\n }\n\n (async () => {\n await callback(val);\n _setLoading(false);\n })();\n\n return val;\n });\n }, debounceTime),\n []\n );\n\n const _onChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onSearch && _onSearch(e.currentTarget.value);\n _setValue(e.currentTarget.value);\n if (onChange) {\n onChange(e.currentTarget.value, e);\n }\n },\n [_onSearchDebounce, onSearch, onChange, beginSearch]\n );\n\n const _onSearch = useCallback(\n (val: string) => {\n _setLoading(true);\n\n _setValue(() => {\n if (!val) {\n onClear && onClear();\n _setLoading(false);\n } else if (val?.length >= beginSearch) {\n _onSearchDebounce(val, onSearch);\n } else {\n _setLoading(false);\n }\n\n return val;\n });\n },\n [_onSearchDebounce, onSearch, onClear, beginSearch]\n );\n\n const _onClear = useCallback(() => {\n _setValue(undefined);\n\n if (onClear) {\n onClear();\n }\n }, [onClear]);\n\n const _onKeyPress = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch && onSearch(_value || '');\n }\n },\n [_value, onSearch]\n );\n\n return (\n <div\n className={classNames}\n style={{ width: width }}\n onPointerUp={onPointerUp}\n >\n {labelPlaceholder && _value && <div className={labelClassNames}>{labelPlaceholder}</div>}\n <input\n {...props}\n className={inputClassNames}\n ref={innerRef}\n name={name}\n disabled={disabled}\n placeholder={placeholder || labelPlaceholder}\n type={type}\n value={_value || ''}\n onChange={_onChange}\n onFocus={onFocus}\n onKeyPress={_onKeyPress}\n onBlur={onBlur}\n required={required}\n style={style}\n />\n {showClear && _value && <Icon icon={ClearIcon} className={clearClassNames} onClick={_onClear} />}\n {onSearch && !_loading && (\n <InputSearchIcon className={iconClassNames} onClick={onSearch.bind(null, _value || '')} />\n )}\n {Icon && !_loading && (\n <Icon className={iconClassNames} />\n )}\n {_loading && <InputLoaderIcon className={loaderClassNames} />}\n </div>\n );\n }\n);\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgInputSearch(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.667 17.333a6.667 6.667 0 115.266-2.578l4.49 4.49-1.179 1.178-4.49-4.49a6.637 6.637 0 01-4.087 1.4zm5-6.666a5 5 0 11-10 0 5 5 0 0110 0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTAuNjY2NyAxNy4zMzMzQzYuOTg0NzcgMTcuMzMzMyA0IDE0LjM0ODYgNCAxMC42NjY3QzQgNi45ODQ3NyA2Ljk4NDc3IDQgMTAuNjY2NyA0QzE0LjM0ODYgNCAxNy4zMzMzIDYuOTg0NzcgMTcuMzMzMyAxMC42NjY3QzE3LjMzMzMgMTIuMjA3MyAxNi44MTA4IDEzLjYyNTggMTUuOTMzMiAxNC43NTQ3TDIwLjQyMjYgMTkuMjQ0MUwxOS4yNDQxIDIwLjQyMjZMMTQuNzU0NyAxNS45MzMyQzEzLjYyNTggMTYuODEwOCAxMi4yMDczIDE3LjMzMzMgMTAuNjY2NyAxNy4zMzMzWk0xNS42NjY2IDEwLjY2NjZDMTUuNjY2NiAxMy40MjgxIDEzLjQyOCAxNS42NjY2IDEwLjY2NjYgMTUuNjY2NkM3LjkwNTE2IDE1LjY2NjYgNS42NjY1OSAxMy40MjgxIDUuNjY2NTkgMTAuNjY2NkM1LjY2NjU5IDcuOTA1MjIgNy45MDUxNiA1LjY2NjY1IDEwLjY2NjYgNS42NjY2NUMxMy40MjggNS42NjY2NSAxNS42NjY2IDcuOTA1MjIgMTUuNjY2NiAxMC42NjY2WiIgZmlsbD0iY3VycmVudENvbG9yIiAvPgo8L3N2Zz4K\";\nexport { SvgInputSearch as ReactComponent };","import React, { ComponentProps, useCallback } from 'react';\nimport cn from 'classnames';\nimport DatePickerIcon from '../icon/icons/date-picker.svg';\nimport ClearIcon from '../icon/icons/clear.svg';\nimport { Icon } from '@shared/icon';\n\nimport generatePicker from 'antd/lib/date-picker/generatePicker';\nimport dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns';\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nimport { EInputSize, Input } from '@shared/input';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IDatePickerProps = {\n error?: boolean;\n onClear?: (e: any) => void;\n onTouchStart?: (e: any) => void;\n format?: string;\n mask?: string;\n labelPlaceholder?: string;\n} & ComponentProps<typeof AntDatePicker>;\n\nexport const DatePicker = ({ error, onClear, format = 'DD.MM.YYYY', mask, labelPlaceholder, onClick, ...props }: IDatePickerProps) => {\n const onRenderInput = useCallback((props: React.InputHTMLAttributes<HTMLInputElement>) => {\n return <Input variant=\"pure\" mask={mask} error={error} labelPlaceholder={labelPlaceholder} onPointerUp={onClick} {...props} size={EInputSize.medium} onChange={(_, e) => props.onChange(e)} />;\n }, [onClick, error])\n\n return (\n // @ts-ignore\n <AntDatePicker\n {...props}\n locale={locale}\n suffixIcon={<Icon icon={DatePickerIcon} />}\n clearIcon={<div onClick={onClear}><Icon icon={ClearIcon} /></div>}\n className={cn(props.className, { 'date-picker-error': error })}\n placeholder={props.placeholder || labelPlaceholder}\n format={format}\n onClick={onClick}\n // @ts-ignore\n showToday={false}\n inputRender={onRenderInput}\n />\n );\n};\n","import React from 'react';\nimport classnames from 'classnames';\n\nimport styles from './divider.module.scss';\n\nexport type IDividerProps = {\n width?: string;\n height?: string;\n bordered?: boolean;\n overflow?: number;\n children?: JSX.Element;\n className?: string;\n};\n\nexport const Divider = ({ width, height, bordered, className}: IDividerProps) => {\n return (\n <div\n className={classnames(styles.divider, className, { [styles.bordered]: bordered })}\n style={{\n width,\n height,\n }}\n />\n );\n};\n","import React from 'react';\n\nimport { Dropdown as AntDropdown, DropDownProps as AntDropdownProps } from 'antd';\nimport { ReactNode, useCallback } from 'react';\n\nimport styles from './dropdown.module.scss';\n\ninterface IDropdownProps extends AntDropdownProps {}\n\nexport const Dropdown = (props: IDropdownProps) => {\n const dropdownRender = useCallback(\n (originNode: ReactNode) => {\n return props.dropdownRender ? (\n <div className={styles.dropdown}>{props.dropdownRender(originNode)}</div>\n ) : (\n originNode\n );\n },\n [props.dropdownRender],\n );\n\n return <AntDropdown {...props} dropdownRender={dropdownRender} />;\n};\n","import { useFormikContext } from \"formik\";\nimport { MutableRefObject, useEffect } from \"react\";\n\ninterface IFocusErrorProps {\n formRef: MutableRefObject<HTMLFormElement>;\n}\n\nexport const FocusError = (props: IFocusErrorProps) => {\n const { errors, isSubmitting, isValidating } = useFormikContext();\n\n useEffect(() => {\n if (isSubmitting && !isValidating) {\n let keys = Object.keys(errors);\n if (keys.length > 0) {\n const selector = `[name=${keys[0]}]`;\n const errorElement = props.formRef.current.querySelector(selector) as HTMLElement;\n if (errorElement) {\n errorElement.focus();\n }\n }\n }\n }, [errors, isSubmitting, isValidating]);\n\n return null;\n};\n","import React from 'react';\n\nimport { FormikContextType, FormikProvider } from \"formik\"\nimport { PropsWithChildren, useCallback, useRef } from \"react\"\nimport { FocusError } from \"./form-focus-error\";\n\ninterface IFormProps {\n form: FormikContextType<any>;\n className?: string;\n onBlur?: (values: any) => void;\n onChange?: (values: any) => void;\n onChangeBlur?: (values: any) => void;\n}\n\nexport const Form = (props: PropsWithChildren<IFormProps>) => {\n const ref = useRef<HTMLFormElement>();\n\n const onChangeBlur = useCallback(async () => {\n if (props.form.dirty && props.form.isValid) {\n const isValid = await props.form.validateForm();\n if (!Object.keys(isValid).length) {\n props.onChangeBlur && props.onChangeBlur(props.form.values);\n }\n }\n }, [props.form]);\n\n const onBlur = useCallback(() => {\n setTimeout(() => {\n props.onBlur && props.onBlur(props.form.values);\n onChangeBlur();\n });\n }, [props.onBlur, props.form]);\n\n const onChange = useCallback(() => {\n props.onChange && setTimeout(() => {\n props.onChange(props.form.values);\n });\n }, [props.onChange, props.form]);\n\n return <FormikProvider value={props.form}>\n <form ref={ref} className={props.className} onSubmit={props.form.handleSubmit} onBlur={onBlur} onChange={onChange}>\n {props.children}\n <FocusError formRef={ref} />\n </form>\n </FormikProvider>\n};\n","import React from 'react';\n\nimport { ComponentProps, ElementType, PropsWithChildren, useMemo } from \"react\"\nimport { getIn, useField, useFormikContext } from 'formik';\nimport { Text } from \"@shared/text\";\n\nimport styles from './form-control.module.scss';\n\ntype IFormControlProps<C extends ElementType> = {\n [key in keyof ComponentProps<C>]?: ComponentProps<C>[key]\n} & {\n name: string;\n label?: string;\n component?: C;\n onChange?: ComponentProps<C>['onChange'];\n};\n\nexport const isRequiredField = (validationSchema, name) => {\n if (!validationSchema) {\n return false;\n }\n const schemaDescription = validationSchema.describe()\n const accessor = name.split(\".\").join(\".fields.\")\n const field = getIn(schemaDescription.fields, accessor)\n if (!field) {\n return false\n }\n const isRequired = field.tests.some((test) => test.name === \"required\")\n return isRequired\n}\n\nexport function FormControl<T extends ElementType>({ name, label, component, onChange, ...props }: PropsWithChildren<IFormControlProps<T>>) {\n const [field, meta, helpers] = useField({ name, type: 'object' });\n const ctx = useFormikContext();\n const Component = component as any;\n\n const _onChange = (value: any, ...args) => {\n helpers.setValue(value);\n helpers.setError(undefined);\n\n setTimeout(() => {\n onChange && onChange(value, ...args);\n });\n\n helpers.setTouched(true, false);\n };\n\n const labelPlaceholder = useMemo(() => {\n if (props.labelPlaceholder && isRequiredField(ctx.validationSchema, name)) {\n return `${props.labelPlaceholder} *`\n }\n\n return props.labelPlaceholder;\n }, [props.labelPlaceholder, ctx.validationSchema]);\n\n return <div>\n {!!label && <Text className={styles.label} size=\"large\" addition>{label}</Text>}\n <Component {...field} {...props} label={label} labelPlaceholder={labelPlaceholder} error={meta.touched && meta.error} onChange={_onChange} />\n {meta.touched && meta.error && <Text className={styles.error} size=\"small\" error>{meta.error}</Text>}\n </div>\n}\n","import React from 'react';\n\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './heading.module.scss';\n\nexport enum EHeadingLevel {\n h1 = 1,\n h2,\n h3,\n h4,\n h5,\n}\n\ninterface IHeadingProps {\n level?: EHeadingLevel;\n children?: any;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n warning?: boolean;\n inverse?: boolean;\n error?: boolean;\n className?: string;\n centerText?: boolean;\n}\n\nexport const Heading = ({\n children,\n level = EHeadingLevel.h1,\n addition,\n attention,\n warning,\n success,\n inverse,\n error,\n className,\n centerText,\n}: IHeadingProps) => {\n const HeadingTag = useMemo(() => `h${level}` as keyof JSX.IntrinsicElements, [level]);\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.heading,\n styles[`heading__h${level}`],\n {\n [styles.textAddition]: addition,\n [styles.textAttention]: attention,\n [styles.textInverse]: inverse,\n [styles.textSuccess]: success,\n [styles.textError]: error,\n [styles.textWarning]: warning,\n [styles.center]: centerText,\n },\n className,\n ),\n [addition, inverse, error, className],\n );\n\n return <HeadingTag className={classNames}>{children}</HeadingTag>;\n};\n","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xNyAxMEMxNyAxMS42MTk1IDE2LjQzODUgMTMuMTg4OSAxNS40MTExIDE0LjQ0MDhDMTQuMzgzNyAxNS42OTI2IDEyLjk1NCAxNi41NDk1IDExLjM2NTcgMTYuODY1NUM5Ljc3NzI5IDE3LjE4MTQgOC4xMjg1IDE2LjkzNjkgNi43MDAyNCAxNi4xNzM0QzUuMjcxOTggMTUuNDEgNC4xNTI2MiAxNC4xNzUgMy41MzI4NyAxMi42Nzg4QzIuOTEzMTEgMTEuMTgyNiAyLjgzMTMzIDkuNTE3NzYgMy4zMDE0NCA3Ljk2ODAxQzMuNzcxNTUgNi40MTgyNSA0Ljc2NDQ4IDUuMDc5NDUgNi4xMTEwMyA0LjE3OTcxQzcuNDU3NTggMy4yNzk5NyA5LjA3NDQ1IDIuODc0OTcgMTAuNjg2MSAzLjAzMzcxQzEyLjAwNjIgMy4xNjM3MiAxMy4yNTU4IDMuNjY1MyAxNC4yOTQgNC40NzE3M0MxNC42NzU3IDQuNzY4MTcgMTQuNjcyOCA1LjMyNzI2IDE0LjMzMSA1LjY2ODk3VjUuNjY4OTdDMTMuOTg5MyA2LjAxMDY4IDEzLjQzODcgNi4wMDM1MyAxMy4wNDUgNS43MjMyNUMxMi4zMDI4IDUuMTk0OCAxMS40MzEzIDQuODY1NTcgMTAuNTE0NiA0Ljc3NTI4QzkuMzA1ODQgNC42NTYyMyA4LjA5MzE5IDQuOTU5OTggNy4wODMyOCA1LjYzNDc4QzYuMDczMzYgNi4zMDk1OSA1LjMyODY3IDcuMzEzNjkgNC45NzYwOCA4LjQ3NjAxQzQuNjIzNSA5LjYzODMyIDQuNjg0ODQgMTAuODg2OSA1LjE0OTY1IDEyLjAwOTFDNS42MTQ0NyAxMy4xMzEyIDYuNDUzOTkgMTQuMDU3NSA3LjUyNTE5IDE0LjYzMDFDOC41OTYzOCAxNS4yMDI3IDkuODMyOTcgMTUuMzg2MSAxMS4wMjQyIDE1LjE0OTFDMTIuMjE1NSAxNC45MTIyIDEzLjI4NzggMTQuMjY5NSAxNC4wNTgzIDEzLjMzMDZDMTQuODI4OSAxMi4zOTE3IDE1LjI1IDExLjIxNDYgMTUuMjUgMTBIMTdaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIj4KICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZVR5cGU9InhtbCIgYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGZyb209IjAgMTAgMTAiIHRvPSIzNjAgMTAgMTAiIGR1cj0iMC43NXMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgPC9wYXRoPgoJPHBhdGggZD0iTTE3IDEwQzE3IDExLjYxOTUgMTYuNDM4NSAxMy4xODg5IDE1LjQxMTEgMTQuNDQwOEMxNC4zODM3IDE1LjY5MjYgMTIuOTU0IDE2LjU0OTUgMTEuMzY1NyAxNi44NjU1QzkuNzc3MjkgMTcuMTgxNCA4LjEyODUgMTYuOTM2OSA2LjcwMDI0IDE2LjE3MzRDNS4yNzE5OCAxNS40MSA0LjE1MjYyIDE0LjE3NSAzLjUzMjg3IDEyLjY3ODhDMi45MTMxMSAxMS4xODI2IDIuODMxMzMgOS41MTc3NiAzLjMwMTQ0IDcuOTY4MDFDMy43NzE1NSA2LjQxODI1IDQuNzY0NDggNS4wNzk0NSA2LjExMTAzIDQuMTc5NzFDNy40NTc1OCAzLjI3OTk3IDkuMDc0NDUgMi44NzQ5NyAxMC42ODYxIDMuMDMzNzFDMTIuMDA2MiAzLjE2MzcyIDEzLjI1NTggMy42NjUzIDE0LjI5NCA0LjQ3MTczQzE0LjY3NTcgNC43NjgxNyAxNC42NzI4IDUuMzI3MjYgMTQuMzMxIDUuNjY4OTdWNS42Njg5N0MxMy45ODkzIDYuMDEwNjggMTMuNDM4NyA2LjAwMzUzIDEzLjA0NSA1LjcyMzI1QzEyLjMwMjggNS4xOTQ4IDExLjQzMTMgNC44NjU1NyAxMC41MTQ2IDQuNzc1MjhDOS4zMDU4NCA0LjY1NjIzIDguMDkzMTkgNC45NTk5OCA3LjA4MzI4IDUuNjM0NzhDNi4wNzMzNiA2LjMwOTU5IDUuMzI4NjcgNy4zMTM2OSA0Ljk3NjA4IDguNDc2MDFDNC42MjM1IDkuNjM4MzIgNC42ODQ4NCAxMC44ODY5IDUuMTQ5NjUgMTIuMDA5MUM1LjYxNDQ3IDEzLjEzMTIgNi40NTM5OSAxNC4wNTc1IDcuNTI1MTkgMTQuNjMwMUM4LjU5NjM4IDE1LjIwMjcgOS44MzI5NyAxNS4zODYxIDExLjAyNDIgMTUuMTQ5MUMxMi4yMTU1IDE0LjkxMjIgMTMuMjg3OCAxNC4yNjk1IDE0LjA1ODMgMTMuMzMwNkMxNC44Mjg5IDEyLjM5MTcgMTUuMjUgMTEuMjE0NiAxNS4yNSAxMEgxN1oiIGZpbGw9InVybCgjcGFpbnQxX2xpbmVhcikiPgogICAgPGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlVHlwZT0ieG1sIiBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgZnJvbT0iMCAxMCAxMCIgdG89IjM2MCAxMCAxMCIgZHVyPSIwLjc1cyIgcmVwZWF0Q291bnQ9ImluZGVmaW5pdGUiLz4KICA8L3BhdGg+Cgk8ZGVmcz4KCQk8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXIiIHgxPSIxNC41IiB5MT0iNS41IiB4Mj0iMTYuNSIgeTI9IjEwIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CgkJCTxzdG9wIHN0b3AtY29sb3I9ImN1cnJlbnRDb2xvciIgLz4KCQkJPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIHN0b3Atb3BhY2l0eT0iMCIgLz4KCQk8L2xpbmVhckdyYWRpZW50PgoJCTxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhciIgeDE9IjEwIiB5MT0iMTYiIHgyPSIxNyIgeTI9IjkuNSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJCQk8c3RvcCBzdG9wLWNvbG9yPSJjdXJyZW50Q29sb3IiIC8+CgkJCTxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iY3VycmVudENvbG9yIiBzdG9wLW9wYWNpdHk9IjAiIC8+CgkJPC9saW5lYXJHcmFkaWVudD4KCTwvZGVmcz4KPC9zdmc+Cg==\";\nexport { SvgLoader as ReactComponent };","import React from 'react';\n\nimport LoaderIcon from '../icon/icons/loader.svg';\n\nimport styles from './loader.module.scss';\n\ninterface ILoaderProps {\n absolute?: boolean;\n fixed?: boolean;\n}\n\nexport const Loader = (props: ILoaderProps) => {\n if (props.absolute) {\n return <div className={styles.absolute}>\n <LoaderIcon className={styles.loader} />\n </div>\n }\n\n if (props.fixed) {\n return <div className={styles.fixed}>\n <LoaderIcon className={styles.loader} />\n </div>\n }\n\n return <LoaderIcon className={styles.loader} />;\n}\n","import React from 'react';\nimport classnames from 'classnames';\n\nimport styles from './loader-line.module.scss';\n\nexport type ILoaderLineProps = {\n active?: boolean;\n children?: JSX.Element;\n};\n\n\nexport const LoaderLine = ({ active }: ILoaderLineProps) => {\n return (\n <>\n <div className={classnames(styles.loaderLine, { [styles.active]: active })}>\n <div className={styles.border} />\n <div className={styles.bar} />\n </div>\n </>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { Menu as AntMenu, MenuProps as AntMenuProps } from 'antd';\n\ninterface IMenuProps extends AntMenuProps {}\n\nexport const Menu = (props: PropsWithChildren<IMenuProps>) => {\n // @ts-ignore\n return <AntMenu {...props} />;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgModalClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 28,\n height: 28,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.293 6.293a1 1 0 011.414 0L14 12.585l6.293-6.292a1 1 0 011.32-.083l.094.083a1 1 0 010 1.414L15.415 14l6.292 6.293a1 1 0 01.083 1.32l-.083.094a1 1 0 01-1.414 0L14 15.415l-6.293 6.292a1 1 0 01-1.32.083l-.094-.083a1 1 0 010-1.414L12.585 14 6.293 7.707a1 1 0 01-.083-1.32l.083-.094z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCAyOCAyOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik02LjI5Mjg5IDYuMjkyODlDNi42ODM0MiA1LjkwMjM3IDcuMzE2NTggNS45MDIzNyA3LjcwNzExIDYuMjkyODlMMTQgMTIuNTg1TDIwLjI5MjkgNi4yOTI4OUMyMC42NTM0IDUuOTMyNDEgMjEuMjIwNiA1LjkwNDY4IDIxLjYxMjkgNi4yMDk3TDIxLjcwNzEgNi4yOTI4OUMyMi4wOTc2IDYuNjgzNDIgMjIuMDk3NiA3LjMxNjU4IDIxLjcwNzEgNy43MDcxMUwxNS40MTUgMTRMMjEuNzA3MSAyMC4yOTI5QzIyLjA2NzYgMjAuNjUzNCAyMi4wOTUzIDIxLjIyMDYgMjEuNzkwMyAyMS42MTI5TDIxLjcwNzEgMjEuNzA3MUMyMS4zMTY2IDIyLjA5NzYgMjAuNjgzNCAyMi4wOTc2IDIwLjI5MjkgMjEuNzA3MUwxNCAxNS40MTVMNy43MDcxMSAyMS43MDcxQzcuMzQ2NjIgMjIuMDY3NiA2Ljc3OTM5IDIyLjA5NTMgNi4zODcxIDIxLjc5MDNMNi4yOTI4OSAyMS43MDcxQzUuOTAyMzcgMjEuMzE2NiA1LjkwMjM3IDIwLjY4MzQgNi4yOTI4OSAyMC4yOTI5TDEyLjU4NSAxNEw2LjI5Mjg5IDcuNzA3MTFDNS45MzI0MSA3LjM0NjYyIDUuOTA0NjggNi43NzkzOSA2LjIwOTcgNi4zODcxTDYuMjkyODkgNi4yOTI4OVoiIGZpbGw9IiM4QjhCOEIiIC8+Cjwvc3ZnPgo=\";\nexport { SvgModalClose as ReactComponent };","import React from 'react';\n\nimport { Heading } from '@shared/heading';\nimport { Icon } from '@shared/icon';\nimport { Modal as AntdModal } from 'antd';\nimport {\n ComponentProps,\n ElementType,\n forwardRef,\n MutableRefObject,\n PropsWithChildren,\n ReactNode,\n useCallback,\n useEffect,\n useState,\n} from 'react';\nimport ModalCloseIcon from '../icon/icons/modal-close.svg';\nimport classNames from 'classnames';\n\nimport styles from './modal.module.scss';\n\nexport type PropsWithModal<P, D = any> = P & {\n data: D;\n modal: IModalRef<D>;\n};\n\nexport interface IModalRef<D = any> {\n open: (data: D) => void;\n close: () => void;\n setTitle: (title: string | ReactNode) => void;\n setFooter: (node: ReactNode) => void;\n setClosable: (show: boolean) => void;\n setWidth: (width: string | number) => void;\n setFooterFixed: (value: boolean) => void;\n setFull: (value: boolean) => void;\n}\n\ntype IModalProps<C extends ElementType> = {\n [key in keyof ComponentProps<C>]?: ComponentProps<C>[key];\n} & {\n component?: any;\n title?: string;\n width?: number | string;\n footer?: ReactNode;\n sidebar?: boolean;\n footerFixed?: boolean;\n full?: boolean;\n};\n\nfunction _Modal<C extends ElementType>(\n { title, footer, width = 'max-content', closable = true, sidebar, component: Component, children, footerFixed, ...props }: PropsWithChildren<IModalProps<C>>,\n ref?: MutableRefObject<IModalRef>\n) {\n const [open, setOpen] = useState(false);\n const [data, setData] = useState<any>();\n const [_width, _setWidth] = useState<number | string>(width);\n const [_title, _setTitle] = useState<ReactNode>(title);\n const [_footer, _setFooter] = useState<ReactNode>(footer);\n const [_closable, _setClosable] = useState<boolean>(props.closable);\n const [_full, _setFull] = useState<boolean>(props.full);\n const [_footerFixed, _setFooterFixed] = useState<boolean>(props.footerFixed);\n\n const handleCancel = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleOpen = useCallback((data) => {\n setData(data);\n setOpen(true);\n }, []);\n\n useEffect(() => {\n if (!ref) {\n return;\n }\n\n ref.current = {\n open: handleOpen,\n close: handleCancel,\n setTitle: _setTitle,\n setFooter: _setFooter,\n setClosable: _setClosable,\n setWidth: _setWidth,\n setFooterFixed: _setFooterFixed,\n setFull: _setFull\n };\n }, [ref?.current]);\n\n return (\n <AntdModal\n open={open}\n closable={_closable}\n maskClosable={_closable}\n destroyOnClose={true}\n afterClose={() => {\n setData(null);\n setOpen(false);\n }}\n width={_width}\n closeIcon={<Icon size=\"large\" icon={ModalCloseIcon} />}\n onCancel={handleCancel}\n title={typeof _title === 'string' ? <Heading level={1}>{_title}</Heading> : _title}\n footer={_footer ? <div className={styles.footer}>{_footer}</div> : null}\n maskTransitionName=\"\"\n transitionName=\"\"\n className={classNames({ 'ant-modal-sidebar': sidebar, 'ant-modal-footer-fixed': _footerFixed, 'ant-modal-full': _full })}\n >\n {children}\n {!!Component && <Component {...props} data={data} modal={ref.current} />}\n </AntdModal>\n );\n}\n\nexport const Modal = forwardRef<IModalRef, IModalProps<any>>(_Modal);\n","import React from 'react';\n\nimport { createContext, createRef, PropsWithChildren, RefObject, useContext, useMemo, useState } from \"react\";\nimport { IModalRef, Modal } from \"./modal\";\n\ntype IModalContextPrivate = {\n create: (component: any, initialProps: any) => RefObject<IModalRef<any>>;\n};\n\ntype IModalObj = {\n ref: RefObject<IModalRef<any>>;\n id: number;\n component: any;\n initialProps: any[];\n}\n\nconst modalContext = createContext<IModalContextPrivate>(null);\n\nexport const ModalProvider = ({ children }: PropsWithChildren<any>) => {\n const [modals, setModals] = useState<IModalObj[]>([]);\n\n const value = useMemo(() => ({\n create: (component: any, initialProps: any) => {\n const ref = createRef<IModalRef>();\n const id = new Date().getTime();\n setModals(prev => prev.concat({ ref, id, component, initialProps }));\n\n return ref\n }\n }), []);\n\n return <modalContext.Provider value={value}>\n {children}\n {modals.map(modal => <Modal key={modal.id} ref={modal.ref} component={modal.component} {...modal.initialProps} />)}\n </modalContext.Provider>;\n};\n\nexport const useModal = (component: any, ...initialProps: any) => {\n const data = useContext(modalContext);\n\n const res = useMemo(() => data.create(component, initialProps || []), [component]);\n\n if (!data) {\n throw new Error('Не подключен ModalProvider');\n }\n\n return res;\n};\n\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Radio as AntRadio, RadioChangeEvent, RadioGroupProps } from 'antd';\nimport { CheckboxValueType } from 'antd/lib/checkbox/Group';\nimport cn from 'classnames';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\ninterface IRadioOption<T> {\n label: string;\n value: CheckboxValueType;\n data: T;\n}\n\ntype IRadioProps<T> = Omit<RadioGroupProps, 'options' | 'onChange' | 'value'> & {\n options: T[] | T;\n labels?: { [key: string]: string };\n valueKey?: string;\n labelKey?: string;\n value?: any;\n onChange?: (value: T, e?: MouseEvent) => void;\n position?: 'vertical' | 'horizontal';\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string, labelKey: string, labels: { [key: string]: string }) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as IRadioOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as IRadioOption<T>;\n}\n\nexport function Radio<T = any>({ options, position = 'horizontal', valueKey, labelKey, labels, ...props }: IRadioProps<T>) {\n const [value, setValue] = useState<any>();\n\n const _options = useMemo(() => {\n let _options = null;\n if (Array.isArray(options)) {\n _options = options;\n }\n\n if (options) {\n _options = Object.values(options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [options, labels]);\n\n useEffect(() => {\n if (!options) {\n return;\n }\n\n const res = _options?.find((option) => (props.value && option.value === props.value[valueKey]) || option.value === props.value);\n setValue(res?.value);\n }, [props.value, _options]);\n\n const _onChange = useCallback((e: RadioChangeEvent) => {\n const value = _options.find(option => option.value === e.target.value);\n setValue(value.value);\n props.onChange && props.onChange(value?.data, e.nativeEvent);\n }, [props.onChange, _options]);\n\n\n return (\n <AntRadio.Group className={cn('ant-radio-group-customize', position)} {...props} onChange={_onChange} value={value}>\n {_options.map((option, index) => (\n <AntRadio className={cn('ant-radio-customize')} key={index} value={option.value}>\n <Text size=\"large\">{option.label}</Text>\n </AntRadio>\n ))}\n </AntRadio.Group>\n );\n}\n","import React, { ComponentProps, forwardRef, useCallback } from 'react';\n\nimport generatePicker from 'antd/lib/date-picker/generatePicker';\nimport dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns';\nimport { startOfDay } from 'date-fns';\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IRangePickerProps = {\n isFromToday?: boolean;\n} & ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const RangePicker = forwardRef((props: IRangePickerProps, ref) => {\n const disabledDate = useCallback(\n (current: Date) => {\n if (props.disabledDate && props.disabledDate(current)) {\n return true;\n }\n\n if (props.isFromToday) {\n return current && current.getTime() < startOfDay(new Date()).getTime();\n }\n\n return false;\n },\n [props.isFromToday, props.disabledDate],\n );\n\n // @ts-ignore\n return <AntDatePicker.RangePicker locale={locale} pickerRef={ref} {...props} disabledDate={disabledDate} />;\n});\n","import React from 'react';\n\nimport { Select as AntSelect, SelectProps } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport debounce from 'lodash.debounce';\n\nimport SelectArrowIcon from '../icon/icons/select-arrow.svg';\nimport { Icon } from '@shared/icon';\nimport ClearIcon from '../icon/icons/clear.svg';\n\nimport styles from './select.module.scss';\nimport classNames from 'classnames';\n\nexport interface ISelectOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\ninterface ISelectOptionGroup<T> {\n label: string;\n options: ISelectOption<T>[];\n}\n\ninterface ISelectGroup<T> {\n label: string;\n options: T[];\n}\n\ntype ISelectProps<T> = Omit<SelectProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n optionsGroup?: ISelectGroup<T>[];\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onServerSearch?: (val: string) => Promise<T[]>;\n onServerSearchGroup?: (val: string) => Promise<ISelectGroup<T>[]>;\n onRenderOption?: (item: T) => React.ReactNode;\n onChange?: (option: T, options?: T[]) => void;\n debounceTimeout?: number;\n stacked?: boolean;\n popupClassName?: string;\n suffixIcon?: any;\n};\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: ISelectProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ISelectOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ISelectOption<T>;\n}\n\nexport function Select<T = any>({\n debounceTimeout = 500,\n onServerSearch,\n onServerSearchGroup,\n onRenderOption,\n valueKey,\n labelKey,\n labelPlaceholder,\n labels,\n popupClassName,\n suffixIcon = SelectArrowIcon,\n ...props\n}: ISelectProps<T>) {\n const [fetching, setFetching] = useState(false);\n const [serverOptions, setServerOptions] = useState<ISelectOption<T>[]>(null);\n const [optionsGroup, setOptionsGroup] = useState<ISelectOptionGroup<T>[]>(null);\n\n const [value, setValue] = useState<ISelectOption<T>>();\n const fetchRef = useRef(0);\n\n const isEqual = (option) => option.key === props.value || option.props.data === props.value || (props.value && (option.key === props.value[valueKey] || option.props.value === props.value[valueKey]));\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n useEffect(() => {\n setOptionsGroup(props.optionsGroup?.map((group) => ({\n label: group.label,\n options: group.options.map((option) => formatItemToOption(option, valueKey, labelKey, labels))\n })));\n }, [props.optionsGroup]);\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1;\n const fetchId = fetchRef.current;\n setServerOptions([]);\n setOptionsGroup([]);\n setFetching(true);\n\n onServerSearch && onServerSearch(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setServerOptions(newOptions?.map((option) => formatItemToOption(option, valueKey, labelKey)));\n setFetching(false);\n });\n\n onServerSearchGroup && onServerSearchGroup(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setOptionsGroup(newOptions?.map((group) => ({\n label: group.label,\n options: group.options.map((option) => formatItemToOption(option, valueKey, labelKey, labels))\n })));\n setFetching(false);\n });\n };\n\n return debounce(loadOptions, debounceTimeout);\n }, [onServerSearch, onServerSearchGroup, debounceTimeout]);\n\n const _onRenderOptions = useCallback(\n (option: ISelectOption<T>, index: number) => {\n if (onRenderOption) {\n return <AntSelect.Option option={option} data={option.data} key={`${option.value}${index}`} label={option.label} value={option.value}>{onRenderOption(option.data)}</AntSelect.Option>;\n }\n\n return (\n <AntSelect.Option option={option} data={option.data} key={option.value} label={option.label} value={option.value}>\n <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>\n </AntSelect.Option>\n );\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _onRenderGroup = useCallback(\n (group: ISelectOptionGroup<T>) => {\n return <AntSelect.OptGroup label={group.label}>{group.options.map(_onRenderOptions)}</AntSelect.OptGroup>\n },\n []\n );\n\n const onDropdownVisibleChange = useCallback(\n (open: boolean) => {\n if (!open) {\n setServerOptions(null);\n return;\n }\n },\n [value]\n );\n\n const _options: any[] = useMemo(() => (serverOptions || options || []).map(_onRenderOptions), [\n onServerSearch,\n options,\n serverOptions,\n ]);\n\n const _optionsGroup: any[] = useMemo(() => optionsGroup?.map(_onRenderGroup) || null, [optionsGroup]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setValue(value);\n props.onChange && props.onChange(_option?.data, (serverOptions || options)?.map((i) => i.data));\n },\n [props.onChange, _options, serverOptions, options]\n );\n\n useEffect(() => {\n let res = props.value && _options?.find(isEqual);\n\n if (_optionsGroup?.length) {\n for (const group of _optionsGroup) {\n res = group.props.children.find(isEqual)\n if (res) break;\n }\n }\n\n setValue(res?.props.value);\n }, [props.value, _options, _optionsGroup]);\n\n return (\n <AntSelect\n {...props}\n value={value}\n options={undefined}\n onSearch={debounceFetcher}\n popupClassName={popupClassName}\n onDropdownVisibleChange={onDropdownVisibleChange}\n notFoundContent={null}\n loading={true}\n onChange={onChange}\n placeholder={props.placeholder || labelPlaceholder}\n clearIcon={<Icon icon={ClearIcon} />}\n className={cn('ant-select-customize-input', props.className, styles.select, { 'select-error': props.error, 'select-stacked': props.stacked, 'select-loading': fetching })}\n suffixIcon={suffixIcon ? <Icon icon={suffixIcon} /> : null}\n >\n {_optionsGroup?.length ? _optionsGroup : _options}\n </AntSelect>\n );\n}\n","import React from 'react';\n\nimport { Slider } from 'antd';\nimport { SliderRangeProps, SliderSingleProps } from 'antd/lib/slider';\nimport { useEffect, useState } from 'react';\n\ninterface ISelectorRangeProps extends SliderRangeProps {}\n\nexport const SelectorRange = (props: ISelectorRangeProps) => {\n const [value, setValue] = useState<[number, number]>(props.value);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n return <Slider {...props} value={value} onChange={setValue} />;\n};\n\ninterface ISelectorProps extends SliderSingleProps {}\n\nexport const Selector = (props: ISelectorProps) => {\n return <Slider {...props} />;\n};\n","import React from 'react';\n\nimport RLSkeleton, { SkeletonProps } from 'react-loading-skeleton';\n\ntype ISkeletonProps = SkeletonProps;\n\nexport const Skeleton = (props: ISkeletonProps) => {\n return <RLSkeleton {...props} />\n}\n","var _g, _path, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgArrowPrev(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 69,\n height: 69,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#arrow-prev_svg__filter0_d_878_2850)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.844,\n cy: 34.592,\n r: 24,\n fill: \"#fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.586 35.625l6.151 6.505-1.382 1.462-8.511-9 8.511-9 1.382 1.462-6.15 6.504h14.257v2.067H29.586z\",\n fill: \"#000\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"arrow-prev_svg__filter0_d_878_2850\",\n x: 0.844,\n y: 0.592,\n width: 68,\n height: 68,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n \"in\": \"SourceAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_878_2850\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n \"in\": \"SourceGraphic\",\n in2: \"effect1_dropShadow_878_2850\",\n result: \"shape\"\n })))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjkiIGhlaWdodD0iNjkiIHZpZXdCb3g9IjAgMCA2OSA2OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF84NzhfMjg1MCkiPgo8Y2lyY2xlIGN4PSIzNC44NDM4IiBjeT0iMzQuNTkxOCIgcj0iMjQiIGZpbGw9IndoaXRlIi8+CjwvZz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yOS41ODYxIDM1LjYyNTRMMzUuNzM3NCA0Mi4xM0wzNC4zNTUgNDMuNTkxOEwyNS44NDM3IDM0LjU5MThMMzQuMzU1IDI1LjU5MThMMzUuNzM3NCAyNy4wNTM2TDI5LjU4NjEgMzMuNTU4Mkw0My44NDM3IDMzLjU1ODJWMzUuNjI1NEwyOS41ODYxIDM1LjYyNTRaIiBmaWxsPSJibGFjayIvPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzg3OF8yODUwIiB4PSIwLjg0Mzc1IiB5PSIwLjU5MTc5NyIgd2lkdGg9IjY4IiBoZWlnaHQ9IjY4IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPgo8ZmVPZmZzZXQvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI1Ii8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjEgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd184NzhfMjg1MCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd184NzhfMjg1MCIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\";\nexport { SvgArrowPrev as ReactComponent };","import React from 'react';\n\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport ArrowNext from '../icon/icons/arrow-next.svg';\nimport ArrowPrev from '../icon/icons/arrow-prev.svg';\nimport classnames from 'classnames';\nimport SwiperCore, { Navigation, Autoplay, Controller } from 'swiper';\nimport { useCallback, useMemo, useRef, useState } from 'react';\n\nimport styles from './slider.module.scss';\n\nSwiperCore.use([Navigation, Autoplay, Controller]);\n\ninterface ISliderProps {\n items: any[];\n slidesPerView: any;\n showNavigation?: boolean;\n navPosition?: 'inset' | '';\n renderItem: (item: any, index: number) => any;\n viewItem?: (item: any, index: number) => void;\n loop?: boolean;\n asyncReady?: boolean;\n spaceBetween?: number;\n autoplay?: boolean;\n freeMode?: boolean;\n showCounter?: boolean;\n centeredSlides?: boolean;\n className?: string;\n classNamePrev?: string;\n classNameNext?: string;\n overflow?: boolean;\n}\n\nexport const Slider = ({\n items,\n slidesPerView,\n renderItem,\n viewItem = () => {},\n loop,\n asyncReady,\n showNavigation,\n navPosition = '',\n spaceBetween = 24,\n autoplay = true,\n freeMode,\n showCounter,\n centeredSlides,\n className,\n classNamePrev,\n classNameNext,\n overflow,\n}: ISliderProps) => {\n const navigationPrevRef = useRef(null);\n const navigationNextRef = useRef(null);\n const [index, setIndex] = useState(0);\n const [ready, setReady] = useState(asyncReady);\n\n const classNames = useMemo(\n () =>\n classnames(styles.slider, className, { [styles.sliderAutoLoop]: loop && slidesPerView === 'auto', [styles.ready]: ready, overflow }),\n [loop, slidesPerView, ready, className],\n );\n\n const onSlideItem = useCallback((indexItem) => {\n const findItem = items.find((_, index) => index === indexItem);\n viewItem(findItem, indexItem);\n }, [viewItem])\n\n return (\n <>\n <div className={classnames(styles.sliderContainer, 'slider')}>\n <div\n ref={navigationPrevRef}\n className={classnames(\n styles.buttonSlider,\n styles[`buttonSlider__prev_${navPosition}`],\n styles[`buttonSlider__prev`],\n {\n [styles[`buttonSlider__hidden`]]: !showNavigation || items?.length <= slidesPerView,\n },\n classNamePrev,\n )}\n >\n <ArrowPrev />\n </div>\n <div\n ref={navigationNextRef}\n className={classnames(\n styles.buttonSlider,\n styles[`buttonSlider__next_${navPosition}`],\n styles[`buttonSlider__next`],\n {\n [styles[`buttonSlider__hidden`]]: !showNavigation || items?.length <= slidesPerView,\n },\n classNameNext,\n )}\n >\n <ArrowNext />\n </div>\n <Swiper\n loop={(loop && items?.length > slidesPerView) || (loop && slidesPerView === 'auto')}\n speed={1000}\n preloadImages={true}\n loopedSlides={loop && slidesPerView === 'auto' ? items.length : null}\n centeredSlides={centeredSlides}\n freeMode={freeMode}\n onSlideChange={(sw) => {\n setIndex(sw.realIndex + 1);\n onSlideItem(sw.realIndex);\n }}\n autoplay={\n autoplay\n ? {\n delay: 10000,\n disableOnInteraction: true,\n }\n : undefined\n }\n navigation={{\n nextEl: navigationNextRef.current,\n prevEl: navigationPrevRef.current,\n }}\n onImagesReady={(swiper) => {\n swiper.slideTo(0, 0);\n setReady(true);\n }}\n onBeforeInit={(swiper) => {\n if (typeof swiper.params.navigation === 'boolean') {\n return;\n }\n\n swiper.params.navigation.prevEl = navigationPrevRef.current;\n swiper.params.navigation.nextEl = navigationNextRef.current;\n }}\n lazy={{\n checkInView: true,\n loadPrevNext: true,\n }}\n slidesPerView={slidesPerView}\n spaceBetween={spaceBetween}\n className={classNames}\n >\n {items?.map((item, index) => {\n let key: any = index;\n if (typeof item === 'string') {\n key = item;\n }\n\n return (\n <SwiperSlide\n key={key}\n className={classnames(styles.swiperSlide, { [styles.swiperSlideAuto]: slidesPerView === 'auto' })}\n >\n {renderItem(item, index)}\n </SwiperSlide>\n );\n })}\n </Swiper>\n {showCounter && (\n <div className={styles.sliderCounter}>\n {index}/{items?.length}\n </div>\n )}\n </div>\n </>\n );\n};\n","var _g, _path, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgArrowNext(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 69,\n height: 69,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#arrow-next_svg__filter0_d_878_2853)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.844,\n cy: 34.592,\n r: 24,\n transform: \"rotate(-180 34.844 34.592)\",\n fill: \"#fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.101 33.558l-6.15-6.504 1.382-1.462 8.51 9-8.51 9-1.383-1.462 6.151-6.505H25.844v-2.067H40.1z\",\n fill: \"#000\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"arrow-next_svg__filter0_d_878_2853\",\n x: 0.844,\n y: 0.592,\n width: 68,\n height: 68,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n \"in\": \"SourceAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_878_2853\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n \"in\": \"SourceGraphic\",\n in2: \"effect1_dropShadow_878_2853\",\n result: \"shape\"\n })))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjkiIGhlaWdodD0iNjkiIHZpZXdCb3g9IjAgMCA2OSA2OSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjBfZF84NzhfMjg1MykiPgo8Y2lyY2xlIGN4PSIzNC44NDM4IiBjeT0iMzQuNTkxOCIgcj0iMjQiIHRyYW5zZm9ybT0icm90YXRlKC0xODAgMzQuODQzOCAzNC41OTE4KSIgZmlsbD0id2hpdGUiLz4KPC9nPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQwLjEwMTQgMzMuNTU4MkwzMy45NTAxIDI3LjA1MzZMMzUuMzMyNSAyNS41OTE4TDQzLjg0MzggMzQuNTkxOEwzNS4zMzI1IDQzLjU5MThMMzMuOTUwMSA0Mi4xM0w0MC4xMDE0IDM1LjYyNTRMMjUuODQzOCAzNS42MjU0TDI1Ljg0MzggMzMuNTU4Mkw0MC4xMDE0IDMzLjU1ODJaIiBmaWxsPSJibGFjayIvPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzg3OF8yODUzIiB4PSIwLjg0Mzc1IiB5PSIwLjU5MTc5NyIgd2lkdGg9IjY4IiBoZWlnaHQ9IjY4IiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CjxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CjxmZUNvbG9yTWF0cml4IGluPSJTb3VyY2VBbHBoYSIgdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIiByZXN1bHQ9ImhhcmRBbHBoYSIvPgo8ZmVPZmZzZXQvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSI1Ii8+CjxmZUNvbG9yTWF0cml4IHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwLjEgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd184NzhfMjg1MyIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd184NzhfMjg1MyIgcmVzdWx0PSJzaGFwZSIvPgo8L2ZpbHRlcj4KPC9kZWZzPgo8L3N2Zz4K\";\nexport { SvgArrowNext as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSpoilerArrowActive(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.558 16.08a.857.857 0 11-1.116-1.302l6-5.143a.857.857 0 011.116 0l6 5.143a.857.857 0 11-1.116 1.301L12 11.415l-5.442 4.664z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik02LjU1ODA1IDE2LjA3OTNDNi4xOTg2MiAxNi4zODc0IDUuNjU3NTEgMTYuMzQ1OCA1LjM0OTQzIDE1Ljk4NjRDNS4wNDEzNiAxNS42MjY5IDUuMDgyOTggMTUuMDg1OCA1LjQ0MjQgMTQuNzc3OEwxMS40NDI0IDkuNjM0OUMxMS43NjM0IDkuMzU5NzYgMTIuMjM3MSA5LjM1OTc2IDEyLjU1OCA5LjYzNDlMMTguNTU4IDE0Ljc3NzhDMTguOTE3NSAxNS4wODU4IDE4Ljk1OTEgMTUuNjI2OSAxOC42NTEgMTUuOTg2NEMxOC4zNDI5IDE2LjM0NTggMTcuODAxOCAxNi4zODc0IDE3LjQ0MjQgMTYuMDc5M0wxMi4wMDAyIDExLjQxNDZMNi41NTgwNSAxNi4wNzkzWiIgZmlsbD0iIzhCOEI4QiIgLz4KPC9zdmc+Cg==\";\nexport { SvgSpoilerArrowActive as ReactComponent };","import React from 'react';\n\nimport { PropsWithChildren, ReactNode, useCallback, useState } from 'react';\n\nimport { Icon } from '@shared/icon';\n\nimport SpoilerArrowIcon from '../icon/icons/spoiler-arrow.svg';\nimport SpoilerArrowActiveIcon from '../icon/icons/spoiler-arrow-active.svg';\n\nimport styles from './spoiler.module.scss';\n\ninterface ISpoilerProps {\n title: string | ReactNode;\n initialValue?: boolean;\n}\n\nexport const Spoiler = (props: PropsWithChildren<ISpoilerProps>) => {\n const [opened, setOpened] = useState(props.initialValue);\n\n const onChange = useCallback(() => {\n setOpened(prev => !prev);\n }, []);\n\n return (\n <div className={styles.spoiler}>\n <div className={styles.title} onClick={onChange.bind(null)}>\n {props.title}\n <Icon size=\"large\" variant=\"initial\" className={styles.arrow} icon={opened ? SpoilerArrowActiveIcon : SpoilerArrowIcon} />\n </div>\n {opened && props.children}\n </div>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSpoilerArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.817 9.635A.857.857 0 105.7 10.937l6 5.142a.857.857 0 001.116 0l6-5.143A.857.857 0 1017.7 9.636L12.26 14.3 6.817 9.635z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik02LjgxNjgzIDkuNjM0ODlDNi40NTc0MSA5LjMyNjgyIDUuOTE2MyA5LjM2ODQ0IDUuNjA4MjIgOS43Mjc4N0M1LjMwMDE1IDEwLjA4NzMgNS4zNDE3NyAxMC42Mjg0IDUuNzAxMTkgMTAuOTM2NUwxMS43MDEyIDE2LjA3OTNDMTIuMDIyMiAxNi4zNTQ1IDEyLjQ5NTggMTYuMzU0NSAxMi44MTY4IDE2LjA3OTNMMTguODE2OCAxMC45MzY1QzE5LjE3NjMgMTAuNjI4NCAxOS4yMTc5IDEwLjA4NzMgMTguOTA5OCA5LjcyNzg3QzE4LjYwMTcgOS4zNjg0NCAxOC4wNjA2IDkuMzI2ODIgMTcuNzAxMiA5LjYzNDg5TDEyLjI1OSAxNC4yOTk2TDYuODE2ODMgOS42MzQ4OVoiIGZpbGw9IiM4QjhCOEIiIC8+Cjwvc3ZnPgo=\";\nexport { SvgSpoilerArrow as ReactComponent };","import React from 'react';\n\nimport { Input, IInputProps } from '@shared/input';\nimport { Select } from '@shared/select';\nimport cn from 'classnames';\nimport { InputHTMLAttributes, ReactNode, useState } from 'react';\n\nimport styles from './stacked-input.module.scss';\n\nexport interface IStackedInputValue<T> {\n value: string;\n key: T;\n}\n\ntype IStackedInputProps<T> = {\n onChange: (val: string) => void;\n onSearch: (val: string) => void;\n onSelect: (key: T) => void;\n options: T[];\n option: T;\n className?: string;\n showClear?: boolean;\n placeholder?: string;\n labelPlaceholder?: string;\n mask?: IInputProps['mask'];\n value?: string\n onRenderOption?: (item: T) => ReactNode;\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'variant' | 'onChange'>;\n\nexport function StackedInput<T>({ onSelect, onRenderOption, options, option, ...props }: IStackedInputProps<T>) {\n const [key, setKey] = useState<T>(option || options[0]);\n\n const _onSelect = (key: T) => {\n setKey(key);\n onSelect(key);\n }\n\n return (\n <div className={cn(styles.stacked_input, props.className)}>\n <Select\n className={styles.stacked_input__select}\n size=\"large\"\n options={options}\n onChange={_onSelect}\n value={key}\n open={false}\n suffixIcon={null}\n\n onRenderOption={onRenderOption}\n dropdownMatchSelectWidth={false}\n stacked\n />\n <Input\n {...props}\n className={styles.stacked_input__input}\n labelPlaceholder={props.labelPlaceholder}\n mask={props.mask}\n showClear={props.showClear}\n placeholder={props.placeholder}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport styles from './switch.module.scss';\nimport classNames from 'classnames';\nimport { Text } from '@shared/text';\n\ntype ISwitchProps = {\n value?: boolean;\n name?: string;\n title?: string;\n className?: string;\n onChange?: (value: boolean) => void;\n};\n\nexport const Switch = (props: ISwitchProps) => {\n const [value, setValue] = useState(props.value);\n\n useEffect(() => setValue(!!props.value), [props.value]);\n\n const onChange = useCallback(() => {\n setValue(!value);\n props.onChange && props.onChange(!value);\n }, [value, props.onChange]);\n\n return <div className={classNames(styles.switch, props.className, { [styles.active]: value })} onClick={onChange}>\n <div></div>\n <input name={props.name} type=\"checkbox\" checked={value} />\n {!!props.title && <Text size=\"large\">{props.title}</Text>}\n </div>\n}\n","import React from 'react';\n\nimport { Select as AntdSelect, SelectProps } from \"antd\";\nimport classNames from \"classnames\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Icon } from '@shared/icon';\nimport ClearIcon from '../icon/icons/clear.svg';\n\nimport styles from './tag-box.module.scss';\n\nexport interface ITagBoxOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: ITagBoxProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ITagBoxOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ITagBoxOption<T>;\n}\n\ntype ITagBoxProps<T> = Omit<SelectProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onChange?: (option: T[], options?: T[]) => void;\n onRenderOption?: (item: T) => React.ReactNode;\n popupClassName?: string;\n};\n\nexport function TagBox<T>({ labels, valueKey, labelKey, labelPlaceholder, onRenderOption, popupClassName, ...props }: ITagBoxProps<T>) {\n const [value, setValue] = useState<ITagBoxOption<T>[]>();\n\n const isEqual = (option) => props.value.some(v => v === option.key || v === option.props?.data || v === option.props.value || v[valueKey] === option.key || v[valueKey] === option.props.value);\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || [];\n }, [props.options, labels]);\n\n const _onRenderOptions = useCallback(\n (option: ITagBoxOption<T>, index: number) => {\n if (onRenderOption) {\n return <AntdSelect.Option option={option} data={option.data} key={`${option.value}${index}`} label={option.label} value={option.value}>{onRenderOption(option.data)}</AntdSelect.Option>;\n }\n\n return (\n <AntdSelect.Option option={option} data={option.data} key={option.value} label={option.label} value={option.value}>\n <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>\n </AntdSelect.Option>\n );\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _options: any[] = useMemo(() => (options || []).map(_onRenderOptions), [options]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setValue(value);\n props.onChange && props.onChange(_option?.map(i => i.data), options?.map((i) => i.data));\n },\n [props.onChange, _options, options]\n );\n\n useEffect(() => {\n let res = props.value && _options?.filter(isEqual);\n setValue(res?.map(i => i.props.value));\n }, [props.value, _options]);\n\n return (\n <AntdSelect\n {...props}\n mode=\"multiple\"\n value={value}\n options={undefined}\n popupClassName={popupClassName}\n notFoundContent={null}\n onChange={onChange}\n maxTagCount=\"responsive\"\n removeIcon={<Icon size=\"small\" icon={ClearIcon} />}\n menuItemSelectedIcon={null}\n placeholder={props.placeholder || labelPlaceholder}\n className={classNames('ant-tag-box-customize-input', props.className, styles.select, { 'select-error': props.error })}\n >\n {_options}\n </AntdSelect>\n );\n}\n","import React, { PropsWithChildren, useMemo, useCallback } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './tag-button.module.scss';\n\nexport enum ETagButtonSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ETagButtonVariant {\n default = 'default',\n secondary = 'secondary',\n tumbler = 'tumbler',\n green = 'green',\n tab = 'tab',\n text = 'text',\n icons = 'icons',\n}\n\ninterface IButtonProps {\n variant?: keyof typeof ETagButtonVariant;\n size?: keyof typeof ETagButtonSize;\n icon?: any;\n disabled?: boolean;\n selected?: boolean;\n notChangeSelected?: boolean;\n shadow?: boolean;\n onClick: (e?: boolean) => void;\n}\n\nexport const TagButton = ({\n variant = ETagButtonVariant.default,\n size = ETagButtonSize.medium,\n disabled,\n selected,\n children,\n onClick,\n}: PropsWithChildren<IButtonProps>) => {\n const classNames = useMemo(\n () =>\n classnames(styles.button, styles[`button__${variant}`], styles[`button__${size}`], {\n [styles.selected]: selected,\n }),\n [variant, size, disabled, selected],\n );\n\n const _onClick = useCallback(() => {\n onClick();\n }, []);\n\n return (\n <div className={classNames} onClick={_onClick}>\n <span>{children}</span>\n </div>\n );\n};\n","import React from 'react';\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ETagButtonSize, ETagButtonVariant, TagButton } from './tag-button';\n\nimport styles from './tag-button.module.scss';\nimport classNames from 'classnames';\n\ninterface ITagButtonGroupProps<T> {\n variant?: keyof typeof ETagButtonVariant;\n className?: string;\n labels?: { [key: string]: string };\n size?: keyof typeof ETagButtonSize;\n options: T[];\n onChange?: (value: T) => void;\n onRenderLabel?: (value: T) => void;\n value?: T;\n valueKey?: string;\n labelKey?: string;\n}\n\ninterface ITagOption<T> {\n label: string;\n value: string;\n data: T;\n}\n\nfunction formatItemToOption<T = any>(\n item: any,\n valueKey: string = 'value',\n labelKey: string = 'label',\n labels?: ITagButtonGroupProps<T>['labels']\n) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ITagOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ITagOption<T>;\n}\n\nexport function TagButtonGroup<T>({\n labelKey = 'label',\n valueKey = 'value',\n labels,\n className,\n ...props\n}: ITagButtonGroupProps<T>) {\n const [value, setValue] = useState<ITagOption<T>>();\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n const onChange = useCallback(\n (val: ITagOption<T>) => {\n const option = options?.find(\n (option) => option.value === val.value || option.data === val.value || option.value === val[valueKey]\n );\n setValue(option);\n props.onChange && props.onChange(option?.data);\n },\n [props.onChange]\n );\n\n useEffect(() => {\n const res =\n props.value &&\n options?.find(\n (option) =>\n option.value === props.value || option.data === props.value || option.value === props.value[valueKey]\n );\n\n setValue(res);\n }, [props.value, options]);\n\n return (\n <div className={classNames(styles.tagButtonGroup, className)}>\n {options.map((item) => (\n <TagButton\n key={item.value}\n variant={props.variant}\n size={props.size}\n selected={value === item}\n onClick={onChange.bind(null, item)}\n >\n {props.onRenderLabel ? props.onRenderLabel(item.data) : item.label}\n </TagButton>\n ))}\n </div>\n );\n}\n","import { useEffect, useRef } from 'react';\n\nexport function useCombinedRefs(...refs) {\n const targetRef = useRef();\n\n useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n });\n }, [refs]);\n\n return targetRef;\n}\n","import React, { useMemo, ChangeEvent, forwardRef, useRef, TextareaHTMLAttributes } from 'react';\nimport classnames from 'classnames';\nimport Loader from '../icon/icons/input-loader.svg';\nimport Clear from '../icon/icons/clear.svg';\n\nimport styles from './text-area.module.scss';\nimport { useState } from 'react';\nimport { useCallback } from 'react';\nimport { useEffect } from 'react';\nimport { useCombinedRefs } from '@shared/utils/combine-ref';\n\nconst observe = function (element, event, handler) {\n element.addEventListener(event, handler, false);\n};\n\nconst deobserve = function (element, event, handler) {\n element.removeEventListener(event, handler);\n};\n\nfunction init(text: HTMLTextAreaElement) {\n const resize = () => {\n text.style.height = 'auto';\n text.style.height = `${2 + text.scrollHeight}px`;\n };\n\n /* 0-timeout to get the already changed text */\n function delayedResize() {\n window.setTimeout(resize, 0);\n }\n\n observe(text, 'change', resize);\n observe(text, 'cut', delayedResize);\n observe(text, 'paste', delayedResize);\n observe(text, 'drop', delayedResize);\n observe(text, 'keydown', delayedResize);\n observe(text, 'input', resize);\n\n text.focus();\n // text.select();\n resize();\n\n return () => {\n deobserve(text, 'change', resize);\n deobserve(text, 'cut', delayedResize);\n deobserve(text, 'paste', delayedResize);\n deobserve(text, 'drop', delayedResize);\n deobserve(text, 'keydown', delayedResize);\n deobserve(text, 'input', resize);\n }\n}\n\nexport enum ETextAreaVariant {\n filled = 'filled',\n outlined = 'outlined',\n}\n\nexport enum ETextAreaSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ETextAreaBorder {\n circle = 'circle',\n normal = 'normal',\n}\n\ntype ITextAreaProps = {\n invalid?: boolean;\n icon?: any;\n variant?: keyof typeof ETextAreaVariant;\n size?: keyof typeof ETextAreaSize;\n border?: ETextAreaBorder;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n placeholder?: string;\n onClear?: () => void;\n onSearch?: (e: any) => void;\n onChange?: (value: string, event?: ChangeEvent<HTMLTextAreaElement>) => void;\n} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size' | 'variant' | 'onChange'>;\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, ITextAreaProps>(\n (\n {\n onChange,\n onFocus = () => {},\n onBlur = () => {},\n onClear,\n onSearch,\n icon: Icon,\n name,\n required,\n disabled,\n value,\n placeholder,\n style,\n loading,\n showClear,\n invalid,\n autoFocus,\n size = ETextAreaSize.medium,\n variant = ETextAreaVariant.outlined,\n border = ETextAreaBorder.normal,\n adaptive,\n ...props\n }: ITextAreaProps,\n ref,\n ) => {\n const [_value, _setValue] = useState(value);\n\n const innerRef = useRef<HTMLTextAreaElement>();\n const combineRef: React.MutableRefObject<HTMLTextAreaElement> = useCombinedRefs(ref, innerRef);\n\n // useEffect(() => _setValue(value), [value]);\n\n useEffect(() => {\n if (autoFocus && combineRef.current) {\n combineRef.current.value = '';\n combineRef.current.value = `${value || ''}`;\n const unsubscribe = init(combineRef.current);\n\n return () => {\n unsubscribe();\n }\n }\n\n return () => {\n\n }\n }, [autoFocus, combineRef]);\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.textarea,\n styles[`textarea__${variant}`],\n styles[`textarea__${size}`],\n styles[`textarea__border_${border}`],\n {\n [styles[`textarea__${size}_adaptive`]]: adaptive,\n [styles[`textarea__action_${size}`]]: Icon || loading || showClear,\n [styles[`textarea__actions_${size}`]]: (Icon || loading) && showClear,\n [styles.textarea__disabled]: disabled,\n },\n ),\n [variant, size, border, disabled, loading, showClear, adaptive],\n );\n\n const inputClassNames = useMemo(\n () =>\n classnames(props.className, {\n [styles.invalid]: invalid,\n }),\n [invalid, props.className],\n );\n\n const clearClassNames = useMemo(\n () =>\n classnames(styles.clear, styles[`clear__${variant}`], styles[`clear__${size}`], {\n [styles[`clear__action_${size}`]]: Icon || loading,\n }),\n [variant, size, Icon, loading],\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size],\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`]), [\n variant,\n size,\n ]);\n\n const _onChange = useCallback((e: ChangeEvent<HTMLTextAreaElement>) => {\n _setValue(e.target.value);\n if (onChange) {\n onChange(e.target.value, e);\n }\n }, []);\n\n const _onSearch = useCallback(\n () => {\n if (onSearch) {\n onSearch(_value);\n }\n },\n [onSearch],\n );\n\n const _onClear = useCallback(() => {\n _setValue(undefined);\n\n if (onClear) {\n onClear();\n }\n }, [onClear]);\n\n return (\n <div className={classNames}>\n <textarea\n {...props}\n className={inputClassNames}\n ref={combineRef}\n name={name}\n disabled={disabled}\n placeholder={placeholder}\n // value={_value || ''}\n onChange={_onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n required={required}\n style={style}\n />\n {showClear && _value && <Clear className={clearClassNames} onClick={_onClear} />}\n {Icon && !loading && <Icon className={iconClassNames} onClick={_onSearch} />}\n {loading && <Loader className={loaderClassNames} />}\n </div>\n );\n },\n);\n","import { CSSProperties } from \"react\";\n\nexport enum TooltipPosition {\n left = 'left',\n top = 'top',\n right = 'right',\n bottom = 'bottom',\n}\n\nexport const isCurrent = (e: Event, element: Element): any => {\n const find = (el: HTMLElement) => {\n if (el === element) {\n return el;\n }\n\n return el?.parentElement && find(el.parentElement);\n };\n\n if (find(e.target as HTMLElement)) {\n return true;\n }\n};\n\nexport const findTargetElement = (element: Element) => {\n let elem = element;\n\n const find = (child: Element) => {\n if (child.getAttribute('data-tooltip-target')) {\n elem = child;\n }\n\n if (child.children.length) {\n return Array.prototype.slice.call(child.children, 0).find(find);\n }\n };\n\n find(element);\n\n return elem;\n};\n\nexport const getScrollTopParent = (element: HTMLElement): HTMLElement | null => {\n if (element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (element.parentElement) {\n return getScrollTopParent(element.parentElement);\n }\n\n return null;\n};\n\nexport const recalcArrowStyles = (\n targetElement: Element,\n tooltipProperties: CSSProperties,\n position: TooltipPosition\n): CSSProperties => {\n const { left, width } = targetElement.getBoundingClientRect();\n\n switch (position) {\n case TooltipPosition.top:\n return { left: left - (tooltipProperties.left as number) + (width / 2) };\n case TooltipPosition.bottom:\n return { left: left - (tooltipProperties.left as number) + (width / 2) };\n case TooltipPosition.left:\n return { };\n case TooltipPosition.right:\n return { };\n }\n};\n\nexport const recalcStyles = (\n targetElement: Element,\n tooltipElement: HTMLDivElement,\n position: TooltipPosition\n): CSSProperties => {\n const { top, left, width, height } = targetElement.getBoundingClientRect();\n const { width: tooltipWidth, height: tooltipHeight } = tooltipElement.getBoundingClientRect();\n\n let leftPosition = 0;\n if ([TooltipPosition.top, TooltipPosition.bottom].includes(position)) {\n leftPosition = left + width / 2 - tooltipWidth / 2;\n if (leftPosition + tooltipElement.offsetWidth > document.body.offsetWidth) {\n leftPosition -= leftPosition + tooltipElement.offsetWidth - document.body.offsetWidth;\n }\n }\n\n switch (position) {\n case TooltipPosition.top:\n return { top: top - tooltipHeight, left: leftPosition, opacity: 1 };\n case TooltipPosition.bottom:\n return { top: top + height + tooltipHeight, left: leftPosition, opacity: 1 };\n case TooltipPosition.left:\n return { top: top + height / 2 - tooltipHeight / 2, left: left - tooltipWidth, opacity: 1 };\n case TooltipPosition.right:\n return { top: top + height / 2 - tooltipHeight / 2, left: left + width, opacity: 1 };\n }\n};\n","import classnames from 'classnames';\nimport React, { PropsWithChildren, useMemo, useState } from 'react';\n\nimport styles from './text-spoiler.module.scss';\nimport { ELinkVariant, Link } from '@shared/link';\nimport { ELinkSize } from '@shared/link/link';\n\nexport const TextSpoiler = (props: PropsWithChildren<{}>) => {\n const [isOpen, setOpen] = useState(false);\n\n const classNames = useMemo(\n () =>\n classnames(styles.textSpoiler, {\n [styles.openText]: isOpen,\n }),\n [isOpen],\n );\n\n return (\n <div>\n <div className={classNames}>{props.children}</div>\n <Link bold size={ELinkSize.large} variant={ELinkVariant.action} onClick={() => setOpen(!isOpen)}>\n {isOpen ? 'Свернуть' : 'Читать далее'}\n </Link>\n </div>\n );\n};\n","import { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport React, {\n CSSProperties,\n MouseEvent as ReactMouseEvent,\n PropsWithChildren,\n TouchEvent as ReactTouchEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport styles from './tooltip.module.scss';\nimport { useMedia } from '@shared/media';\nimport { TooltipPosition, findTargetElement, getScrollTopParent, isCurrent, recalcArrowStyles, recalcStyles } from './tooltip.utils';\n\ntype ITootipProps = {\n title: any;\n className?: string;\n onOpenChange?: (val: boolean) => void;\n placement?: keyof typeof TooltipPosition;\n trigger?: any;\n};\n\nexport const Tooltip = ({ placement = 'top', ...props }: PropsWithChildren<ITootipProps>) => {\n const media = useMedia();\n\n const ref = useRef<HTMLDivElement>(null);\n const refTooltip = useRef<HTMLDivElement>(null);\n const refArrow = useRef<HTMLDivElement>(null);\n\n const [opened, setOpened] = useState<boolean>(false);\n const [stylesTooltip, setStylesTooltip] = useState<CSSProperties>();\n const [stylesArrow, setStylesArrow] = useState<CSSProperties>();\n\n const scrollElement = useRef<HTMLElement>(null);\n\n const recalcPosition = useCallback(() => {\n if (!refTooltip.current || !ref.current) return;\n\n const targetElement = findTargetElement(ref.current);\n const res = recalcStyles(targetElement, refTooltip.current, placement as TooltipPosition);\n setStylesTooltip(res);\n setStylesArrow(recalcArrowStyles(targetElement, res, placement as TooltipPosition));\n }, []);\n\n useEffect(() => {\n return () => {\n setOpened(false);\n };\n }, []);\n\n useEffect(() => {\n recalcPosition();\n }, [props.title]);\n\n const onTouchStart = useCallback((e: ReactTouchEvent) => {\n e.stopPropagation();\n return;\n }, []);\n\n const onClose = useCallback((e?: Event | ReactMouseEvent) => {\n if (e instanceof Event && isCurrent(e, ref.current)) {\n return;\n }\n\n setOpened(false);\n setStylesTooltip(null);\n\n scrollElement.current && scrollElement.current.parentElement.removeEventListener('scroll', onClose);\n document.removeEventListener('scroll', onClose);\n document.body.removeEventListener('touchstart', onClose);\n document.body.removeEventListener('click', onClose);\n }, []);\n\n const onOpen = useCallback(\n (e: ReactMouseEvent) => {\n e.stopPropagation();\n if (opened) {\n media.mobile && onClose();\n return;\n }\n\n setOpened(true);\n props.onOpenChange && props.onOpenChange(true);\n\n setTimeout(() => {\n recalcPosition();\n\n const element = getScrollTopParent(ref.current);\n if (element) {\n scrollElement.current = element;\n element.parentElement.addEventListener('scroll', onClose);\n document.addEventListener('scroll', onClose);\n document.body.addEventListener('click', onClose);\n document.body.addEventListener('touchstart', onClose);\n }\n }, 0);\n },\n [props.onOpenChange, opened]\n );\n\n const title = useMemo(\n () => (\n <div ref={refTooltip} style={stylesTooltip} className={classNames(styles.tooltip, styles[placement])}>\n {props.title}\n <div ref={refArrow} style={stylesArrow} className={styles.arrow}></div>\n </div>\n ),\n [stylesTooltip, stylesArrow, props.title]\n );\n\n return (\n <div\n ref={ref}\n className={classNames(props.className)}\n onMouseOver={!media.mobile ? onOpen : null}\n onClick={media.mobile ? onOpen : null}\n onMouseLeave={!media.mobile ? onClose : null}\n onTouchStart={media.mobile ? onTouchStart : null}\n // onTouch={media.mobile ? onClose : null}\n >\n {props.children}\n {opened && props.title && createPortal(title, document.body)}\n </div>\n );\n\n // return <AntTooltip ref={ref} color=\"#212121\" {...props} overlayClassName=\"ant-tooltip-customize\" />;\n};\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Upload as AntdUpload, UploadFile, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport styles from './upload.module.scss';\n\ntype IUploadProps = UploadProps & {\n onUpload?: (file: File) => Promise<string>;\n onChange?: (link: string) => void;\n renderName?: (link: string) => string;\n path?: string;\n value: string;\n};\n\nexport const Upload = ({ onUpload, onChange, renderName, path = '', value, ...props }: IUploadProps) => {\n const [file, setFile] = useState<UploadFile[]>();\n\n useEffect(() => {\n setFile(value ? [\n {\n uid: '0',\n name: renderName ? renderName(value) : value,\n status: 'done',\n url: value,\n thumbUrl: value,\n },\n ] : undefined);\n }, [value]);\n\n const _onChange = useCallback((info: UploadChangeParam<UploadFile<any>>) => {\n const { file } = info;\n\n onChange && onChange(path ? `${path}${file.name}` : URL.createObjectURL(file.originFileObj as any));\n }, []);\n\n const onUploadFile = useCallback(async (file: File) => {\n let link = path ? `${path}${file.name}` : URL.createObjectURL(file);\n\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'uploading',\n url: link,\n thumbUrl: link,\n },\n ]);\n\n try {\n if (onUpload) {\n link = await onUpload(file);\n }\n\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'success',\n url: link,\n thumbUrl: link,\n },\n ]);\n } catch (e) {\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'error',\n url: link,\n thumbUrl: link,\n },\n ]);\n }\n\n return file.name;\n }, []);\n\n return (\n <AntdUpload.Dragger\n {...props}\n showUploadList={{ showRemoveIcon: false }}\n maxCount={1}\n className={styles.upload}\n action={onUploadFile}\n customRequest={() => {}}\n onChange={_onChange}\n fileList={file}\n listType=\"picture\"\n accept=\"image/png, image/jpeg\"\n >\n <Text bold>Выберите файл или перетащите сюда</Text>\n </AntdUpload.Dragger>\n );\n};\n","export const appleDetect = () => {\n try {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n } catch (e) {\n return false;\n }\n}\n","const locale = 'ru-RU';\nconst units: { [key: string]: Intl.DateTimeFormatOptions } = {\n YYYY: {\n year: 'numeric',\n },\n YY: {\n year: '2-digit',\n },\n M: {\n month: 'numeric',\n },\n MM: {\n month: '2-digit',\n },\n MMM: {\n month: 'short',\n },\n MMMM: {\n month: 'long',\n },\n MMMMM: {\n month: 'long',\n },\n D: {\n day: 'numeric',\n },\n DD: {\n day: '2-digit',\n },\n d: {\n weekday: 'short',\n },\n dd: {\n weekday: 'long',\n },\n hh: {\n hour: '2-digit',\n },\n mm: {\n minute: '2-digit',\n },\n ss: {\n second: '2-digit',\n },\n};\n\ninterface IDateFormatOptions {\n plural?: boolean;\n utc?: boolean;\n}\n\nexport const getDate = (value: string = '') => {\n return new Date(value.replaceAll('_', 'Ё').split('.').reverse().join('/'));\n}\n\nexport const dateFormat = (value: any, format: string, { plural, utc }: IDateFormatOptions = { utc: true, plural: true }) => {\n let _value = new Date(value);\n\n if ((!value && value !== 0) || _value.getTime() !== _value.getTime()) {\n return null;\n }\n\n if (utc) {\n const userTimezoneOffset = _value.getTimezoneOffset() * 60000;\n _value = new Date(_value.getTime() + userTimezoneOffset);\n }\n\n const dateUnits = [];\n const dateItems = format.split(/\\, | \\- | |:|\\-|\\.|_/);\n const delimeters = format.split(/[DMYdhms]/).filter(Boolean);\n let stringDate = '';\n\n dateItems.forEach((item) => {\n let unit: string;\n\n if (/hh|mm|ss/.test(item)) {\n unit = _value.toLocaleTimeString(locale, units[item]);\n if (unit.length === 1) {\n unit = `0${unit}`;\n }\n } else if (plural && item === 'MMMM') {\n const options = Object.assign({ day: 'numeric' }, units[item]);\n unit = _value.toLocaleDateString(locale, options).split(' ')[1];\n } else if (item === 'MMM') {\n unit = _value.toLocaleDateString(locale, units[item]);\n unit = unit.slice(0, 3);\n } else if (item === 'MMMMM') {\n const options = Object.assign({ day: 'numeric' }, units[item]);\n unit = _value.toLocaleDateString(locale, options).split(' ')[1].toUpperCase();\n } else if (item === 'd') {\n unit = _value.toLocaleString(locale, units[item]);\n unit = unit.replace(/^./, (c) => c.toUpperCase());\n } else {\n unit = _value.toLocaleString(locale, units[item]);\n }\n\n // if (index === 0) {\n // unit = unit.toCapitalize();\n // }\n\n dateUnits.push(unit);\n });\n\n dateUnits.forEach((item, i) => {\n stringDate += item + (delimeters[i] ? delimeters[i] : '');\n });\n\n return stringDate;\n};\n","export const dateWithoutTimezone = (date: Date) => {\n return new Date(date.getTime() - date.getTimezoneOffset() * 60000)\n}\n\nexport const dateWithTimezone = (date: Date) => {\n return new Date(date.getTime() + date.getTimezoneOffset() * 60000)\n}\n","export const pluralize = (val: number, plurals: string[]): string => {\n if (val % 10 === 0 || (val % 10 > 4 && val % 10 < 10) || (val % 100 > 4 && val % 100 < 20)) {\n return plurals[2];\n }\n\n if (val % 10 > 1 && val % 10 < 5) {\n return plurals[1];\n }\n\n if (val % 10 === 1) {\n return plurals[0];\n }\n\n return '';\n};\n","export const priceFormat = (value: number | string) => {\n const price = Intl.NumberFormat('ru-RU', {\n currency: 'RUB',\n style: 'currency',\n minimumFractionDigits: 0,\n }).formatToParts(Math.ceil((+value || 0) / 100));\n\n const currencySign = price.find((cur) => cur.type === 'currency').value;\n\n return (\n price\n .map(({ type, value }) => {\n switch (type) {\n case 'currency':\n return null;\n default:\n return value;\n }\n })\n .filter(Boolean)\n .slice(0, -1)\n .reduce((val, part) => val + part, '') +\n ' ' +\n currencySign\n );\n};\n","const PREPOSITIONS = [\n 'в',\n 'во',\n 'без',\n 'до',\n 'из',\n 'к',\n 'ко',\n 'на',\n 'по',\n 'о',\n 'от',\n 'при',\n 'с',\n 'со',\n 'у',\n 'не',\n 'за',\n 'над',\n 'для',\n 'об',\n 'под',\n 'про',\n 'и',\n 'а',\n 'но',\n 'да',\n 'или',\n 'ли',\n 'бы',\n 'то',\n 'что',\n 'как',\n 'я',\n 'он',\n 'мы',\n 'они',\n 'ни',\n 'же',\n 'вы',\n 'им',\n '-',\n];\n\nconst ESCAPE = '&nbsp;';\nconst DASH = '&mdash;';\n\nconst replacement = (str) => str.slice(0, -1) + ESCAPE;\n\nconst decorate = (value: string) => {\n const regex = new RegExp(\n PREPOSITIONS.map((x) => {\n if (x === '-') {\n x = DASH;\n }\n return ' ' + x + ' ';\n }).join('|'),\n 'gi',\n );\n const formattedText = value.replace(regex, replacement);\n return formattedText;\n};\n\nexport const textSanitize = (value: string): string => {\n if (!value) {\n return value;\n }\n return decorate(value);\n};\n","const UNITS = [\n {\n label: 'ч',\n value: 60 * 60 * 1000,\n },\n {\n label: 'мин',\n value: 60 * 1000,\n },\n];\n\nexport const timeLeftMinutes = (time: number) => {\n return timeLeft(time * 1000 * 60);\n};\n\nexport const timeLeft = (time: number) => {\n let str = '';\n\n UNITS.forEach((unit) => {\n str += `${Math.floor(time / unit.value)} ${unit.label} `;\n time = time - Math.floor(time / unit.value) * unit.value;\n });\n\n return str;\n};\n","export { AutoComplete } from './components/auto-complete';\nexport { Breadcrumbs } from './components/breadcrumbs';\nexport { Button } from './components/button';\nexport { Checkbox } from './components/checkbox';\nexport { Counter } from './components/counter';\nexport { DatePicker } from './components/date-picker';\nexport { Divider } from './components/divider';\nexport { Dropdown } from './components/dropdown';\nexport { Form } from './components/form';\nexport { FormControl } from './components/form-control';\nexport { Heading } from './components/heading';\nexport { Icon } from './components/icon';\nexport { Input } from './components/input';\nexport { Link } from './components/link';\nexport { Loader } from './components/loader';\nexport { LoaderLine } from './components/loader-line';\nexport { MediaProvider, useMedia, withMedia, Media } from './components/media';\nexport type { IMediaMatches } from './components/media';\n\nexport { Menu } from './components/menu';\nexport { Modal, ModalProvider, useModal } from './components/modal';\nexport type { PropsWithModal } from './components/modal';\n\nexport { Radio } from './components/radio';\nexport { RangePicker } from './components/range-picker';\nexport { Select } from './components/select';\nexport { Selector } from './components/selector';\nexport { Skeleton } from './components/skeleton';\nexport { Slider } from './components/slider';\nexport { Spoiler } from './components/spoiler';\nexport { StackedInput } from './components/stacked-input';\nexport { Switch } from './components/switch';\nexport { TagBox } from './components/tag-box';\nexport { TagButton, TagButtonGroup } from './components/tag-button';\nexport { Text } from './components/text';\nexport { TextArea } from './components/text-area';\nexport { TextSpoiler } from './components/text-spoiler';\nexport { Tooltip } from './components/tooltip';\nexport { Upload } from './components/upload';\nexport * from './components/utils';\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack://dt-shared-front/webpack/universalModuleDefinition","webpack://dt-shared-front/webpack/bootstrap","webpack://dt-shared-front/external \"react\"","webpack://dt-shared-front/external \"classnames\"","webpack://dt-shared-front/external \"tslib\"","webpack://dt-shared-front/external \"antd\"","webpack://dt-shared-front/./src/components/input/input.module.scss?d620","webpack://dt-shared-front/./src/components/text-area/text-area.module.scss?eae4","webpack://dt-shared-front/./src/components/slider/slider.module.scss?860e","webpack://dt-shared-front/./src/components/button/button.module.scss?1fd0","webpack://dt-shared-front/./src/components/link/link.module.scss?8dbb","webpack://dt-shared-front/./src/components/text/text.module.scss?cdc8","webpack://dt-shared-front/./src/components/heading/heading.module.scss?3287","webpack://dt-shared-front/external \"formik\"","webpack://dt-shared-front/./src/components/tag-button/tag-button.module.scss?b873","webpack://dt-shared-front/external \"antd/lib/date-picker/locale/ru_RU\"","webpack://dt-shared-front/./src/components/icon/icon.module.scss?74cb","webpack://dt-shared-front/./src/components/loader/loader.module.scss?4128","webpack://dt-shared-front/./src/components/counter/counter.module.scss?8950","webpack://dt-shared-front/./src/components/loader-line/loader-line.module.scss?4270","webpack://dt-shared-front/external \"swiper\"","webpack://dt-shared-front/external \"antd/lib/date-picker/generatePicker\"","webpack://dt-shared-front/external \"rc-picker/lib/generate/dateFns\"","webpack://dt-shared-front/external \"lodash.debounce\"","webpack://dt-shared-front/./src/components/auto-complete/auto-complete.module.scss?3ddc","webpack://dt-shared-front/./src/components/checkbox/checkbox.module.scss?cc3b","webpack://dt-shared-front/./src/components/select/select.module.scss?d303","webpack://dt-shared-front/./src/components/spoiler/spoiler.module.scss?afe8","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.module.scss?6d4e","webpack://dt-shared-front/./src/components/tag-box/tag-box.module.scss?7456","webpack://dt-shared-front/./src/components/tooltip/tooltip.module.scss?2ed9","webpack://dt-shared-front/external \"react-media\"","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?58a4","webpack://dt-shared-front/./src/components/divider/divider.module.scss?0be2","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7567","webpack://dt-shared-front/external \"swiper/react\"","webpack://dt-shared-front/./src/components/switch/switch.module.scss?e461","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.module.scss?1908","webpack://dt-shared-front/external \"lodash\"","webpack://dt-shared-front/external \"inputmask\"","webpack://dt-shared-front/./src/components/dropdown/dropdown.module.scss?3660","webpack://dt-shared-front/./src/components/modal/modal.module.scss?1d96","webpack://dt-shared-front/external \"date-fns\"","webpack://dt-shared-front/external \"react-loading-skeleton\"","webpack://dt-shared-front/external \"react-dom\"","webpack://dt-shared-front/./src/components/upload/upload.module.scss","webpack://dt-shared-front/./src/components/icon/icon.tsx","webpack://dt-shared-front/./src/components/icon/icons/clear.svg","webpack://dt-shared-front/./src/components/icon/icons/select-arrow.svg","webpack://dt-shared-front/./src/components/icon/icons/button-loader.svg","webpack://dt-shared-front/./src/components/auto-complete/auto-complete.tsx","webpack://dt-shared-front/./src/components/button/button.tsx","webpack://dt-shared-front/./src/components/media/media.tsx","webpack://dt-shared-front/./src/components/icon/icons/breadcrubms-arrow.svg","webpack://dt-shared-front/./src/components/text/text.tsx","webpack://dt-shared-front/./src/components/link/link.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-minus.svg","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.tsx","webpack://dt-shared-front/./src/components/checkbox/checkbox.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-plus.svg","webpack://dt-shared-front/./src/components/icon/icons/date-picker.svg","webpack://dt-shared-front/./src/components/counter/counter.tsx","webpack://dt-shared-front/./src/components/icon/icons/input-search.svg","webpack://dt-shared-front/./src/components/icon/icons/input-loader.svg","webpack://dt-shared-front/./src/components/input/input.tsx","webpack://dt-shared-front/./src/components/date-picker/date-picker.tsx","webpack://dt-shared-front/./src/components/divider/divider.tsx","webpack://dt-shared-front/./src/components/dropdown/dropdown.tsx","webpack://dt-shared-front/./src/components/form/form-focus-error.tsx","webpack://dt-shared-front/./src/components/form/form.tsx","webpack://dt-shared-front/./src/components/form-control/form-control.tsx","webpack://dt-shared-front/./src/components/heading/heading.tsx","webpack://dt-shared-front/./src/components/icon/icons/loader.svg","webpack://dt-shared-front/./src/components/icon/icons/modal-close.svg","webpack://dt-shared-front/./src/components/loader/loader.tsx","webpack://dt-shared-front/./src/components/loader-line/loader-line.tsx","webpack://dt-shared-front/./src/components/menu/menu.tsx","webpack://dt-shared-front/./src/components/modal/modal.tsx","webpack://dt-shared-front/./src/components/modal/modal.provider.tsx","webpack://dt-shared-front/./src/components/radio/radio.tsx","webpack://dt-shared-front/./src/components/range-picker/range-picker.tsx","webpack://dt-shared-front/./src/components/select/select.tsx","webpack://dt-shared-front/./src/components/selector/selector.tsx","webpack://dt-shared-front/./src/components/icon/icons/arrow-next.svg","webpack://dt-shared-front/./src/components/skeleton/skeleton.tsx","webpack://dt-shared-front/./src/components/icon/icons/arrow-prev.svg","webpack://dt-shared-front/./src/components/slider/slider.tsx","webpack://dt-shared-front/./src/components/icon/icons/spoiler-arrow.svg","webpack://dt-shared-front/./src/components/icon/icons/spoiler-arrow-active.svg","webpack://dt-shared-front/./src/components/spoiler/spoiler.tsx","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.tsx","webpack://dt-shared-front/./src/components/switch/switch.tsx","webpack://dt-shared-front/./src/components/tag-box/tag-box.tsx","webpack://dt-shared-front/./src/components/tag-button/tag-button.tsx","webpack://dt-shared-front/./src/components/tag-button/tag-buttton-group.tsx","webpack://dt-shared-front/./src/components/utils/combine-ref.ts","webpack://dt-shared-front/./src/components/text-area/text-area.tsx","webpack://dt-shared-front/./src/components/tooltip/tooltip.utils.tsx","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.tsx","webpack://dt-shared-front/./src/components/tooltip/tooltip.tsx","webpack://dt-shared-front/./src/components/upload/upload.tsx","webpack://dt-shared-front/./src/components/utils/apple-detect.ts","webpack://dt-shared-front/./src/components/utils/date-format.ts","webpack://dt-shared-front/./src/components/utils/date.ts","webpack://dt-shared-front/./src/components/utils/pluralize.ts","webpack://dt-shared-front/./src/components/utils/price-format.ts","webpack://dt-shared-front/./src/components/utils/text-sanitize.ts","webpack://dt-shared-front/./src/components/utils/time-left.ts","webpack://dt-shared-front/./src/index.ts"],"names":["root","factory","exports","module","define","amd","this","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","require","EIconSize","EIconVariant","_path","IconSvg","active","size","medium","variant","className","onClick","props","classNames","icon","clickable","_extends","assign","target","arguments","length","source","apply","width","height","viewBox","fill","xmlns","_path2","_defs","formatItemToOption","item","valueKey","labelKey","labels","includes","label","data","AutoComplete","onServerSearch","debounceTimeout","labelPlaceholder","onRenderOption","popupClassName","fetching","setFetching","serverOptions","setServerOptions","searchValue","setSearchValue","fetchRef","options","_options","Array","isArray","values","map","option","_onRenderOptions","hasLabel","optionText","onChange","_option","res","find","debounceFetcher","current","fetchId","then","newOptions","onSelect","notFoundContent","placeholder","onSearch","val","backfill","suffixIcon","autoComplete","error","stacked","clearIcon","EButtonSize","EButtonVariant","EButtonIconPosition","attributeType","attributeName","type","from","to","dur","repeatCount","id","x1","y1","x2","y2","gradientUnits","stopColor","offset","stopOpacity","Button","iconPosition","right","Icon","loading","disabled","children","button","withIcon","loaderClassNames","loader","iconClassNames","icon__only","_onClick","e","style","MEDIA_MATCHES","mobile","tablet","desktop","Media","renderDesktop","renderMobile","renderTablet","render","mounted","setMounted","defaultRender","matches","queries","MediaContext","MediaProvider","Provider","withMedia","Component","useMedia","Error","ETextSize","fillRule","clipRule","ELinkVariant","ELinkType","ELinkSize","Text","bold","addition","success","inverse","attention","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","Link","link","href","dashed","rel","mainLink","linkBold","Breadcrumbs","paths","onReplace","media","onBack","reverse","path","isBack","breadcrumbs","index","breadcrumbsLink","title","isCurrent","UNIQ_COUNT","Checkbox","_value","_setValue","_onChange","currentTarget","checked","checkboxContainer","checkbox","htmlFor","Counter","setValue","count","newCount","counter","undefined","min","max","EInputVariant","EInputSize","EInputBorder","Input","ref","onFocus","onBlur","onClear","onPointerUp","required","showClear","outlined","border","normal","adaptive","debounceTime","beginSearch","NaN","mask","autofocus","_loading","_setLoading","_mask","_setMask","innerRef","setTimeout","focus","remove","inputMask","greedy","dispatchEvent","Event","bubbles","input","invalid","inputClassNames","clearClassNames","clear","labelClassNames","_onSearchDebounce","callback","prev","_onSearch","_onClear","_onKeyPress","onKeyPress","lang","locale","AntDatePicker","DatePicker","format","onRenderInput","_","showToday","inputRender","Divider","bordered","divider","Dropdown","dropdownRender","originNode","dropdown","FocusError","errors","isSubmitting","isValidating","keys","selector","errorElement","formRef","querySelector","Form","onChangeBlur","form","dirty","isValid","validateForm","onSubmit","handleSubmit","FormControl","component","field","meta","helpers","ctx","validationSchema","schemaDescription","describe","accessor","split","join","fields","tests","some","test","isRequiredField","touched","setError","args","setTouched","EHeadingLevel","Heading","level","h1","warning","centerText","HeadingTag","heading","textWarning","center","Loader","absolute","fixed","LoaderLine","loaderLine","bar","Menu","Modal","footer","sidebar","closable","open","setOpen","setData","_width","_setWidth","_title","_setTitle","_footer","_setFooter","_closable","_setClosable","full","_full","_setFull","footerFixed","_footerFixed","_setFooterFixed","handleCancel","handleOpen","close","setTitle","setFooter","setClosable","setWidth","setFooterFixed","setFull","maskClosable","destroyOnClose","afterClose","closeIcon","onCancel","maskTransitionName","transitionName","modal","modalContext","ModalProvider","modals","setModals","initialProps","Date","getTime","concat","useModal","Radio","position","nativeEvent","Group","RangePicker","disabledDate","isFromToday","pickerRef","Select","onServerSearchGroup","optionsGroup","setOptionsGroup","isEqual","group","Option","_onRenderGroup","OptGroup","onDropdownVisibleChange","_optionsGroup","select","Selector","Skeleton","filter","cx","cy","transform","x","y","filterUnits","colorInterpolationFilters","floodOpacity","result","stdDeviation","in2","use","Slider","items","slidesPerView","renderItem","viewItem","loop","asyncReady","showNavigation","navPosition","spaceBetween","autoplay","freeMode","showCounter","centeredSlides","classNamePrev","classNameNext","overflow","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","speed","preloadImages","loopedSlides","onSlideChange","sw","realIndex","delay","disableOnInteraction","navigation","nextEl","prevEl","onImagesReady","swiper","slideTo","onBeforeInit","params","lazy","checkInView","loadPrevNext","swiperSlide","swiperSlideAuto","sliderCounter","Spoiler","initialValue","opened","setOpened","spoiler","arrow","StackedInput","setKey","stacked_input","stacked_input__select","dropdownMatchSelectWidth","stacked_input__input","Switch","TagBox","v","maxTagCount","removeIcon","menuItemSelectedIcon","ETagButtonSize","ETagButtonVariant","TagButton","selected","TagButtonGroup","tagButtonGroup","onRenderLabel","useCombinedRefs","targetRef","refs","forEach","ETextAreaVariant","ETextAreaSize","ETextAreaBorder","observe","element","event","handler","addEventListener","deobserve","removeEventListener","TooltipPosition","TextArea","autoFocus","combineRef","resize","scrollHeight","delayedResize","window","init","textarea","textarea__disabled","TextSpoiler","isOpen","textSpoiler","openText","large","action","getScrollTopParent","clientHeight","parentElement","Tooltip","placement","refTooltip","refArrow","stylesTooltip","setStylesTooltip","stylesArrow","setStylesArrow","scrollElement","recalcPosition","elem","targetElement","child","getAttribute","slice","tooltipElement","getBoundingClientRect","top","left","tooltipWidth","tooltipHeight","leftPosition","bottom","offsetWidth","document","body","opacity","recalcStyles","tooltipProperties","recalcArrowStyles","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","Upload","onUpload","renderName","file","setFile","uid","status","url","thumbUrl","info","URL","createObjectURL","originFileObj","onUploadFile","Dragger","showUploadList","showRemoveIcon","maxCount","upload","customRequest","fileList","listType","accept","appleDetect","navigator","platform","userAgent","units","YYYY","year","YY","M","month","MM","MMM","MMMM","MMMMM","D","day","DD","weekday","dd","hh","hour","mm","minute","ss","second","getDate","replaceAll","dateFormat","utc","plural","userTimezoneOffset","getTimezoneOffset","dateUnits","dateItems","delimeters","Boolean","stringDate","unit","toLocaleTimeString","toLocaleDateString","toUpperCase","toLocaleString","replace","push","dateWithoutTimezone","date","dateWithTimezone","pluralize","plurals","priceFormat","price","Intl","NumberFormat","currency","minimumFractionDigits","formatToParts","Math","ceil","currencySign","cur","reduce","part","PREPOSITIONS","replacement","str","textSanitize","regex","RegExp","decorate","UNITS","timeLeftMinutes","time","timeLeft","floor"],"mappings":"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","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"dt-shared-front\"] = factory();\n\telse\n\t\troot[\"dt-shared-front\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 44);\n","module.exports = require(\"react\");","module.exports = require(\"classnames\");","module.exports = require(\"tslib\");","module.exports = require(\"antd\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"shared__input-module__input--5GrwX_1701186277129\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1701186277129\",\"label\":\"shared__input-module__label--tNO2a_1701186277129\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1701186277129\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1701186277129\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1701186277129\",\"disabled\":\"shared__input-module__disabled--ABDAb_1701186277129\",\"invalid\":\"shared__input-module__invalid--e--FF_1701186277129\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1701186277129\",\"clear\":\"shared__input-module__clear--OvXQO_1701186277129\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1701186277129\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1701186277129\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1701186277129\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1701186277129\",\"icon\":\"shared__input-module__icon--zr4sW_1701186277129\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1701186277129\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1701186277129\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1701186277129\",\"loader\":\"shared__input-module__loader--QYYkV_1701186277129\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1701186277129\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1701186277129\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1701186277129\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1701186277129\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1701186277129\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1701186277129\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1701186277129\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1701186277129\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1701186277129\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1701186277129\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1701186277129\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1701186277129\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1701186277129\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1701186277129\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1701186277129\",\"clear\":\"shared__text-area-module__clear--cniAi_1701186277129\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1701186277129\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1701186277129\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1701186277129\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1701186277129\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1701186277129\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1701186277129\",\"icon\":\"shared__text-area-module__icon--HqPRa_1701186277129\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1701186277129\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1701186277129\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1701186277129\",\"loader\":\"shared__text-area-module__loader--zfGHC_1701186277129\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1701186277129\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1701186277129\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1701186277129\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1701186277129\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1701186277129\",\"ready\":\"shared__slider-module__ready--H+y-p_1701186277129\",\"slider\":\"shared__slider-module__slider--UBNwU_1701186277129\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1701186277129\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1701186277129\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1701186277129\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1701186277129\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1701186277129\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1701186277129\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1701186277129\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1701186277129\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1701186277129\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1701186277129\",\"button__small\":\"shared__button-module__button__small--kA9VI_1701186277129\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1701186277129\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1701186277129\",\"button__large\":\"shared__button-module__button__large--PG1dR_1701186277129\",\"button__default\":\"shared__button-module__button__default--mYOHn_1701186277129\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1701186277129\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1701186277129\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1701186277129\",\"loading\":\"shared__button-module__loading--IZ3gt_1701186277129\",\"icon\":\"shared__button-module__icon--Gso9o_1701186277129\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1701186277129\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1701186277129\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1701186277129\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1701186277129\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1701186277129\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1701186277129\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1701186277129\",\"loader\":\"shared__button-module__loader--v14UE_1701186277129\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1701186277129\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1701186277129\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1701186277129\",\"link__link\":\"shared__link-module__link__link--gUwQW_1701186277129\",\"link__action\":\"shared__link-module__link__action--USwiE_1701186277129\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1701186277129\",\"addition\":\"shared__link-module__addition--3xkZd_1701186277129\",\"link__small\":\"shared__link-module__link__small--alNG-_1701186277129\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1701186277129\",\"link__large\":\"shared__link-module__link__large--2gcWq_1701186277129\",\"icon\":\"shared__link-module__icon--DUvf4_1701186277129\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1701186277129\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1701186277129\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1701186277129\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1701186277129\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1701186277129\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1701186277129\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1701186277129\",\"text__large\":\"shared__text-module__text__large--oRnU3_1701186277129\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1701186277129\",\"textBold\":\"shared__text-module__textBold--56jgD_1701186277129\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1701186277129\",\"textError\":\"shared__text-module__textError--MvnkN_1701186277129\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1701186277129\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1701186277129\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1701186277129\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1701186277129\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1701186277129\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1701186277129\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1701186277129\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1701186277129\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1701186277129\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1701186277129\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1701186277129\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1701186277129\",\"textError\":\"shared__heading-module__textError--Bm1mE_1701186277129\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1701186277129\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1701186277129\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1701186277129\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1701186277129\",\"button__small\":\"shared__tag-button-module__button__small--VKA08_1701186277129\",\"button__medium\":\"shared__tag-button-module__button__medium--M0TM+_1701186277129\",\"button__large\":\"shared__tag-button-module__button__large--PobFJ_1701186277129\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1701186277129\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1701186277129\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1701186277129\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1701186277129\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1701186277129\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1701186277129\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1701186277129\",\"loading\":\"shared__tag-button-module__loading--emtZM_1701186277129\",\"icon\":\"shared__tag-button-module__icon--LtczE_1701186277129\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1701186277129\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1701186277129\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1701186277129\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1701186277129\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1701186277129\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1701186277129\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1701186277129\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1701186277129\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1701186277129\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1701186277129\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1701186277129\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1701186277129\",\"active\":\"shared__icon-module__active--HQWC5_1701186277129\",\"icon__light\":\"shared__icon-module__icon__light--7x2By_1701186277129\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1701186277129\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1701186277129\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1701186277129\",\"absolute\":\"shared__loader-module__absolute--nggvH_1701186277129\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1701186277129\",\"button\":\"shared__counter-module__button--sOvjE_1701186277129\",\"value\":\"shared__counter-module__value--JD2xM_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1701186277129\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1701186277129\",\"active\":\"shared__loader-line-module__active--0J8lF_1701186277129\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1701186277129\",\"border\":\"shared__loader-line-module__border--OXwgu_1701186277129\"};","module.exports = require(\"swiper\");","module.exports = require(\"antd/lib/date-picker/generatePicker\");","module.exports = require(\"rc-picker/lib/generate/dateFns\");","module.exports = require(\"lodash.debounce\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"autoComplete\":\"shared__auto-complete-module__autoComplete--E+tq+_1701186277129\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1701186277129\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1701186277129\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1701186277129\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1701186277129\",\"error\":\"shared__checkbox-module__error--xRaxv_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1701186277129\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1701186277129\",\"disabled\":\"shared__select-module__disabled--gfQp-_1701186277129\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1701186277129\",\"optionText\":\"shared__select-module__optionText--7GphM_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1701186277129\",\"title\":\"shared__spoiler-module__title--N0ID7_1701186277129\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1701186277129\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1701186277129\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1701186277129\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1701186277129\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1701186277129\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1701186277129\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1701186277129\",\"left\":\"shared__tooltip-module__left--2nmo1_1701186277129\",\"right\":\"shared__tooltip-module__right--JgZSX_1701186277129\",\"top\":\"shared__tooltip-module__top--VsESz_1701186277129\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1701186277129\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1701186277129\",\"error\":\"shared__form-control-module__error--FVB3Z_1701186277129\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1701186277129\",\"active\":\"shared__switch-module__active--Mghyc_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1701186277129\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1701186277129\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1701186277129\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1701186277129\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1701186277129\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1701186277129\"};","module.exports = require(\"date-fns\");","module.exports = require(\"react-loading-skeleton\");","module.exports = require(\"react-dom\");","// extracted by mini-css-extract-plugin\nmodule.exports = {};","import React from 'react';\n\nimport cn from 'classnames';\nimport { useMemo } from 'react';\nimport { PropsWithChildren } from 'react';\n\nimport styles from './icon.module.scss';\n\nexport enum EIconSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EIconVariant {\n default = 'default',\n black = 'black',\n attention = 'attention',\n revert = 'revert',\n warning = 'warning',\n initial = 'initial',\n light = 'light'\n}\n\ninterface IIconProps {\n size?: keyof typeof EIconSize;\n variant?: keyof typeof EIconVariant;\n active?: boolean;\n icon: any;\n className?: string;\n onClick?: (e: any) => void;\n 'data-tooltip-target'?: boolean\n}\n\nexport const Icon = ({\n icon: IconSvg,\n active,\n size = EIconSize.medium,\n variant = EIconVariant.default,\n className,\n onClick,\n ...props\n}: PropsWithChildren<IIconProps>) => {\n const classNames = useMemo(\n () =>\n cn(className, styles.icon, styles[`icon__${size}`], styles[`icon__${variant}`], {\n [styles.active]: active,\n [styles.clickable]: !!onClick,\n }),\n [size, variant, active, className, onClick],\n );\n\n if (!IconSvg) {\n return null\n }\n\n return <IconSvg {...props} onClick={onClick} className={classNames} />;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgClear(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.894 5.394a.857.857 0 011.212 0l5.394 5.393 5.394-5.393a.857.857 0 011.131-.071l.081.071a.857.857 0 010 1.212L13.713 12l5.393 5.394a.858.858 0 01.071 1.132l-.07.08a.857.857 0 01-1.213 0L12.5 13.213l-5.394 5.393a.857.857 0 01-1.131.072l-.081-.072a.857.857 0 010-1.212L11.287 12 5.894 6.606a.857.857 0 01-.071-1.131l.07-.08z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgClear;","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSelectArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.65 11.24a1 1 0 10-1.3 1.52l7 6a1 1 0 001.3 0l7-6a1 1 0 00-1.3-1.52L14 16.684 7.65 11.24z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgSelectArrow;","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgButtonLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#button-loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#button-loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"button-loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"button-loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default SvgButtonLoader;","import React from 'react';\n\nimport { Icon } from \"@shared/icon\";\nimport { AutoComplete as AntdAutoComplete, AutoCompleteProps } from \"antd\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport ClearIcon from '../icon/icons/clear.svg';\nimport SelectArrowIcon from '../icon/icons/select-arrow.svg';\nimport classNames from \"classnames\";\nimport { debounce } from \"lodash\";\nimport styles from './auto-complete.module.scss';\n\nexport interface ISelectOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: IAutoCompleteProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ISelectOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ISelectOption<T>;\n}\n\ntype IAutoCompleteProps<T> = Omit<AutoCompleteProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onServerSearch?: (val: string) => Promise<T[]>;\n onRenderOption?: (item: T) => React.ReactNode;\n onChange?: (option: T, options?: T[]) => void;\n debounceTimeout?: number;\n stacked?: boolean;\n popupClassName?: string;\n icon?: any;\n};\n\nexport function AutoComplete<T>({labels, labelKey, valueKey, onServerSearch, icon, debounceTimeout = 500, labelPlaceholder, onRenderOption, popupClassName, ...props}: IAutoCompleteProps<T>) {\n const [fetching, setFetching] = useState(false);\n const [serverOptions, setServerOptions] = useState<ISelectOption<T>[]>(null);\n const [searchValue, setSearchValue] = useState<string>('')\n const fetchRef = useRef(0);\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n const _onRenderOptions = useCallback(\n (option: ISelectOption<T>) => {\n if (onRenderOption) {\n return {\n label: onRenderOption(option.data),\n value: option.label,\n data: option.data,\n key: option.value\n };\n }\n\n return {\n label: <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>,\n value: option.label,\n data: option.data,\n key: option.value\n };\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _options: any[] = useMemo(() => (serverOptions || options || []).map(_onRenderOptions), [\n onServerSearch,\n options,\n serverOptions,\n ]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setSearchValue(value);\n props.onChange && props.onChange(_option?.data, (serverOptions || options)?.map((i) => i.data));\n },\n [props.onChange, _options, serverOptions, options]\n );\n\n useEffect(() => {\n const res = props.value && _options?.find((option) => option.key === props.value[valueKey]);\n res && setSearchValue(res.value);\n }, [props.value]);\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1;\n const fetchId = fetchRef.current;\n setServerOptions([]);\n setFetching(true);\n\n onServerSearch && onServerSearch(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setServerOptions(newOptions?.map((option) => formatItemToOption(option, valueKey, labelKey)));\n setFetching(false);\n });\n };\n\n return debounce(loadOptions, debounceTimeout);\n }, [onServerSearch, debounceTimeout]);\n\n return <AntdAutoComplete\n value={searchValue}\n options={_options}\n onSelect={onChange}\n popupClassName={popupClassName}\n notFoundContent={null}\n placeholder={props.placeholder || labelPlaceholder}\n onSearch={(val) => {\n setSearchValue(val);\n debounceFetcher(val);\n }}\n backfill\n suffixIcon={<Icon icon={icon || SelectArrowIcon} />}\n className={classNames('ant-select-customize-input', props.className, styles.autoComplete, { 'select-error': props.error, 'select-stacked': props.stacked, 'select-loading': fetching })}\n clearIcon={<Icon icon={ClearIcon} />}\n ></AntdAutoComplete>\n}\n","import React, { PropsWithChildren, useMemo, MouseEvent, useCallback } from 'react';\nimport classnames from 'classnames';\nimport Loader from '../icon/icons/button-loader.svg';\n\nimport styles from './button.module.scss';\n\nexport enum EButtonSize {\n smallS = 'smallS',\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EButtonVariant {\n default = 'default',\n secondary = 'secondary',\n}\n\nexport enum EButtonIconPosition {\n left = 'left',\n right = 'right',\n}\n\ninterface IButtonProps {\n variant?: keyof typeof EButtonVariant;\n size?: keyof typeof EButtonSize;\n icon?: any;\n width?: string;\n iconPosition?: keyof typeof EButtonIconPosition;\n loading?: boolean;\n disabled?: boolean;\n className?: string;\n type?: 'button' | 'submit' | 'reset';\n onClick?: (e?: MouseEvent<HTMLButtonElement>) => void;\n}\n\nexport const Button = ({\n variant = EButtonVariant.default,\n size = EButtonSize.medium,\n iconPosition = EButtonIconPosition.right,\n width,\n icon: Icon,\n loading,\n disabled,\n children,\n className,\n onClick,\n type = 'button',\n}: PropsWithChildren<IButtonProps>) => {\n const classNames = useMemo(\n () =>\n classnames(\n styles.button,\n className,\n styles[`button__${variant}`],\n styles[`button__${size}`],\n styles[`button__icon_${iconPosition}`],\n {\n [styles.loading]: loading,\n [styles.withIcon]: Icon,\n }\n ),\n [variant, size, loading, Icon, disabled, className]\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size]\n );\n\n const iconClassNames = useMemo(\n () =>\n classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], { [styles.icon__only]: !children }),\n [variant, size, children]\n );\n\n const _onClick = useCallback(\n (e?: MouseEvent<HTMLButtonElement>) => {\n if (disabled || loading) return;\n\n onClick && onClick(e);\n },\n [onClick, disabled, loading]\n );\n\n return (\n <button type={type} className={classNames} disabled={disabled} onClick={_onClick} style={{ width }}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n {loading && <Loader className={loaderClassNames} />}\n </button>\n );\n};\n","import React, {\n ComponentProps,\n createContext,\n PropsWithChildren,\n useCallback,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport ReactMedia from 'react-media';\n\ntype IMediaRender = () => any;\n\nconst MEDIA_MATCHES = {\n mobile: '(max-width: 767px)',\n tablet: '(max-width: 1023px) and (min-width: 768px)',\n desktop: '(min-width: 1024px)',\n};\n\nexport interface IMediaMatches {\n mobile: boolean;\n tablet: boolean;\n desktop: boolean;\n}\n\ninterface IMediaProps {\n renderMobile?: IMediaRender;\n renderTablet?: IMediaRender;\n renderDesktop?: IMediaRender;\n render?: (matches: IMediaMatches) => React.ReactNode;\n}\n\nexport const Media = ({ renderDesktop, renderMobile, renderTablet, render }: IMediaProps) => {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n\n const defaultRender = useCallback(\n (matches) => {\n if (matches.tablet && renderTablet) {\n return renderTablet && renderTablet();\n } else if (matches.mobile && renderMobile) {\n return renderMobile && renderMobile();\n } else if (matches.desktop && renderDesktop) {\n return renderDesktop && renderDesktop();\n }\n\n return null;\n },\n [renderTablet, renderMobile, renderMobile, render],\n );\n\n return <>{mounted && <ReactMedia queries={MEDIA_MATCHES}>{render || defaultRender}</ReactMedia>}</>;\n};\n\ninterface IMediaContext {\n mobile: boolean;\n tablet: boolean;\n desktop: boolean;\n}\n\nconst MediaContext = createContext<IMediaContext | null>(null);\n\nexport const MediaProvider = ({ children }: PropsWithChildren<{}>) => {\n return (\n <ReactMedia queries={MEDIA_MATCHES}>\n {(matches: IMediaMatches) => <MediaContext.Provider value={matches}>{children}</MediaContext.Provider>}\n </ReactMedia>\n );\n};\n\nexport declare type IReactComponent<P = any> =\n | React.ClassicComponentClass<P>\n | React.ComponentClass<P>\n | React.FunctionComponent<P>\n | React.ForwardRefExoticComponent<P>;\nexport function withMedia<T extends IReactComponent>(Component: T): T;\nexport function withMedia<T extends React.FunctionComponent<any>>(Component: T) {\n return (props: ComponentProps<typeof Component>) => (\n <MediaProvider>\n <Component {...props} />\n </MediaProvider>\n );\n}\n\nexport const useMedia = () => {\n const data = useContext(MediaContext);\n if (!data) {\n throw new Error('Не подключен MediaProvider');\n }\n\n return data;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgBreadcrubmsArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 13 8\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.172.464l3.182 3.182a.5.5 0 010 .708L9.172 7.536a.5.5 0 11-.708-.708L10.793 4.5H0v-1h10.793L8.464 1.172a.5.5 0 11.708-.708z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgBreadcrubmsArrow;","import React from 'react';\n\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './text.module.scss';\n\nexport enum ETextSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\ninterface ITextProps {\n size?: keyof typeof ETextSize;\n children?: any;\n bold?: boolean;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n error?: boolean;\n className?: string;\n inverse?: boolean;\n style?: any;\n through?: boolean;\n tag?: 'p' | 'span' | 'div' | 'sub' | 'label';\n\n}\n\nexport const Text = ({\n children,\n size = ETextSize.medium,\n bold,\n addition,\n success,\n error,\n inverse,\n attention,\n className,\n style,\n through,\n tag = 'div',\n}: ITextProps) => {\n const TextTag = useMemo(() => tag as keyof JSX.IntrinsicElements, [tag]);\n\n const classNames = useMemo(\n () =>\n classnames(styles.text, className, styles[`text__${size}`], {\n [styles.textAddition]: addition,\n [styles.textBold]: bold,\n [styles.textSuccess]: success,\n [styles.textAttention]: attention,\n [styles.textError]: error,\n [styles.textThrough]: through,\n [styles.textInverse]: inverse,\n }),\n [size, className, addition, bold, success, attention, error, inverse],\n );\n\n\n return <TextTag style={style} className={classNames}>{children}</TextTag>;\n};\n","import React from 'react';\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './link.module.scss';\n\nexport enum ELinkVariant {\n link = 'link',\n href = 'href',\n action = 'action',\n}\n\nexport enum ELinkType {\n default = 'default',\n addition = 'addition',\n success = 'success',\n error = 'error',\n}\n\nexport enum ELinkSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\ninterface ILinkProps {\n size?: keyof typeof ELinkSize;\n icon?: any;\n variant?: keyof typeof ELinkVariant;\n children: any;\n href?: string;\n bold?: boolean;\n type?: keyof typeof ELinkType;\n dashed?: boolean;\n className?: string;\n target?: '_blank';\n onClick?: () => void;\n rel?: string;\n mainLink?: boolean;\n style?: any;\n}\n\nexport const Link = ({\n children,\n target,\n icon: Icon,\n variant = ELinkVariant.link,\n size = ELinkSize.medium,\n href,\n bold,\n className,\n type,\n dashed,\n onClick,\n rel,\n mainLink,\n style,\n}: ILinkProps) => {\n const classNames = useMemo(\n () =>\n classnames(styles.link, className, styles[`link__${variant}`], styles[`link__${size}`], styles[`link__${type}`], {\n [styles.linkBold]: bold,\n [styles.dashed]: dashed,\n }),\n [variant, className, dashed, type]\n );\n\n const iconClassNames = useMemo(\n () =>\n classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], { [styles.icon__only]: !children }),\n [variant, size, children]\n );\n\n if (variant === ELinkVariant.href) {\n return (\n <a className={classNames} target={target} rel={rel} href={href} style={style}>\n {children}\n </a>\n );\n }\n\n const link = useMemo(\n () =>\n variant === ELinkVariant.link && mainLink ? (\n <a className={classNames} target={target} href={href} rel={rel} style={style}>\n {children}\n </a>\n ) : variant === ELinkVariant.link ? (\n <a className={classNames} target={target} rel={rel} style={style}>\n {children}\n </a>\n ) : (\n <div className={classNames} onClick={onClick} style={style}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n </div>\n ),\n [variant, children, onClick]\n );\n\n return link;\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCounterMinus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.286 8c0-.316.255-.571.571-.571h10.286a.571.571 0 010 1.142H2.857A.571.571 0 012.286 8z\",\n fill: \"#212121\"\n })));\n}\n\nexport default SvgCounterMinus;","import React from 'react';\n\nimport { Button } from '@shared/button';\nimport { useMedia, withMedia } from '@shared/media';\nimport { Fragment, useCallback } from 'react';\n\nimport BreadcrumbsArrowIcon from '../icon/icons/breadcrubms-arrow.svg';\n\nimport styles from './breadcrumbs.module.scss';\nimport { Text } from '@shared/text';\nimport { Link } from '@shared/link';\n\nexport interface IBreadcrumbsPath {\n title: string;\n path: string;\n isBack?: boolean;\n isCurrent?: boolean;\n}\n\ninterface IBreadcrumbsProps {\n paths: IBreadcrumbsPath[];\n onReplace?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onReplace }: IBreadcrumbsProps) => {\n const media = useMedia();\n\n const onBack = useCallback(() => {\n const backPath = paths.reverse().find((i) => i.path && i.isBack);\n if (backPath) {\n onReplace && onReplace(paths[paths.length - 1].path);\n } else {\n onReplace && onReplace('/');\n }\n }, [paths]);\n\n return media.mobile ? (\n <div>\n <Button size=\"small\" onClick={onBack}>\n Назад\n </Button>\n </div>\n ) : (\n <div className={styles.breadcrumbs}>\n {paths.map((item, index) => (\n <Fragment key={index}>\n {!!index && <BreadcrumbsArrowIcon />}\n <span key={index}>\n {item.path ? (\n <Link href={item.path}>\n <Text size=\"large\" className={styles.breadcrumbsLink}>{item.title}</Text>\n </Link>\n ) : (\n <Text size=\"large\" attention={item.isCurrent} bold={item.isCurrent}>{item.title}</Text>\n )}\n </span>\n </Fragment>\n ))}\n </div>\n );\n});\n","import React, { PropsWithChildren, useCallback, useEffect, useMemo, useState } from 'react';\nimport classnames from 'classnames';\nimport { ChangeEvent } from 'react';\nimport styles from './checkbox.module.scss';\n\nexport type ICheckboxProps = {\n disabled?: boolean;\n value?: boolean;\n error?: boolean;\n onChange?: (val: boolean) => void;\n small?: boolean;\n name?: string;\n};\n\nlet UNIQ_COUNT = 1;\n\nexport const Checkbox = ({ disabled = false, value = false, onChange = () => {}, children, error }: PropsWithChildren<ICheckboxProps>) => {\n const [_value, _setValue] = useState(value);\n\n useEffect(() => {\n value !== _value && _setValue(value);\n }, [value]);\n\n const _onChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n if (value === e.currentTarget.checked) {\n return;\n }\n _setValue(e.currentTarget.checked);\n onChange(e.currentTarget.checked);\n },\n [onChange, value],\n );\n\n const id = useMemo(() => `checkbox${UNIQ_COUNT++}`, []);\n\n return (\n <div className={styles.checkboxContainer}>\n <input\n name=\"name\"\n className={classnames(styles.checkbox, { [styles.error]: error })}\n type=\"checkbox\"\n disabled={disabled}\n id={id}\n checked={_value}\n onChange={_onChange}\n />\n <label htmlFor={id}>{children}</label>\n </div>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCounterPlus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2.286c.316 0 .571.256.571.571V7.43h4.572a.571.571 0 010 1.142H8.57v4.572a.571.571 0 01-1.143 0V8.57h-4.57a.571.571 0 010-1.142h4.57V2.857c0-.315.256-.571.572-.571z\",\n fill: \"#fff\"\n })));\n}\n\nexport default SvgCounterPlus;","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgDatePicker(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.286.857c.473 0 .857.384.857.857v.994c.72.115 1.186.3 1.654.55a4.673 4.673 0 011.944 1.944c.408.762.642 1.518.681 3.369h.006v6.265l-.004.523c-.035 1.902-.27 2.668-.683 3.439a4.673 4.673 0 01-1.944 1.944c-.838.448-1.669.687-3.961.687H9.164l-.523-.005c-1.902-.035-2.668-.27-3.439-.682a4.673 4.673 0 01-1.944-1.944c-.43-.805-.667-1.603-.686-3.694V8.57c.045-1.851.279-2.607.686-3.369a4.673 4.673 0 011.944-1.944c.469-.25.935-.435 1.655-.55v-.994a.857.857 0 011.714 0v.863c.186-.004.383-.006.593-.006h5.672c.21 0 .407.002.594.006l-.002-.863c0-.473.384-.857.858-.857zm3.427 9.429H4.286v4.792l.008.488c.033 1.292.17 1.85.476 2.423.288.54.701.953 1.24 1.241.64.342 1.264.472 2.912.483h6.156l.488-.007c1.292-.033 1.85-.17 2.423-.476.54-.288.952-.701 1.24-1.24.343-.64.473-1.264.484-2.912v-4.792zm-3.388 4.286c.371 0 .663.07.908.2.244.13.436.322.566.567.131.244.2.536.2.907v.08c0 .37-.069.662-.2.907-.13.244-.322.436-.566.567-.245.13-.537.2-.908.2h-.079c-.37 0-.663-.07-.907-.2a1.363 1.363 0 01-.567-.567c-.131-.245-.2-.537-.2-.908v-.079c0-.37.069-.663.2-.907.13-.245.322-.437.567-.567.244-.13.536-.2.907-.2h.079zM15.078 4.287H8.922l-.35.004v.852a.857.857 0 01-1.715 0V4.45c-.327.075-.585.18-.846.32A2.96 2.96 0 004.77 6.01c-.317.592-.452 1.17-.48 2.56h15.418l-.002-.137c-.034-1.292-.17-1.85-.476-2.423a2.959 2.959 0 00-1.241-1.24 3.287 3.287 0 00-.845-.32l-.001.692a.857.857 0 11-1.715 0l.002-.852c-.112-.002-.229-.004-.352-.004z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgDatePicker;","import React from 'react';\n\nimport { Button } from '@shared/button';\nimport { Text } from '@shared/text';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport CounterMinusIcon from '../icon/icons/counter-minus.svg';\nimport CounterPlusIcon from '../icon/icons/counter-plus.svg';\n\nimport styles from './counter.module.scss';\n\ninterface ICounterProps {\n value?: number;\n max?: number;\n min?: number;\n onChange?: (count: number) => void;\n}\n\nexport const Counter = (props: ICounterProps) => {\n const [value, setValue] = useState(props.value || 0);\n\n const onChange = useCallback((e) => {\n setValue((count) => {\n const newCount = count + e;\n props.onChange && props.onChange(newCount);\n return newCount;\n });\n }, [props.onChange]);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n return (\n <div className={styles.counter}>\n <Button\n className={styles.button}\n icon={CounterMinusIcon}\n disabled={props.min != undefined && value <= props.min}\n onClick={onChange.bind(null, -1)}\n />\n <Text className={styles.value} size=\"large\">\n {value}\n </Text>\n <Button\n className={styles.button}\n icon={CounterPlusIcon}\n disabled={props.max != undefined && value >= props.max}\n onClick={onChange.bind(null, 1)}\n />\n </div>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgInputSearch(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.667 17.333a6.667 6.667 0 115.266-2.578l4.49 4.49-1.179 1.178-4.49-4.49a6.637 6.637 0 01-4.087 1.4zm5-6.666a5 5 0 11-10 0 5 5 0 0110 0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default SvgInputSearch;","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgInputLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#input-loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#input-loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"input-loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"input-loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default SvgInputLoader;","import React, {\n InputHTMLAttributes,\n useMemo,\n ChangeEvent,\n forwardRef,\n KeyboardEvent,\n useEffect,\n useCallback,\n useState,\n useRef,\n useImperativeHandle,\n} from 'react';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\n\nimport ClearIcon from '../icon/icons/clear.svg';\nimport InputSearchIcon from '../icon/icons/input-search.svg';\nimport InputLoaderIcon from '../icon/icons/input-loader.svg';\nimport Inputmask from 'inputmask';\n\nimport styles from './input.module.scss';\n\n\nexport enum EInputVariant {\n filled = 'filled',\n outlined = 'outlined',\n pure = 'pure',\n}\n\nexport enum EInputSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum EInputBorder {\n circle = 'circle',\n normal = 'normal',\n}\n\nexport type IInputProps = {\n error?: boolean;\n icon?: any;\n value?: any;\n autofocus?: boolean;\n variant?: keyof typeof EInputVariant;\n size?: keyof typeof EInputSize;\n border?: keyof typeof EInputBorder;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n className?: string;\n beginSearch?: number;\n debounceTime?: number;\n labelPlaceholder?: string;\n mask?: string;\n onClear?: (val?: string) => void;\n onPointerUp?: (e: any) => void;\n onChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n onSearch?: ((val: string) => void) | ((val: string) => Promise<void>);\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'variant' | 'onChange'>;\n\nexport const Input = forwardRef<HTMLInputElement, IInputProps>(\n (\n {\n onChange,\n onFocus = () => {},\n onBlur = () => {},\n onClear,\n onSearch,\n onPointerUp,\n icon: Icon,\n name,\n required,\n disabled,\n value,\n type = 'text',\n placeholder,\n style,\n loading = false,\n showClear,\n error,\n labelPlaceholder,\n size = EInputSize.medium,\n variant = EInputVariant.outlined,\n border = EInputBorder.normal,\n adaptive,\n width,\n className,\n debounceTime = 500,\n beginSearch = NaN,\n mask,\n autofocus,\n ...props\n }: IInputProps,\n ref\n ) => {\n const [_value, _setValue] = useState<string | undefined>(value);\n const [_loading, _setLoading] = useState(loading);\n const [_mask, _setMask] = useState(null);\n\n const innerRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => innerRef.current);\n\n useEffect(() => {\n autofocus && setTimeout(() => {\n innerRef.current.focus();\n }, 500);\n }, [autofocus]);\n\n useEffect(() => _setValue(value), [value]);\n useEffect(() => _setLoading(loading), [loading]);\n useEffect(() => {\n if (!mask && _mask) {\n _mask.remove();\n _setMask(null);\n }\n\n if (!mask || !innerRef.current) {\n return;\n }\n\n if (!innerRef.current) {\n return;\n }\n const inputMask = new Inputmask({ mask, greedy: false });\n\n setTimeout(() => {\n _setMask(inputMask.mask(innerRef.current));\n innerRef.current.dispatchEvent(new Event('change', { bubbles: true }))\n })\n }, [mask, innerRef.current])\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.input,\n className,\n styles[`input__${variant}`],\n styles[`input__${size}`],\n styles[`input__border_${border}`],\n {\n [styles[`input__${size}_adaptive`]]: adaptive,\n [styles[`input__action_${size}`]]: Icon || _loading || showClear || onSearch,\n [styles[`input__actions_${size}`]]: (Icon || _loading || onSearch) && showClear,\n [styles.disabled]: disabled,\n [styles.invalid]: error,\n }\n ),\n [variant, size, border, disabled, _loading, showClear, adaptive, className, error, onSearch]\n );\n\n const inputClassNames = useMemo(\n () =>\n classnames({\n [styles.invalid]: error,\n }),\n [error]\n );\n\n const clearClassNames = useMemo(\n () =>\n classnames(styles.clear, styles[`clear__${variant}`], styles[`clear__${size}`], {\n [styles[`clear__action_${size}`]]: Icon || _loading || onSearch,\n }),\n [variant, size, Icon, _loading, _value, onSearch]\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size]\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`]), [\n variant,\n size,\n ]);\n\n const labelClassNames = useMemo(() => classnames(styles.label), []);\n\n const _onSearchDebounce = useCallback(\n debounce((val, callback) => {\n _setValue((prev) => {\n if (prev !== val) {\n return;\n }\n\n (async () => {\n await callback(val);\n _setLoading(false);\n })();\n\n return val;\n });\n }, debounceTime),\n []\n );\n\n const _onChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n onSearch && _onSearch(e.currentTarget.value);\n _setValue(e.currentTarget.value);\n if (onChange) {\n onChange(e.currentTarget.value, e);\n }\n },\n [_onSearchDebounce, onSearch, onChange, beginSearch]\n );\n\n const _onSearch = useCallback(\n (val: string) => {\n _setLoading(true);\n\n _setValue(() => {\n if (!val) {\n onClear && onClear();\n _setLoading(false);\n } else if (val?.length >= beginSearch) {\n _onSearchDebounce(val, onSearch);\n } else {\n _setLoading(false);\n }\n\n return val;\n });\n },\n [_onSearchDebounce, onSearch, onClear, beginSearch]\n );\n\n const _onClear = useCallback(() => {\n _setValue(undefined);\n\n if (onClear) {\n onClear();\n }\n }, [onClear]);\n\n const _onKeyPress = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch && onSearch(_value || '');\n }\n },\n [_value, onSearch]\n );\n\n return (\n <div\n className={classNames}\n style={{ width: width }}\n onPointerUp={onPointerUp}\n >\n {labelPlaceholder && _value && <div className={labelClassNames}>{labelPlaceholder}</div>}\n <input\n {...props}\n className={inputClassNames}\n ref={innerRef}\n name={name}\n disabled={disabled}\n placeholder={placeholder || labelPlaceholder}\n type={type}\n value={_value || ''}\n onChange={_onChange}\n onFocus={onFocus}\n onKeyPress={_onKeyPress}\n onBlur={onBlur}\n required={required}\n style={style}\n />\n {showClear && _value && <Icon icon={ClearIcon} className={clearClassNames} onClick={_onClear} />}\n {onSearch && !_loading && (\n <InputSearchIcon className={iconClassNames} onClick={onSearch.bind(null, _value || '')} />\n )}\n {Icon && !_loading && (\n <Icon className={iconClassNames} />\n )}\n {_loading && <InputLoaderIcon className={loaderClassNames} />}\n </div>\n );\n }\n);\n","import React, { ComponentProps, useCallback } from 'react';\nimport cn from 'classnames';\nimport DatePickerIcon from '../icon/icons/date-picker.svg';\nimport ClearIcon from '../icon/icons/clear.svg';\nimport { Icon } from '@shared/icon';\n\nimport generatePicker from 'antd/lib/date-picker/generatePicker';\nimport dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns';\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nimport { EInputSize, Input } from '@shared/input';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IDatePickerProps = {\n error?: boolean;\n onClear?: (e: any) => void;\n onTouchStart?: (e: any) => void;\n format?: string;\n mask?: string;\n labelPlaceholder?: string;\n} & ComponentProps<typeof AntDatePicker>;\n\nexport const DatePicker = ({ error, onClear, format = 'DD.MM.YYYY', mask, labelPlaceholder, onClick, ...props }: IDatePickerProps) => {\n const onRenderInput = useCallback((props: React.InputHTMLAttributes<HTMLInputElement>) => {\n return <Input variant=\"pure\" mask={mask} error={error} labelPlaceholder={labelPlaceholder} onPointerUp={onClick} {...props} size={EInputSize.medium} onChange={(_, e) => props.onChange(e)} />;\n }, [onClick, error])\n\n return (\n // @ts-ignore\n <AntDatePicker\n {...props}\n locale={locale}\n suffixIcon={<Icon icon={DatePickerIcon} />}\n clearIcon={<div onClick={onClear}><Icon icon={ClearIcon} /></div>}\n className={cn(props.className, { 'date-picker-error': error })}\n placeholder={props.placeholder || labelPlaceholder}\n format={format}\n onClick={onClick}\n // @ts-ignore\n showToday={false}\n inputRender={onRenderInput}\n />\n );\n};\n","import React from 'react';\nimport classnames from 'classnames';\n\nimport styles from './divider.module.scss';\n\nexport type IDividerProps = {\n width?: string;\n height?: string;\n bordered?: boolean;\n overflow?: number;\n children?: JSX.Element;\n className?: string;\n};\n\nexport const Divider = ({ width, height, bordered, className}: IDividerProps) => {\n return (\n <div\n className={classnames(styles.divider, className, { [styles.bordered]: bordered })}\n style={{\n width,\n height,\n }}\n />\n );\n};\n","import React from 'react';\n\nimport { Dropdown as AntDropdown, DropDownProps as AntDropdownProps } from 'antd';\nimport { ReactNode, useCallback } from 'react';\n\nimport styles from './dropdown.module.scss';\n\ninterface IDropdownProps extends AntDropdownProps {}\n\nexport const Dropdown = (props: IDropdownProps) => {\n const dropdownRender = useCallback(\n (originNode: ReactNode) => {\n return props.dropdownRender ? (\n <div className={styles.dropdown}>{props.dropdownRender(originNode)}</div>\n ) : (\n originNode\n );\n },\n [props.dropdownRender],\n );\n\n return <AntDropdown {...props} dropdownRender={dropdownRender} />;\n};\n","import { useFormikContext } from \"formik\";\nimport { MutableRefObject, useEffect } from \"react\";\n\ninterface IFocusErrorProps {\n formRef: MutableRefObject<HTMLFormElement>;\n}\n\nexport const FocusError = (props: IFocusErrorProps) => {\n const { errors, isSubmitting, isValidating } = useFormikContext();\n\n useEffect(() => {\n if (isSubmitting && !isValidating) {\n let keys = Object.keys(errors);\n if (keys.length > 0) {\n const selector = `[name=${keys[0]}]`;\n const errorElement = props.formRef.current.querySelector(selector) as HTMLElement;\n if (errorElement) {\n errorElement.focus();\n }\n }\n }\n }, [errors, isSubmitting, isValidating]);\n\n return null;\n};\n","import React from 'react';\n\nimport { FormikContextType, FormikProvider } from \"formik\"\nimport { PropsWithChildren, useCallback, useRef } from \"react\"\nimport { FocusError } from \"./form-focus-error\";\n\ninterface IFormProps {\n form: FormikContextType<any>;\n className?: string;\n onBlur?: (values: any) => void;\n onChange?: (values: any) => void;\n onChangeBlur?: (values: any) => void;\n}\n\nexport const Form = (props: PropsWithChildren<IFormProps>) => {\n const ref = useRef<HTMLFormElement>();\n\n const onChangeBlur = useCallback(async () => {\n if (props.form.dirty && props.form.isValid) {\n const isValid = await props.form.validateForm();\n if (!Object.keys(isValid).length) {\n props.onChangeBlur && props.onChangeBlur(props.form.values);\n }\n }\n }, [props.form]);\n\n const onBlur = useCallback(() => {\n setTimeout(() => {\n props.onBlur && props.onBlur(props.form.values);\n onChangeBlur();\n });\n }, [props.onBlur, props.form]);\n\n const onChange = useCallback(() => {\n props.onChange && setTimeout(() => {\n props.onChange(props.form.values);\n });\n }, [props.onChange, props.form]);\n\n return <FormikProvider value={props.form}>\n <form ref={ref} className={props.className} onSubmit={props.form.handleSubmit} onBlur={onBlur} onChange={onChange}>\n {props.children}\n <FocusError formRef={ref} />\n </form>\n </FormikProvider>\n};\n","import React from 'react';\n\nimport { ComponentProps, ElementType, PropsWithChildren, useMemo } from \"react\"\nimport { getIn, useField, useFormikContext } from 'formik';\nimport { Text } from \"@shared/text\";\n\nimport styles from './form-control.module.scss';\n\ntype IFormControlProps<C extends ElementType> = {\n [key in keyof ComponentProps<C>]?: ComponentProps<C>[key]\n} & {\n name: string;\n label?: string;\n component?: C;\n onChange?: ComponentProps<C>['onChange'];\n};\n\nexport const isRequiredField = (validationSchema, name) => {\n if (!validationSchema) {\n return false;\n }\n const schemaDescription = validationSchema.describe()\n const accessor = name.split(\".\").join(\".fields.\")\n const field = getIn(schemaDescription.fields, accessor)\n if (!field) {\n return false\n }\n const isRequired = field.tests.some((test) => test.name === \"required\")\n return isRequired\n}\n\nexport function FormControl<T extends ElementType>({ name, label, component, onChange, ...props }: PropsWithChildren<IFormControlProps<T>>) {\n const [field, meta, helpers] = useField({ name, type: 'object' });\n const ctx = useFormikContext();\n const Component = component as any;\n\n const _onChange = (value: any, ...args) => {\n helpers.setValue(value);\n helpers.setError(undefined);\n\n setTimeout(() => {\n onChange && onChange(value, ...args);\n });\n\n helpers.setTouched(true, false);\n };\n\n const labelPlaceholder = useMemo(() => {\n if (props.labelPlaceholder && isRequiredField(ctx.validationSchema, name)) {\n return `${props.labelPlaceholder} *`\n }\n\n return props.labelPlaceholder;\n }, [props.labelPlaceholder, ctx.validationSchema]);\n\n return <div>\n {!!label && <Text className={styles.label} size=\"large\" addition>{label}</Text>}\n <Component {...field} {...props} label={label} labelPlaceholder={labelPlaceholder} error={meta.touched && meta.error} onChange={_onChange} />\n {meta.touched && meta.error && <Text className={styles.error} size=\"small\" error>{meta.error}</Text>}\n </div>\n}\n","import React from 'react';\n\nimport { useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './heading.module.scss';\n\nexport enum EHeadingLevel {\n h1 = 1,\n h2,\n h3,\n h4,\n h5,\n}\n\ninterface IHeadingProps {\n level?: EHeadingLevel;\n children?: any;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n warning?: boolean;\n inverse?: boolean;\n error?: boolean;\n className?: string;\n centerText?: boolean;\n}\n\nexport const Heading = ({\n children,\n level = EHeadingLevel.h1,\n addition,\n attention,\n warning,\n success,\n inverse,\n error,\n className,\n centerText,\n}: IHeadingProps) => {\n const HeadingTag = useMemo(() => `h${level}` as keyof JSX.IntrinsicElements, [level]);\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.heading,\n styles[`heading__h${level}`],\n {\n [styles.textAddition]: addition,\n [styles.textAttention]: attention,\n [styles.textInverse]: inverse,\n [styles.textSuccess]: success,\n [styles.textError]: error,\n [styles.textWarning]: warning,\n [styles.center]: centerText,\n },\n className,\n ),\n [addition, inverse, error, className],\n );\n\n return <HeadingTag className={classNames}>{children}</HeadingTag>;\n};\n","var _path, _path2, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgLoader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#loader_svg__paint0_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 10a7 7 0 11-2.706-5.528c.382.296.379.855.037 1.197-.342.342-.892.335-1.286.054A5.25 5.25 0 1015.25 10H17z\",\n fill: \"url(#loader_svg__paint1_linear)\"\n }, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeType: \"xml\",\n attributeName: \"transform\",\n type: \"rotate\",\n from: \"0 10 10\",\n to: \"360 10 10\",\n dur: \"0.75s\",\n repeatCount: \"indefinite\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"loader_svg__paint0_linear\",\n x1: 14.5,\n y1: 5.5,\n x2: 16.5,\n y2: 10,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"loader_svg__paint1_linear\",\n x1: 10,\n y1: 16,\n x2: 17,\n y2: 9.5,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"currentColor\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"currentColor\",\n stopOpacity: 0\n })))));\n}\n\nexport default SvgLoader;","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgModalClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.293 6.293a1 1 0 011.414 0L14 12.585l6.293-6.292a1 1 0 011.32-.083l.094.083a1 1 0 010 1.414L15.415 14l6.292 6.293a1 1 0 01.083 1.32l-.083.094a1 1 0 01-1.414 0L14 15.415l-6.293 6.292a1 1 0 01-1.32.083l-.094-.083a1 1 0 010-1.414L12.585 14 6.293 7.707a1 1 0 01-.083-1.32l.083-.094z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgModalClose;","import React from 'react';\n\nimport LoaderIcon from '../icon/icons/loader.svg';\n\nimport styles from './loader.module.scss';\n\ninterface ILoaderProps {\n absolute?: boolean;\n fixed?: boolean;\n}\n\nexport const Loader = (props: ILoaderProps) => {\n if (props.absolute) {\n return <div className={styles.absolute}>\n <LoaderIcon className={styles.loader} />\n </div>\n }\n\n if (props.fixed) {\n return <div className={styles.fixed}>\n <LoaderIcon className={styles.loader} />\n </div>\n }\n\n return <LoaderIcon className={styles.loader} />;\n}\n","import React from 'react';\nimport classnames from 'classnames';\n\nimport styles from './loader-line.module.scss';\n\nexport type ILoaderLineProps = {\n active?: boolean;\n children?: JSX.Element;\n};\n\n\nexport const LoaderLine = ({ active }: ILoaderLineProps) => {\n return (\n <>\n <div className={classnames(styles.loaderLine, { [styles.active]: active })}>\n <div className={styles.border} />\n <div className={styles.bar} />\n </div>\n </>\n );\n};\n","import React, { PropsWithChildren } from 'react';\n\nimport { Menu as AntMenu, MenuProps as AntMenuProps } from 'antd';\n\ninterface IMenuProps extends AntMenuProps {}\n\nexport const Menu = (props: PropsWithChildren<IMenuProps>) => {\n // @ts-ignore\n return <AntMenu {...props} />;\n};\n","import React from 'react';\n\nimport { Heading } from '@shared/heading';\nimport { Icon } from '@shared/icon';\nimport { Modal as AntdModal } from 'antd';\nimport {\n ComponentProps,\n ElementType,\n forwardRef,\n MutableRefObject,\n PropsWithChildren,\n ReactNode,\n useCallback,\n useEffect,\n useState,\n} from 'react';\nimport ModalCloseIcon from './../icon/icons/modal-close.svg';\nimport classNames from 'classnames';\n\nimport styles from './modal.module.scss';\n\nexport type PropsWithModal<P, D = any> = P & {\n data: D;\n modal: IModalRef<D>;\n};\n\nexport interface IModalRef<D = any> {\n open: (data: D) => void;\n close: () => void;\n setTitle: (title: string | ReactNode) => void;\n setFooter: (node: ReactNode) => void;\n setClosable: (show: boolean) => void;\n setWidth: (width: string | number) => void;\n setFooterFixed: (value: boolean) => void;\n setFull: (value: boolean) => void;\n}\n\ntype IModalProps<C extends ElementType> = {\n [key in keyof ComponentProps<C>]?: ComponentProps<C>[key];\n} & {\n component?: any;\n title?: string;\n width?: number | string;\n footer?: ReactNode;\n sidebar?: boolean;\n footerFixed?: boolean;\n full?: boolean;\n};\n\nfunction _Modal<C extends ElementType>(\n { title, footer, width = 'max-content', closable = true, sidebar, component: Component, children, footerFixed, ...props }: PropsWithChildren<IModalProps<C>>,\n ref?: MutableRefObject<IModalRef>\n) {\n const [open, setOpen] = useState(false);\n const [data, setData] = useState<any>();\n const [_width, _setWidth] = useState<number | string>(width);\n const [_title, _setTitle] = useState<ReactNode>(title);\n const [_footer, _setFooter] = useState<ReactNode>(footer);\n const [_closable, _setClosable] = useState<boolean>(props.closable);\n const [_full, _setFull] = useState<boolean>(props.full);\n const [_footerFixed, _setFooterFixed] = useState<boolean>(props.footerFixed);\n\n const handleCancel = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleOpen = useCallback((data) => {\n setData(data);\n setOpen(true);\n }, []);\n\n useEffect(() => {\n if (!ref) {\n return;\n }\n\n ref.current = {\n open: handleOpen,\n close: handleCancel,\n setTitle: _setTitle,\n setFooter: _setFooter,\n setClosable: _setClosable,\n setWidth: _setWidth,\n setFooterFixed: _setFooterFixed,\n setFull: _setFull\n };\n }, [ref?.current]);\n\n return (\n <AntdModal\n open={open}\n closable={_closable}\n maskClosable={_closable}\n destroyOnClose={true}\n afterClose={() => {\n setData(null);\n setOpen(false);\n }}\n width={_width}\n closeIcon={<Icon size=\"large\" icon={ModalCloseIcon} />}\n onCancel={handleCancel}\n title={typeof _title === 'string' ? <Heading level={1}>{_title}</Heading> : _title}\n footer={_footer ? <div className={styles.footer}>{_footer}</div> : null}\n maskTransitionName=\"\"\n transitionName=\"\"\n className={classNames({ 'ant-modal-sidebar': sidebar, 'ant-modal-footer-fixed': _footerFixed, 'ant-modal-full': _full })}\n >\n {children}\n {!!Component && <Component {...props} data={data} modal={ref.current} />}\n </AntdModal>\n );\n}\n\nexport const Modal = forwardRef<IModalRef, IModalProps<any>>(_Modal);\n","import React from 'react';\n\nimport { createContext, createRef, PropsWithChildren, RefObject, useContext, useMemo, useState } from \"react\";\nimport { IModalRef, Modal } from \"./modal\";\n\ntype IModalContextPrivate = {\n create: (component: any, initialProps: any) => RefObject<IModalRef<any>>;\n};\n\ntype IModalObj = {\n ref: RefObject<IModalRef<any>>;\n id: number;\n component: any;\n initialProps: any[];\n}\n\nconst modalContext = createContext<IModalContextPrivate>(null);\n\nexport const ModalProvider = ({ children }: PropsWithChildren<any>) => {\n const [modals, setModals] = useState<IModalObj[]>([]);\n\n const value = useMemo(() => ({\n create: (component: any, initialProps: any) => {\n const ref = createRef<IModalRef>();\n const id = new Date().getTime();\n setModals(prev => prev.concat({ ref, id, component, initialProps }));\n\n return ref\n }\n }), []);\n\n return <modalContext.Provider value={value}>\n {children}\n {modals.map(modal => <Modal key={modal.id} ref={modal.ref} component={modal.component} {...modal.initialProps} />)}\n </modalContext.Provider>;\n};\n\nexport const useModal = (component: any, ...initialProps: any) => {\n const data = useContext(modalContext);\n\n const res = useMemo(() => data.create(component, initialProps || []), [component]);\n\n if (!data) {\n throw new Error('Не подключен ModalProvider');\n }\n\n return res;\n};\n\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Radio as AntRadio, RadioChangeEvent, RadioGroupProps } from 'antd';\nimport { CheckboxValueType } from 'antd/lib/checkbox/Group';\nimport cn from 'classnames';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\ninterface IRadioOption<T> {\n label: string;\n value: CheckboxValueType;\n data: T;\n}\n\ntype IRadioProps<T> = Omit<RadioGroupProps, 'options' | 'onChange' | 'value'> & {\n options: T[] | T;\n labels?: { [key: string]: string };\n valueKey?: string;\n labelKey?: string;\n value?: any;\n onChange?: (value: T, e?: MouseEvent) => void;\n position?: 'vertical' | 'horizontal';\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string, labelKey: string, labels: { [key: string]: string }) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as IRadioOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as IRadioOption<T>;\n}\n\nexport function Radio<T = any>({ options, position = 'horizontal', valueKey, labelKey, labels, ...props }: IRadioProps<T>) {\n const [value, setValue] = useState<any>();\n\n const _options = useMemo(() => {\n let _options = null;\n if (Array.isArray(options)) {\n _options = options;\n }\n\n if (options) {\n _options = Object.values(options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [options, labels]);\n\n useEffect(() => {\n if (!options) {\n return;\n }\n\n const res = _options?.find((option) => (props.value && option.value === props.value[valueKey]) || option.value === props.value);\n setValue(res?.value);\n }, [props.value, _options]);\n\n const _onChange = useCallback((e: RadioChangeEvent) => {\n const value = _options.find(option => option.value === e.target.value);\n setValue(value.value);\n props.onChange && props.onChange(value?.data, e.nativeEvent);\n }, [props.onChange, _options]);\n\n\n return (\n <AntRadio.Group className={cn('ant-radio-group-customize', position)} {...props} onChange={_onChange} value={value}>\n {_options.map((option, index) => (\n <AntRadio className={cn('ant-radio-customize')} key={index} value={option.value}>\n <Text size=\"large\">{option.label}</Text>\n </AntRadio>\n ))}\n </AntRadio.Group>\n );\n}\n","import React, { ComponentProps, forwardRef, useCallback } from 'react';\n\nimport generatePicker from 'antd/lib/date-picker/generatePicker';\nimport dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns';\nimport { startOfDay } from 'date-fns';\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IRangePickerProps = {\n isFromToday?: boolean;\n} & ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const RangePicker = forwardRef((props: IRangePickerProps, ref) => {\n const disabledDate = useCallback(\n (current: Date) => {\n if (props.disabledDate && props.disabledDate(current)) {\n return true;\n }\n\n if (props.isFromToday) {\n return current && current.getTime() < startOfDay(new Date()).getTime();\n }\n\n return false;\n },\n [props.isFromToday, props.disabledDate],\n );\n\n // @ts-ignore\n return <AntDatePicker.RangePicker locale={locale} pickerRef={ref} {...props} disabledDate={disabledDate} />;\n});\n","import React from 'react';\n\nimport { Select as AntSelect, SelectProps } from 'antd';\nimport cn from 'classnames';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport debounce from 'lodash.debounce';\n\nimport SelectArrowIcon from '../icon/icons/select-arrow.svg';\nimport { Icon } from '@shared/icon';\nimport ClearIcon from '../icon/icons/clear.svg';\n\nimport styles from './select.module.scss';\nimport classNames from 'classnames';\n\nexport interface ISelectOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\ninterface ISelectOptionGroup<T> {\n label: string;\n options: ISelectOption<T>[];\n}\n\ninterface ISelectGroup<T> {\n label: string;\n options: T[];\n}\n\ntype ISelectProps<T> = Omit<SelectProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n optionsGroup?: ISelectGroup<T>[];\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onServerSearch?: (val: string) => Promise<T[]>;\n onServerSearchGroup?: (val: string) => Promise<ISelectGroup<T>[]>;\n onRenderOption?: (item: T) => React.ReactNode;\n onChange?: (option: T, options?: T[]) => void;\n debounceTimeout?: number;\n stacked?: boolean;\n popupClassName?: string;\n suffixIcon?: any;\n};\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: ISelectProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ISelectOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ISelectOption<T>;\n}\n\nexport function Select<T = any>({\n debounceTimeout = 500,\n onServerSearch,\n onServerSearchGroup,\n onRenderOption,\n valueKey,\n labelKey,\n labelPlaceholder,\n labels,\n popupClassName,\n suffixIcon = SelectArrowIcon,\n ...props\n}: ISelectProps<T>) {\n const [fetching, setFetching] = useState(false);\n const [serverOptions, setServerOptions] = useState<ISelectOption<T>[]>(null);\n const [optionsGroup, setOptionsGroup] = useState<ISelectOptionGroup<T>[]>(null);\n\n const [value, setValue] = useState<ISelectOption<T>>();\n const fetchRef = useRef(0);\n\n const isEqual = (option) => option.key === props.value || option.props.data === props.value || (props.value && (option.key === props.value[valueKey] || option.props.value === props.value[valueKey]));\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n useEffect(() => {\n setOptionsGroup(props.optionsGroup?.map((group) => ({\n label: group.label,\n options: group.options.map((option) => formatItemToOption(option, valueKey, labelKey, labels))\n })));\n }, [props.optionsGroup]);\n\n const debounceFetcher = useMemo(() => {\n const loadOptions = (value: string) => {\n fetchRef.current += 1;\n const fetchId = fetchRef.current;\n setServerOptions([]);\n setOptionsGroup([]);\n setFetching(true);\n\n onServerSearch && onServerSearch(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setServerOptions(newOptions?.map((option) => formatItemToOption(option, valueKey, labelKey)));\n setFetching(false);\n });\n\n onServerSearchGroup && onServerSearchGroup(value).then((newOptions) => {\n if (fetchId !== fetchRef.current) {\n return;\n }\n\n setOptionsGroup(newOptions?.map((group) => ({\n label: group.label,\n options: group.options.map((option) => formatItemToOption(option, valueKey, labelKey, labels))\n })));\n setFetching(false);\n });\n };\n\n return debounce(loadOptions, debounceTimeout);\n }, [onServerSearch, onServerSearchGroup, debounceTimeout]);\n\n const _onRenderOptions = useCallback(\n (option: ISelectOption<T>, index: number) => {\n if (onRenderOption) {\n return <AntSelect.Option option={option} data={option.data} key={`${option.value}${index}`} label={option.label} value={option.value}>{onRenderOption(option.data)}</AntSelect.Option>;\n }\n\n return (\n <AntSelect.Option option={option} data={option.data} key={option.value} label={option.label} value={option.value}>\n <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>\n </AntSelect.Option>\n );\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _onRenderGroup = useCallback(\n (group: ISelectOptionGroup<T>) => {\n return <AntSelect.OptGroup label={group.label}>{group.options.map(_onRenderOptions)}</AntSelect.OptGroup>\n },\n []\n );\n\n const onDropdownVisibleChange = useCallback(\n (open: boolean) => {\n if (!open) {\n setServerOptions(null);\n return;\n }\n },\n [value]\n );\n\n const _options: any[] = useMemo(() => (serverOptions || options || []).map(_onRenderOptions), [\n onServerSearch,\n options,\n serverOptions,\n ]);\n\n const _optionsGroup: any[] = useMemo(() => optionsGroup?.map(_onRenderGroup) || null, [optionsGroup]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setValue(value);\n props.onChange && props.onChange(_option?.data, (serverOptions || options)?.map((i) => i.data));\n },\n [props.onChange, _options, serverOptions, options]\n );\n\n useEffect(() => {\n let res = props.value && _options?.find(isEqual);\n\n if (_optionsGroup?.length) {\n for (const group of _optionsGroup) {\n res = group.props.children.find(isEqual)\n if (res) break;\n }\n }\n\n setValue(res?.props.value);\n }, [props.value, _options, _optionsGroup]);\n\n return (\n <AntSelect\n {...props}\n value={value}\n options={undefined}\n onSearch={debounceFetcher}\n popupClassName={popupClassName}\n onDropdownVisibleChange={onDropdownVisibleChange}\n notFoundContent={null}\n loading={true}\n onChange={onChange}\n placeholder={props.placeholder || labelPlaceholder}\n clearIcon={<Icon icon={ClearIcon} />}\n className={cn('ant-select-customize-input', props.className, styles.select, { 'select-error': props.error, 'select-stacked': props.stacked, 'select-loading': fetching })}\n suffixIcon={suffixIcon ? <Icon icon={suffixIcon} /> : null}\n >\n {_optionsGroup?.length ? _optionsGroup : _options}\n </AntSelect>\n );\n}\n","import React from 'react';\n\nimport { Slider } from 'antd';\nimport { SliderRangeProps, SliderSingleProps } from 'antd/lib/slider';\nimport { useEffect, useState } from 'react';\n\ninterface ISelectorRangeProps extends SliderRangeProps {}\n\nexport const SelectorRange = (props: ISelectorRangeProps) => {\n const [value, setValue] = useState<[number, number]>(props.value);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value]);\n\n return <Slider {...props} value={value} onChange={setValue} />;\n};\n\ninterface ISelectorProps extends SliderSingleProps {}\n\nexport const Selector = (props: ISelectorProps) => {\n return <Slider {...props} />;\n};\n","var _g, _path, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgArrowNext(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 69 69\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#arrow-next_svg__filter0_d_878_2853)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.844,\n cy: 34.592,\n r: 24,\n transform: \"rotate(-180 34.844 34.592)\",\n fill: \"#fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.101 33.558l-6.15-6.504 1.382-1.462 8.51 9-8.51 9-1.383-1.462 6.151-6.505H25.844v-2.067H40.1z\",\n fill: \"#000\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"arrow-next_svg__filter0_d_878_2853\",\n x: 0.844,\n y: 0.592,\n width: 68,\n height: 68,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n \"in\": \"SourceAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_878_2853\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n \"in\": \"SourceGraphic\",\n in2: \"effect1_dropShadow_878_2853\",\n result: \"shape\"\n })))));\n}\n\nexport default SvgArrowNext;","import React from 'react';\n\nimport RLSkeleton, { SkeletonProps } from 'react-loading-skeleton';\n\ntype ISkeletonProps = SkeletonProps;\n\nexport const Skeleton = (props: ISkeletonProps) => {\n return <RLSkeleton {...props} />\n}\n","var _g, _path, _defs;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgArrowPrev(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 69 69\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#arrow-prev_svg__filter0_d_878_2850)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 34.844,\n cy: 34.592,\n r: 24,\n fill: \"#fff\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M29.586 35.625l6.151 6.505-1.382 1.462-8.511-9 8.511-9 1.382 1.462-6.15 6.504h14.257v2.067H29.586z\",\n fill: \"#000\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"arrow-prev_svg__filter0_d_878_2850\",\n x: 0.844,\n y: 0.592,\n width: 68,\n height: 68,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n \"in\": \"SourceAlpha\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_878_2850\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n \"in\": \"SourceGraphic\",\n in2: \"effect1_dropShadow_878_2850\",\n result: \"shape\"\n })))));\n}\n\nexport default SvgArrowPrev;","import React from 'react';\n\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport ArrowNext from '../icon/icons/arrow-next.svg';\nimport ArrowPrev from '../icon/icons/arrow-prev.svg';\nimport classnames from 'classnames';\nimport SwiperCore, { Navigation, Autoplay, Controller } from 'swiper';\nimport { useCallback, useMemo, useRef, useState } from 'react';\n\nimport styles from './slider.module.scss';\n\nSwiperCore.use([Navigation, Autoplay, Controller]);\n\ninterface ISliderProps {\n items: any[];\n slidesPerView: any;\n showNavigation?: boolean;\n navPosition?: 'inset' | '';\n renderItem: (item: any, index: number) => any;\n viewItem?: (item: any, index: number) => void;\n loop?: boolean;\n asyncReady?: boolean;\n spaceBetween?: number;\n autoplay?: boolean;\n freeMode?: boolean;\n showCounter?: boolean;\n centeredSlides?: boolean;\n className?: string;\n classNamePrev?: string;\n classNameNext?: string;\n overflow?: boolean;\n}\n\nexport const Slider = ({\n items,\n slidesPerView,\n renderItem,\n viewItem = () => {},\n loop,\n asyncReady,\n showNavigation,\n navPosition = '',\n spaceBetween = 24,\n autoplay = true,\n freeMode,\n showCounter,\n centeredSlides,\n className,\n classNamePrev,\n classNameNext,\n overflow,\n}: ISliderProps) => {\n const navigationPrevRef = useRef(null);\n const navigationNextRef = useRef(null);\n const [index, setIndex] = useState(0);\n const [ready, setReady] = useState(asyncReady);\n\n const classNames = useMemo(\n () =>\n classnames(styles.slider, className, { [styles.sliderAutoLoop]: loop && slidesPerView === 'auto', [styles.ready]: ready, overflow }),\n [loop, slidesPerView, ready, className],\n );\n\n const onSlideItem = useCallback((indexItem) => {\n const findItem = items.find((_, index) => index === indexItem);\n viewItem(findItem, indexItem);\n }, [viewItem])\n\n return (\n <>\n <div className={classnames(styles.sliderContainer, 'slider')}>\n <div\n ref={navigationPrevRef}\n className={classnames(\n styles.buttonSlider,\n styles[`buttonSlider__prev_${navPosition}`],\n styles[`buttonSlider__prev`],\n {\n [styles[`buttonSlider__hidden`]]: !showNavigation || items?.length <= slidesPerView,\n },\n classNamePrev,\n )}\n >\n <ArrowPrev />\n </div>\n <div\n ref={navigationNextRef}\n className={classnames(\n styles.buttonSlider,\n styles[`buttonSlider__next_${navPosition}`],\n styles[`buttonSlider__next`],\n {\n [styles[`buttonSlider__hidden`]]: !showNavigation || items?.length <= slidesPerView,\n },\n classNameNext,\n )}\n >\n <ArrowNext />\n </div>\n <Swiper\n loop={(loop && items?.length > slidesPerView) || (loop && slidesPerView === 'auto')}\n speed={1000}\n preloadImages={true}\n loopedSlides={loop && slidesPerView === 'auto' ? items.length : null}\n centeredSlides={centeredSlides}\n freeMode={freeMode}\n onSlideChange={(sw) => {\n setIndex(sw.realIndex + 1);\n onSlideItem(sw.realIndex);\n }}\n autoplay={\n autoplay\n ? {\n delay: 10000,\n disableOnInteraction: true,\n }\n : undefined\n }\n navigation={{\n nextEl: navigationNextRef.current,\n prevEl: navigationPrevRef.current,\n }}\n onImagesReady={(swiper) => {\n swiper.slideTo(0, 0);\n setReady(true);\n }}\n onBeforeInit={(swiper) => {\n if (typeof swiper.params.navigation === 'boolean') {\n return;\n }\n\n swiper.params.navigation.prevEl = navigationPrevRef.current;\n swiper.params.navigation.nextEl = navigationNextRef.current;\n }}\n lazy={{\n checkInView: true,\n loadPrevNext: true,\n }}\n slidesPerView={slidesPerView}\n spaceBetween={spaceBetween}\n className={classNames}\n >\n {items?.map((item, index) => {\n let key: any = index;\n if (typeof item === 'string') {\n key = item;\n }\n\n return (\n <SwiperSlide\n key={key}\n className={classnames(styles.swiperSlide, { [styles.swiperSlideAuto]: slidesPerView === 'auto' })}\n >\n {renderItem(item, index)}\n </SwiperSlide>\n );\n })}\n </Swiper>\n {showCounter && (\n <div className={styles.sliderCounter}>\n {index}/{items?.length}\n </div>\n )}\n </div>\n </>\n );\n};\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSpoilerArrow(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.817 9.635A.857.857 0 105.7 10.937l6 5.142a.857.857 0 001.116 0l6-5.143A.857.857 0 1017.7 9.636L12.26 14.3 6.817 9.635z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgSpoilerArrow;","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgSpoilerArrowActive(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.558 16.08a.857.857 0 11-1.116-1.302l6-5.143a.857.857 0 011.116 0l6 5.143a.857.857 0 11-1.116 1.301L12 11.415l-5.442 4.664z\",\n fill: \"#8B8B8B\"\n })));\n}\n\nexport default SvgSpoilerArrowActive;","import React from 'react';\n\nimport { PropsWithChildren, ReactNode, useCallback, useState } from 'react';\n\nimport { Icon } from '@shared/icon';\n\nimport SpoilerArrowIcon from '../icon/icons/spoiler-arrow.svg';\nimport SpoilerArrowActiveIcon from '../icon/icons/spoiler-arrow-active.svg';\n\nimport styles from './spoiler.module.scss';\n\ninterface ISpoilerProps {\n title: string | ReactNode;\n initialValue?: boolean;\n}\n\nexport const Spoiler = (props: PropsWithChildren<ISpoilerProps>) => {\n const [opened, setOpened] = useState(props.initialValue);\n\n const onChange = useCallback(() => {\n setOpened(prev => !prev);\n }, []);\n\n return (\n <div className={styles.spoiler}>\n <div className={styles.title} onClick={onChange.bind(null)}>\n {props.title}\n <Icon size=\"large\" variant=\"initial\" className={styles.arrow} icon={opened ? SpoilerArrowActiveIcon : SpoilerArrowIcon} />\n </div>\n {opened && props.children}\n </div>\n );\n};\n","import React from 'react';\n\nimport { Input, IInputProps } from '@shared/input';\nimport { Select } from '@shared/select';\nimport cn from 'classnames';\nimport { InputHTMLAttributes, ReactNode, useState } from 'react';\n\nimport styles from './stacked-input.module.scss';\n\nexport interface IStackedInputValue<T> {\n value: string;\n key: T;\n}\n\ntype IStackedInputProps<T> = {\n onChange: (val: string) => void;\n onSearch: (val: string) => void;\n onSelect: (key: T) => void;\n options: T[];\n option: T;\n className?: string;\n showClear?: boolean;\n placeholder?: string;\n labelPlaceholder?: string;\n mask?: IInputProps['mask'];\n value?: string\n onRenderOption?: (item: T) => ReactNode;\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'variant' | 'onChange'>;\n\nexport function StackedInput<T>({ onSelect, onRenderOption, options, option, ...props }: IStackedInputProps<T>) {\n const [key, setKey] = useState<T>(option || options[0]);\n\n const _onSelect = (key: T) => {\n setKey(key);\n onSelect(key);\n }\n\n return (\n <div className={cn(styles.stacked_input, props.className)}>\n <Select\n className={styles.stacked_input__select}\n size=\"large\"\n options={options}\n onChange={_onSelect}\n value={key}\n open={false}\n suffixIcon={null}\n\n onRenderOption={onRenderOption}\n dropdownMatchSelectWidth={false}\n stacked\n />\n <Input\n {...props}\n className={styles.stacked_input__input}\n labelPlaceholder={props.labelPlaceholder}\n mask={props.mask}\n showClear={props.showClear}\n placeholder={props.placeholder}\n />\n </div>\n );\n}\n","import React from 'react';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport styles from './switch.module.scss';\nimport classNames from 'classnames';\nimport { Text } from '@shared/text';\n\ntype ISwitchProps = {\n value?: boolean;\n name?: string;\n title?: string;\n className?: string;\n onChange?: (value: boolean) => void;\n};\n\nexport const Switch = (props: ISwitchProps) => {\n const [value, setValue] = useState(props.value);\n\n useEffect(() => setValue(!!props.value), [props.value]);\n\n const onChange = useCallback(() => {\n setValue(!value);\n props.onChange && props.onChange(!value);\n }, [value, props.onChange]);\n\n return <div className={classNames(styles.switch, props.className, { [styles.active]: value })} onClick={onChange}>\n <div></div>\n <input name={props.name} type=\"checkbox\" checked={value} />\n {!!props.title && <Text size=\"large\">{props.title}</Text>}\n </div>\n}\n","import React from 'react';\n\nimport { Select as AntdSelect, SelectProps } from \"antd\";\nimport classNames from \"classnames\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Icon } from '@shared/icon';\nimport ClearIcon from '../icon/icons/clear.svg';\n\nimport styles from './tag-box.module.scss';\n\nexport interface ITagBoxOption<T> {\n label: string;\n value: string | number | null | undefined;\n data?: T;\n}\n\nfunction formatItemToOption<T = any>(item: any, valueKey: string = 'value', labelKey: string = 'label', labels?: ITagBoxProps<T>['labels']) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ITagBoxOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ITagBoxOption<T>;\n}\n\ntype ITagBoxProps<T> = Omit<SelectProps, 'options' | 'onChange'> & {\n options?: T[] | T;\n labels?: { [key: string]: string };\n error?: boolean;\n valueKey?: string;\n labelKey?: string;\n labelPlaceholder?: string;\n onChange?: (option: T[], options?: T[]) => void;\n onRenderOption?: (item: T) => React.ReactNode;\n popupClassName?: string;\n};\n\nexport function TagBox<T>({ labels, valueKey, labelKey, labelPlaceholder, onRenderOption, popupClassName, ...props }: ITagBoxProps<T>) {\n const [value, setValue] = useState<ITagBoxOption<T>[]>();\n\n const isEqual = (option) => props.value.some(v => v === option.key || v === option.props?.data || v === option.props.value || v[valueKey] === option.key || v[valueKey] === option.props.value);\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || [];\n }, [props.options, labels]);\n\n const _onRenderOptions = useCallback(\n (option: ITagBoxOption<T>, index: number) => {\n if (onRenderOption) {\n return <AntdSelect.Option option={option} data={option.data} key={`${option.value}${index}`} label={option.label} value={option.value}>{onRenderOption(option.data)}</AntdSelect.Option>;\n }\n\n return (\n <AntdSelect.Option option={option} data={option.data} key={option.value} label={option.label} value={option.value}>\n <div className={classNames({ [styles.hasLabel]: labelPlaceholder })}>\n {!!labelPlaceholder && <label>{labelPlaceholder}</label>}\n <div className={styles.optionText}>{option.label}</div>\n </div>\n </AntdSelect.Option>\n );\n },\n [onRenderOption, labelPlaceholder]\n );\n\n const _options: any[] = useMemo(() => (options || []).map(_onRenderOptions), [options]);\n\n const onChange = useCallback(\n (value: any, _option: any) => {\n setValue(value);\n props.onChange && props.onChange(_option?.map(i => i.data), options?.map((i) => i.data));\n },\n [props.onChange, _options, options]\n );\n\n useEffect(() => {\n let res = props.value && _options?.filter(isEqual);\n setValue(res?.map(i => i.props.value));\n }, [props.value, _options]);\n\n return (\n <AntdSelect\n {...props}\n mode=\"multiple\"\n value={value}\n options={undefined}\n popupClassName={popupClassName}\n notFoundContent={null}\n onChange={onChange}\n maxTagCount=\"responsive\"\n removeIcon={<Icon size=\"small\" icon={ClearIcon} />}\n menuItemSelectedIcon={null}\n placeholder={props.placeholder || labelPlaceholder}\n className={classNames('ant-tag-box-customize-input', props.className, styles.select, { 'select-error': props.error })}\n >\n {_options}\n </AntdSelect>\n );\n}\n","import React, { PropsWithChildren, useMemo, useCallback } from 'react';\nimport classnames from 'classnames';\n\nimport styles from './tag-button.module.scss';\n\nexport enum ETagButtonSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ETagButtonVariant {\n default = 'default',\n secondary = 'secondary',\n tumbler = 'tumbler',\n green = 'green',\n tab = 'tab',\n text = 'text',\n icons = 'icons',\n}\n\ninterface IButtonProps {\n variant?: keyof typeof ETagButtonVariant;\n size?: keyof typeof ETagButtonSize;\n icon?: any;\n disabled?: boolean;\n selected?: boolean;\n notChangeSelected?: boolean;\n shadow?: boolean;\n onClick: (e?: boolean) => void;\n}\n\nexport const TagButton = ({\n variant = ETagButtonVariant.default,\n size = ETagButtonSize.medium,\n disabled,\n selected,\n children,\n onClick,\n}: PropsWithChildren<IButtonProps>) => {\n const classNames = useMemo(\n () =>\n classnames(styles.button, styles[`button__${variant}`], styles[`button__${size}`], {\n [styles.selected]: selected,\n }),\n [variant, size, disabled, selected],\n );\n\n const _onClick = useCallback(() => {\n onClick();\n }, []);\n\n return (\n <div className={classNames} onClick={_onClick}>\n <span>{children}</span>\n </div>\n );\n};\n","import React from 'react';\n\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ETagButtonSize, ETagButtonVariant, TagButton } from './tag-button';\n\nimport styles from './tag-button.module.scss';\nimport classNames from 'classnames';\n\ninterface ITagButtonGroupProps<T> {\n variant?: keyof typeof ETagButtonVariant;\n className?: string;\n labels?: { [key: string]: string };\n size?: keyof typeof ETagButtonSize;\n options: T[];\n onChange?: (value: T) => void;\n onRenderLabel?: (value: T) => void;\n value?: T;\n valueKey?: string;\n labelKey?: string;\n}\n\ninterface ITagOption<T> {\n label: string;\n value: string;\n data: T;\n}\n\nfunction formatItemToOption<T = any>(\n item: any,\n valueKey: string = 'value',\n labelKey: string = 'label',\n labels?: ITagButtonGroupProps<T>['labels']\n) {\n if (['string', 'number', 'boolean'].includes(typeof item)) {\n return {\n label: labels ? labels[`${item}`] : item,\n value: item,\n data: item,\n } as ITagOption<T>;\n }\n\n return {\n label: item[labelKey],\n value: item[valueKey],\n data: item,\n } as ITagOption<T>;\n}\n\nexport function TagButtonGroup<T>({\n labelKey = 'label',\n valueKey = 'value',\n labels,\n className,\n ...props\n}: ITagButtonGroupProps<T>) {\n const [value, setValue] = useState<ITagOption<T>>();\n\n const options = useMemo(() => {\n let _options = null;\n if (Array.isArray(props.options)) {\n _options = props.options;\n }\n\n if (props.options) {\n _options = Object.values(props.options);\n }\n\n return _options?.map((option) => formatItemToOption(option, valueKey, labelKey, labels)) || null;\n }, [props.options, labels]);\n\n const onChange = useCallback(\n (val: ITagOption<T>) => {\n const option = options?.find(\n (option) => option.value === val.value || option.data === val.value || option.value === val[valueKey]\n );\n setValue(option);\n props.onChange && props.onChange(option?.data);\n },\n [props.onChange]\n );\n\n useEffect(() => {\n const res =\n props.value &&\n options?.find(\n (option) =>\n option.value === props.value || option.data === props.value || option.value === props.value[valueKey]\n );\n\n setValue(res);\n }, [props.value, options]);\n\n return (\n <div className={classNames(styles.tagButtonGroup, className)}>\n {options.map((item) => (\n <TagButton\n key={item.value}\n variant={props.variant}\n size={props.size}\n selected={value === item}\n onClick={onChange.bind(null, item)}\n >\n {props.onRenderLabel ? props.onRenderLabel(item.data) : item.label}\n </TagButton>\n ))}\n </div>\n );\n}\n","import { useEffect, useRef } from 'react';\n\nexport function useCombinedRefs(...refs) {\n const targetRef = useRef();\n\n useEffect(() => {\n refs.forEach((ref) => {\n if (!ref) return;\n\n if (typeof ref === 'function') {\n ref(targetRef.current);\n } else {\n ref.current = targetRef.current;\n }\n });\n }, [refs]);\n\n return targetRef;\n}\n","import React, { useMemo, ChangeEvent, forwardRef, useRef, TextareaHTMLAttributes } from 'react';\nimport classnames from 'classnames';\nimport Loader from '../icon/icons/input-loader.svg';\nimport Clear from '../icon/icons/clear.svg';\n\nimport styles from './text-area.module.scss';\nimport { useState } from 'react';\nimport { useCallback } from 'react';\nimport { useEffect } from 'react';\nimport { useCombinedRefs } from '@shared/utils/combine-ref';\n\nconst observe = function (element, event, handler) {\n element.addEventListener(event, handler, false);\n};\n\nconst deobserve = function (element, event, handler) {\n element.removeEventListener(event, handler);\n};\n\nfunction init(text: HTMLTextAreaElement) {\n const resize = () => {\n text.style.height = 'auto';\n text.style.height = `${2 + text.scrollHeight}px`;\n };\n\n /* 0-timeout to get the already changed text */\n function delayedResize() {\n window.setTimeout(resize, 0);\n }\n\n observe(text, 'change', resize);\n observe(text, 'cut', delayedResize);\n observe(text, 'paste', delayedResize);\n observe(text, 'drop', delayedResize);\n observe(text, 'keydown', delayedResize);\n observe(text, 'input', resize);\n\n text.focus();\n // text.select();\n resize();\n\n return () => {\n deobserve(text, 'change', resize);\n deobserve(text, 'cut', delayedResize);\n deobserve(text, 'paste', delayedResize);\n deobserve(text, 'drop', delayedResize);\n deobserve(text, 'keydown', delayedResize);\n deobserve(text, 'input', resize);\n }\n}\n\nexport enum ETextAreaVariant {\n filled = 'filled',\n outlined = 'outlined',\n}\n\nexport enum ETextAreaSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ETextAreaBorder {\n circle = 'circle',\n normal = 'normal',\n}\n\ntype ITextAreaProps = {\n invalid?: boolean;\n icon?: any;\n variant?: keyof typeof ETextAreaVariant;\n size?: keyof typeof ETextAreaSize;\n border?: ETextAreaBorder;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n placeholder?: string;\n onClear?: () => void;\n onSearch?: (e: any) => void;\n onChange?: (value: string, event?: ChangeEvent<HTMLTextAreaElement>) => void;\n} & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'size' | 'variant' | 'onChange'>;\n\nexport const TextArea = forwardRef<HTMLTextAreaElement, ITextAreaProps>(\n (\n {\n onChange,\n onFocus = () => {},\n onBlur = () => {},\n onClear,\n onSearch,\n icon: Icon,\n name,\n required,\n disabled,\n value,\n placeholder,\n style,\n loading,\n showClear,\n invalid,\n autoFocus,\n size = ETextAreaSize.medium,\n variant = ETextAreaVariant.outlined,\n border = ETextAreaBorder.normal,\n adaptive,\n ...props\n }: ITextAreaProps,\n ref,\n ) => {\n const [_value, _setValue] = useState(value);\n\n const innerRef = useRef<HTMLTextAreaElement>();\n const combineRef: React.MutableRefObject<HTMLTextAreaElement> = useCombinedRefs(ref, innerRef);\n\n // useEffect(() => _setValue(value), [value]);\n\n useEffect(() => {\n if (autoFocus && combineRef.current) {\n combineRef.current.value = '';\n combineRef.current.value = `${value || ''}`;\n const unsubscribe = init(combineRef.current);\n\n return () => {\n unsubscribe();\n }\n }\n\n return () => {\n\n }\n }, [autoFocus, combineRef]);\n\n const classNames = useMemo(\n () =>\n classnames(\n styles.textarea,\n styles[`textarea__${variant}`],\n styles[`textarea__${size}`],\n styles[`textarea__border_${border}`],\n {\n [styles[`textarea__${size}_adaptive`]]: adaptive,\n [styles[`textarea__action_${size}`]]: Icon || loading || showClear,\n [styles[`textarea__actions_${size}`]]: (Icon || loading) && showClear,\n [styles.textarea__disabled]: disabled,\n },\n ),\n [variant, size, border, disabled, loading, showClear, adaptive],\n );\n\n const inputClassNames = useMemo(\n () =>\n classnames(props.className, {\n [styles.invalid]: invalid,\n }),\n [invalid, props.className],\n );\n\n const clearClassNames = useMemo(\n () =>\n classnames(styles.clear, styles[`clear__${variant}`], styles[`clear__${size}`], {\n [styles[`clear__action_${size}`]]: Icon || loading,\n }),\n [variant, size, Icon, loading],\n );\n\n const loaderClassNames = useMemo(\n () => classnames(styles.loader, styles[`loader__${variant}`], styles[`loader__${size}`]),\n [variant, size],\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`]), [\n variant,\n size,\n ]);\n\n const _onChange = useCallback((e: ChangeEvent<HTMLTextAreaElement>) => {\n _setValue(e.target.value);\n if (onChange) {\n onChange(e.target.value, e);\n }\n }, []);\n\n const _onSearch = useCallback(\n () => {\n if (onSearch) {\n onSearch(_value);\n }\n },\n [onSearch],\n );\n\n const _onClear = useCallback(() => {\n _setValue(undefined);\n\n if (onClear) {\n onClear();\n }\n }, [onClear]);\n\n return (\n <div className={classNames}>\n <textarea\n {...props}\n className={inputClassNames}\n ref={combineRef}\n name={name}\n disabled={disabled}\n placeholder={placeholder}\n // value={_value || ''}\n onChange={_onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n required={required}\n style={style}\n />\n {showClear && _value && <Clear className={clearClassNames} onClick={_onClear} />}\n {Icon && !loading && <Icon className={iconClassNames} onClick={_onSearch} />}\n {loading && <Loader className={loaderClassNames} />}\n </div>\n );\n },\n);\n","import { CSSProperties } from \"react\";\n\nexport enum TooltipPosition {\n left = 'left',\n top = 'top',\n right = 'right',\n bottom = 'bottom',\n}\n\nexport const isCurrent = (e: Event, element: Element): any => {\n const find = (el: HTMLElement) => {\n if (el === element) {\n return el;\n }\n\n return el?.parentElement && find(el.parentElement);\n };\n\n if (find(e.target as HTMLElement)) {\n return true;\n }\n};\n\nexport const findTargetElement = (element: Element) => {\n let elem = element;\n\n const find = (child: Element) => {\n if (child.getAttribute('data-tooltip-target')) {\n elem = child;\n }\n\n if (child.children.length) {\n return Array.prototype.slice.call(child.children, 0).find(find);\n }\n };\n\n find(element);\n\n return elem;\n};\n\nexport const getScrollTopParent = (element: HTMLElement): HTMLElement | null => {\n if (element.scrollHeight > element.clientHeight) {\n return element;\n }\n\n if (element.parentElement) {\n return getScrollTopParent(element.parentElement);\n }\n\n return null;\n};\n\nexport const recalcArrowStyles = (\n targetElement: Element,\n tooltipProperties: CSSProperties,\n position: TooltipPosition\n): CSSProperties => {\n const { left, width } = targetElement.getBoundingClientRect();\n\n switch (position) {\n case TooltipPosition.top:\n return { left: left - (tooltipProperties.left as number) + (width / 2) };\n case TooltipPosition.bottom:\n return { left: left - (tooltipProperties.left as number) + (width / 2) };\n case TooltipPosition.left:\n return { };\n case TooltipPosition.right:\n return { };\n }\n};\n\nexport const recalcStyles = (\n targetElement: Element,\n tooltipElement: HTMLDivElement,\n position: TooltipPosition\n): CSSProperties => {\n const { top, left, width, height } = targetElement.getBoundingClientRect();\n const { width: tooltipWidth, height: tooltipHeight } = tooltipElement.getBoundingClientRect();\n\n let leftPosition = 0;\n if ([TooltipPosition.top, TooltipPosition.bottom].includes(position)) {\n leftPosition = left + width / 2 - tooltipWidth / 2;\n if (leftPosition + tooltipElement.offsetWidth > document.body.offsetWidth) {\n leftPosition -= leftPosition + tooltipElement.offsetWidth - document.body.offsetWidth;\n }\n }\n\n switch (position) {\n case TooltipPosition.top:\n return { top: top - tooltipHeight, left: leftPosition, opacity: 1 };\n case TooltipPosition.bottom:\n return { top: top + height + tooltipHeight, left: leftPosition, opacity: 1 };\n case TooltipPosition.left:\n return { top: top + height / 2 - tooltipHeight / 2, left: left - tooltipWidth, opacity: 1 };\n case TooltipPosition.right:\n return { top: top + height / 2 - tooltipHeight / 2, left: left + width, opacity: 1 };\n }\n};\n","import classnames from 'classnames';\nimport React, { PropsWithChildren, useMemo, useState } from 'react';\n\nimport styles from './text-spoiler.module.scss';\nimport { ELinkVariant, Link } from '@shared/link';\nimport { ELinkSize } from '@shared/link/link';\n\nexport const TextSpoiler = (props: PropsWithChildren<{}>) => {\n const [isOpen, setOpen] = useState(false);\n\n const classNames = useMemo(\n () =>\n classnames(styles.textSpoiler, {\n [styles.openText]: isOpen,\n }),\n [isOpen],\n );\n\n return (\n <div>\n <div className={classNames}>{props.children}</div>\n <Link bold size={ELinkSize.large} variant={ELinkVariant.action} onClick={() => setOpen(!isOpen)}>\n {isOpen ? 'Свернуть' : 'Читать далее'}\n </Link>\n </div>\n );\n};\n","import { createPortal } from 'react-dom';\nimport classNames from 'classnames';\nimport React, {\n CSSProperties,\n MouseEvent as ReactMouseEvent,\n PropsWithChildren,\n TouchEvent as ReactTouchEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport styles from './tooltip.module.scss';\nimport { useMedia } from '@shared/media';\nimport { TooltipPosition, findTargetElement, getScrollTopParent, isCurrent, recalcArrowStyles, recalcStyles } from './tooltip.utils';\n\ntype ITootipProps = {\n title: any;\n className?: string;\n onOpenChange?: (val: boolean) => void;\n placement?: keyof typeof TooltipPosition;\n trigger?: any;\n};\n\nexport const Tooltip = ({ placement = 'top', ...props }: PropsWithChildren<ITootipProps>) => {\n const media = useMedia();\n\n const ref = useRef<HTMLDivElement>(null);\n const refTooltip = useRef<HTMLDivElement>(null);\n const refArrow = useRef<HTMLDivElement>(null);\n\n const [opened, setOpened] = useState<boolean>(false);\n const [stylesTooltip, setStylesTooltip] = useState<CSSProperties>();\n const [stylesArrow, setStylesArrow] = useState<CSSProperties>();\n\n const scrollElement = useRef<HTMLElement>(null);\n\n const recalcPosition = useCallback(() => {\n if (!refTooltip.current || !ref.current) return;\n\n const targetElement = findTargetElement(ref.current);\n const res = recalcStyles(targetElement, refTooltip.current, placement as TooltipPosition);\n setStylesTooltip(res);\n setStylesArrow(recalcArrowStyles(targetElement, res, placement as TooltipPosition));\n }, []);\n\n useEffect(() => {\n return () => {\n setOpened(false);\n };\n }, []);\n\n useEffect(() => {\n recalcPosition();\n }, [props.title]);\n\n const onTouchStart = useCallback((e: ReactTouchEvent) => {\n e.stopPropagation();\n return;\n }, []);\n\n const onClose = useCallback((e?: Event | ReactMouseEvent) => {\n if (e instanceof Event && isCurrent(e, ref.current)) {\n return;\n }\n\n setOpened(false);\n setStylesTooltip(null);\n\n scrollElement.current && scrollElement.current.parentElement.removeEventListener('scroll', onClose);\n document.removeEventListener('scroll', onClose);\n document.body.removeEventListener('touchstart', onClose);\n document.body.removeEventListener('click', onClose);\n }, []);\n\n const onOpen = useCallback(\n (e: ReactMouseEvent) => {\n e.stopPropagation();\n if (opened) {\n media.mobile && onClose();\n return;\n }\n\n setOpened(true);\n props.onOpenChange && props.onOpenChange(true);\n\n setTimeout(() => {\n recalcPosition();\n\n const element = getScrollTopParent(ref.current);\n if (element) {\n scrollElement.current = element;\n element.parentElement.addEventListener('scroll', onClose);\n document.addEventListener('scroll', onClose);\n document.body.addEventListener('click', onClose);\n document.body.addEventListener('touchstart', onClose);\n }\n }, 0);\n },\n [props.onOpenChange, opened]\n );\n\n const title = useMemo(\n () => (\n <div ref={refTooltip} style={stylesTooltip} className={classNames(styles.tooltip, styles[placement])}>\n {props.title}\n <div ref={refArrow} style={stylesArrow} className={styles.arrow}></div>\n </div>\n ),\n [stylesTooltip, stylesArrow, props.title]\n );\n\n return (\n <div\n ref={ref}\n className={classNames(props.className)}\n onMouseOver={!media.mobile ? onOpen : null}\n onClick={media.mobile ? onOpen : null}\n onMouseLeave={!media.mobile ? onClose : null}\n onTouchStart={media.mobile ? onTouchStart : null}\n // onTouch={media.mobile ? onClose : null}\n >\n {props.children}\n {opened && props.title && createPortal(title, document.body)}\n </div>\n );\n\n // return <AntTooltip ref={ref} color=\"#212121\" {...props} overlayClassName=\"ant-tooltip-customize\" />;\n};\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Upload as AntdUpload, UploadFile, UploadProps } from 'antd';\nimport { UploadChangeParam } from 'antd/lib/upload';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport styles from './upload.module.scss';\n\ntype IUploadProps = UploadProps & {\n onUpload?: (file: File) => Promise<string>;\n onChange?: (link: string) => void;\n renderName?: (link: string) => string;\n path?: string;\n value: string;\n};\n\nexport const Upload = ({ onUpload, onChange, renderName, path = '', value, ...props }: IUploadProps) => {\n const [file, setFile] = useState<UploadFile[]>();\n\n useEffect(() => {\n setFile(value ? [\n {\n uid: '0',\n name: renderName ? renderName(value) : value,\n status: 'done',\n url: value,\n thumbUrl: value,\n },\n ] : undefined);\n }, [value]);\n\n const _onChange = useCallback((info: UploadChangeParam<UploadFile<any>>) => {\n const { file } = info;\n\n onChange && onChange(path ? `${path}${file.name}` : URL.createObjectURL(file.originFileObj as any));\n }, []);\n\n const onUploadFile = useCallback(async (file: File) => {\n let link = path ? `${path}${file.name}` : URL.createObjectURL(file);\n\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'uploading',\n url: link,\n thumbUrl: link,\n },\n ]);\n\n try {\n if (onUpload) {\n link = await onUpload(file);\n }\n\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'success',\n url: link,\n thumbUrl: link,\n },\n ]);\n } catch (e) {\n setFile([\n {\n uid: '0',\n name: file.name,\n status: 'error',\n url: link,\n thumbUrl: link,\n },\n ]);\n }\n\n return file.name;\n }, []);\n\n return (\n <AntdUpload.Dragger\n {...props}\n showUploadList={{ showRemoveIcon: false }}\n maxCount={1}\n className={styles.upload}\n action={onUploadFile}\n customRequest={() => {}}\n onChange={_onChange}\n fileList={file}\n listType=\"picture\"\n accept=\"image/png, image/jpeg\"\n >\n <Text bold>Выберите файл или перетащите сюда</Text>\n </AntdUpload.Dragger>\n );\n};\n","export const appleDetect = () => {\n try {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes(\"Mac\") && \"ontouchend\" in document)\n } catch (e) {\n return false;\n }\n}\n","const locale = 'ru-RU';\nconst units: { [key: string]: Intl.DateTimeFormatOptions } = {\n YYYY: {\n year: 'numeric',\n },\n YY: {\n year: '2-digit',\n },\n M: {\n month: 'numeric',\n },\n MM: {\n month: '2-digit',\n },\n MMM: {\n month: 'short',\n },\n MMMM: {\n month: 'long',\n },\n MMMMM: {\n month: 'long',\n },\n D: {\n day: 'numeric',\n },\n DD: {\n day: '2-digit',\n },\n d: {\n weekday: 'short',\n },\n dd: {\n weekday: 'long',\n },\n hh: {\n hour: '2-digit',\n },\n mm: {\n minute: '2-digit',\n },\n ss: {\n second: '2-digit',\n },\n};\n\ninterface IDateFormatOptions {\n plural?: boolean;\n utc?: boolean;\n}\n\nexport const getDate = (value: string = '') => {\n return new Date(value.replaceAll('_', 'Ё').split('.').reverse().join('/'));\n}\n\nexport const dateFormat = (value: any, format: string, { plural, utc }: IDateFormatOptions = { utc: true, plural: true }) => {\n let _value = new Date(value);\n\n if ((!value && value !== 0) || _value.getTime() !== _value.getTime()) {\n return null;\n }\n\n if (utc) {\n const userTimezoneOffset = _value.getTimezoneOffset() * 60000;\n _value = new Date(_value.getTime() + userTimezoneOffset);\n }\n\n const dateUnits = [];\n const dateItems = format.split(/\\, | \\- | |:|\\-|\\.|_/);\n const delimeters = format.split(/[DMYdhms]/).filter(Boolean);\n let stringDate = '';\n\n dateItems.forEach((item) => {\n let unit: string;\n\n if (/hh|mm|ss/.test(item)) {\n unit = _value.toLocaleTimeString(locale, units[item]);\n if (unit.length === 1) {\n unit = `0${unit}`;\n }\n } else if (plural && item === 'MMMM') {\n const options = Object.assign({ day: 'numeric' }, units[item]);\n unit = _value.toLocaleDateString(locale, options).split(' ')[1];\n } else if (item === 'MMM') {\n unit = _value.toLocaleDateString(locale, units[item]);\n unit = unit.slice(0, 3);\n } else if (item === 'MMMMM') {\n const options = Object.assign({ day: 'numeric' }, units[item]);\n unit = _value.toLocaleDateString(locale, options).split(' ')[1].toUpperCase();\n } else if (item === 'd') {\n unit = _value.toLocaleString(locale, units[item]);\n unit = unit.replace(/^./, (c) => c.toUpperCase());\n } else {\n unit = _value.toLocaleString(locale, units[item]);\n }\n\n // if (index === 0) {\n // unit = unit.toCapitalize();\n // }\n\n dateUnits.push(unit);\n });\n\n dateUnits.forEach((item, i) => {\n stringDate += item + (delimeters[i] ? delimeters[i] : '');\n });\n\n return stringDate;\n};\n","export const dateWithoutTimezone = (date: Date) => {\n return new Date(date.getTime() - date.getTimezoneOffset() * 60000)\n}\n\nexport const dateWithTimezone = (date: Date) => {\n return new Date(date.getTime() + date.getTimezoneOffset() * 60000)\n}\n","export const pluralize = (val: number, plurals: string[]): string => {\n if (val % 10 === 0 || (val % 10 > 4 && val % 10 < 10) || (val % 100 > 4 && val % 100 < 20)) {\n return plurals[2];\n }\n\n if (val % 10 > 1 && val % 10 < 5) {\n return plurals[1];\n }\n\n if (val % 10 === 1) {\n return plurals[0];\n }\n\n return '';\n};\n","export const priceFormat = (value: number | string) => {\n const price = Intl.NumberFormat('ru-RU', {\n currency: 'RUB',\n style: 'currency',\n minimumFractionDigits: 0,\n }).formatToParts(Math.ceil((+value || 0) / 100));\n\n const currencySign = price.find((cur) => cur.type === 'currency').value;\n\n return (\n price\n .map(({ type, value }) => {\n switch (type) {\n case 'currency':\n return null;\n default:\n return value;\n }\n })\n .filter(Boolean)\n .slice(0, -1)\n .reduce((val, part) => val + part, '') +\n ' ' +\n currencySign\n );\n};\n","const PREPOSITIONS = [\n 'в',\n 'во',\n 'без',\n 'до',\n 'из',\n 'к',\n 'ко',\n 'на',\n 'по',\n 'о',\n 'от',\n 'при',\n 'с',\n 'со',\n 'у',\n 'не',\n 'за',\n 'над',\n 'для',\n 'об',\n 'под',\n 'про',\n 'и',\n 'а',\n 'но',\n 'да',\n 'или',\n 'ли',\n 'бы',\n 'то',\n 'что',\n 'как',\n 'я',\n 'он',\n 'мы',\n 'они',\n 'ни',\n 'же',\n 'вы',\n 'им',\n '-',\n];\n\nconst ESCAPE = '&nbsp;';\nconst DASH = '&mdash;';\n\nconst replacement = (str) => str.slice(0, -1) + ESCAPE;\n\nconst decorate = (value: string) => {\n const regex = new RegExp(\n PREPOSITIONS.map((x) => {\n if (x === '-') {\n x = DASH;\n }\n return ' ' + x + ' ';\n }).join('|'),\n 'gi',\n );\n const formattedText = value.replace(regex, replacement);\n return formattedText;\n};\n\nexport const textSanitize = (value: string): string => {\n if (!value) {\n return value;\n }\n return decorate(value);\n};\n","const UNITS = [\n {\n label: 'ч',\n value: 60 * 60 * 1000,\n },\n {\n label: 'мин',\n value: 60 * 1000,\n },\n];\n\nexport const timeLeftMinutes = (time: number) => {\n return timeLeft(time * 1000 * 60);\n};\n\nexport const timeLeft = (time: number) => {\n let str = '';\n\n UNITS.forEach((unit) => {\n str += `${Math.floor(time / unit.value)} ${unit.label} `;\n time = time - Math.floor(time / unit.value) * unit.value;\n });\n\n return str;\n};\n","export { AutoComplete } from './components/auto-complete';\nexport { Breadcrumbs } from './components/breadcrumbs';\nexport { Button } from './components/button';\nexport { Checkbox } from './components/checkbox';\nexport { Counter } from './components/counter';\nexport { DatePicker } from './components/date-picker';\nexport { Divider } from './components/divider';\nexport { Dropdown } from './components/dropdown';\nexport { Form } from './components/form';\nexport { FormControl } from './components/form-control';\nexport { Heading } from './components/heading';\nexport { Icon } from './components/icon';\nexport { Input } from './components/input';\nexport { Link } from './components/link';\nexport { Loader } from './components/loader';\nexport { LoaderLine } from './components/loader-line';\nexport { MediaProvider, useMedia, withMedia, Media } from './components/media';\nexport type { IMediaMatches } from './components/media';\n\nexport { Menu } from './components/menu';\nexport { Modal, ModalProvider, useModal } from './components/modal';\nexport type { PropsWithModal } from './components/modal';\n\nexport { Radio } from './components/radio';\nexport { RangePicker } from './components/range-picker';\nexport { Select } from './components/select';\nexport { Selector } from './components/selector';\nexport { Skeleton } from './components/skeleton';\nexport { Slider } from './components/slider';\nexport { Spoiler } from './components/spoiler';\nexport { StackedInput } from './components/stacked-input';\nexport { Switch } from './components/switch';\nexport { TagBox } from './components/tag-box';\nexport { TagButton, TagButtonGroup } from './components/tag-button';\nexport { Text } from './components/text';\nexport { TextArea } from './components/text-area';\nexport { TextSpoiler } from './components/text-spoiler';\nexport { Tooltip } from './components/tooltip';\nexport { Upload } from './components/upload';\nexport * from './components/utils';\n"],"sourceRoot":""}