dt-shared-front 1.1.123 → 1.1.125
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 +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.css +28 -28
- package/dist/main.css.map +1 -1
- package/package.json +1 -1
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?e697","webpack://dt-shared-front/./src/components/text-area/text-area.module.scss?5343","webpack://dt-shared-front/./src/components/slider/slider.module.scss?8ab2","webpack://dt-shared-front/./src/components/button/button.module.scss?aeda","webpack://dt-shared-front/./src/components/text/text.module.scss?0257","webpack://dt-shared-front/./src/components/link/link.module.scss?cc09","webpack://dt-shared-front/./src/components/heading/heading.module.scss?0a5e","webpack://dt-shared-front/external \"formik\"","webpack://dt-shared-front/./src/components/loader/loader.module.scss?7566","webpack://dt-shared-front/./src/components/tag-button/tag-button.module.scss?b7f8","webpack://dt-shared-front/external \"antd/lib/date-picker/locale/ru_RU\"","webpack://dt-shared-front/./src/components/icon/icon.module.scss?8f11","webpack://dt-shared-front/./src/components/counter/counter.module.scss?3f07","webpack://dt-shared-front/./src/components/loader-line/loader-line.module.scss?ae46","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?04c4","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?fc09","webpack://dt-shared-front/./src/components/checkbox/checkbox.module.scss?92a4","webpack://dt-shared-front/./src/components/select/select.module.scss?5e45","webpack://dt-shared-front/./src/components/spoiler/spoiler.module.scss?1d68","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.module.scss?3e48","webpack://dt-shared-front/./src/components/tag-box/tag-box.module.scss?b3cb","webpack://dt-shared-front/./src/components/tooltip/tooltip.module.scss?8ed1","webpack://dt-shared-front/./src/components/rating/rating.module.scss?bbfa","webpack://dt-shared-front/external \"react-media\"","webpack://dt-shared-front/./src/components/divider/divider.module.scss?9fcb","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7b4e","webpack://dt-shared-front/external \"swiper/react\"","webpack://dt-shared-front/./src/components/switch/switch.module.scss?59ab","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.module.scss?71f3","webpack://dt-shared-front/external \"lodash\"","webpack://dt-shared-front/external \"inputmask\"","webpack://dt-shared-front/./src/components/dropdown/dropdown.module.scss?db17","webpack://dt-shared-front/./src/components/modal/modal.module.scss?6dbd","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/styles/main.scss?e39e","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/providers/shared.provider.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/icon/icons/rating.svg","webpack://dt-shared-front/./src/components/tooltip/tooltip.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/components/utils/index.ts","webpack://dt-shared-front/./src/components/upload/upload.tsx","webpack://dt-shared-front/./src/components/icon/icons/rating-active.svg","webpack://dt-shared-front/./src/components/rating/rating.tsx","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","ETextWeight","fillRule","clipRule","ELinkVariant","ELinkType","ELinkSize","Text","bold","weight","normal","addition","success","inverse","attention","warning","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","textWarning","sharedContext","SharedProvider","useShared","Link","link","href","dashed","rel","shared","linkBold","LinkComponent","Breadcrumbs","paths","onBack","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","onBeforeMask","onPointerUp","required","showClear","outlined","border","adaptive","debounceTime","beginSearch","NaN","mask","_loading","_setLoading","_mask","_setMask","innerRef","autoFocus","setTimeout","focus","remove","inputMask","greedy","dispatchEvent","Event","bubbles","input","invalid","inputClassNames","clearClassNames","clear","labelClassNames","_onSearchDebounce","callback","prev","_onSearch","_onClear","_onKeyPress","onKeyPress","Boolean","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","args","setError","console","log","setTouched","EHeadingLevel","EHeadingWeight","Heading","level","h1","centerText","HeadingTag","heading","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","html","document","firstElementChild","container","body","scrollTop","isOpen","overflowY","transform","overscrollBehavior","offsetHeight","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","_circle","SelectorRange","Selector","Skeleton","cx","cy","use","Slider","items","slidesPerView","renderItem","viewItem","loop","asyncReady","showNavigation","navPosition","spaceBetween","autoplay","delay","freeMode","showCounter","centeredSlides","classNamePrev","classNameNext","touchStartPreventDefault","overflow","preloadImages","shortSwipes","longSwipes","longSwipesMs","longSwipesRatio","preventClicks","preventClicksPropagation","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","speed","loopedSlides","onSlideChange","sw","realIndex","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","combineRef","resize","scrollHeight","delayedResize","window","init","textarea","textarea__disabled","TextSpoiler","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","opacity","recalcStyles","tooltipProperties","recalcArrowStyles","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","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","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","x","decorate","UNITS","timeLeftMinutes","time","floor","wzero","String","getTimeLeft","timeLeft","dateLeft","getHours","getMinutes","getSeconds","useTimeLeft","expireDate","onExpired","setTimeLeft","timeout","clearTimeout","uuidv4","crypto","getRandomValues","Uint8Array","toString","Upload","onUpload","renderName","showRemove","hiddenList","maxCount","files","setFiles","uid","status","url","thumbUrl","onRemove","onUploadFile","file","uuid","URL","createObjectURL","upload","Dragger","showUploadList","showRemoveIcon","customRequest","fileList","listType","accept","Rating","rating","stars","WebkitMaskImage","maskImage","readonly","buttons"],"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 = 46);\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_1710837218172\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1710837218172\",\"label\":\"shared__input-module__label--tNO2a_1710837218172\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1710837218172\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1710837218172\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1710837218172\",\"disabled\":\"shared__input-module__disabled--ABDAb_1710837218172\",\"invalid\":\"shared__input-module__invalid--e--FF_1710837218172\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1710837218172\",\"clear\":\"shared__input-module__clear--OvXQO_1710837218172\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1710837218172\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1710837218172\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1710837218172\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1710837218172\",\"icon\":\"shared__input-module__icon--zr4sW_1710837218172\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1710837218172\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1710837218172\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1710837218172\",\"loader\":\"shared__input-module__loader--QYYkV_1710837218172\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1710837218172\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1710837218172\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1710837218172\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1710837218172\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1710837218172\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1710837218172\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1710837218172\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1710837218172\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1710837218172\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1710837218172\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1710837218172\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1710837218172\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1710837218172\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1710837218172\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1710837218172\",\"clear\":\"shared__text-area-module__clear--cniAi_1710837218172\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1710837218172\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1710837218172\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1710837218172\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1710837218172\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1710837218172\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1710837218172\",\"icon\":\"shared__text-area-module__icon--HqPRa_1710837218172\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1710837218172\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1710837218172\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1710837218172\",\"loader\":\"shared__text-area-module__loader--zfGHC_1710837218172\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1710837218172\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1710837218172\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1710837218172\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1710837218172\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1710837218172\",\"ready\":\"shared__slider-module__ready--H+y-p_1710837218172\",\"slider\":\"shared__slider-module__slider--UBNwU_1710837218172\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1710837218172\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1710837218172\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1710837218172\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1710837218172\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1710837218172\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1710837218172\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1710837218172\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1710837218172\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1710837218172\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1710837218172\",\"button__small\":\"shared__button-module__button__small--kA9VI_1710837218172\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1710837218172\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1710837218172\",\"button__large\":\"shared__button-module__button__large--PG1dR_1710837218172\",\"button__default\":\"shared__button-module__button__default--mYOHn_1710837218172\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1710837218172\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1710837218172\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1710837218172\",\"loading\":\"shared__button-module__loading--IZ3gt_1710837218172\",\"icon\":\"shared__button-module__icon--Gso9o_1710837218172\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1710837218172\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1710837218172\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1710837218172\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1710837218172\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1710837218172\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1710837218172\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1710837218172\",\"loader\":\"shared__button-module__loader--v14UE_1710837218172\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1710837218172\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1710837218172\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1710837218172\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1710837218172\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1710837218172\",\"text__large\":\"shared__text-module__text__large--oRnU3_1710837218172\",\"text__normal\":\"shared__text-module__text__normal--EM-eZ_1710837218172\",\"text__semibold\":\"shared__text-module__text__semibold--8iUFE_1710837218172\",\"text__bold\":\"shared__text-module__text__bold--7+C1G_1710837218172\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1710837218172\",\"textBold\":\"shared__text-module__textBold--56jgD_1710837218172\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1710837218172\",\"textError\":\"shared__text-module__textError--MvnkN_1710837218172\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1710837218172\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1710837218172\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1710837218172\",\"textWarning\":\"shared__text-module__textWarning--S-MeA_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1710837218172\",\"link__link\":\"shared__link-module__link__link--gUwQW_1710837218172\",\"link__action\":\"shared__link-module__link__action--USwiE_1710837218172\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1710837218172\",\"link__addition\":\"shared__link-module__link__addition--N+nsf_1710837218172\",\"link__attention\":\"shared__link-module__link__attention--P5GDN_1710837218172\",\"link__default\":\"shared__link-module__link__default--SOoTy_1710837218172\",\"link__success\":\"shared__link-module__link__success--oWpqh_1710837218172\",\"link__error\":\"shared__link-module__link__error--SNmQa_1710837218172\",\"link__small\":\"shared__link-module__link__small--alNG-_1710837218172\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1710837218172\",\"link__large\":\"shared__link-module__link__large--2gcWq_1710837218172\",\"icon\":\"shared__link-module__icon--DUvf4_1710837218172\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1710837218172\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1710837218172\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1710837218172\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1710837218172\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1710837218172\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1710837218172\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1710837218172\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1710837218172\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1710837218172\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1710837218172\",\"heading__h6\":\"shared__heading-module__heading__h6--ZnM+T_1710837218172\",\"heading__weight_bold\":\"shared__heading-module__heading__weight_bold--6Hr8P_1710837218172\",\"heading__weight_medium\":\"shared__heading-module__heading__weight_medium--LAW22_1710837218172\",\"heading__weight_regular\":\"shared__heading-module__heading__weight_regular--vV61+_1710837218172\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1710837218172\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1710837218172\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1710837218172\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1710837218172\",\"textError\":\"shared__heading-module__textError--Bm1mE_1710837218172\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1710837218172\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1710837218172\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1710837218172\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1710837218172\",\"absolute\":\"shared__loader-module__absolute--nggvH_1710837218172\",\"active\":\"shared__loader-module__active--+b4cN_1710837218172\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1710837218172\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1710837218172\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1710837218172\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1710837218172\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1710837218172\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1710837218172\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1710837218172\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1710837218172\",\"loading\":\"shared__tag-button-module__loading--emtZM_1710837218172\",\"icon\":\"shared__tag-button-module__icon--LtczE_1710837218172\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1710837218172\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1710837218172\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1710837218172\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1710837218172\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1710837218172\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1710837218172\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1710837218172\",\"icon__extraSmall\":\"shared__icon-module__icon__extraSmall--QDZdT_1710837218172\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1710837218172\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1710837218172\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1710837218172\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1710837218172\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1710837218172\",\"active\":\"shared__icon-module__active--HQWC5_1710837218172\",\"icon__warning\":\"shared__icon-module__icon__warning--TjqHn_1710837218172\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1710837218172\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1710837218172\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1710837218172\",\"button\":\"shared__counter-module__button--sOvjE_1710837218172\",\"value\":\"shared__counter-module__value--JD2xM_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1710837218172\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1710837218172\",\"active\":\"shared__loader-line-module__active--0J8lF_1710837218172\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1710837218172\",\"border\":\"shared__loader-line-module__border--OXwgu_1710837218172\"};","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+_1710837218172\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1710837218172\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1710837218172\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1710837218172\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1710837218172\",\"text\":\"shared__breadcrumbs-module__text--x8KXW_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1710837218172\",\"error\":\"shared__checkbox-module__error--xRaxv_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1710837218172\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1710837218172\",\"disabled\":\"shared__select-module__disabled--gfQp-_1710837218172\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1710837218172\",\"optionText\":\"shared__select-module__optionText--7GphM_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1710837218172\",\"title\":\"shared__spoiler-module__title--N0ID7_1710837218172\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1710837218172\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1710837218172\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1710837218172\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1710837218172\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1710837218172\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1710837218172\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1710837218172\",\"left\":\"shared__tooltip-module__left--2nmo1_1710837218172\",\"right\":\"shared__tooltip-module__right--JgZSX_1710837218172\",\"top\":\"shared__tooltip-module__top--VsESz_1710837218172\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rating\":\"shared__rating-module__rating--eoGNU_1710837218172\",\"stars\":\"shared__rating-module__stars--dnMg4_1710837218172\",\"buttons\":\"shared__rating-module__buttons--oat0X_1710837218172\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1710837218172\",\"error\":\"shared__form-control-module__error--FVB3Z_1710837218172\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1710837218172\",\"active\":\"shared__switch-module__active--Mghyc_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1710837218172\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1710837218172\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1710837218172\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1710837218172\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1710837218172\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1710837218172\"};","module.exports = require(\"date-fns\");","module.exports = require(\"react-loading-skeleton\");","module.exports = require(\"react-dom\");","// extracted by mini-css-extract-plugin\nmodule.exports = {};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"swiper-container\":\"swiper-container\",\"swiper-container-vertical\":\"swiper-container-vertical\",\"swiper-wrapper\":\"swiper-wrapper\",\"swiper-container-android\":\"swiper-container-android\",\"swiper-slide\":\"swiper-slide\",\"swiper-container-multirow\":\"swiper-container-multirow\",\"swiper-container-multirow-column\":\"swiper-container-multirow-column\",\"swiper-container-free-mode\":\"swiper-container-free-mode\",\"swiper-container-pointer-events\":\"swiper-container-pointer-events\",\"swiper-slide-invisible-blank\":\"swiper-slide-invisible-blank\",\"swiper-container-autoheight\":\"swiper-container-autoheight\",\"swiper-container-3d\":\"swiper-container-3d\",\"swiper-slide-shadow-left\":\"swiper-slide-shadow-left\",\"swiper-slide-shadow-right\":\"swiper-slide-shadow-right\",\"swiper-slide-shadow-top\":\"swiper-slide-shadow-top\",\"swiper-slide-shadow-bottom\":\"swiper-slide-shadow-bottom\",\"swiper-cube-shadow\":\"swiper-cube-shadow\",\"swiper-container-css-mode\":\"swiper-container-css-mode\",\"swiper-container-horizontal\":\"swiper-container-horizontal\",\"swiper-button-prev\":\"swiper-button-prev\",\"swiper-button-next\":\"swiper-button-next\",\"swiper-button-disabled\":\"swiper-button-disabled\",\"swiper-container-rtl\":\"swiper-container-rtl\",\"swiper-button-white\":\"swiper-button-white\",\"swiper-button-black\":\"swiper-button-black\",\"swiper-button-lock\":\"swiper-button-lock\",\"ant-collapse-header\":\"ant-collapse-header\",\"ant-collapse-content\":\"ant-collapse-content\",\"ant-collapse-content-box\":\"ant-collapse-content-box\",\"modal-no-padding\":\"modal-no-padding\",\"ant-modal-body\":\"ant-modal-body\",\"ant-modal-content\":\"ant-modal-content\",\"ant-select\":\"ant-select\",\"ant-select-customize-input\":\"ant-select-customize-input\",\"ant-select-selection-search-input\":\"ant-select-selection-search-input\",\"select-stacked\":\"select-stacked\",\"ant-select-arrow\":\"ant-select-arrow\",\"ant-select-clear\":\"ant-select-clear\",\"ant-select-selector\":\"ant-select-selector\",\"ant-select-selection-item\":\"ant-select-selection-item\",\"ant-select-loading\":\"ant-select-loading\",\"custom-suffix-icon\":\"custom-suffix-icon\",\"ant-select-selection-placeholder\":\"ant-select-selection-placeholder\",\"ant-select-selection-search\":\"ant-select-selection-search\",\"input-no-border\":\"input-no-border\",\"ant-select-open\":\"ant-select-open\",\"ant-select-disabled\":\"ant-select-disabled\",\"select-error\":\"select-error\",\"ant-tag-box-customize-input\":\"ant-tag-box-customize-input\",\"ant-select-selection-item-remove\":\"ant-select-selection-item-remove\",\"ant-select-selection-overflow\":\"ant-select-selection-overflow\",\"ant-select-multiple\":\"ant-select-multiple\",\"ant-select-focused\":\"ant-select-focused\",\"ant-select-dropdown\":\"ant-select-dropdown\",\"rc-virtual-list-holder-inner\":\"rc-virtual-list-holder-inner\",\"ant-select-item\":\"ant-select-item\",\"ant-select-item-option\":\"ant-select-item-option\",\"ant-select-item-option-active\":\"ant-select-item-option-active\",\"ant-select-item-option-disabled\":\"ant-select-item-option-disabled\",\"ant-select-item-option-selected\":\"ant-select-item-option-selected\",\"ant-radio-group-customize\":\"ant-radio-group-customize\",\"horizontal\":\"horizontal\",\"vertical\":\"vertical\",\"ant-radio-customize\":\"ant-radio-customize\",\"ant-radio-wrapper\":\"ant-radio-wrapper\",\"ant-radio\":\"ant-radio\",\"ant-radio-disabled\":\"ant-radio-disabled\",\"ant-radio-inner\":\"ant-radio-inner\",\"ant-radio-input\":\"ant-radio-input\",\"ant-radio-checked\":\"ant-radio-checked\",\"ant-picker-dropdown\":\"ant-picker-dropdown\",\"ant-picker-dropdown-range\":\"ant-picker-dropdown-range\",\"ant-picker\":\"ant-picker\",\"ant-picker-borderless\":\"ant-picker-borderless\",\"ant-picker-range-wrapper\":\"ant-picker-range-wrapper\",\"date-picker-error\":\"date-picker-error\",\"ant-picker-disabled\":\"ant-picker-disabled\",\"ant-picker-suffix\":\"ant-picker-suffix\",\"ant-picker-active-bar\":\"ant-picker-active-bar\",\"ant-picker-input\":\"ant-picker-input\",\"ant-picker-focused\":\"ant-picker-focused\",\"ant-picker-clear\":\"ant-picker-clear\",\"ant-picker-panel-container\":\"ant-picker-panel-container\",\"ant-picker-panel\":\"ant-picker-panel\",\"ant-picker-cell\":\"ant-picker-cell\",\"ant-picker-cell-inner\":\"ant-picker-cell-inner\",\"ant-picker-content\":\"ant-picker-content\",\"ant-picker-header\":\"ant-picker-header\",\"ant-picker-footer\":\"ant-picker-footer\",\"ant-picker-header-super-next-btn\":\"ant-picker-header-super-next-btn\",\"ant-picker-header-super-prev-btn\":\"ant-picker-header-super-prev-btn\",\"ant-picker-prev-icon\":\"ant-picker-prev-icon\",\"ant-picker-next-icon\":\"ant-picker-next-icon\",\"ant-picker-date-panel\":\"ant-picker-date-panel\",\"ant-picker-header-view\":\"ant-picker-header-view\",\"ant-picker-month-btn\":\"ant-picker-month-btn\",\"ant-picker-year-btn\":\"ant-picker-year-btn\",\"ant-picker-header-prev-btn\":\"ant-picker-header-prev-btn\",\"ant-picker-header-next-btn\":\"ant-picker-header-next-btn\",\"ant-picker-range\":\"ant-picker-range\",\"ant-picker-cell-in-view\":\"ant-picker-cell-in-view\",\"ant-picker-cell-selected\":\"ant-picker-cell-selected\",\"ant-picker-cell-range-start\":\"ant-picker-cell-range-start\",\"ant-picker-cell-range-end\":\"ant-picker-cell-range-end\",\"ant-picker-cell-range-hover-start\":\"ant-picker-cell-range-hover-start\",\"ant-picker-cell-in-range\":\"ant-picker-cell-in-range\",\"ant-picker-cell-range-hover-end\":\"ant-picker-cell-range-hover-end\",\"ant-picker-cell-range-start-single\":\"ant-picker-cell-range-start-single\",\"ant-picker-cell-range-end-near-hover\":\"ant-picker-cell-range-end-near-hover\",\"ant-picker-cell-range-start-near-hover\":\"ant-picker-cell-range-start-near-hover\",\"ant-picker-cell-range-end-single\":\"ant-picker-cell-range-end-single\",\"ant-picker-cell-range-hover\":\"ant-picker-cell-range-hover\",\"ant-picker-cell-end\":\"ant-picker-cell-end\",\"ant-picker-cell-range-hover-edge-end\":\"ant-picker-cell-range-hover-edge-end\",\"ant-picker-cell-range-hover-edge-end-near-range\":\"ant-picker-cell-range-hover-edge-end-near-range\",\"ant-picker-cell-start\":\"ant-picker-cell-start\",\"ant-picker-cell-range-hover-edge-start\":\"ant-picker-cell-range-hover-edge-start\",\"ant-picker-cell-range-hover-edge-start-near-range\":\"ant-picker-cell-range-hover-edge-start-near-range\",\"ant-picker-panels\":\"ant-picker-panels\",\"ant-picker-footer-extra\":\"ant-picker-footer-extra\",\"ant-tooltip-customize\":\"ant-tooltip-customize\",\"ant-tooltip-inner\":\"ant-tooltip-inner\",\"ant-slider-tooltip\":\"ant-slider-tooltip\",\"ant-tooltip-arrow-content\":\"ant-tooltip-arrow-content\",\"ant-slider\":\"ant-slider\",\"ant-slider-track\":\"ant-slider-track\",\"ant-slider-rail\":\"ant-slider-rail\",\"ant-slider-handle\":\"ant-slider-handle\",\"ant-tooltip-open\":\"ant-tooltip-open\",\"ant-modal-full\":\"ant-modal-full\",\"ant-modal-close\":\"ant-modal-close\",\"ant-modal-sidebar\":\"ant-modal-sidebar\",\"ant-modal-footer-fixed\":\"ant-modal-footer-fixed\",\"ant-modal-footer\":\"ant-modal-footer\",\"ant-modal-header\":\"ant-modal-header\",\"ant-modal-title\":\"ant-modal-title\",\"ant-modal-close-x\":\"ant-modal-close-x\",\"am-modal-wrap\":\"am-modal-wrap\",\"am-modal\":\"am-modal\",\"am-modal-body\":\"am-modal-body\",\"am-modal-content\":\"am-modal-content\",\"am-modal-close\":\"am-modal-close\",\"ant-modal-wrap\":\"ant-modal-wrap\",\"am-modal-header\":\"am-modal-header\",\"am-modal-title\":\"am-modal-title\",\"ant-upload\":\"ant-upload\",\"ant-upload-drag\":\"ant-upload-drag\",\"ant-upload-disabled\":\"ant-upload-disabled\",\"ant-upload-drag-hover\":\"ant-upload-drag-hover\",\"ant-upload-list-item-name\":\"ant-upload-list-item-name\",\"ant-upload-animate-leave\":\"ant-upload-animate-leave\",\"react-loading-skeleton\":\"react-loading-skeleton\",\"ant-dropdown-menu\":\"ant-dropdown-menu\",\"ant-dropdown-menu-item\":\"ant-dropdown-menu-item\",\"ant-dropdown-menu-submenu-title\":\"ant-dropdown-menu-submenu-title\",\"ant-dropdown-menu-item-selected\":\"ant-dropdown-menu-item-selected\",\"ant-dropdown-menu-submenu-title-selected\":\"ant-dropdown-menu-submenu-title-selected\",\"horizontal-scroll\":\"horizontal-scroll\",\"slider\":\"slider\",\"swiper-pagination\":\"swiper-pagination\",\"overflow\":\"overflow\"};","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 extraSmall = 'extraSmall',\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\nexport enum ETextWeight {\n bold = 'bold',\n semibold = 'semibold',\n normal = 'normal',\n}\n\ninterface ITextProps {\n size?: keyof typeof ETextSize;\n children?: any;\n bold?: boolean;\n weight?: keyof typeof ETextWeight;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n warning?: boolean;\n error?: boolean;\n className?: string;\n inverse?: boolean;\n style?: any;\n through?: boolean;\n tag?: string;\n}\n\nexport const Text = ({\n children,\n size = ETextSize.medium,\n bold,\n weight = ETextWeight.normal,\n addition,\n success,\n error,\n inverse,\n attention,\n warning,\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}`], styles[`text__${weight}`], {\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 [styles.textWarning]: warning\n }),\n [size, className, addition, bold, weight, success, attention, error, inverse, warning],\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';\nimport { useShared } from '../../providers/shared.provider';\n\nexport enum ELinkVariant {\n link = 'link',\n href = 'href',\n action = 'action',\n}\n\nexport enum ELinkType {\n attention = 'attention',\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 style?: any;\n tag?: string;\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 style,\n tag = 'div',\n}: ILinkProps) => {\n const TextTag = useMemo(() => tag as any, [tag]);\n\n const shared = useShared();\n\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 || (variant === ELinkVariant.link && !shared.LinkComponent)) {\n return (\n <a className={classNames} target={target} rel={rel} href={href} style={style}>\n {children}\n </a>\n );\n }\n\n if (variant === ELinkVariant.link) {\n return (\n <shared.LinkComponent href={href}>\n <a className={classNames} target={target} rel={rel} style={style}>\n {children}\n </a>\n </shared.LinkComponent>\n );\n }\n\n return (\n <TextTag className={classNames} onClick={onClick} style={style}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n </TextTag>\n );\n};\n","import React from 'react';\n\nimport { createContext, PropsWithChildren, useContext } from \"react\";\n\ntype ISharedContextPrivate = {\n LinkComponent?: any;\n};\n\ninterface ISharedProviderProps {\n LinkComponent?: any;\n}\n\nconst sharedContext = createContext<ISharedContextPrivate>(null);\n\nexport const SharedProvider = ({ children, ...props }: PropsWithChildren<ISharedProviderProps>) => {\n return <sharedContext.Provider value={props}>\n {children}\n </sharedContext.Provider>;\n};\n\nexport const useShared = () => {\n const data = useContext(sharedContext);\n\n return data;\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: \"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 onBack?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onBack }: 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 onBack && onBack(paths[paths.length - 1].path);\n } else {\n onBack && onBack('/');\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 className={styles.text} size=\"large\" attention={item.isCurrent} weight=\"semibold\">{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 { Icon as SharedIcon } from '../icon';\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 onBeforeMask?: (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 onBeforeMask,\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 if (props.autoFocus) {\n setTimeout(() => {\n innerRef.current.focus();\n }, 1);\n }\n }, [props.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\n const inputMask = new Inputmask({ mask, greedy: false, onBeforeMask });\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 {Boolean(showClear && _value) && <SharedIcon 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={props.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?: any;\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: any) => {\n helpers.setValue(value);\n helpers.setError(undefined);\n\n onChange && setTimeout(() => {\n if (onChange) {\n console.log(args, onChange, value);\n onChange(value, args);\n }\n }, 0);\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 h6\n}\n\nexport enum EHeadingWeight {\n bold = 'bold',\n medium = 'medium',\n regular = 'regular'\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 weight?: keyof typeof EHeadingWeight\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 weight,\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 styles[`heading__weight_${weight}`],\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, weight, warning, success, attention, centerText, level],\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 classNames from 'classnames';\nimport LoaderIcon from '../icon/icons/loader.svg';\n\nimport styles from './loader.module.scss';\n\ninterface ILoaderProps {\n absolute?: boolean;\n fixed?: boolean;\n active?: boolean;\n}\n\nexport const Loader = (props: ILoaderProps) => {\n if (props.absolute) {\n return (\n <div className={classNames(styles.absolute, { [styles.active]: props.active })}>\n {props.active && <LoaderIcon className={styles.loader} />}\n </div>\n );\n }\n\n if (props.fixed) {\n return (\n <div className={classNames(styles.fixed, { [styles.active]: props.active })}>\n {props.active && <LoaderIcon className={styles.loader} />}\n </div>\n );\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 useEffect(() => {\n const html = document.firstElementChild as HTMLElement;\n const container = document.body.firstElementChild as HTMLDivElement;\n const scrollTop = html.scrollTop;\n const isOpen = open;\n if (open) {\n document.body.style.overflowY = 'auto';\n html.style.overflowY = 'hidden';\n container.style.transform = `translateY(-${scrollTop}px)`;\n html.style.overscrollBehavior = 'none'\n }\n\n return () => {\n document.body.style.overflowY = '';\n html.style.overflowY = '';\n container.style.transform = '';\n html.style.overscrollBehavior = '';\n\n if (isOpen) {\n let item = html.offsetHeight;\n console.log(item);\n html.scrollTop = scrollTop;\n }\n }\n }, [open]);\n\n useEffect(() => {\n return () => {\n const html = document.firstElementChild as HTMLElement;\n const container = document.body.firstElementChild as HTMLDivElement;\n\n document.body.style.overflowY = '';\n html.style.overflowY = '';\n container.style.transform = '';\n html.style.overscrollBehavior = '';\n }\n }, [])\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 document.body.style.overflowY = '';\n }}\n width={_width}\n closeIcon={<Icon size=\"large\" icon={ModalCloseIcon} />}\n onCancel={handleCancel}\n title={typeof _title === 'string' ? <Heading level={4}>{_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 ClearIcon from '../icon/icons/clear.svg';\nimport DatePickerIcon from '../icon/icons/date-picker.svg';\n\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nimport { Icon } from '../icon';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IRangePickerProps = {\n isFromToday?: boolean;\n onClear?: (e: any) => void;\n} & ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const RangePicker = forwardRef(({onClear, ...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\n locale={locale}\n pickerRef={ref as any}\n {...props}\n disabledDate={disabledDate}\n suffixIcon={props.suffixIcon || <Icon icon={DatePickerIcon} />}\n clearIcon={<div onClick={onClear}><Icon icon={ClearIcon} /></div>}\n />;\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,\n stacked,\n error,\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 if (!onServerSearch && !onServerSearchGroup) {\n setFetching(false);\n }\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 }).catch(() => {\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 }).catch(() => {\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={fetching || props.loading}\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': error, 'select-stacked': stacked, 'select-loading': fetching })}\n suffixIcon={suffixIcon ? suffixIcon : <Icon icon={SelectArrowIcon} />}\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 _circle, _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 SvgArrowNext(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 49 48\",\n fill: \"none\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24,\n cy: 24,\n r: 24,\n transform: \"matrix(-1 0 0 1 48.5 0)\",\n fill: \"#F6F6F6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.793 17.293a1 1 0 000 1.414L26.086 24l-5.293 5.293a1 1 0 001.414 1.414l6-6a1 1 0 000-1.414l-6-6a1 1 0 00-1.414 0z\",\n fill: \"#000\"\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 _circle, _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 SvgArrowPrev(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 49 48\",\n fill: \"none\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24.5,\n cy: 24,\n r: 24,\n fill: \"#F6F6F6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.207 17.293a1 1 0 010 1.414L22.914 24l5.293 5.293a1 1 0 01-1.414 1.414l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 0z\",\n fill: \"#000\"\n })));\n}\n\nexport default SvgArrowPrev;","import React, { useEffect } 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 delay?: number;\n freeMode?: boolean;\n showCounter?: boolean;\n centeredSlides?: boolean;\n className?: string;\n classNamePrev?: string;\n classNameNext?: string;\n touchStartPreventDefault?: boolean;\n overflow?: boolean;\n preloadImages?: boolean;\n shortSwipes?: boolean;\n longSwipes?: boolean;\n longSwipesRatio?: number;\n longSwipesMs?: number;\n preventClicks?: boolean\n preventClicksPropagation?: 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 = false,\n delay = 10000,\n freeMode,\n showCounter,\n centeredSlides,\n className,\n classNamePrev,\n classNameNext,\n touchStartPreventDefault,\n overflow,\n preloadImages,\n shortSwipes = true,\n longSwipes = true,\n longSwipesMs = 300,\n longSwipesRatio = 0.5,\n preventClicks = true,\n preventClicksPropagation = true,\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, overflow],\n );\n\n const onSlideItem = useCallback((indexItem) => {\n const findItem = items.find((_, index) => index === indexItem);\n viewItem(findItem, indexItem);\n }, [viewItem]);\n\n useEffect(() => {\n if (asyncReady) {\n setReady(true);\n }\n }, [asyncReady]);\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 preventClicks={preventClicks}\n preventClicksPropagation={preventClicksPropagation}\n shortSwipes={shortSwipes}\n longSwipes={longSwipes}\n longSwipesRatio={longSwipesRatio}\n longSwipesMs={longSwipesMs}\n loop={(loop && items?.length > slidesPerView) || (loop && slidesPerView === 'auto')}\n speed={1000}\n touchStartPreventDefault={touchStartPreventDefault}\n preloadImages={preloadImages}\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,\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 && items.length > 1 && (\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, { useEffect } from 'react';\n\nimport { Input, IInputProps } from '@shared/input';\nimport { Select } from '@shared/select';\nimport cn from 'classnames';\nimport { ComponentProps, 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 autoFocus?: boolean;\n showClear?: boolean;\n placeholder?: string;\n labelPlaceholder?: string;\n mask?: IInputProps['mask'];\n value?: string\n onRenderOption?: (item: T) => ReactNode;\n} & ComponentProps<typeof Input> & 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 useEffect(() => {\n setKey(option);\n }, [option]);\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 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 custom = 'custom'\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, active: boolean) => 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, value === item) : 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","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 SvgRating(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 136 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.62 7.972L12.567.395a.605.605 0 00-1.135 0L8.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.45.992.917.697L12 19.658l6.716 4.246c.466.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM43.62 7.972L40.567.395a.605.605 0 00-1.135 0L36.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L40 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM71.62 7.972L68.567.395a.605.605 0 00-1.135 0L64.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L68 19.658l6.716 4.246c.467.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM99.62 7.972L96.567.395a.605.605 0 00-1.135 0L92.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L96 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM127.62 7.972L124.567.395A.602.602 0 00124 0a.604.604 0 00-.568.395l-3.053 7.577-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.451.992.917.697L124 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705z\",\n fill: \"#C8C8C8\"\n })));\n}\n\nexport default SvgRating;","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","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 = ' ';\nconst DASH = '—';\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","import { useEffect, useState } from \"react\";\nimport { dateFormat } from \"./date-format\";\nimport { dateWithTimezone } from \"./date\";\n\nconst 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\n if (Math.floor(time / unit.value)) {\n str += `${Math.floor(time / unit.value)} ${unit.label} `;\n }\n\n time = time - Math.floor(time / unit.value) * unit.value;\n });\n\n return str;\n};\n\nconst wzero = (input: number) => (input > 9 ? String(input) : `0${input > -1 ? input : '0'}`);\nconst getTimeLeft = (date: Date) => {\n const timeLeft = date.getTime() - new Date().getTime();\n\n if (timeLeft >= 24 * 60 * 60 * 1000) {\n return `до ${dateFormat(date, 'D MMMM hh:mm')}`;\n }\n\n if (timeLeft < 0) {\n return null;\n }\n\n const dateLeft = dateWithTimezone(new Date(timeLeft));\n return `${wzero(dateLeft.getHours())}:${wzero(dateLeft.getMinutes())}:${wzero(dateLeft.getSeconds())}`;\n};\n\ninterface IUseTimeLeftProps {\n expireDate: Date;\n onExpired: () => void;\n}\n\nexport const useTimeLeft = ({ expireDate = new Date(0), onExpired }: IUseTimeLeftProps) => {\n const [timeLeft, setTimeLeft] = useState(getTimeLeft(expireDate));\n\n useEffect(() => {\n setTimeLeft(getTimeLeft(expireDate));\n\n const timeout = setTimeout(() => {\n setTimeLeft(getTimeLeft(expireDate));\n }, 1000);\n\n if (!timeLeft) {\n onExpired();\n }\n\n return () => clearTimeout(timeout);\n }, [timeLeft, expireDate]);\n\n return timeLeft;\n};\n","export { appleDetect } from './apple-detect';\nexport { useCombinedRefs } from './combine-ref';\nexport { dateFormat, getDate } from './date-format';\nexport { dateWithTimezone, dateWithoutTimezone } from './date';\nexport { pluralize } from './pluralize'\nexport { priceFormat } from './price-format'\nexport { textSanitize } from './text-sanitize'\nexport { timeLeft, timeLeftMinutes, useTimeLeft } from './time-left'\n\nexport const uuidv4 = () => {\n return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g, c =>\n (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)\n );\n}\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Upload as AntdUpload, UploadFile, UploadProps } from 'antd';\nimport { PropsWithChildren, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport styles from './upload.module.scss';\nimport { uuidv4 } from '@shared/utils';\nimport classNames from 'classnames';\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 maxCount?: number;\n showRemove?: boolean;\n hiddenList?: boolean;\n};\n\nexport const Upload = ({ onUpload, onChange, renderName, showRemove, hiddenList, maxCount, path = '', value, ...props }: PropsWithChildren<IUploadProps>) => {\n const [files, setFiles] = useState<UploadFile[]>([]);\n\n useEffect(() => {\n setFiles(value ? value?.map((val, index) => ({\n uid: `${index}`,\n name: renderName ? renderName(val) : '',\n status: 'done',\n url: val,\n thumbUrl: val,\n })) : []);\n }, [value]);\n\n const onRemove = useCallback((item) => {\n let items = [];\n setFiles(prev => items = prev.filter(i => i !== item));\n onChange(items.map(i => i.url));\n }, []);\n\n const _onChange = () => {\n setFiles(file => {\n onChange(file.map(i => i.url));\n return file;\n })\n };\n\n const onUploadFile = useCallback(async (file: File) => {\n if (maxCount && files.length >= maxCount) {\n return '';\n }\n\n const uuid = uuidv4();\n let link = path ? `${path}${file.name}` : URL.createObjectURL(file);\n\n setFiles(prev => [...prev,\n {\n uid: uuid,\n name: renderName ? renderName(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 setFiles(prev => [...prev.filter(item => item.uid !== uuid),\n {\n uid: uuid,\n name: renderName ? renderName(file.name) : '',\n status: 'success',\n url: link,\n thumbUrl: link,\n },\n ]);\n } catch (e) {\n setFiles(prev => [...prev.filter(item => item.uid !== uuid)]);\n }\n\n return link;\n }, [files]);\n\n const className = useMemo(() => classNames(styles.upload, props.className), [props.className]);\n\n return (\n <AntdUpload.Dragger\n {...props}\n showUploadList={hiddenList ? false : { showRemoveIcon: showRemove } }\n maxCount={maxCount}\n className={className}\n action={onUploadFile}\n customRequest={() => {}}\n onChange={_onChange}\n fileList={files}\n listType=\"picture\"\n accept=\"image/png, image/jpeg\"\n onRemove={onRemove}\n >\n {props.children || <Text bold>Выберите файл или перетащите сюда</Text>}\n </AntdUpload.Dragger>\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 SvgRatingActive(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 136 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.62 7.972L12.567.395a.605.605 0 00-1.135 0L8.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.45.992.917.697L12 19.658l6.716 4.246c.466.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM43.62 7.972L40.567.395a.605.605 0 00-1.135 0L36.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L40 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM71.62 7.972L68.567.395a.605.605 0 00-1.135 0L64.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L68 19.658l6.716 4.246c.467.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM99.62 7.972L96.567.395a.605.605 0 00-1.135 0L92.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L96 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM127.62 7.972L124.567.395A.602.602 0 00124 0a.604.604 0 00-.568.395l-3.053 7.577-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.451.992.917.697L124 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705z\",\n fill: \"#8227C7\"\n })));\n}\n\nexport default SvgRatingActive;","import React, { useCallback, useEffect, useState } from \"react\";\nimport RatingIcon from './../icon/icons/rating.svg';\nimport RatingActiveIcon from './../icon/icons/rating-active.svg';\n\nimport styles from './rating.module.scss';\n\ninterface IRatingProps {\n value: number;\n onChange?: (val: number) => void;\n readonly?: boolean;\n}\n\nexport const Rating = (props: IRatingProps) => {\n const [value, setValue] = useState(0);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value])\n\n const onChange = useCallback((index: number) => {\n setValue(index + 1);\n\n props.onChange && props.onChange(index + 1);\n }, [props.onChange]);\n\n return <div className={styles.rating}>\n <RatingIcon />\n {!!props.value && <RatingActiveIcon className={styles.stars} style={{\n WebkitMaskImage: `linear-gradient(to right, #FF00FFFF 0 ${(100 / 5) * value}%, #00FF0011 ${(100 / 5) * value}% 100%)`,\n maskImage: `linear-gradient(to right, #FF00FFFF 0 ${(100 / 5) * value}%, #00FF0011 ${(100 / 5) * value}% 100%)`\n }} />}\n {!props.readonly && <div className={styles.buttons}>\n {[0, 1, 2, 3, 4].map(item => <div onClick={onChange.bind(null, item)} key={item}></div>)}\n </div>}\n </div>\n}\n","import './styles/main.scss';\n\nexport { AutoComplete } from './components/auto-complete';\nexport { Breadcrumbs } from './components/breadcrumbs';\nexport type { IBreadcrumbsPath } from './components/breadcrumbs';\n\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 { SharedProvider, useShared } from './providers/shared.provider';\nexport * from './components/utils';\nexport { Rating } from './components/rating';\nexport { SelectorRange } from './components/selector';\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?e697","webpack://dt-shared-front/./src/components/text-area/text-area.module.scss?5343","webpack://dt-shared-front/./src/components/slider/slider.module.scss?8ab2","webpack://dt-shared-front/./src/components/button/button.module.scss?aeda","webpack://dt-shared-front/./src/components/text/text.module.scss?0257","webpack://dt-shared-front/./src/components/link/link.module.scss?cc09","webpack://dt-shared-front/./src/components/heading/heading.module.scss?0a5e","webpack://dt-shared-front/external \"formik\"","webpack://dt-shared-front/./src/components/loader/loader.module.scss?7566","webpack://dt-shared-front/./src/components/tag-button/tag-button.module.scss?b7f8","webpack://dt-shared-front/external \"antd/lib/date-picker/locale/ru_RU\"","webpack://dt-shared-front/./src/components/icon/icon.module.scss?8f11","webpack://dt-shared-front/./src/components/counter/counter.module.scss?3f07","webpack://dt-shared-front/./src/components/loader-line/loader-line.module.scss?ae46","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?04c4","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?fc09","webpack://dt-shared-front/./src/components/checkbox/checkbox.module.scss?92a4","webpack://dt-shared-front/./src/components/select/select.module.scss?5e45","webpack://dt-shared-front/./src/components/spoiler/spoiler.module.scss?1d68","webpack://dt-shared-front/./src/components/stacked-input/stacked-input.module.scss?3e48","webpack://dt-shared-front/./src/components/tag-box/tag-box.module.scss?b3cb","webpack://dt-shared-front/./src/components/tooltip/tooltip.module.scss?8ed1","webpack://dt-shared-front/./src/components/rating/rating.module.scss?bbfa","webpack://dt-shared-front/external \"react-media\"","webpack://dt-shared-front/./src/components/divider/divider.module.scss?9fcb","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7b4e","webpack://dt-shared-front/external \"swiper/react\"","webpack://dt-shared-front/./src/components/switch/switch.module.scss?59ab","webpack://dt-shared-front/./src/components/text-spoiler/text-spoiler.module.scss?71f3","webpack://dt-shared-front/external \"lodash\"","webpack://dt-shared-front/external \"inputmask\"","webpack://dt-shared-front/./src/components/dropdown/dropdown.module.scss?db17","webpack://dt-shared-front/./src/components/modal/modal.module.scss?6dbd","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/styles/main.scss?e39e","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/providers/shared.provider.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/icon/icons/rating.svg","webpack://dt-shared-front/./src/components/tooltip/tooltip.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/components/utils/index.ts","webpack://dt-shared-front/./src/components/upload/upload.tsx","webpack://dt-shared-front/./src/components/icon/icons/rating-active.svg","webpack://dt-shared-front/./src/components/rating/rating.tsx","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","ETextWeight","fillRule","clipRule","ELinkVariant","ELinkType","ELinkSize","Text","bold","weight","normal","addition","success","inverse","attention","warning","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","textWarning","sharedContext","SharedProvider","useShared","Link","link","href","dashed","rel","shared","linkBold","LinkComponent","Breadcrumbs","paths","onBack","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","onBeforeMask","onPointerUp","required","showClear","outlined","border","adaptive","debounceTime","beginSearch","NaN","mask","_loading","_setLoading","_mask","_setMask","innerRef","autoFocus","setTimeout","focus","remove","inputMask","greedy","dispatchEvent","Event","bubbles","input","invalid","inputClassNames","clearClassNames","clear","labelClassNames","_onSearchDebounce","callback","prev","_onSearch","_onClear","_onKeyPress","onKeyPress","Boolean","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","args","setError","console","log","setTouched","EHeadingLevel","EHeadingWeight","Heading","level","h1","centerText","HeadingTag","heading","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","html","document","firstElementChild","container","body","scrollTop","isOpen","overflowY","transform","overscrollBehavior","offsetHeight","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","_circle","SelectorRange","Selector","Skeleton","cx","cy","use","Slider","items","slidesPerView","renderItem","viewItem","loop","asyncReady","showNavigation","navPosition","spaceBetween","autoplay","delay","freeMode","showCounter","centeredSlides","classNamePrev","classNameNext","touchStartPreventDefault","overflow","preloadImages","shortSwipes","longSwipes","longSwipesMs","longSwipesRatio","preventClicks","preventClicksPropagation","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","speed","loopedSlides","onSlideChange","sw","realIndex","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","combineRef","resize","scrollHeight","delayedResize","window","init","textarea","textarea__disabled","TextSpoiler","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","opacity","recalcStyles","tooltipProperties","recalcArrowStyles","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","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","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","x","decorate","UNITS","timeLeftMinutes","time","floor","wzero","String","getTimeLeft","timeLeft","dateLeft","getHours","getMinutes","getSeconds","useTimeLeft","expireDate","onExpired","setTimeLeft","timeout","clearTimeout","uuidv4","crypto","getRandomValues","Uint8Array","toString","Upload","onUpload","renderName","showRemove","hiddenList","maxCount","files","setFiles","uid","status","url","thumbUrl","onRemove","onUploadFile","file","uuid","URL","createObjectURL","upload","Dragger","showUploadList","showRemoveIcon","customRequest","fileList","listType","accept","Rating","rating","stars","WebkitMaskImage","maskImage","readonly","buttons"],"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 = 46);\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_1710924785389\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1710924785389\",\"label\":\"shared__input-module__label--tNO2a_1710924785389\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1710924785389\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1710924785389\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1710924785389\",\"disabled\":\"shared__input-module__disabled--ABDAb_1710924785389\",\"invalid\":\"shared__input-module__invalid--e--FF_1710924785389\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1710924785389\",\"clear\":\"shared__input-module__clear--OvXQO_1710924785389\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1710924785389\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1710924785389\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1710924785389\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1710924785389\",\"icon\":\"shared__input-module__icon--zr4sW_1710924785389\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1710924785389\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1710924785389\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1710924785389\",\"loader\":\"shared__input-module__loader--QYYkV_1710924785389\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1710924785389\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1710924785389\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1710924785389\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1710924785389\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1710924785389\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1710924785389\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1710924785389\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1710924785389\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1710924785389\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1710924785389\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1710924785389\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1710924785389\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1710924785389\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1710924785389\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1710924785389\",\"clear\":\"shared__text-area-module__clear--cniAi_1710924785389\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1710924785389\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1710924785389\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1710924785389\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1710924785389\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1710924785389\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1710924785389\",\"icon\":\"shared__text-area-module__icon--HqPRa_1710924785389\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1710924785389\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1710924785389\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1710924785389\",\"loader\":\"shared__text-area-module__loader--zfGHC_1710924785389\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1710924785389\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1710924785389\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1710924785389\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1710924785389\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1710924785389\",\"ready\":\"shared__slider-module__ready--H+y-p_1710924785389\",\"slider\":\"shared__slider-module__slider--UBNwU_1710924785389\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1710924785389\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1710924785389\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1710924785389\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1710924785389\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1710924785389\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1710924785389\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1710924785389\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1710924785389\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1710924785389\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1710924785389\",\"button__small\":\"shared__button-module__button__small--kA9VI_1710924785389\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1710924785389\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1710924785389\",\"button__large\":\"shared__button-module__button__large--PG1dR_1710924785389\",\"button__default\":\"shared__button-module__button__default--mYOHn_1710924785389\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1710924785389\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1710924785389\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1710924785389\",\"loading\":\"shared__button-module__loading--IZ3gt_1710924785389\",\"icon\":\"shared__button-module__icon--Gso9o_1710924785389\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1710924785389\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1710924785389\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1710924785389\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1710924785389\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1710924785389\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1710924785389\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1710924785389\",\"loader\":\"shared__button-module__loader--v14UE_1710924785389\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1710924785389\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1710924785389\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1710924785389\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1710924785389\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1710924785389\",\"text__large\":\"shared__text-module__text__large--oRnU3_1710924785389\",\"text__normal\":\"shared__text-module__text__normal--EM-eZ_1710924785389\",\"text__semibold\":\"shared__text-module__text__semibold--8iUFE_1710924785389\",\"text__bold\":\"shared__text-module__text__bold--7+C1G_1710924785389\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1710924785389\",\"textBold\":\"shared__text-module__textBold--56jgD_1710924785389\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1710924785389\",\"textError\":\"shared__text-module__textError--MvnkN_1710924785389\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1710924785389\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1710924785389\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1710924785389\",\"textWarning\":\"shared__text-module__textWarning--S-MeA_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1710924785389\",\"link__link\":\"shared__link-module__link__link--gUwQW_1710924785389\",\"link__action\":\"shared__link-module__link__action--USwiE_1710924785389\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1710924785389\",\"link__addition\":\"shared__link-module__link__addition--N+nsf_1710924785389\",\"link__attention\":\"shared__link-module__link__attention--P5GDN_1710924785389\",\"link__default\":\"shared__link-module__link__default--SOoTy_1710924785389\",\"link__success\":\"shared__link-module__link__success--oWpqh_1710924785389\",\"link__error\":\"shared__link-module__link__error--SNmQa_1710924785389\",\"link__small\":\"shared__link-module__link__small--alNG-_1710924785389\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1710924785389\",\"link__large\":\"shared__link-module__link__large--2gcWq_1710924785389\",\"icon\":\"shared__link-module__icon--DUvf4_1710924785389\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1710924785389\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1710924785389\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1710924785389\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1710924785389\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1710924785389\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1710924785389\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1710924785389\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1710924785389\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1710924785389\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1710924785389\",\"heading__h6\":\"shared__heading-module__heading__h6--ZnM+T_1710924785389\",\"heading__weight_bold\":\"shared__heading-module__heading__weight_bold--6Hr8P_1710924785389\",\"heading__weight_medium\":\"shared__heading-module__heading__weight_medium--LAW22_1710924785389\",\"heading__weight_regular\":\"shared__heading-module__heading__weight_regular--vV61+_1710924785389\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1710924785389\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1710924785389\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1710924785389\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1710924785389\",\"textError\":\"shared__heading-module__textError--Bm1mE_1710924785389\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1710924785389\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1710924785389\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1710924785389\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1710924785389\",\"absolute\":\"shared__loader-module__absolute--nggvH_1710924785389\",\"active\":\"shared__loader-module__active--+b4cN_1710924785389\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1710924785389\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1710924785389\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1710924785389\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1710924785389\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1710924785389\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1710924785389\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1710924785389\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1710924785389\",\"loading\":\"shared__tag-button-module__loading--emtZM_1710924785389\",\"icon\":\"shared__tag-button-module__icon--LtczE_1710924785389\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1710924785389\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1710924785389\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1710924785389\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1710924785389\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1710924785389\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1710924785389\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1710924785389\",\"icon__extraSmall\":\"shared__icon-module__icon__extraSmall--QDZdT_1710924785389\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1710924785389\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1710924785389\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1710924785389\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1710924785389\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1710924785389\",\"active\":\"shared__icon-module__active--HQWC5_1710924785389\",\"icon__warning\":\"shared__icon-module__icon__warning--TjqHn_1710924785389\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1710924785389\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1710924785389\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1710924785389\",\"button\":\"shared__counter-module__button--sOvjE_1710924785389\",\"value\":\"shared__counter-module__value--JD2xM_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1710924785389\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1710924785389\",\"active\":\"shared__loader-line-module__active--0J8lF_1710924785389\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1710924785389\",\"border\":\"shared__loader-line-module__border--OXwgu_1710924785389\"};","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+_1710924785389\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1710924785389\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1710924785389\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1710924785389\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1710924785389\",\"text\":\"shared__breadcrumbs-module__text--x8KXW_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1710924785389\",\"error\":\"shared__checkbox-module__error--xRaxv_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1710924785389\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1710924785389\",\"disabled\":\"shared__select-module__disabled--gfQp-_1710924785389\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1710924785389\",\"optionText\":\"shared__select-module__optionText--7GphM_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1710924785389\",\"title\":\"shared__spoiler-module__title--N0ID7_1710924785389\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1710924785389\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1710924785389\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1710924785389\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1710924785389\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1710924785389\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1710924785389\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1710924785389\",\"left\":\"shared__tooltip-module__left--2nmo1_1710924785389\",\"right\":\"shared__tooltip-module__right--JgZSX_1710924785389\",\"top\":\"shared__tooltip-module__top--VsESz_1710924785389\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rating\":\"shared__rating-module__rating--eoGNU_1710924785389\",\"stars\":\"shared__rating-module__stars--dnMg4_1710924785389\",\"buttons\":\"shared__rating-module__buttons--oat0X_1710924785389\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1710924785389\",\"error\":\"shared__form-control-module__error--FVB3Z_1710924785389\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1710924785389\",\"active\":\"shared__switch-module__active--Mghyc_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1710924785389\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1710924785389\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1710924785389\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1710924785389\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1710924785389\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1710924785389\"};","module.exports = require(\"date-fns\");","module.exports = require(\"react-loading-skeleton\");","module.exports = require(\"react-dom\");","// extracted by mini-css-extract-plugin\nmodule.exports = {};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"swiper-container\":\"swiper-container\",\"swiper-container-vertical\":\"swiper-container-vertical\",\"swiper-wrapper\":\"swiper-wrapper\",\"swiper-container-android\":\"swiper-container-android\",\"swiper-slide\":\"swiper-slide\",\"swiper-container-multirow\":\"swiper-container-multirow\",\"swiper-container-multirow-column\":\"swiper-container-multirow-column\",\"swiper-container-free-mode\":\"swiper-container-free-mode\",\"swiper-container-pointer-events\":\"swiper-container-pointer-events\",\"swiper-slide-invisible-blank\":\"swiper-slide-invisible-blank\",\"swiper-container-autoheight\":\"swiper-container-autoheight\",\"swiper-container-3d\":\"swiper-container-3d\",\"swiper-slide-shadow-left\":\"swiper-slide-shadow-left\",\"swiper-slide-shadow-right\":\"swiper-slide-shadow-right\",\"swiper-slide-shadow-top\":\"swiper-slide-shadow-top\",\"swiper-slide-shadow-bottom\":\"swiper-slide-shadow-bottom\",\"swiper-cube-shadow\":\"swiper-cube-shadow\",\"swiper-container-css-mode\":\"swiper-container-css-mode\",\"swiper-container-horizontal\":\"swiper-container-horizontal\",\"swiper-button-prev\":\"swiper-button-prev\",\"swiper-button-next\":\"swiper-button-next\",\"swiper-button-disabled\":\"swiper-button-disabled\",\"swiper-container-rtl\":\"swiper-container-rtl\",\"swiper-button-white\":\"swiper-button-white\",\"swiper-button-black\":\"swiper-button-black\",\"swiper-button-lock\":\"swiper-button-lock\",\"ant-collapse-header\":\"ant-collapse-header\",\"ant-collapse-content\":\"ant-collapse-content\",\"ant-collapse-content-box\":\"ant-collapse-content-box\",\"modal-no-padding\":\"modal-no-padding\",\"ant-modal-body\":\"ant-modal-body\",\"ant-modal-content\":\"ant-modal-content\",\"ant-select\":\"ant-select\",\"ant-select-customize-input\":\"ant-select-customize-input\",\"ant-select-selection-search-input\":\"ant-select-selection-search-input\",\"select-stacked\":\"select-stacked\",\"ant-select-arrow\":\"ant-select-arrow\",\"ant-select-clear\":\"ant-select-clear\",\"ant-select-selector\":\"ant-select-selector\",\"ant-select-selection-item\":\"ant-select-selection-item\",\"ant-select-loading\":\"ant-select-loading\",\"custom-suffix-icon\":\"custom-suffix-icon\",\"ant-select-selection-placeholder\":\"ant-select-selection-placeholder\",\"ant-select-selection-search\":\"ant-select-selection-search\",\"input-no-border\":\"input-no-border\",\"ant-select-open\":\"ant-select-open\",\"ant-select-disabled\":\"ant-select-disabled\",\"select-error\":\"select-error\",\"ant-tag-box-customize-input\":\"ant-tag-box-customize-input\",\"ant-select-selection-item-remove\":\"ant-select-selection-item-remove\",\"ant-select-selection-overflow\":\"ant-select-selection-overflow\",\"ant-select-multiple\":\"ant-select-multiple\",\"ant-select-focused\":\"ant-select-focused\",\"ant-select-dropdown\":\"ant-select-dropdown\",\"rc-virtual-list-holder-inner\":\"rc-virtual-list-holder-inner\",\"ant-select-item\":\"ant-select-item\",\"ant-select-item-option\":\"ant-select-item-option\",\"ant-select-item-option-active\":\"ant-select-item-option-active\",\"ant-select-item-option-disabled\":\"ant-select-item-option-disabled\",\"ant-select-item-option-selected\":\"ant-select-item-option-selected\",\"ant-radio-group-customize\":\"ant-radio-group-customize\",\"horizontal\":\"horizontal\",\"vertical\":\"vertical\",\"ant-radio-customize\":\"ant-radio-customize\",\"ant-radio-wrapper\":\"ant-radio-wrapper\",\"ant-radio\":\"ant-radio\",\"ant-radio-disabled\":\"ant-radio-disabled\",\"ant-radio-inner\":\"ant-radio-inner\",\"ant-radio-input\":\"ant-radio-input\",\"ant-radio-checked\":\"ant-radio-checked\",\"ant-picker-dropdown\":\"ant-picker-dropdown\",\"ant-picker-dropdown-range\":\"ant-picker-dropdown-range\",\"ant-picker\":\"ant-picker\",\"ant-picker-borderless\":\"ant-picker-borderless\",\"ant-picker-range-wrapper\":\"ant-picker-range-wrapper\",\"date-picker-error\":\"date-picker-error\",\"ant-picker-disabled\":\"ant-picker-disabled\",\"ant-picker-suffix\":\"ant-picker-suffix\",\"ant-picker-active-bar\":\"ant-picker-active-bar\",\"ant-picker-input\":\"ant-picker-input\",\"ant-picker-focused\":\"ant-picker-focused\",\"ant-picker-clear\":\"ant-picker-clear\",\"ant-picker-panel-container\":\"ant-picker-panel-container\",\"ant-picker-panel\":\"ant-picker-panel\",\"ant-picker-cell\":\"ant-picker-cell\",\"ant-picker-cell-inner\":\"ant-picker-cell-inner\",\"ant-picker-content\":\"ant-picker-content\",\"ant-picker-header\":\"ant-picker-header\",\"ant-picker-footer\":\"ant-picker-footer\",\"ant-picker-header-super-next-btn\":\"ant-picker-header-super-next-btn\",\"ant-picker-header-super-prev-btn\":\"ant-picker-header-super-prev-btn\",\"ant-picker-prev-icon\":\"ant-picker-prev-icon\",\"ant-picker-next-icon\":\"ant-picker-next-icon\",\"ant-picker-date-panel\":\"ant-picker-date-panel\",\"ant-picker-header-view\":\"ant-picker-header-view\",\"ant-picker-month-btn\":\"ant-picker-month-btn\",\"ant-picker-year-btn\":\"ant-picker-year-btn\",\"ant-picker-header-prev-btn\":\"ant-picker-header-prev-btn\",\"ant-picker-header-next-btn\":\"ant-picker-header-next-btn\",\"ant-picker-range\":\"ant-picker-range\",\"ant-picker-cell-in-view\":\"ant-picker-cell-in-view\",\"ant-picker-cell-selected\":\"ant-picker-cell-selected\",\"ant-picker-cell-range-start\":\"ant-picker-cell-range-start\",\"ant-picker-cell-range-end\":\"ant-picker-cell-range-end\",\"ant-picker-cell-range-hover-start\":\"ant-picker-cell-range-hover-start\",\"ant-picker-cell-in-range\":\"ant-picker-cell-in-range\",\"ant-picker-cell-range-hover-end\":\"ant-picker-cell-range-hover-end\",\"ant-picker-cell-range-start-single\":\"ant-picker-cell-range-start-single\",\"ant-picker-cell-range-end-near-hover\":\"ant-picker-cell-range-end-near-hover\",\"ant-picker-cell-range-start-near-hover\":\"ant-picker-cell-range-start-near-hover\",\"ant-picker-cell-range-end-single\":\"ant-picker-cell-range-end-single\",\"ant-picker-cell-range-hover\":\"ant-picker-cell-range-hover\",\"ant-picker-cell-end\":\"ant-picker-cell-end\",\"ant-picker-cell-range-hover-edge-end\":\"ant-picker-cell-range-hover-edge-end\",\"ant-picker-cell-range-hover-edge-end-near-range\":\"ant-picker-cell-range-hover-edge-end-near-range\",\"ant-picker-cell-start\":\"ant-picker-cell-start\",\"ant-picker-cell-range-hover-edge-start\":\"ant-picker-cell-range-hover-edge-start\",\"ant-picker-cell-range-hover-edge-start-near-range\":\"ant-picker-cell-range-hover-edge-start-near-range\",\"ant-picker-panels\":\"ant-picker-panels\",\"ant-picker-footer-extra\":\"ant-picker-footer-extra\",\"ant-tooltip-customize\":\"ant-tooltip-customize\",\"ant-tooltip-inner\":\"ant-tooltip-inner\",\"ant-slider-tooltip\":\"ant-slider-tooltip\",\"ant-tooltip-arrow-content\":\"ant-tooltip-arrow-content\",\"ant-slider\":\"ant-slider\",\"ant-slider-track\":\"ant-slider-track\",\"ant-slider-rail\":\"ant-slider-rail\",\"ant-slider-handle\":\"ant-slider-handle\",\"ant-tooltip-open\":\"ant-tooltip-open\",\"ant-modal-full\":\"ant-modal-full\",\"ant-modal-close\":\"ant-modal-close\",\"ant-modal-sidebar\":\"ant-modal-sidebar\",\"ant-modal-footer-fixed\":\"ant-modal-footer-fixed\",\"ant-modal-footer\":\"ant-modal-footer\",\"ant-modal-header\":\"ant-modal-header\",\"ant-modal-title\":\"ant-modal-title\",\"ant-modal-close-x\":\"ant-modal-close-x\",\"am-modal-wrap\":\"am-modal-wrap\",\"am-modal\":\"am-modal\",\"am-modal-body\":\"am-modal-body\",\"am-modal-content\":\"am-modal-content\",\"am-modal-close\":\"am-modal-close\",\"ant-modal-wrap\":\"ant-modal-wrap\",\"am-modal-header\":\"am-modal-header\",\"am-modal-title\":\"am-modal-title\",\"ant-upload\":\"ant-upload\",\"ant-upload-drag\":\"ant-upload-drag\",\"ant-upload-disabled\":\"ant-upload-disabled\",\"ant-upload-drag-hover\":\"ant-upload-drag-hover\",\"ant-upload-list-item-name\":\"ant-upload-list-item-name\",\"ant-upload-animate-leave\":\"ant-upload-animate-leave\",\"react-loading-skeleton\":\"react-loading-skeleton\",\"ant-dropdown-menu\":\"ant-dropdown-menu\",\"ant-dropdown-menu-item\":\"ant-dropdown-menu-item\",\"ant-dropdown-menu-submenu-title\":\"ant-dropdown-menu-submenu-title\",\"ant-dropdown-menu-item-selected\":\"ant-dropdown-menu-item-selected\",\"ant-dropdown-menu-submenu-title-selected\":\"ant-dropdown-menu-submenu-title-selected\",\"horizontal-scroll\":\"horizontal-scroll\",\"slider\":\"slider\",\"swiper-pagination\":\"swiper-pagination\",\"overflow\":\"overflow\"};","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 extraSmall = 'extraSmall',\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\nexport enum ETextWeight {\n bold = 'bold',\n semibold = 'semibold',\n normal = 'normal',\n}\n\ninterface ITextProps {\n size?: keyof typeof ETextSize;\n children?: any;\n bold?: boolean;\n weight?: keyof typeof ETextWeight;\n addition?: boolean;\n attention?: boolean;\n success?: boolean;\n warning?: boolean;\n error?: boolean;\n className?: string;\n inverse?: boolean;\n style?: any;\n through?: boolean;\n tag?: string;\n}\n\nexport const Text = ({\n children,\n size = ETextSize.medium,\n bold,\n weight = ETextWeight.normal,\n addition,\n success,\n error,\n inverse,\n attention,\n warning,\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}`], styles[`text__${weight}`], {\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 [styles.textWarning]: warning\n }),\n [size, className, addition, bold, weight, success, attention, error, inverse, warning],\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';\nimport { useShared } from '../../providers/shared.provider';\n\nexport enum ELinkVariant {\n link = 'link',\n href = 'href',\n action = 'action',\n}\n\nexport enum ELinkType {\n attention = 'attention',\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 style?: any;\n tag?: string;\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 style,\n tag = 'div',\n}: ILinkProps) => {\n const TextTag = useMemo(() => tag as any, [tag]);\n\n const shared = useShared();\n\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 || (variant === ELinkVariant.link && !shared.LinkComponent)) {\n return (\n <a className={classNames} target={target} rel={rel} href={href} style={style}>\n {children}\n </a>\n );\n }\n\n if (variant === ELinkVariant.link) {\n return (\n <shared.LinkComponent href={href}>\n <a className={classNames} target={target} rel={rel} style={style}>\n {children}\n </a>\n </shared.LinkComponent>\n );\n }\n\n return (\n <TextTag className={classNames} onClick={onClick} style={style}>\n {children}\n {Icon && <Icon className={iconClassNames} />}\n </TextTag>\n );\n};\n","import React from 'react';\n\nimport { createContext, PropsWithChildren, useContext } from \"react\";\n\ntype ISharedContextPrivate = {\n LinkComponent?: any;\n};\n\ninterface ISharedProviderProps {\n LinkComponent?: any;\n}\n\nconst sharedContext = createContext<ISharedContextPrivate>(null);\n\nexport const SharedProvider = ({ children, ...props }: PropsWithChildren<ISharedProviderProps>) => {\n return <sharedContext.Provider value={props}>\n {children}\n </sharedContext.Provider>;\n};\n\nexport const useShared = () => {\n const data = useContext(sharedContext);\n\n return data;\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: \"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 onBack?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onBack }: 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 onBack && onBack(paths[paths.length - 1].path);\n } else {\n onBack && onBack('/');\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 className={styles.text} size=\"large\" attention={item.isCurrent} weight=\"semibold\">{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 { Icon as SharedIcon } from '../icon';\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 onBeforeMask?: (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 onBeforeMask,\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 if (props.autoFocus) {\n setTimeout(() => {\n innerRef.current.focus();\n }, 1);\n }\n }, [props.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\n const inputMask = new Inputmask({ mask, greedy: false, onBeforeMask });\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 {Boolean(showClear && _value) && <SharedIcon 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={props.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?: any;\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: any) => {\n helpers.setValue(value);\n helpers.setError(undefined);\n\n onChange && setTimeout(() => {\n if (onChange) {\n console.log(args, onChange, value);\n onChange(value, args);\n }\n }, 0);\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 h6\n}\n\nexport enum EHeadingWeight {\n bold = 'bold',\n medium = 'medium',\n regular = 'regular'\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 weight?: keyof typeof EHeadingWeight\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 weight,\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 styles[`heading__weight_${weight}`],\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, weight, warning, success, attention, centerText, level],\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 classNames from 'classnames';\nimport LoaderIcon from '../icon/icons/loader.svg';\n\nimport styles from './loader.module.scss';\n\ninterface ILoaderProps {\n absolute?: boolean;\n fixed?: boolean;\n active?: boolean;\n}\n\nexport const Loader = (props: ILoaderProps) => {\n if (props.absolute) {\n return (\n <div className={classNames(styles.absolute, { [styles.active]: props.active })}>\n {props.active && <LoaderIcon className={styles.loader} />}\n </div>\n );\n }\n\n if (props.fixed) {\n return (\n <div className={classNames(styles.fixed, { [styles.active]: props.active })}>\n {props.active && <LoaderIcon className={styles.loader} />}\n </div>\n );\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 useEffect(() => {\n const html = document.firstElementChild as HTMLElement;\n const container = document.body.firstElementChild as HTMLDivElement;\n const scrollTop = html.scrollTop;\n const isOpen = open;\n if (open) {\n document.body.style.overflowY = 'auto';\n html.style.overflowY = 'hidden';\n container.style.transform = `translateY(-${scrollTop}px)`;\n html.style.overscrollBehavior = 'none'\n }\n\n return () => {\n document.body.style.overflowY = '';\n html.style.overflowY = '';\n container.style.transform = '';\n html.style.overscrollBehavior = '';\n\n if (isOpen) {\n let item = html.offsetHeight;\n console.log(item);\n html.scrollTop = scrollTop;\n }\n }\n }, [open]);\n\n useEffect(() => {\n return () => {\n const html = document.firstElementChild as HTMLElement;\n const container = document.body.firstElementChild as HTMLDivElement;\n\n document.body.style.overflowY = '';\n html.style.overflowY = '';\n container.style.transform = '';\n html.style.overscrollBehavior = '';\n }\n }, [])\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 document.body.style.overflowY = '';\n }}\n width={_width}\n closeIcon={<Icon size=\"large\" icon={ModalCloseIcon} />}\n onCancel={handleCancel}\n title={typeof _title === 'string' ? <Heading level={4}>{_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 ClearIcon from '../icon/icons/clear.svg';\nimport DatePickerIcon from '../icon/icons/date-picker.svg';\n\nimport locale from 'antd/lib/date-picker/locale/ru_RU';\nimport { Icon } from '../icon';\nlocale.lang.locale = 'ru';\n\nconst AntDatePicker = generatePicker<Date>(dateFnsGenerateConfig);\n\ntype IRangePickerProps = {\n isFromToday?: boolean;\n onClear?: (e: any) => void;\n} & ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const RangePicker = forwardRef(({onClear, ...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\n locale={locale}\n pickerRef={ref as any}\n {...props}\n disabledDate={disabledDate}\n suffixIcon={props.suffixIcon || <Icon icon={DatePickerIcon} />}\n clearIcon={<div onClick={onClear}><Icon icon={ClearIcon} /></div>}\n />;\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,\n stacked,\n error,\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 if (!onServerSearch && !onServerSearchGroup) {\n setFetching(false);\n }\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 }).catch(() => {\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 }).catch(() => {\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={fetching || props.loading}\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': error, 'select-stacked': stacked, 'select-loading': fetching })}\n suffixIcon={suffixIcon ? suffixIcon : <Icon icon={SelectArrowIcon} />}\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 _circle, _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 SvgArrowNext(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 49 48\",\n fill: \"none\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24,\n cy: 24,\n r: 24,\n transform: \"matrix(-1 0 0 1 48.5 0)\",\n fill: \"#F6F6F6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.793 17.293a1 1 0 000 1.414L26.086 24l-5.293 5.293a1 1 0 001.414 1.414l6-6a1 1 0 000-1.414l-6-6a1 1 0 00-1.414 0z\",\n fill: \"#000\"\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 _circle, _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 SvgArrowPrev(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 49 48\",\n fill: \"none\"\n }, props), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24.5,\n cy: 24,\n r: 24,\n fill: \"#F6F6F6\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M28.207 17.293a1 1 0 010 1.414L22.914 24l5.293 5.293a1 1 0 01-1.414 1.414l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 0z\",\n fill: \"#000\"\n })));\n}\n\nexport default SvgArrowPrev;","import React, { useEffect } 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 delay?: number;\n freeMode?: boolean;\n showCounter?: boolean;\n centeredSlides?: boolean;\n className?: string;\n classNamePrev?: string;\n classNameNext?: string;\n touchStartPreventDefault?: boolean;\n overflow?: boolean;\n preloadImages?: boolean;\n shortSwipes?: boolean;\n longSwipes?: boolean;\n longSwipesRatio?: number;\n longSwipesMs?: number;\n preventClicks?: boolean\n preventClicksPropagation?: 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 = false,\n delay = 10000,\n freeMode,\n showCounter,\n centeredSlides,\n className,\n classNamePrev,\n classNameNext,\n touchStartPreventDefault,\n overflow,\n preloadImages,\n shortSwipes = true,\n longSwipes = true,\n longSwipesMs = 300,\n longSwipesRatio = 0.5,\n preventClicks = true,\n preventClicksPropagation = true,\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, overflow],\n );\n\n const onSlideItem = useCallback((indexItem) => {\n const findItem = items.find((_, index) => index === indexItem);\n viewItem(findItem, indexItem);\n }, [viewItem]);\n\n useEffect(() => {\n if (asyncReady) {\n setReady(true);\n }\n }, [asyncReady]);\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 preventClicks={preventClicks}\n preventClicksPropagation={preventClicksPropagation}\n shortSwipes={shortSwipes}\n longSwipes={longSwipes}\n longSwipesRatio={longSwipesRatio}\n longSwipesMs={longSwipesMs}\n loop={(loop && items?.length > slidesPerView) || (loop && slidesPerView === 'auto')}\n speed={1000}\n touchStartPreventDefault={touchStartPreventDefault}\n preloadImages={preloadImages}\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,\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 && items.length > 1 && (\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, { useEffect } from 'react';\n\nimport { Input, IInputProps } from '@shared/input';\nimport { Select } from '@shared/select';\nimport cn from 'classnames';\nimport { ComponentProps, 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 autoFocus?: boolean;\n showClear?: boolean;\n placeholder?: string;\n labelPlaceholder?: string;\n mask?: IInputProps['mask'];\n value?: string\n onRenderOption?: (item: T) => ReactNode;\n} & ComponentProps<typeof Input> & 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 useEffect(() => {\n setKey(option);\n }, [option]);\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 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 custom = 'custom'\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, active: boolean) => 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, value === item) : 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","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 SvgRating(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 136 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.62 7.972L12.567.395a.605.605 0 00-1.135 0L8.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.45.992.917.697L12 19.658l6.716 4.246c.466.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM43.62 7.972L40.567.395a.605.605 0 00-1.135 0L36.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L40 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM71.62 7.972L68.567.395a.605.605 0 00-1.135 0L64.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L68 19.658l6.716 4.246c.467.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM99.62 7.972L96.567.395a.605.605 0 00-1.135 0L92.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L96 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM127.62 7.972L124.567.395A.602.602 0 00124 0a.604.604 0 00-.568.395l-3.053 7.577-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.451.992.917.697L124 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705z\",\n fill: \"#C8C8C8\"\n })));\n}\n\nexport default SvgRating;","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","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 = ' ';\nconst DASH = '—';\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","import { useEffect, useState } from \"react\";\nimport { dateFormat } from \"./date-format\";\nimport { dateWithTimezone } from \"./date\";\n\nconst 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\n if (Math.floor(time / unit.value)) {\n str += `${Math.floor(time / unit.value)} ${unit.label} `;\n }\n\n time = time - Math.floor(time / unit.value) * unit.value;\n });\n\n return str;\n};\n\nconst wzero = (input: number) => (input > 9 ? String(input) : `0${input > -1 ? input : '0'}`);\nconst getTimeLeft = (date: Date) => {\n const timeLeft = date.getTime() - new Date().getTime();\n\n if (timeLeft >= 24 * 60 * 60 * 1000) {\n return `до ${dateFormat(date, 'D MMMM hh:mm')}`;\n }\n\n if (timeLeft < 0) {\n return null;\n }\n\n const dateLeft = dateWithTimezone(new Date(timeLeft));\n return `${wzero(dateLeft.getHours())}:${wzero(dateLeft.getMinutes())}:${wzero(dateLeft.getSeconds())}`;\n};\n\ninterface IUseTimeLeftProps {\n expireDate: Date;\n onExpired: () => void;\n}\n\nexport const useTimeLeft = ({ expireDate = new Date(0), onExpired }: IUseTimeLeftProps) => {\n const [timeLeft, setTimeLeft] = useState(getTimeLeft(expireDate));\n\n useEffect(() => {\n setTimeLeft(getTimeLeft(expireDate));\n\n const timeout = setTimeout(() => {\n setTimeLeft(getTimeLeft(expireDate));\n }, 1000);\n\n if (!timeLeft) {\n onExpired();\n }\n\n return () => clearTimeout(timeout);\n }, [timeLeft, expireDate]);\n\n return timeLeft;\n};\n","export { appleDetect } from './apple-detect';\nexport { useCombinedRefs } from './combine-ref';\nexport { dateFormat, getDate } from './date-format';\nexport { dateWithTimezone, dateWithoutTimezone } from './date';\nexport { pluralize } from './pluralize'\nexport { priceFormat } from './price-format'\nexport { textSanitize } from './text-sanitize'\nexport { timeLeft, timeLeftMinutes, useTimeLeft } from './time-left'\n\nexport const uuidv4 = () => {\n return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g, c =>\n (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)\n );\n}\n","import React from 'react';\n\nimport { Text } from '@shared/text';\nimport { Upload as AntdUpload, UploadFile, UploadProps } from 'antd';\nimport { PropsWithChildren, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport styles from './upload.module.scss';\nimport { uuidv4 } from '@shared/utils';\nimport classNames from 'classnames';\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 maxCount?: number;\n showRemove?: boolean;\n hiddenList?: boolean;\n};\n\nexport const Upload = ({ onUpload, onChange, renderName, showRemove, hiddenList, maxCount, path = '', value, ...props }: PropsWithChildren<IUploadProps>) => {\n const [files, setFiles] = useState<UploadFile[]>([]);\n\n useEffect(() => {\n setFiles(value ? value?.map((val, index) => ({\n uid: `${index}`,\n name: renderName ? renderName(val) : '',\n status: 'done',\n url: val,\n thumbUrl: val,\n })) : []);\n }, [value]);\n\n const onRemove = useCallback((item) => {\n let items = [];\n setFiles(prev => items = prev.filter(i => i !== item));\n onChange(items.map(i => i.url));\n }, []);\n\n const _onChange = () => {\n setFiles(file => {\n onChange(file.map(i => i.url));\n return file;\n })\n };\n\n const onUploadFile = useCallback(async (file: File) => {\n if (maxCount && files.length >= maxCount) {\n return '';\n }\n\n const uuid = uuidv4();\n let link = path ? `${path}${file.name}` : URL.createObjectURL(file);\n\n setFiles(prev => [...prev,\n {\n uid: uuid,\n name: renderName ? renderName(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 setFiles(prev => [...prev.filter(item => item.uid !== uuid),\n {\n uid: uuid,\n name: renderName ? renderName(file.name) : '',\n status: 'success',\n url: link,\n thumbUrl: link,\n },\n ]);\n } catch (e) {\n setFiles(prev => [...prev.filter(item => item.uid !== uuid)]);\n }\n\n return link;\n }, [files]);\n\n const className = useMemo(() => classNames(styles.upload, props.className), [props.className]);\n\n return (\n <AntdUpload.Dragger\n {...props}\n showUploadList={hiddenList ? false : { showRemoveIcon: showRemove } }\n maxCount={maxCount}\n className={className}\n action={onUploadFile}\n customRequest={() => {}}\n onChange={_onChange}\n fileList={files}\n listType=\"picture\"\n accept=\"image/png, image/jpeg\"\n onRemove={onRemove}\n >\n {props.children || <Text bold>Выберите файл или перетащите сюда</Text>}\n </AntdUpload.Dragger>\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 SvgRatingActive(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"1em\",\n height: \"1em\",\n viewBox: \"0 0 136 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.62 7.972L12.567.395a.605.605 0 00-1.135 0L8.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.45.992.917.697L12 19.658l6.716 4.246c.466.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM43.62 7.972L40.567.395a.605.605 0 00-1.135 0L36.38 7.972l-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L40 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.412-.374.19-1.082-.351-1.131l-7.816-.705zM71.62 7.972L68.567.395a.605.605 0 00-1.135 0L64.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L68 19.658l6.716 4.246c.467.297 1.043-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM99.62 7.972L96.567.395a.605.605 0 00-1.135 0L92.38 7.972l-7.815.705c-.544.048-.761.757-.35 1.131l5.928 5.386-1.776 8.013c-.123.555.45.992.917.697L96 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705zM127.62 7.972L124.567.395A.602.602 0 00124 0a.604.604 0 00-.568.395l-3.053 7.577-7.815.705c-.544.048-.762.757-.35 1.131l5.928 5.386-1.776 8.013c-.124.555.451.992.917.697L124 19.658l6.716 4.246c.466.297 1.042-.142.919-.697l-1.776-8.013 5.928-5.386c.411-.374.19-1.082-.351-1.131l-7.816-.705z\",\n fill: \"#8227C7\"\n })));\n}\n\nexport default SvgRatingActive;","import React, { useCallback, useEffect, useState } from \"react\";\nimport RatingIcon from './../icon/icons/rating.svg';\nimport RatingActiveIcon from './../icon/icons/rating-active.svg';\n\nimport styles from './rating.module.scss';\n\ninterface IRatingProps {\n value: number;\n onChange?: (val: number) => void;\n readonly?: boolean;\n}\n\nexport const Rating = (props: IRatingProps) => {\n const [value, setValue] = useState(0);\n\n useEffect(() => {\n setValue(props.value);\n }, [props.value])\n\n const onChange = useCallback((index: number) => {\n setValue(index + 1);\n\n props.onChange && props.onChange(index + 1);\n }, [props.onChange]);\n\n return <div className={styles.rating}>\n <RatingIcon />\n {!!props.value && <RatingActiveIcon className={styles.stars} style={{\n WebkitMaskImage: `linear-gradient(to right, #FF00FFFF 0 ${(100 / 5) * value}%, #00FF0011 ${(100 / 5) * value}% 100%)`,\n maskImage: `linear-gradient(to right, #FF00FFFF 0 ${(100 / 5) * value}%, #00FF0011 ${(100 / 5) * value}% 100%)`\n }} />}\n {!props.readonly && <div className={styles.buttons}>\n {[0, 1, 2, 3, 4].map(item => <div onClick={onChange.bind(null, item)} key={item}></div>)}\n </div>}\n </div>\n}\n","import './styles/main.scss';\n\nexport { AutoComplete } from './components/auto-complete';\nexport { Breadcrumbs } from './components/breadcrumbs';\nexport type { IBreadcrumbsPath } from './components/breadcrumbs';\n\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 { SharedProvider, useShared } from './providers/shared.provider';\nexport * from './components/utils';\nexport { Rating } from './components/rating';\nexport { SelectorRange } from './components/selector';\n"],"sourceRoot":""}
|