dt-shared-front 1.1.185 → 1.1.186
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/./src/components/input/input.module.scss?e697","webpack://dt-shared-front/external \"antd\"","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/link/link.module.scss?cc09","webpack://dt-shared-front/./src/components/text/text.module.scss?0257","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/external \"swiper\"","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?fc09","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 \"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/checkbox/checkbox.module.scss?92a4","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7b4e","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/radio/radio.module.scss?a714","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/auto-complete/auto-complete.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/icon/icons/back.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/breadcrumbs/breadcrumbs.tsx","webpack://dt-shared-front/./src/components/icon/icons/button-loader.svg","webpack://dt-shared-front/./src/components/button/button.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-minus.svg","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/utils/apple-detect.ts","webpack://dt-shared-front/./src/components/utils/combine-ref.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/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/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/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","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","onChangeSearch","onChange","_option","res","find","debounceFetcher","current","fetchId","then","newOptions","onSelect","notFoundContent","placeholder","onSearch","val","backfill","suffixIcon","autoComplete","error","stacked","clearIcon","MEDIA_MATCHES","mobile","tablet","desktop","Media","renderDesktop","renderMobile","renderTablet","render","mounted","setMounted","defaultRender","matches","queries","MediaContext","MediaProvider","children","Provider","withMedia","Component","useMedia","Error","fillRule","clipRule","ETextSize","ETextWeight","ELinkVariant","ELinkType","ELinkSize","ELinkWeight","ELinkDecoration","Text","bold","weight","normal","addition","success","inverse","attention","warning","style","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","textWarning","sharedContext","SharedProvider","useShared","EBreadcrumbsVariant","Link","Icon","link","decoration","none","href","type","dashed","rel","shared","linkBold","iconClassNames","icon__only","LinkComponent","_path2","_defs","Breadcrumbs","paths","onBack","arrow","media","_onBack","reverse","path","isBack","back","breadcrumbs","index","slash","breadcrumbsLink","title","isCurrent","EButtonSize","EButtonVariant","EButtonIconPosition","attributeType","attributeName","from","to","dur","repeatCount","id","x1","y1","x2","y2","gradientUnits","stopColor","offset","stopOpacity","Button","iconPosition","right","loading","disabled","button","withIcon","loaderClassNames","loader","_onClick","e","UNIQ_COUNT","Checkbox","_value","_setValue","_onChange","currentTarget","checked","checkboxContainer","checkbox","htmlFor","Counter","setValue","count","newCount","counter","undefined","min","max","EInputVariant","EInputSize","EInputBorder","EInputIconPosition","Input","ref","onFocus","onBlur","onClear","onBeforeMask","onPointerUp","required","showClear","outlined","border","iconPositon","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","scrollIntoView","block","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","showClose","open","setOpen","setData","_width","_setWidth","_title","_setTitle","_footer","_setFooter","_closable","_setClosable","full","_full","_setFull","gallery","_gallery","_setGallery","footerFixed","_footerFixed","_setFooterFixed","_sidebar","_setSidebar","_showClose","_setShowClose","html","document","firstElementChild","container","body","scrollTop","isOpen","overflowY","transform","overscrollBehavior","offsetHeight","handleCancel","handleOpen","close","setTitle","setFooter","setClosable","setWidth","setFooterFixed","setFull","setGallery","setSidebar","setShowCloseIcon","maskClosable","destroyOnClose","afterClose","closeIcon","onCancel","maskTransitionName","transitionName","modal","appleDetect","navigator","platform","userAgent","useCombinedRefs","targetRef","refs","forEach","units","YYYY","year","YY","M","month","MM","MMM","MMMM","MMMMM","D","day","DD","weekday","dd","hh","hour","mm","minute","ss","second","getDate","Date","replaceAll","dateFormat","utc","plural","getTime","userTimezoneOffset","getTimezoneOffset","dateUnits","dateItems","delimeters","filter","stringDate","unit","toLocaleTimeString","toLocaleDateString","slice","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","chars","token","random","generateToken","modalContext","ModalProvider","modals","setModals","initialProps","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","effect","speed","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","fadeEffect","crossFade","loopedSlides","onSlideChange","sw","realIndex","disableOnInteraction","navigation","nextEl","prevEl","onImagesReady","swiper","slideTo","onBeforeInit","params","lazy","checkInView","loadPrevNext","swiperSlide","swiperSlideAuto","sliderCounter","Spoiler","initialValue","opened","setOpened","spoiler","StackedInput","setKey","stacked_input","stacked_input__select","dropdownMatchSelectWidth","stacked_input__input","Switch","TagBox","v","maxTagCount","removeIcon","menuItemSelectedIcon","ETagButtonSize","ETagButtonVariant","TagButton","selected","TagButtonGroup","tagButtonGroup","onRenderLabel","ETextAreaVariant","ETextAreaSize","ETextAreaBorder","observe","element","event","handler","addEventListener","deobserve","removeEventListener","TooltipPosition","TextArea","autoResize","combineRef","unsubscribe","resize","scrollHeight","delayedResize","window","resizeFn","textarea","textarea__disabled","TextSpoiler","textSpoiler","openText","large","action","getScrollTopParent","clientHeight","parentElement","recalcArrowStyles","targetElement","tooltipProperties","getBoundingClientRect","left","top","bottom","recalcStyles","tooltipElement","tooltipWidth","tooltipHeight","leftPosition","offsetWidth","opacity","Tooltip","placement","refTooltip","refArrow","stylesTooltip","setStylesTooltip","stylesArrow","setStylesArrow","scrollElement","recalcPosition","elem","child","getAttribute","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","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 = 47);\n","module.exports = require(\"react\");","module.exports = require(\"classnames\");","module.exports = require(\"tslib\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"shared__input-module__input--5GrwX_1719515029775\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1719515029775\",\"label\":\"shared__input-module__label--tNO2a_1719515029775\",\"input__large\":\"shared__input-module__input__large--p-mBr_1719515029775\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1719515029775\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1719515029775\",\"input__action_large\":\"shared__input-module__input__action_large--64pM0_1719515029775\",\"input__actions_large\":\"shared__input-module__input__actions_large--kznb7_1719515029775\",\"input__actions_left\":\"shared__input-module__input__actions_left--mVKC8_1719515029775\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1719515029775\",\"disabled\":\"shared__input-module__disabled--ABDAb_1719515029775\",\"invalid\":\"shared__input-module__invalid--e--FF_1719515029775\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1719515029775\",\"clear\":\"shared__input-module__clear--OvXQO_1719515029775\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1719515029775\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1719515029775\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1719515029775\",\"clear__action_left\":\"shared__input-module__clear__action_left--IEVa+_1719515029775\",\"clear__action_right\":\"shared__input-module__clear__action_right--10aXM_1719515029775\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1719515029775\",\"icon\":\"shared__input-module__icon--zr4sW_1719515029775\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1719515029775\",\"icon__left\":\"shared__input-module__icon__left--hzu2X_1719515029775\",\"icon__right\":\"shared__input-module__icon__right--+QcVn_1719515029775\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1719515029775\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1719515029775\",\"loader\":\"shared__input-module__loader--QYYkV_1719515029775\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1719515029775\",\"loader__left\":\"shared__input-module__loader__left--U2pC4_1719515029775\",\"loader__right\":\"shared__input-module__loader__right--d0vTf_1719515029775\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1719515029775\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1719515029775\"};","module.exports = require(\"antd\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1719515029775\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1719515029775\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1719515029775\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1719515029775\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1719515029775\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1719515029775\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1719515029775\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1719515029775\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1719515029775\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1719515029775\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1719515029775\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1719515029775\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1719515029775\",\"clear\":\"shared__text-area-module__clear--cniAi_1719515029775\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1719515029775\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1719515029775\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1719515029775\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1719515029775\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1719515029775\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1719515029775\",\"icon\":\"shared__text-area-module__icon--HqPRa_1719515029775\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1719515029775\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1719515029775\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1719515029775\",\"loader\":\"shared__text-area-module__loader--zfGHC_1719515029775\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1719515029775\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1719515029775\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1719515029775\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1719515029775\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1719515029775\",\"ready\":\"shared__slider-module__ready--H+y-p_1719515029775\",\"slider\":\"shared__slider-module__slider--UBNwU_1719515029775\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1719515029775\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1719515029775\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1719515029775\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1719515029775\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1719515029775\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1719515029775\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1719515029775\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1719515029775\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1719515029775\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1719515029775\",\"button__small\":\"shared__button-module__button__small--kA9VI_1719515029775\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1719515029775\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1719515029775\",\"button__large\":\"shared__button-module__button__large--PG1dR_1719515029775\",\"button__default\":\"shared__button-module__button__default--mYOHn_1719515029775\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1719515029775\",\"button__outline\":\"shared__button-module__button__outline--EXQ9z_1719515029775\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1719515029775\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1719515029775\",\"loading\":\"shared__button-module__loading--IZ3gt_1719515029775\",\"icon\":\"shared__button-module__icon--Gso9o_1719515029775\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1719515029775\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1719515029775\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1719515029775\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1719515029775\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1719515029775\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1719515029775\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1719515029775\",\"loader\":\"shared__button-module__loader--v14UE_1719515029775\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1719515029775\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1719515029775\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1719515029775\",\"link__underline\":\"shared__link-module__link__underline--7nVnP_1719515029775\",\"link__dashed\":\"shared__link-module__link__dashed--1tYsI_1719515029775\",\"link__link\":\"shared__link-module__link__link--gUwQW_1719515029775\",\"link__action\":\"shared__link-module__link__action--USwiE_1719515029775\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1719515029775\",\"link__addition\":\"shared__link-module__link__addition--N+nsf_1719515029775\",\"link__attention\":\"shared__link-module__link__attention--P5GDN_1719515029775\",\"link__default\":\"shared__link-module__link__default--SOoTy_1719515029775\",\"link__success\":\"shared__link-module__link__success--oWpqh_1719515029775\",\"link__error\":\"shared__link-module__link__error--SNmQa_1719515029775\",\"link__inverse\":\"shared__link-module__link__inverse--i1RLl_1719515029775\",\"link__small\":\"shared__link-module__link__small--alNG-_1719515029775\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1719515029775\",\"link__large\":\"shared__link-module__link__large--2gcWq_1719515029775\",\"link__normal\":\"shared__link-module__link__normal--acQvJ_1719515029775\",\"link__semibold\":\"shared__link-module__link__semibold---tOWl_1719515029775\",\"link__bold\":\"shared__link-module__link__bold--QUUtI_1719515029775\",\"icon\":\"shared__link-module__icon--DUvf4_1719515029775\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1719515029775\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1719515029775\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1719515029775\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1719515029775\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1719515029775\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1719515029775\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1719515029775\",\"text__large\":\"shared__text-module__text__large--oRnU3_1719515029775\",\"text__inherit\":\"shared__text-module__text__inherit--OKjEI_1719515029775\",\"text__normal\":\"shared__text-module__text__normal--EM-eZ_1719515029775\",\"text__semibold\":\"shared__text-module__text__semibold--8iUFE_1719515029775\",\"text__bold\":\"shared__text-module__text__bold--7+C1G_1719515029775\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1719515029775\",\"textBold\":\"shared__text-module__textBold--56jgD_1719515029775\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1719515029775\",\"textError\":\"shared__text-module__textError--MvnkN_1719515029775\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1719515029775\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1719515029775\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1719515029775\",\"textWarning\":\"shared__text-module__textWarning--S-MeA_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1719515029775\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1719515029775\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1719515029775\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1719515029775\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1719515029775\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1719515029775\",\"heading__h6\":\"shared__heading-module__heading__h6--ZnM+T_1719515029775\",\"heading__weight_bold\":\"shared__heading-module__heading__weight_bold--6Hr8P_1719515029775\",\"heading__weight_medium\":\"shared__heading-module__heading__weight_medium--LAW22_1719515029775\",\"heading__weight_regular\":\"shared__heading-module__heading__weight_regular--vV61+_1719515029775\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1719515029775\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1719515029775\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1719515029775\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1719515029775\",\"textError\":\"shared__heading-module__textError--Bm1mE_1719515029775\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1719515029775\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1719515029775\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1719515029775\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1719515029775\",\"absolute\":\"shared__loader-module__absolute--nggvH_1719515029775\",\"active\":\"shared__loader-module__active--+b4cN_1719515029775\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1719515029775\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1719515029775\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1719515029775\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1719515029775\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1719515029775\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1719515029775\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1719515029775\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1719515029775\",\"loading\":\"shared__tag-button-module__loading--emtZM_1719515029775\",\"icon\":\"shared__tag-button-module__icon--LtczE_1719515029775\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1719515029775\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1719515029775\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1719515029775\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1719515029775\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1719515029775\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1719515029775\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1719515029775\",\"icon__extraSmall\":\"shared__icon-module__icon__extraSmall--QDZdT_1719515029775\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1719515029775\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1719515029775\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1719515029775\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1719515029775\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1719515029775\",\"active\":\"shared__icon-module__active--HQWC5_1719515029775\",\"icon__warning\":\"shared__icon-module__icon__warning--TjqHn_1719515029775\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1719515029775\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1719515029775\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1719515029775\",\"icon__inherit\":\"shared__icon-module__icon__inherit--NeIkw_1719515029775\"};","module.exports = require(\"swiper\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1719515029775\",\"text\":\"shared__breadcrumbs-module__text--x8KXW_1719515029775\",\"back\":\"shared__breadcrumbs-module__back--vlgPL_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1719515029775\",\"button\":\"shared__counter-module__button--sOvjE_1719515029775\",\"value\":\"shared__counter-module__value--JD2xM_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1719515029775\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1719515029775\",\"active\":\"shared__loader-line-module__active--0J8lF_1719515029775\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1719515029775\",\"border\":\"shared__loader-line-module__border--OXwgu_1719515029775\"};","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+_1719515029775\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1719515029775\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1719515029775\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1719515029775\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1719515029775\",\"error\":\"shared__checkbox-module__error--xRaxv_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1719515029775\",\"error\":\"shared__form-control-module__error--FVB3Z_1719515029775\",\"invalid\":\"shared__form-control-module__invalid--LEqRn_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1719515029775\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1719515029775\",\"disabled\":\"shared__select-module__disabled--gfQp-_1719515029775\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1719515029775\",\"optionText\":\"shared__select-module__optionText--7GphM_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1719515029775\",\"title\":\"shared__spoiler-module__title--N0ID7_1719515029775\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1719515029775\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1719515029775\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1719515029775\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1719515029775\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1719515029775\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1719515029775\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1719515029775\",\"left\":\"shared__tooltip-module__left--2nmo1_1719515029775\",\"right\":\"shared__tooltip-module__right--JgZSX_1719515029775\",\"top\":\"shared__tooltip-module__top--VsESz_1719515029775\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rating\":\"shared__rating-module__rating--eoGNU_1719515029775\",\"stars\":\"shared__rating-module__stars--dnMg4_1719515029775\",\"buttons\":\"shared__rating-module__buttons--oat0X_1719515029775\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"invalid\":\"shared__radio-module__invalid--6ByqJ_1719515029775\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1719515029775\",\"active\":\"shared__switch-module__active--Mghyc_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1719515029775\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1719515029775\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1719515029775\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1719515029775\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1719515029775\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1719515029775\"};","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-container-fade\":\"swiper-container-fade\",\"swiper-slide-active\":\"swiper-slide-active\",\"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-gallery\":\"ant-modal-gallery\",\"ant-modal-close\":\"ant-modal-close\",\"ant-modal-full\":\"ant-modal-full\",\"ant-modal-sidebar\":\"ant-modal-sidebar\",\"ant-modal-hide-close\":\"ant-modal-hide-close\",\"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 inherit = 'inherit'\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;","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 onChangeSearch = useCallback((value: string) => {\n setSearchValue(value);\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 {...props}\n value={searchValue}\n options={_options}\n onSelect={onChange}\n popupClassName={popupClassName}\n notFoundContent={null}\n onChange={onChangeSearch}\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, {\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;","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 SvgBack(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: \"M9.662 12l4.673-5.296a1.002 1.002 0 000-1.293.741.741 0 00-1.14 0L7.95 11.354a1.003 1.003 0 000 1.293l5.244 5.943a.741.741 0 001.141 0 1.002 1.002 0 000-1.293L9.662 12z\",\n fill: \"#873EDF\"\n })));\n}\n\nexport default SvgBack;","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 inherit = 'inherit',\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 onClick?: (e: any) => void;\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 onClick\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} onClick={onClick}>{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 inverse = 'inverse'\n}\n\nexport enum ELinkSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ELinkWeight {\n bold = 'bold',\n semibold = 'semibold',\n normal = 'normal',\n}\n\nexport enum ELinkDecoration {\n none = 'none',\n underline = 'underline',\n dashed = 'dashed'\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 weight?: keyof typeof ELinkWeight;\n type?: keyof typeof ELinkType;\n decoration?: keyof typeof ELinkDecoration;\n dashed?: boolean;\n className?: string;\n target?: '_blank';\n onClick?: (e: MouseEvent) => 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 weight = ELinkWeight.normal,\n decoration = ELinkDecoration.none,\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__${weight}`], styles[`link__${type}`], styles[`link__${decoration}`], {\n [styles.linkBold]: bold,\n [styles.dashed]: dashed,\n }),\n [variant, className, dashed, type, weight, decoration]\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","import React from 'react';\n\nimport { Icon } from \"@shared/icon\";\nimport { useMedia, withMedia } from '@shared/media';\nimport { Fragment, useCallback } from 'react';\n\nimport BreadcrumbsArrowIcon from '../icon/icons/breadcrubms-arrow.svg';\nimport BackIcon from '../icon/icons/back.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\nexport enum EBreadcrumbsVariant {\n arrow = 'arrow',\n slash = 'slash'\n}\n\ninterface IBreadcrumbsProps {\n paths: IBreadcrumbsPath[];\n variant?: keyof typeof EBreadcrumbsVariant;\n onBack?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onBack, variant = EBreadcrumbsVariant.arrow }: 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 <Link className={styles.back} variant=\"action\" onClick={_onBack}>\n <Icon variant=\"attention\" icon={BackIcon} />\n <Text size=\"large\" attention weight=\"semibold\">Назад</Text>\n </Link>\n ) : (\n <div className={styles.breadcrumbs}>\n {paths.map((item, index) => (\n <Fragment key={index}>\n {!!index && (variant === EBreadcrumbsVariant.slash ? <Text size=\"large\" addition>/</Text> : <BreadcrumbsArrowIcon />)}\n <span key={index}>\n {item.path ? (\n <Link href={item.path}>\n <Text size=\"large\" addition={variant === EBreadcrumbsVariant.slash} 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","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, { 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 outline = 'outline'\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","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, { 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 ReactNode,\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 enum EInputIconPosition {\n left = 'left',\n right = 'right',\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 iconPositon?: keyof typeof EInputIconPosition;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n className?: string;\n beginSearch?: number;\n debounceTime?: number;\n labelPlaceholder?: string | ReactNode;\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 iconPositon = EInputIconPosition.right,\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[`input__actions_${iconPositon}`]]: (Icon || _loading || onSearch) && showClear,\n [styles.disabled]: disabled,\n [styles.invalid]: error,\n }\n ),\n [variant, size, border, disabled, _loading, showClear, adaptive, className, error, iconPositon, 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 [styles[`clear__action_${iconPositon}`]]: 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}`], styles[`loader__${iconPositon}`]),\n [variant, size, iconPositon]\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], styles[`icon__${iconPositon}`]), [\n variant,\n size,\n iconPositon\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 || (typeof labelPlaceholder === 'string' ? 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 errorElement.scrollIntoView({ block: 'center' });\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\";\nimport classnames from 'classnames';\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 const labelClassNames = useMemo(\n () =>\n classnames(styles.label, { [styles.invalid]: meta.touched && meta.error, }),\n [meta.touched, meta.error]\n );\n\n return <div>\n {!!label && <Text className={labelClassNames} 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 setGallery: (value: boolean) => void;\n setSidebar: (value: boolean) => void;\n setShowCloseIcon: (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 showClose?: boolean;\n footerFixed?: boolean;\n full?: boolean;\n gallery?: boolean;\n};\n\nfunction _Modal<C extends ElementType>(\n { title, footer, width = 'max-content', closable = true, sidebar, showClose = true, 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 [_gallery, _setGallery] = useState<boolean>(props.gallery);\n const [_footerFixed, _setFooterFixed] = useState<boolean>(props.footerFixed);\n const [_sidebar, _setSidebar] = useState<boolean>(sidebar);\n const [_showClose, _setShowClose] = useState<boolean>(showClose);\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 setGallery: _setGallery,\n setSidebar: _setSidebar,\n setShowCloseIcon: _setShowClose,\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-hide-close': !_showClose, 'ant-modal-sidebar': _sidebar, 'ant-modal-footer-fixed': _footerFixed, 'ant-modal-full': _full, 'ant-modal-gallery': _gallery })}\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","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","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","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 if (/[_]/.test(value)) {\n return new Date('Invalid Date');\n }\n\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\nfunction generateToken(n) {\n var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n var token = '';\n for(var i = 0; i < n; i++) {\n token += chars[Math.floor(Math.random() * chars.length)];\n }\n return token;\n}\n\nexport const uuidv4 = () => {\n return generateToken(10);\n}\n","import React from 'react';\n\nimport { createContext, createRef, PropsWithChildren, RefObject, useContext, useMemo, useState } from \"react\";\nimport { IModalRef, Modal } from \"./modal\";\nimport { uuidv4 } from '@shared/utils';\n\ntype IModalContextPrivate = {\n create: (component: any, initialProps: any) => RefObject<IModalRef<any>>;\n};\n\ntype IModalObj = {\n ref: RefObject<IModalRef<any>>;\n id: any;\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 = uuidv4();\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\nimport styles from './radio.module.scss';\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 className?: string;\n error?: boolean;\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, className, error, ...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 const classNames = useMemo(\n () =>\n cn(\n 'ant-radio-customize',\n className,\n {\n [styles.invalid]: error,\n }\n ),\n [className, error]\n );\n\n const labelClassNames = useMemo(\n () => cn({ [styles.invalid]: error, }),\n [error]\n );\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={classNames} key={index} value={option.value}>\n <Text size=\"large\" className={labelClassNames}>{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, EffectFade } from 'swiper';\nimport { useCallback, useMemo, useRef, useState } from 'react';\n\nimport styles from './slider.module.scss';\n\nSwiperCore.use([Navigation, Autoplay, Controller, EffectFade]);\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 speed?: number;\n effect?: \"slide\" | \"fade\" | \"cube\" | \"coverflow\" | \"flip\";\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 effect,\n speed = 1000,\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={speed}\n fadeEffect={effect === 'fade' ? { crossFade: true } : undefined}\n effect={effect}\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';\nimport classNames from 'classnames';\n\ninterface ISpoilerProps {\n title: string | ReactNode;\n initialValue?: boolean;\n className?: string;\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={classNames(styles.spoiler, props.className)}>\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 }, [onClick]);\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 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 resizeFn(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.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 autoResize?: 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 autoResize,\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.focus();\n }\n }, [autoFocus, combineRef]);\n\n useEffect(() => {\n let unsubscribe;\n\n if (combineRef && combineRef.current) {\n combineRef.current.value = '';\n combineRef.current.value = `${value || ''}`;\n unsubscribe = resizeFn(combineRef.current);\n\n return () => {\n unsubscribe();\n }\n }\n\n return () => {\n unsubscribe && unsubscribe();\n }\n }, [autoResize, 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","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';\nimport cn from 'classnames';\n\nimport styles from './rating.module.scss';\n\ninterface IRatingProps {\n value: number;\n onChange?: (val: number) => void;\n readonly?: boolean;\n className?: string;\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={cn(styles.rating, props.className)}>\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 { recalcArrowStyles, recalcStyles } from './components/tooltip/tooltip.utils';\nexport { TooltipPosition } from './components/tooltip/tooltip.utils';\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/./src/components/input/input.module.scss?e697","webpack://dt-shared-front/external \"antd\"","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/link/link.module.scss?cc09","webpack://dt-shared-front/./src/components/text/text.module.scss?0257","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/external \"swiper\"","webpack://dt-shared-front/./src/components/breadcrumbs/breadcrumbs.module.scss?fc09","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 \"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/checkbox/checkbox.module.scss?92a4","webpack://dt-shared-front/./src/components/form-control/form-control.module.scss?7b4e","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/radio/radio.module.scss?a714","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/auto-complete/auto-complete.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/icon/icons/back.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/breadcrumbs/breadcrumbs.tsx","webpack://dt-shared-front/./src/components/icon/icons/button-loader.svg","webpack://dt-shared-front/./src/components/button/button.tsx","webpack://dt-shared-front/./src/components/icon/icons/counter-minus.svg","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/utils/apple-detect.ts","webpack://dt-shared-front/./src/components/utils/combine-ref.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/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/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/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","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","onChangeSearch","onChange","_option","res","find","debounceFetcher","current","fetchId","then","newOptions","onSelect","notFoundContent","placeholder","onSearch","val","backfill","suffixIcon","autoComplete","error","stacked","clearIcon","MEDIA_MATCHES","mobile","tablet","desktop","Media","renderDesktop","renderMobile","renderTablet","render","mounted","setMounted","defaultRender","matches","queries","MediaContext","MediaProvider","children","Provider","withMedia","Component","useMedia","Error","fillRule","clipRule","ETextSize","ETextWeight","ELinkVariant","ELinkType","ELinkSize","ELinkWeight","ELinkDecoration","Text","bold","weight","normal","addition","success","inverse","attention","warning","style","through","tag","TextTag","text","textAddition","textBold","textSuccess","textAttention","textError","textThrough","textInverse","textWarning","sharedContext","SharedProvider","useShared","EBreadcrumbsVariant","Link","Icon","link","decoration","none","href","type","dashed","rel","shared","linkBold","iconClassNames","icon__only","LinkComponent","_path2","_defs","Breadcrumbs","paths","onBack","arrow","media","_onBack","reverse","path","isBack","back","breadcrumbs","index","slash","breadcrumbsLink","title","isCurrent","EButtonSize","EButtonVariant","EButtonIconPosition","attributeType","attributeName","from","to","dur","repeatCount","id","x1","y1","x2","y2","gradientUnits","stopColor","offset","stopOpacity","Button","iconPosition","right","loading","disabled","button","withIcon","loaderClassNames","loader","_onClick","e","UNIQ_COUNT","Checkbox","_value","_setValue","_onChange","currentTarget","checked","checkboxContainer","checkbox","htmlFor","Counter","setValue","count","newCount","counter","undefined","min","max","EInputVariant","EInputSize","EInputBorder","EInputIconPosition","Input","ref","onFocus","onBlur","onClear","onBeforeMask","onPointerUp","required","showClear","outlined","border","iconPositon","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","scrollIntoView","block","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","showClose","open","setOpen","setData","_width","_setWidth","_title","_setTitle","_footer","_setFooter","_closable","_setClosable","full","_full","_setFull","gallery","_gallery","_setGallery","footerFixed","_footerFixed","_setFooterFixed","_sidebar","_setSidebar","_showClose","_setShowClose","html","document","firstElementChild","container","body","scrollTop","isOpen","overflowY","transform","overscrollBehavior","offsetHeight","handleCancel","handleOpen","close","setTitle","setFooter","setClosable","setWidth","setFooterFixed","setFull","setGallery","setSidebar","setShowCloseIcon","maskClosable","destroyOnClose","afterClose","closeIcon","onCancel","maskTransitionName","transitionName","modal","appleDetect","navigator","platform","userAgent","useCombinedRefs","targetRef","refs","forEach","units","YYYY","year","YY","M","month","MM","MMM","MMMM","MMMMM","D","day","DD","weekday","dd","hh","hour","mm","minute","ss","second","getDate","Date","replaceAll","dateFormat","utc","plural","getTime","userTimezoneOffset","getTimezoneOffset","dateUnits","dateItems","delimeters","filter","stringDate","unit","toLocaleTimeString","toLocaleDateString","slice","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","chars","token","random","generateToken","modalContext","ModalProvider","modals","setModals","initialProps","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","effect","speed","navigationPrevRef","navigationNextRef","setIndex","ready","setReady","slider","sliderAutoLoop","onSlideItem","indexItem","findItem","sliderContainer","buttonSlider","fadeEffect","crossFade","loopedSlides","onSlideChange","sw","realIndex","disableOnInteraction","navigation","nextEl","prevEl","onImagesReady","swiper","slideTo","onBeforeInit","params","lazy","checkInView","loadPrevNext","swiperSlide","swiperSlideAuto","sliderCounter","Spoiler","initialValue","opened","setOpened","spoiler","StackedInput","setKey","stacked_input","stacked_input__select","dropdownMatchSelectWidth","stacked_input__input","Switch","TagBox","v","maxTagCount","removeIcon","menuItemSelectedIcon","ETagButtonSize","ETagButtonVariant","TagButton","selected","TagButtonGroup","tagButtonGroup","onRenderLabel","ETextAreaVariant","ETextAreaSize","ETextAreaBorder","observe","element","event","handler","addEventListener","deobserve","removeEventListener","TooltipPosition","TextArea","autoResize","combineRef","unsubscribe","resize","scrollHeight","delayedResize","window","resizeFn","textarea","textarea__disabled","TextSpoiler","textSpoiler","openText","large","action","getScrollTopParent","clientHeight","parentElement","recalcArrowStyles","targetElement","tooltipProperties","getBoundingClientRect","left","top","bottom","recalcStyles","tooltipElement","tooltipWidth","tooltipHeight","leftPosition","offsetWidth","opacity","Tooltip","placement","refTooltip","refArrow","stylesTooltip","setStylesTooltip","stylesArrow","setStylesArrow","scrollElement","recalcPosition","elem","child","getAttribute","onTouchStart","stopPropagation","onClose","el","onOpen","onOpenChange","tooltip","onMouseOver","onMouseLeave","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 = 47);\n","module.exports = require(\"react\");","module.exports = require(\"classnames\");","module.exports = require(\"tslib\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"input\":\"shared__input-module__input--5GrwX_1719515306850\",\"input__medium\":\"shared__input-module__input__medium--g-8te_1719515306850\",\"label\":\"shared__input-module__label--tNO2a_1719515306850\",\"input__large\":\"shared__input-module__input__large--p-mBr_1719515306850\",\"input__action_medium\":\"shared__input-module__input__action_medium--hkQ1t_1719515306850\",\"input__actions_medium\":\"shared__input-module__input__actions_medium---YV3O_1719515306850\",\"input__action_large\":\"shared__input-module__input__action_large--64pM0_1719515306850\",\"input__actions_large\":\"shared__input-module__input__actions_large--kznb7_1719515306850\",\"input__actions_left\":\"shared__input-module__input__actions_left--mVKC8_1719515306850\",\"input__pure\":\"shared__input-module__input__pure--NNC8N_1719515306850\",\"disabled\":\"shared__input-module__disabled--ABDAb_1719515306850\",\"invalid\":\"shared__input-module__invalid--e--FF_1719515306850\",\"input__outlined\":\"shared__input-module__input__outlined--p-xCA_1719515306850\",\"clear\":\"shared__input-module__clear--OvXQO_1719515306850\",\"clear__large\":\"shared__input-module__clear__large--sWuYu_1719515306850\",\"clear__medium\":\"shared__input-module__clear__medium--09aiH_1719515306850\",\"clear__action_medium\":\"shared__input-module__clear__action_medium--zfylI_1719515306850\",\"clear__action_left\":\"shared__input-module__clear__action_left--IEVa+_1719515306850\",\"clear__action_right\":\"shared__input-module__clear__action_right--10aXM_1719515306850\",\"clear__outlined\":\"shared__input-module__clear__outlined--iICxm_1719515306850\",\"icon\":\"shared__input-module__icon--zr4sW_1719515306850\",\"icon__large\":\"shared__input-module__icon__large--89dxq_1719515306850\",\"icon__left\":\"shared__input-module__icon__left--hzu2X_1719515306850\",\"icon__right\":\"shared__input-module__icon__right--+QcVn_1719515306850\",\"icon__medium\":\"shared__input-module__icon__medium--GDtvJ_1719515306850\",\"icon__outlined\":\"shared__input-module__icon__outlined--dZgJq_1719515306850\",\"loader\":\"shared__input-module__loader--QYYkV_1719515306850\",\"loader__large\":\"shared__input-module__loader__large--Y9WB3_1719515306850\",\"loader__left\":\"shared__input-module__loader__left--U2pC4_1719515306850\",\"loader__right\":\"shared__input-module__loader__right--d0vTf_1719515306850\",\"loader__medium\":\"shared__input-module__loader__medium--QKgq8_1719515306850\",\"loader__outlined\":\"shared__input-module__loader__outlined--rHN8w_1719515306850\"};","module.exports = require(\"antd\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textarea\":\"shared__text-area-module__textarea--BYKqV_1719515306850\",\"textarea__small\":\"shared__text-area-module__textarea__small--vpKis_1719515306850\",\"textarea__medium\":\"shared__text-area-module__textarea__medium--YP0qD_1719515306850\",\"textarea__large\":\"shared__text-area-module__textarea__large--qWZJ2_1719515306850\",\"textarea__large_adaptive\":\"shared__text-area-module__textarea__large_adaptive--UFOvf_1719515306850\",\"textarea__action_medium\":\"shared__text-area-module__textarea__action_medium--xPwcQ_1719515306850\",\"textarea__action_large\":\"shared__text-area-module__textarea__action_large--6pU6m_1719515306850\",\"textarea__actions_medium\":\"shared__text-area-module__textarea__actions_medium--xk3HL_1719515306850\",\"textarea__actions_large\":\"shared__text-area-module__textarea__actions_large--QPCon_1719515306850\",\"textarea__border_circle\":\"shared__text-area-module__textarea__border_circle--QwRke_1719515306850\",\"textarea__outlined\":\"shared__text-area-module__textarea__outlined--ip5t1_1719515306850\",\"invalid\":\"shared__text-area-module__invalid--HHkEP_1719515306850\",\"textarea__filled\":\"shared__text-area-module__textarea__filled--khZXb_1719515306850\",\"clear\":\"shared__text-area-module__clear--cniAi_1719515306850\",\"clear__small\":\"shared__text-area-module__clear__small--kWg6N_1719515306850\",\"clear__medium\":\"shared__text-area-module__clear__medium--pN-Zj_1719515306850\",\"clear__large\":\"shared__text-area-module__clear__large---rhZv_1719515306850\",\"clear__action_small\":\"shared__text-area-module__clear__action_small--y2Mh9_1719515306850\",\"clear__action_medium\":\"shared__text-area-module__clear__action_medium--VB44P_1719515306850\",\"clear__action_large\":\"shared__text-area-module__clear__action_large--gD65G_1719515306850\",\"icon\":\"shared__text-area-module__icon--HqPRa_1719515306850\",\"icon__small\":\"shared__text-area-module__icon__small--yOGgx_1719515306850\",\"icon__medium\":\"shared__text-area-module__icon__medium--Lap9Z_1719515306850\",\"icon__large\":\"shared__text-area-module__icon__large--Bpk53_1719515306850\",\"loader\":\"shared__text-area-module__loader--zfGHC_1719515306850\",\"loader__large\":\"shared__text-area-module__loader__large--h-OCh_1719515306850\",\"loader__filled\":\"shared__text-area-module__loader__filled--zQ1yA_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sliderContainer\":\"shared__slider-module__sliderContainer--KGFdN_1719515306850\",\"swiperSlide\":\"shared__slider-module__swiperSlide--es2Vl_1719515306850\",\"swiperSlideAuto\":\"shared__slider-module__swiperSlideAuto--Cwk8-_1719515306850\",\"sliderAutoLoop\":\"shared__slider-module__sliderAutoLoop--0OphC_1719515306850\",\"ready\":\"shared__slider-module__ready--H+y-p_1719515306850\",\"slider\":\"shared__slider-module__slider--UBNwU_1719515306850\",\"swiper-pagination-bullets\":\"shared__slider-module__swiper-pagination-bullets--PckKH_1719515306850\",\"swiperPaginationHidden\":\"shared__slider-module__swiperPaginationHidden--k4CIT_1719515306850\",\"buttonSlider\":\"shared__slider-module__buttonSlider---MRF3_1719515306850\",\"buttonSlider__prev\":\"shared__slider-module__buttonSlider__prev--X4kyB_1719515306850\",\"buttonSlider__prev_inset\":\"shared__slider-module__buttonSlider__prev_inset--3192S_1719515306850\",\"buttonSlider__next\":\"shared__slider-module__buttonSlider__next--JognR_1719515306850\",\"buttonSlider__next_inset\":\"shared__slider-module__buttonSlider__next_inset--HcKU3_1719515306850\",\"buttonSlider__hidden\":\"shared__slider-module__buttonSlider__hidden--BgKX-_1719515306850\",\"sliderCounter\":\"shared__slider-module__sliderCounter--ynG2f_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__button-module__button--X-qXA_1719515306850\",\"button__smallS\":\"shared__button-module__button__smallS--eulj7_1719515306850\",\"button__small\":\"shared__button-module__button__small--kA9VI_1719515306850\",\"withIcon\":\"shared__button-module__withIcon--J7ifR_1719515306850\",\"button__medium\":\"shared__button-module__button__medium--E71L1_1719515306850\",\"button__large\":\"shared__button-module__button__large--PG1dR_1719515306850\",\"button__default\":\"shared__button-module__button__default--mYOHn_1719515306850\",\"button__secondary\":\"shared__button-module__button__secondary--bPOB9_1719515306850\",\"button__outline\":\"shared__button-module__button__outline--EXQ9z_1719515306850\",\"button__icon_left\":\"shared__button-module__button__icon_left--EzgVg_1719515306850\",\"button__icon_right\":\"shared__button-module__button__icon_right--uPFlS_1719515306850\",\"loading\":\"shared__button-module__loading--IZ3gt_1719515306850\",\"icon\":\"shared__button-module__icon--Gso9o_1719515306850\",\"icon__smallS\":\"shared__button-module__icon__smallS--BQwBb_1719515306850\",\"icon__small\":\"shared__button-module__icon__small--SgRrC_1719515306850\",\"icon__medium\":\"shared__button-module__icon__medium--3L-IQ_1719515306850\",\"icon__large\":\"shared__button-module__icon__large--WSggm_1719515306850\",\"icon__default\":\"shared__button-module__icon__default--MzXx8_1719515306850\",\"icon__secondary\":\"shared__button-module__icon__secondary--n0RQn_1719515306850\",\"icon__only\":\"shared__button-module__icon__only--fpWXx_1719515306850\",\"loader\":\"shared__button-module__loader--v14UE_1719515306850\",\"loader__medium\":\"shared__button-module__loader__medium--7pr9v_1719515306850\",\"loader__large\":\"shared__button-module__loader__large--S4tzp_1719515306850\",\"loader__default\":\"shared__button-module__loader__default--5X5UT_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"link\":\"shared__link-module__link--NcxZW_1719515306850\",\"link__underline\":\"shared__link-module__link__underline--7nVnP_1719515306850\",\"link__dashed\":\"shared__link-module__link__dashed--1tYsI_1719515306850\",\"link__link\":\"shared__link-module__link__link--gUwQW_1719515306850\",\"link__action\":\"shared__link-module__link__action--USwiE_1719515306850\",\"link__href\":\"shared__link-module__link__href--uTZ+A_1719515306850\",\"link__addition\":\"shared__link-module__link__addition--N+nsf_1719515306850\",\"link__attention\":\"shared__link-module__link__attention--P5GDN_1719515306850\",\"link__default\":\"shared__link-module__link__default--SOoTy_1719515306850\",\"link__success\":\"shared__link-module__link__success--oWpqh_1719515306850\",\"link__error\":\"shared__link-module__link__error--SNmQa_1719515306850\",\"link__inverse\":\"shared__link-module__link__inverse--i1RLl_1719515306850\",\"link__small\":\"shared__link-module__link__small--alNG-_1719515306850\",\"link__medium\":\"shared__link-module__link__medium--LJlDF_1719515306850\",\"link__large\":\"shared__link-module__link__large--2gcWq_1719515306850\",\"link__normal\":\"shared__link-module__link__normal--acQvJ_1719515306850\",\"link__semibold\":\"shared__link-module__link__semibold---tOWl_1719515306850\",\"link__bold\":\"shared__link-module__link__bold--QUUtI_1719515306850\",\"icon\":\"shared__link-module__icon--DUvf4_1719515306850\",\"icon__small\":\"shared__link-module__icon__small--Z11Nw_1719515306850\",\"icon__medium\":\"shared__link-module__icon__medium--rSXi1_1719515306850\",\"icon__large\":\"shared__link-module__icon__large--tIKI0_1719515306850\",\"icon__only\":\"shared__link-module__icon__only--nGgQ8_1719515306850\",\"linkBold\":\"shared__link-module__linkBold--E4KSC_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"text\":\"shared__text-module__text--L3+RG_1719515306850\",\"text__small\":\"shared__text-module__text__small--Rl3X5_1719515306850\",\"text__medium\":\"shared__text-module__text__medium--Znrxu_1719515306850\",\"text__large\":\"shared__text-module__text__large--oRnU3_1719515306850\",\"text__inherit\":\"shared__text-module__text__inherit--OKjEI_1719515306850\",\"text__normal\":\"shared__text-module__text__normal--EM-eZ_1719515306850\",\"text__semibold\":\"shared__text-module__text__semibold--8iUFE_1719515306850\",\"text__bold\":\"shared__text-module__text__bold--7+C1G_1719515306850\",\"textAddition\":\"shared__text-module__textAddition--lz-qm_1719515306850\",\"textBold\":\"shared__text-module__textBold--56jgD_1719515306850\",\"textSuccess\":\"shared__text-module__textSuccess--H2yEM_1719515306850\",\"textError\":\"shared__text-module__textError--MvnkN_1719515306850\",\"textAttention\":\"shared__text-module__textAttention--VjWLj_1719515306850\",\"textThrough\":\"shared__text-module__textThrough--is3ha_1719515306850\",\"textInverse\":\"shared__text-module__textInverse--s78Gi_1719515306850\",\"textWarning\":\"shared__text-module__textWarning--S-MeA_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"heading\":\"shared__heading-module__heading--8sR8x_1719515306850\",\"heading__h1\":\"shared__heading-module__heading__h1--R6zxl_1719515306850\",\"heading__h2\":\"shared__heading-module__heading__h2--R3bM8_1719515306850\",\"heading__h3\":\"shared__heading-module__heading__h3--XTX7i_1719515306850\",\"heading__h4\":\"shared__heading-module__heading__h4--iTCuq_1719515306850\",\"heading__h5\":\"shared__heading-module__heading__h5--WR5IM_1719515306850\",\"heading__h6\":\"shared__heading-module__heading__h6--ZnM+T_1719515306850\",\"heading__weight_bold\":\"shared__heading-module__heading__weight_bold--6Hr8P_1719515306850\",\"heading__weight_medium\":\"shared__heading-module__heading__weight_medium--LAW22_1719515306850\",\"heading__weight_regular\":\"shared__heading-module__heading__weight_regular--vV61+_1719515306850\",\"textAddition\":\"shared__heading-module__textAddition--AJUlA_1719515306850\",\"textAttention\":\"shared__heading-module__textAttention--t8+tt_1719515306850\",\"textBold\":\"shared__heading-module__textBold--n8fQX_1719515306850\",\"textInverse\":\"shared__heading-module__textInverse--S-jep_1719515306850\",\"textError\":\"shared__heading-module__textError--Bm1mE_1719515306850\",\"textSuccess\":\"shared__heading-module__textSuccess--Q3GD+_1719515306850\",\"textWarning\":\"shared__heading-module__textWarning--f-7yo_1719515306850\",\"centerText\":\"shared__heading-module__centerText--CM0Hq_1719515306850\"};","module.exports = require(\"formik\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"shared__loader-module__loader--ErOFa_1719515306850\",\"absolute\":\"shared__loader-module__absolute--nggvH_1719515306850\",\"active\":\"shared__loader-module__active--+b4cN_1719515306850\",\"fixed\":\"shared__loader-module__fixed--CUw3s_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"shared__tag-button-module__button--Qv07L_1719515306850\",\"button__default\":\"shared__tag-button-module__button__default--dpNJZ_1719515306850\",\"button__green\":\"shared__tag-button-module__button__green--7uieL_1719515306850\",\"selected\":\"shared__tag-button-module__selected--hP5R8_1719515306850\",\"button__secondary\":\"shared__tag-button-module__button__secondary--KiSTI_1719515306850\",\"button__tab\":\"shared__tag-button-module__button__tab--rVLma_1719515306850\",\"button__tumbler\":\"shared__tag-button-module__button__tumbler---2OQ2_1719515306850\",\"button__icons\":\"shared__tag-button-module__button__icons--rLBj8_1719515306850\",\"loading\":\"shared__tag-button-module__loading--emtZM_1719515306850\",\"icon\":\"shared__tag-button-module__icon--LtczE_1719515306850\",\"icon__small\":\"shared__tag-button-module__icon__small--2sXj9_1719515306850\",\"icon__medium\":\"shared__tag-button-module__icon__medium--WMllo_1719515306850\",\"icon__large\":\"shared__tag-button-module__icon__large--GhXfx_1719515306850\",\"icon__default\":\"shared__tag-button-module__icon__default--GYg6a_1719515306850\",\"shadow\":\"shared__tag-button-module__shadow---SujH_1719515306850\",\"tagButtonGroup\":\"shared__tag-button-module__tagButtonGroup--9aBd8_1719515306850\"};","module.exports = require(\"antd/lib/date-picker/locale/ru_RU\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"icon\":\"shared__icon-module__icon--Gnxeg_1719515306850\",\"icon__extraSmall\":\"shared__icon-module__icon__extraSmall--QDZdT_1719515306850\",\"icon__small\":\"shared__icon-module__icon__small--QBFuN_1719515306850\",\"icon__medium\":\"shared__icon-module__icon__medium--X-ly8_1719515306850\",\"icon__large\":\"shared__icon-module__icon__large--DzFuI_1719515306850\",\"icon__default\":\"shared__icon-module__icon__default--hQThA_1719515306850\",\"clickable\":\"shared__icon-module__clickable--3yjIa_1719515306850\",\"active\":\"shared__icon-module__active--HQWC5_1719515306850\",\"icon__warning\":\"shared__icon-module__icon__warning--TjqHn_1719515306850\",\"icon__black\":\"shared__icon-module__icon__black--AVPMK_1719515306850\",\"icon__attention\":\"shared__icon-module__icon__attention--HiOeb_1719515306850\",\"icon__revert\":\"shared__icon-module__icon__revert--O4CPt_1719515306850\",\"icon__inherit\":\"shared__icon-module__icon__inherit--NeIkw_1719515306850\"};","module.exports = require(\"swiper\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs\":\"shared__breadcrumbs-module__breadcrumbs--LxNAe_1719515306850\",\"text\":\"shared__breadcrumbs-module__text--x8KXW_1719515306850\",\"back\":\"shared__breadcrumbs-module__back--vlgPL_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"counter\":\"shared__counter-module__counter--po6fU_1719515306850\",\"button\":\"shared__counter-module__button--sOvjE_1719515306850\",\"value\":\"shared__counter-module__value--JD2xM_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loaderLine\":\"shared__loader-line-module__loaderLine--EZc2J_1719515306850\",\"bar\":\"shared__loader-line-module__bar--uH4lA_1719515306850\",\"active\":\"shared__loader-line-module__active--0J8lF_1719515306850\",\"loader-animation\":\"shared__loader-line-module__loader-animation--cSq+I_1719515306850\",\"border\":\"shared__loader-line-module__border--OXwgu_1719515306850\"};","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+_1719515306850\",\"hasLabel\":\"shared__auto-complete-module__hasLabel--t+Z8x_1719515306850\",\"disabled\":\"shared__auto-complete-module__disabled--3VMd2_1719515306850\",\"invalid\":\"shared__auto-complete-module__invalid--yHbC5_1719515306850\",\"optionText\":\"shared__auto-complete-module__optionText--saGcQ_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"checkbox\":\"shared__checkbox-module__checkbox--jOEle_1719515306850\",\"error\":\"shared__checkbox-module__error--xRaxv_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"label\":\"shared__form-control-module__label--0QO0D_1719515306850\",\"error\":\"shared__form-control-module__error--FVB3Z_1719515306850\",\"invalid\":\"shared__form-control-module__invalid--LEqRn_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__select-module__select--cm-a3_1719515306850\",\"hasLabel\":\"shared__select-module__hasLabel--ZRS9W_1719515306850\",\"disabled\":\"shared__select-module__disabled--gfQp-_1719515306850\",\"invalid\":\"shared__select-module__invalid--rXHCJ_1719515306850\",\"optionText\":\"shared__select-module__optionText--7GphM_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spoiler\":\"shared__spoiler-module__spoiler--siWfv_1719515306850\",\"title\":\"shared__spoiler-module__title--N0ID7_1719515306850\",\"arrow\":\"shared__spoiler-module__arrow--VISBf_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"stacked_input\":\"shared__stacked-input-module__stacked_input--gd2Dh_1719515306850\",\"stacked_input__select\":\"shared__stacked-input-module__stacked_input__select--ewS4D_1719515306850\",\"stacked_input__input\":\"shared__stacked-input-module__stacked_input__input--t1qul_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"select\":\"shared__tag-box-module__select--aZcmW_1719515306850\",\"hasLabel\":\"shared__tag-box-module__hasLabel--OkuEn_1719515306850\",\"disabled\":\"shared__tag-box-module__disabled--8Eb9x_1719515306850\",\"invalid\":\"shared__tag-box-module__invalid--D6cKK_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tooltip\":\"shared__tooltip-module__tooltip--tS2G-_1719515306850\",\"arrow\":\"shared__tooltip-module__arrow--VbQb7_1719515306850\",\"left\":\"shared__tooltip-module__left--2nmo1_1719515306850\",\"right\":\"shared__tooltip-module__right--JgZSX_1719515306850\",\"top\":\"shared__tooltip-module__top--VsESz_1719515306850\",\"bottom\":\"shared__tooltip-module__bottom--2zx9D_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"rating\":\"shared__rating-module__rating--eoGNU_1719515306850\",\"stars\":\"shared__rating-module__stars--dnMg4_1719515306850\",\"buttons\":\"shared__rating-module__buttons--oat0X_1719515306850\"};","module.exports = require(\"react-media\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"bordered\":\"shared__divider-module__bordered--8qnHN_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"invalid\":\"shared__radio-module__invalid--6ByqJ_1719515306850\"};","module.exports = require(\"swiper/react\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"switch\":\"shared__switch-module__switch--EGB08_1719515306850\",\"active\":\"shared__switch-module__active--Mghyc_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"textSpoiler\":\"shared__text-spoiler-module__textSpoiler--xJkwo_1719515306850\",\"openText\":\"shared__text-spoiler-module__openText--osI1V_1719515306850\",\"expander\":\"shared__text-spoiler-module__expander--Y2VRc_1719515306850\",\"active\":\"shared__text-spoiler-module__active--+DkdZ_1719515306850\"};","module.exports = require(\"lodash\");","module.exports = require(\"inputmask\");","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown\":\"shared__dropdown-module__dropdown--fuFze_1719515306850\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"shared__modal-module__footer--wpZLV_1719515306850\"};","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-container-fade\":\"swiper-container-fade\",\"swiper-slide-active\":\"swiper-slide-active\",\"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-gallery\":\"ant-modal-gallery\",\"ant-modal-close\":\"ant-modal-close\",\"ant-modal-full\":\"ant-modal-full\",\"ant-modal-sidebar\":\"ant-modal-sidebar\",\"ant-modal-hide-close\":\"ant-modal-hide-close\",\"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 inherit = 'inherit'\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;","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 onChangeSearch = useCallback((value: string) => {\n setSearchValue(value);\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 {...props}\n value={searchValue}\n options={_options}\n onSelect={onChange}\n popupClassName={popupClassName}\n notFoundContent={null}\n onChange={onChangeSearch}\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, {\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;","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 SvgBack(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: \"M9.662 12l4.673-5.296a1.002 1.002 0 000-1.293.741.741 0 00-1.14 0L7.95 11.354a1.003 1.003 0 000 1.293l5.244 5.943a.741.741 0 001.141 0 1.002 1.002 0 000-1.293L9.662 12z\",\n fill: \"#873EDF\"\n })));\n}\n\nexport default SvgBack;","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 inherit = 'inherit',\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 onClick?: (e: any) => void;\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 onClick\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} onClick={onClick}>{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 inverse = 'inverse'\n}\n\nexport enum ELinkSize {\n small = 'small',\n medium = 'medium',\n large = 'large',\n}\n\nexport enum ELinkWeight {\n bold = 'bold',\n semibold = 'semibold',\n normal = 'normal',\n}\n\nexport enum ELinkDecoration {\n none = 'none',\n underline = 'underline',\n dashed = 'dashed'\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 weight?: keyof typeof ELinkWeight;\n type?: keyof typeof ELinkType;\n decoration?: keyof typeof ELinkDecoration;\n dashed?: boolean;\n className?: string;\n target?: '_blank';\n onClick?: (e: MouseEvent) => 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 weight = ELinkWeight.normal,\n decoration = ELinkDecoration.none,\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__${weight}`], styles[`link__${type}`], styles[`link__${decoration}`], {\n [styles.linkBold]: bold,\n [styles.dashed]: dashed,\n }),\n [variant, className, dashed, type, weight, decoration]\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","import React from 'react';\n\nimport { Icon } from \"@shared/icon\";\nimport { useMedia, withMedia } from '@shared/media';\nimport { Fragment, useCallback } from 'react';\n\nimport BreadcrumbsArrowIcon from '../icon/icons/breadcrubms-arrow.svg';\nimport BackIcon from '../icon/icons/back.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\nexport enum EBreadcrumbsVariant {\n arrow = 'arrow',\n slash = 'slash'\n}\n\ninterface IBreadcrumbsProps {\n paths: IBreadcrumbsPath[];\n variant?: keyof typeof EBreadcrumbsVariant;\n onBack?: (path: string) => void;\n}\n\nexport const Breadcrumbs = withMedia(({ paths, onBack, variant = EBreadcrumbsVariant.arrow }: 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 <Link className={styles.back} variant=\"action\" onClick={_onBack}>\n <Icon variant=\"attention\" icon={BackIcon} />\n <Text size=\"large\" attention weight=\"semibold\">Назад</Text>\n </Link>\n ) : (\n <div className={styles.breadcrumbs}>\n {paths.map((item, index) => (\n <Fragment key={index}>\n {!!index && (variant === EBreadcrumbsVariant.slash ? <Text size=\"large\" addition>/</Text> : <BreadcrumbsArrowIcon />)}\n <span key={index}>\n {item.path ? (\n <Link href={item.path}>\n <Text size=\"large\" addition={variant === EBreadcrumbsVariant.slash} 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","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, { 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 outline = 'outline'\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","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, { 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 ReactNode,\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 enum EInputIconPosition {\n left = 'left',\n right = 'right',\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 iconPositon?: keyof typeof EInputIconPosition;\n loading?: boolean;\n showClear?: boolean;\n adaptive?: boolean;\n className?: string;\n beginSearch?: number;\n debounceTime?: number;\n labelPlaceholder?: string | ReactNode;\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 iconPositon = EInputIconPosition.right,\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[`input__actions_${iconPositon}`]]: (Icon || _loading || onSearch) && showClear,\n [styles.disabled]: disabled,\n [styles.invalid]: error,\n }\n ),\n [variant, size, border, disabled, _loading, showClear, adaptive, className, error, iconPositon, 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 [styles[`clear__action_${iconPositon}`]]: 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}`], styles[`loader__${iconPositon}`]),\n [variant, size, iconPositon]\n );\n\n const iconClassNames = useMemo(() => classnames(styles.icon, styles[`icon__${variant}`], styles[`icon__${size}`], styles[`icon__${iconPositon}`]), [\n variant,\n size,\n iconPositon\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 || (typeof labelPlaceholder === 'string' ? 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 errorElement.scrollIntoView({ block: 'center' });\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\";\nimport classnames from 'classnames';\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 const labelClassNames = useMemo(\n () =>\n classnames(styles.label, { [styles.invalid]: meta.touched && meta.error, }),\n [meta.touched, meta.error]\n );\n\n return <div>\n {!!label && <Text className={labelClassNames} 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 setGallery: (value: boolean) => void;\n setSidebar: (value: boolean) => void;\n setShowCloseIcon: (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 showClose?: boolean;\n footerFixed?: boolean;\n full?: boolean;\n gallery?: boolean;\n};\n\nfunction _Modal<C extends ElementType>(\n { title, footer, width = 'max-content', closable = true, sidebar, showClose = true, 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 [_gallery, _setGallery] = useState<boolean>(props.gallery);\n const [_footerFixed, _setFooterFixed] = useState<boolean>(props.footerFixed);\n const [_sidebar, _setSidebar] = useState<boolean>(sidebar);\n const [_showClose, _setShowClose] = useState<boolean>(showClose);\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 setGallery: _setGallery,\n setSidebar: _setSidebar,\n setShowCloseIcon: _setShowClose,\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-hide-close': !_showClose, 'ant-modal-sidebar': _sidebar, 'ant-modal-footer-fixed': _footerFixed, 'ant-modal-full': _full, 'ant-modal-gallery': _gallery })}\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","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","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","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 if (/[_]/.test(value)) {\n return new Date('Invalid Date');\n }\n\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\nfunction generateToken(n) {\n var chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n var token = '';\n for(var i = 0; i < n; i++) {\n token += chars[Math.floor(Math.random() * chars.length)];\n }\n return token;\n}\n\nexport const uuidv4 = () => {\n return generateToken(10);\n}\n","import React from 'react';\n\nimport { createContext, createRef, PropsWithChildren, RefObject, useContext, useMemo, useState } from \"react\";\nimport { IModalRef, Modal } from \"./modal\";\nimport { uuidv4 } from '@shared/utils';\n\ntype IModalContextPrivate = {\n create: (component: any, initialProps: any) => RefObject<IModalRef<any>>;\n};\n\ntype IModalObj = {\n ref: RefObject<IModalRef<any>>;\n id: any;\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 = uuidv4();\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\nimport styles from './radio.module.scss';\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 className?: string;\n error?: boolean;\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, className, error, ...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 const classNames = useMemo(\n () =>\n cn(\n 'ant-radio-customize',\n className,\n {\n [styles.invalid]: error,\n }\n ),\n [className, error]\n );\n\n const labelClassNames = useMemo(\n () => cn({ [styles.invalid]: error, }),\n [error]\n );\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={classNames} key={index} value={option.value}>\n <Text size=\"large\" className={labelClassNames}>{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, EffectFade } from 'swiper';\nimport { useCallback, useMemo, useRef, useState } from 'react';\n\nimport styles from './slider.module.scss';\n\nSwiperCore.use([Navigation, Autoplay, Controller, EffectFade]);\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 speed?: number;\n effect?: \"slide\" | \"fade\" | \"cube\" | \"coverflow\" | \"flip\";\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 effect,\n speed = 1000,\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={speed}\n fadeEffect={effect === 'fade' ? { crossFade: true } : undefined}\n effect={effect}\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';\nimport classNames from 'classnames';\n\ninterface ISpoilerProps {\n title: string | ReactNode;\n initialValue?: boolean;\n className?: string;\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={classNames(styles.spoiler, props.className)}>\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 }, [onClick]);\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 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 resizeFn(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.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 autoResize?: 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 autoResize,\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.focus();\n }\n }, [autoFocus, combineRef]);\n\n useEffect(() => {\n let unsubscribe;\n\n if (combineRef && combineRef.current) {\n combineRef.current.value = '';\n combineRef.current.value = `${value || ''}`;\n unsubscribe = resizeFn(combineRef.current);\n\n return () => {\n unsubscribe();\n }\n }\n\n return () => {\n unsubscribe && unsubscribe();\n }\n }, [autoResize, 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","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';\nimport cn from 'classnames';\n\nimport styles from './rating.module.scss';\n\ninterface IRatingProps {\n value: number;\n onChange?: (val: number) => void;\n readonly?: boolean;\n className?: string;\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={cn(styles.rating, props.className)}>\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 { recalcArrowStyles, recalcStyles } from './components/tooltip/tooltip.utils';\nexport { TooltipPosition } from './components/tooltip/tooltip.utils';\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":""}
|