kui-crm 0.0.23 → 0.0.25

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/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../src/utils/constants.ts","../../src/settings.ts","../../src/agent/Companies.ts","../../src/agent/Upload.ts","../../src/agent/FillingTags.ts","../../src/agent/Tariffs.ts","../../src/agent/index.ts","../../src/agent/Catalogs.ts","../../src/store/CitiesStore.ts","../../src/hooks/useAutocomplete.ts","../../src/components/CityAutocomplete/index.tsx","../../src/store/CountriesStore.ts","../../src/components/CountryAutocomplete/index.tsx","../../src/components/InputFileWithVisibility/index.tsx","../../src/components/InputByType/index.tsx","../../src/store/RegionsStore.ts","../../src/components/RegionAutocomplete/index.tsx","../../src/hooks/usePortalPosition.ts","../../src/components/TwoOptionForAutocomplete/index.tsx","../../src/components/SquarePreviewImage/index.tsx","../../src/components/Modal/index.tsx","../../../kui-utils/content/regexp.ts","../../src/components/CompanyCreationForm/schema.ts","../../src/content/listOptions.ts","../../src/components/AutocompleteOption/index.tsx","../../src/components/ErrorPopup/index.tsx","../../src/components/LoaderPopup/index.tsx","../../src/components/LoaderState/index.tsx","../../src/components/CompanyInnAutocomplete/index.tsx","../../src/components/MapComponent/index.tsx","../../src/components/ModalWithMap/index.tsx","../../src/components/OpenMapButton/index.tsx","../../src/components/InputWithMap/index.tsx","../../src/components/PreviewImageCard/index.tsx","../../src/components/FileUploaderWithPreview/index.tsx","../../src/components/CompanyCreationForm/fields.ts","../../src/components/FormBottom/index.tsx","../../src/components/CompanyCreationForm/index.tsx","../../src/components/CompanyCreationModal/index.tsx","../../src/utils/matches.ts","../../src/store/CompaniesStore.ts","../../src/components/CompanyAutocomplete/index.tsx","../../src/components/ChangeReasonFields/schema.ts","../../src/components/ChangeReasonFields/index.tsx","../../src/components/FillingTagCreationForm/schema.ts","../../src/components/FillingTagCreationForm/index.tsx","../../src/components/FillingTagCreationModal/index.tsx","../../src/store/FillingTagsStore.ts","../../src/components/FillingTagsAutocomplete/index.tsx","../../src/components/FormWrapper/index.tsx","../../src/components/HeadingWithButton/index.tsx","../../src/components/MeterFeaturesFields/schema.ts","../../src/components/PartialPayer/fields.ts","../../src/components/PartialPayer/index.tsx","../../src/store/TariffsLiteStore.ts","../../src/components/TariffCreationForm/CommonTariffFields/schema.ts","../../src/store/DistrictsStore.ts","../../src/components/DistrictAutocomplete/index.tsx","../../src/components/TariffCreationForm/CommonTariffFields/fields.ts","../../src/components/TariffReplacementField/index.tsx","../../src/components/TariffReplacementFields/index.tsx","../../src/components/TariffCreationForm/CommonTariffFields/index.tsx","../../src/components/TariffCreationForm/ChangeReasonTariffFields/schema.ts","../../src/components/TariffCreationForm/ChangeReasonTariffFields/index.tsx","../../src/components/TariffCreationForm/ElectricityTariffCreationFields/schema.ts","../../src/components/TariffCreationForm/ElectricityTariffCreationFields/index.tsx","../../src/components/TariffCreationForm/WaterTariffCreationFields/schema.ts","../../src/components/TariffCreationForm/WaterTariffCreationFields/index.tsx","../../src/components/TariffCreationForm/SingeTariffCreatingFields/schema.ts","../../src/components/TariffCreationForm/SingeTariffCreatingFields/index.tsx","../../src/components/TariffCreationForm/index.tsx","../../src/components/TariffCreationModal/index.tsx","../../src/components/TariffGroupAutocomplete/index.tsx","../../src/components/MeterFeaturesFields/fields.ts","../../src/components/ReplaceableCountersBlock/index.tsx","../../src/components/MeterFeaturesFields/index.tsx","../../src/components/MeterTypeRadioGroup/index.tsx","../../src/components/MeterFeaturesForm/index.tsx","../../src/components/SignInForm/schema.ts","../../src/components/SignInForm/index.tsx","../../src/components/SignInPage/login_bg.png","../../src/components/SignInPage/index.tsx","../../src/fields/fillingFields.ts","../../src/utils/reqHandler.ts","../../src/utils/schema.ts","../../src/utils/uploadFiles.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export const authFlag = \"maroomCRMisAuth\"\n\nexport const csrfTokenKey = \"csrftoken\"\n\nexport const sessionIdKey = \"crm-sessionid\"\n\nexport const defaultRequiredMessage = \"This field is required\"\n","/* global google */\n\nimport { InternalAxiosRequestConfig } from \"axios\"\n\nexport type KUICrmSettings = {\n apiUrl?: string\n errorHandler?: (error: any) => void\n map?: google.maps.Map\n reqHandler?: (\n config: InternalAxiosRequestConfig\n ) => InternalAxiosRequestConfig\n}\n\nexport type KUICrmObserver = (settings: KUICrmSettings) => void\n\nclass KUISettings {\n settings: KUICrmSettings\n\n observers: KUICrmObserver[]\n\n id: number\n\n constructor() {\n this.settings = {}\n this.observers = []\n this.id = Math.random() * 100\n }\n\n getSettings = () => ({ ...this.settings })\n\n setSettings = (newSettings: KUICrmSettings) => {\n this.settings = { ...this.settings, ...newSettings }\n\n this.observers.forEach((observer) => observer(this.settings))\n }\n\n subscribeToSettings = (observer: KUICrmObserver) => {\n this.observers.push(observer)\n }\n\n unsubscribeFromSettings = (observer: KUICrmObserver) => {\n const index = this.observers.indexOf(observer)\n if (index !== -1) this.observers.splice(index, 1)\n }\n}\n\nconst kuiSettings = new KUISettings()\n\nexport default kuiSettings\n","import requests from \"./index\"\nimport {\n CompanyByTinRequestBody,\n PostCompaniesRequest,\n} from \"../types/api/companies\"\n\nconst CompaniesAgent = {\n all: <T>(offset: number, limit: number, params: string): Promise<T> =>\n requests.get(`/companies?limit=${limit}&offset=${offset}${params}`),\n create: <T>(data: PostCompaniesRequest): Promise<T> =>\n requests.post(\"/companies\", data),\n createLogo: <T>(companyId: number, logo: FormData): Promise<T> =>\n requests.put(`/companies/${companyId}/logo`, logo),\n findCompanyByINN: <T>(body: CompanyByTinRequestBody): Promise<T> =>\n requests.post(\"/companies/info-by-new-tin\", body),\n}\n\nexport default CompaniesAgent\n","import requests from \"./index\"\r\n\r\nconst UploadAgent = {\r\n uploadImage: (data: FormData | any) => requests.post(\"/upload/image\", data),\r\n uploadDocument: (data: FormData | any) =>\r\n requests.post(\"/upload/document\", data),\r\n}\r\n\r\nexport default UploadAgent\r\n","import requests from \"./index\"\nimport { ApartmentFillingAPIVariants } from \"../types/api/filling\"\n\nconst FillingTagsAgent = {\n getAll: (type: ApartmentFillingAPIVariants) =>\n requests.get(`/features?feature_type=${type}`),\n create: (data: FormData) => requests.post(\"/features\", data),\n}\n\nexport default FillingTagsAgent\n","import { PostTariffRequest } from \"../types/api/tariffs\"\nimport { ResourceTypes } from \"../types\"\nimport requests from \"./index\"\n\nconst TariffsAgent = {\n all: (tariff: ResourceTypes, offset: number, limit: number, params: string) =>\n requests.get(\n `/tariffs/${tariff}?ordering=region&offset=${offset}&limit=${limit}${params}`\n ),\n createTariff: (data: PostTariffRequest, tariff: ResourceTypes) =>\n requests.post(`/tariffs/${tariff}`, data),\n}\n\nexport default TariffsAgent\n","import axios, { InternalAxiosRequestConfig } from \"axios\"\nimport { deleteCookie, getCookie } from \"kui-utils\"\nimport { authFlag, csrfTokenKey, sessionIdKey } from \"../utils/constants\"\nimport KUISettings from \"../settings\"\n\nconst axiosInstance = axios.create()\naxiosInstance.defaults.withCredentials = true\n\nconst errorHandler = (err: any) => {\n const settings = KUISettings.getSettings()\n\n deleteCookie(csrfTokenKey)\n deleteCookie(sessionIdKey)\n localStorage.removeItem(authFlag)\n\n if (settings.errorHandler) settings.errorHandler(err.response?.data ?? err)\n return Promise.reject(err.response?.data ?? err)\n}\n\nconst CSRFPlugin = (req: InternalAxiosRequestConfig) => {\n const CSRFToken = getCookie(csrfTokenKey)\n\n if (CSRFToken) {\n req.headers![\"X-CSRFToken\"] = CSRFToken\n }\n\n return req\n}\n\naxiosInstance.interceptors.request.use((config) => {\n const reqHandler = KUISettings.getSettings().reqHandler\n if (reqHandler) return reqHandler(CSRFPlugin(config))\n return CSRFPlugin(config)\n})\n\naxiosInstance.interceptors.response.use(\n async (res) => res.data,\n (error) => errorHandler(error)\n)\n\nconst requests = {\n get: async <T = any>(url: string): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.get(`${baseUrl}${url}`)\n },\n post: async <T = any>(url: string, data: any): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.post(`${baseUrl}${url}`, data)\n },\n put: async <T = any>(url: string, data: any): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.put(`${baseUrl}${url}`, data)\n },\n}\n\nexport default requests\nexport { default as CatalogsAgent } from \"./Catalogs\"\nexport { default as CompaniesAgent } from \"./Companies\"\nexport { default as UploadAgent } from \"./Upload\"\nexport { default as FillingTagsAgent } from \"./FillingTags\"\nexport { default as TariffsAgent } from \"./Tariffs\"\n","import requests from \"./index\"\n\nconst CatalogsAgent = {\n getCountries: (offset: number, limit: number, params: string) =>\n requests.get(\n `/catalogs/countries?limit=${limit}&offset=${offset}${params}`\n ),\n getRegions: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/regions?limit=${limit}&offset=${offset}${params}`),\n getCities: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/cities?limit=${limit}&offset=${offset}${params}`),\n getDistricts: (offset: number, limit: number, params: string) =>\n requests.get(\n `/catalogs/districts?limit=${limit}&offset=${offset}${params}`\n ),\n getCounties: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/counties?limit=${limit}&offset=${offset}${params}`),\n}\n\nexport default CatalogsAgent\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { CityParams } from \"../types/store/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\nimport { CityModel, GetCitiesResponse } from \"../types/api/catalogs\"\n\nclass CitiesStore {\n cities: CityParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.cities = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchCities = async () => {\n this.loader.startLoading()\n\n const response = await to<GetCitiesResponse>(\n CatalogsAgent.getCities(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (city: CityModel) => city\n\n resHandler(response, this.loader, (res) => {\n this.cities = this.paginator.getPageResponse(res, this.cities, mapper)\n })\n }\n}\n\nexport default CitiesStore\n","import { useEffect } from \"react\"\nimport { SortingFilter, useDebounce, Paginator } from \"kui-utils\"\n\nconst useAutocomplete = (\n filter: SortingFilter,\n paginator: Paginator,\n fetchAll: () => void,\n defaultFilter?: string,\n withoutRequest?: boolean\n) => {\n useEffect(() => {\n if (defaultFilter) filter.updateFilterQuery(defaultFilter)\n filter.updateSearchQuery(\"\")\n paginator.clearOffset()\n paginator.startFetching()\n }, [])\n\n useEffect(() => {\n if (paginator.isFetching && !paginator.isFinishPage && !withoutRequest) {\n fetchAll()\n }\n }, [fetchAll, paginator.isFetching])\n\n useDebounce(filter.searchQuery, 500, () => {\n paginator.clearOffset()\n paginator.startFetching()\n })\n\n useDebounce(filter.filterQuery, 500, () => {\n paginator.clearOffset()\n paginator.startFetching()\n })\n\n const onSearchItem = (value: string) => {\n filter.updateSearchQuery(value)\n if (value.length === 0) {\n paginator.clearOffset()\n paginator.startFetching()\n }\n }\n\n const onScrollEnd = () => {\n if (!paginator.isFinishPage) {\n paginator.startFetching()\n }\n }\n\n return { onSearchItem, onScrollEnd }\n}\n\nexport default useAutocomplete\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { CityAutocompleteProps } from \"./types\"\nimport { RegionAutocompleteFields } from \"../RegionAutocomplete/types\"\nimport CitiesStore from \"../../store/CitiesStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { CityParams } from \"../../types/store/catalogs\"\n\nfunction CityAutocomplete<TFormValues extends object>(\n props: CityAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, regionName, ...otherProps } = props\n const citiesStoreRef = useRef(new CitiesStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { cities, fetchCities, paginator, filter, loader } =\n citiesStoreRef.current\n const { isLoading } = loader\n const region: RegionAutocompleteFields = useWatch({\n control: form.control,\n name: regionName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchCities,\n region?.id ? `&region=${region.id}` : \"\"\n )\n\n const onSelectItem = (item: CityParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (region?.id) {\n filter.updateFilterQuery(`&region=${region.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [region?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: CityParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={cities}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nCityAutocomplete.defaultProps = {\n label: \"City\",\n name: \"city\",\n regionName: \"region\",\n}\n\nexport default observer(CityAutocomplete)\nexport type { CityAutocompleteFields, CityAutocompleteProps } from \"./types\"\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { CountryParams } from \"../types/store/catalogs\"\nimport { CountryModel, GetCountriesResponse } from \"../types/api/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\n\nclass CountriesStore {\n countries: CountryParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.countries = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchCountries = async () => {\n this.loader.startLoading()\n\n const response = await to<GetCountriesResponse>(\n CatalogsAgent.getCountries(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (country: CountryModel) => country\n\n resHandler(response, this.loader, (res) => {\n this.countries = this.paginator.getPageResponse(\n res,\n this.countries,\n mapper\n )\n })\n }\n}\n\nexport default CountriesStore\n","import * as React from \"react\"\nimport { useRef } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { CountryAutocompleteProps } from \"./types\"\nimport CountriesStore from \"../../store/CountriesStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { CountryParams } from \"../../types/store/catalogs\"\n\nfunction CountryAutocomplete<TFormValues extends object>(\n props: CountryAutocompleteProps<TFormValues>\n) {\n const { form, name, label, defaultFilter, onSelect, ...otherProps } = props\n const countriesStoreRef = useRef(new CountriesStore())\n const { countries, fetchCountries, paginator, filter, loader } =\n countriesStoreRef.current\n const { isLoading } = loader\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchCountries,\n defaultFilter\n )\n\n const onSelectItem = (item: CountryParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n return (\n <InputWithAutocomplete\n renderOption={(option: CountryParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={countries}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n {...otherProps}\n />\n )\n}\n\nCountryAutocomplete.defaultProps = {\n label: \"Country\",\n name: \"country\",\n}\n\nexport default observer(CountryAutocomplete)\nexport type { CountryAutocompleteFields } from \"./types\"\n","import React, { useEffect, useState } from \"react\"\nimport { FieldValues, useWatch } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\n// @ts-ignore\n// eslint-disable-next-line import/no-unresolved\nimport { InputFileProps } from \"kui-complex/InputFile\"\nimport {\n InputFile,\n CheckboxGroupWithTitle,\n getVisibility,\n getVisibilitySettings,\n} from \"kui-complex\"\nimport { DocumentVisibilityVariants } from \"../../types/common\"\n\nfunction InputFileWithVisibility<T extends FieldValues>(\n props: InputFileProps<T>\n) {\n const { form, name, defaultVisibility, disabled, ...inputProps } = props\n const [mounted, setMounted] = useState(false)\n const file = useWatch({ control: form.control, name: `${name}.file` })\n\n const tenant = useWatch({\n control: form.control,\n name: `${name}.tenant`,\n })\n const landlord = useWatch({\n control: form.control,\n name: `${name}.landlord`,\n })\n\n const visibilityOptions = [\n { name: `${name}.landlord`, label: \"Landlord\" },\n { name: `${name}.tenant`, label: \"Tenant\" },\n ]\n\n const setVisibilitySettings = (visibility?: DocumentVisibilityVariants) => {\n const visibilitySettings = getVisibilitySettings(visibility)\n form.setValue(`${name}.landlord`, visibilitySettings.landlord)\n form.setValue(`${name}.tenant`, visibilitySettings.tenant)\n }\n\n useEffect(() => {\n if (typeof landlord === \"boolean\" && typeof tenant === \"boolean\") {\n const visibility = getVisibility({ landlord, tenant })\n form.setValue(`${name}.visibility`, visibility)\n }\n }, [landlord, tenant])\n\n useEffect(() => {\n const defaultValue = form.getValues(name)\n if (defaultValue && \"filesStore\" in defaultValue) {\n form.setValue(`${name}.file`, { ...defaultValue, filesStore: null })\n setVisibilitySettings(defaultValue.visibility)\n } else {\n setVisibilitySettings(defaultVisibility)\n }\n if (defaultValue && defaultValue.file instanceof File) {\n const url = URL.createObjectURL(defaultValue.file)\n form.setValue(`${name}.url`, url)\n }\n\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return null\n }\n\n return (\n <div>\n <InputFile\n form={form}\n name={`${name}.file`}\n disabled={disabled}\n {...inputProps}\n />\n {file && (\n <Box mt={2}>\n <CheckboxGroupWithTitle\n title=\"Visibility\"\n options={visibilityOptions}\n form={form}\n disabled={disabled}\n />\n </Box>\n )}\n </div>\n )\n}\n\nexport default InputFileWithVisibility\nexport type { InputFileWithVisibilityFields, FileWithVisibility } from \"./types\"\n","import React from \"react\"\nimport {\n InputWithDatePicker,\n InputSelectWithController,\n InputPhoneWithForm,\n InputWithMask,\n InputWithController,\n} from \"kui-complex\"\nimport { InputByTypeProps } from \"./types\"\nimport InputFileWithVisibility from \"../InputFileWithVisibility\"\n\nfunction InputByType<T extends object>({\n variant,\n CustomInput,\n ...inputProps\n}: InputByTypeProps<T>) {\n switch (variant) {\n case \"date\":\n return (\n <InputWithDatePicker\n title=\"Date\"\n footerLabel=\"Save\"\n alignTitle=\"left\"\n yearParams={{ min: -10, max: 120 }}\n {...inputProps}\n />\n )\n case \"select\":\n return <InputSelectWithController {...inputProps} />\n case \"phone\":\n return <InputPhoneWithForm {...inputProps} />\n case \"file\":\n return <InputFileWithVisibility {...inputProps} />\n case \"mask\":\n return <InputWithMask {...inputProps} />\n case \"custom\":\n return <CustomInput {...inputProps} />\n case \"empty\":\n return null\n default:\n return <InputWithController {...inputProps} />\n }\n}\n\nexport default InputByType\nexport type { InputParams, InputByTypeProps, InputTypes } from \"./types\"\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { RegionParams } from \"../types/store/catalogs\"\nimport { GetRegionsResponse, RegionModel } from \"../types/api/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\n\nclass RegionsStore {\n regions: RegionParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.regions = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchRegions = async () => {\n this.loader.startLoading()\n\n const response = await to<GetRegionsResponse>(\n CatalogsAgent.getRegions(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (region: RegionModel) => region\n\n resHandler(response, this.loader, (res) => {\n this.regions = this.paginator.getPageResponse(res, this.regions, mapper)\n })\n }\n}\n\nexport default RegionsStore\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { RegionAutocompleteProps } from \"./types\"\nimport { CountryAutocompleteFields } from \"../CountryAutocomplete/types\"\nimport RegionsStore from \"../../store/RegionsStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { RegionParams } from \"../../types/store/catalogs\"\n\nfunction RegionAutocomplete<TFormValues extends object>(\n props: RegionAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, countryName, ...otherProps } = props\n const regionsStoreRef = useRef(new RegionsStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { regions, fetchRegions, paginator, filter, loader } =\n regionsStoreRef.current\n const { isLoading } = loader\n const country: CountryAutocompleteFields = useWatch({\n control: form.control,\n name: countryName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchRegions,\n country?.id ? `&country=${country.id}` : \"\"\n )\n\n const onSelectItem = (item: RegionParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (country?.id) {\n filter.updateFilterQuery(`&country=${country.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [country?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: RegionParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={regions}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nRegionAutocomplete.defaultProps = {\n label: \"Region\",\n name: \"region\",\n countryName: \"country\",\n}\n\nexport default observer(RegionAutocomplete)\nexport type { RegionAutocompleteFields, RegionAutocompleteProps } from \"./types\"\n","import { RefObject, useEffect, useState } from \"react\"\r\n\r\nconst usePortalPosition = (portalParentRef: RefObject<HTMLElement>) => {\r\n const [coords, setCoords] = useState<DOMRect | null>(null)\r\n\r\n useEffect(() => {\r\n if (!portalParentRef.current) {\r\n return\r\n }\r\n\r\n const updateCoords = () => {\r\n if (portalParentRef.current) {\r\n const newCoords = portalParentRef.current!.getBoundingClientRect()\r\n\r\n setCoords({\r\n ...newCoords,\r\n right: document.documentElement.clientWidth - newCoords.right,\r\n top: newCoords.top + window.pageYOffset,\r\n })\r\n }\r\n }\r\n\r\n updateCoords()\r\n\r\n window.addEventListener(\"calcPortalPosition\", updateCoords)\r\n // eslint-disable-next-line consistent-return\r\n return () => window.removeEventListener(\"calcPortalPosition\", updateCoords)\r\n }, [portalParentRef])\r\n\r\n return coords\r\n}\r\n\r\nexport default usePortalPosition\r\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Grid, theme } from \"kui-basic\"\nimport { TwoOptionProps } from \"./types\"\n\nfunction TwoOptionForAutocomplete({ option }: TwoOptionProps) {\n return (\n <StyledWrapper container justify=\"space-between\">\n <Grid item>\n <Caption size=\"s\" weight={500}>\n {option.name}\n </Caption>\n </Grid>\n <Grid item>\n <Caption size=\"s\" weight={500} color=\"fiftyP\">\n {option.right}\n </Caption>\n </Grid>\n </StyledWrapper>\n )\n}\n\nexport default TwoOptionForAutocomplete\n\nconst StyledWrapper = styled(Grid)`\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ${theme.palette.background.light2};\n },\n`\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { css } from \"@emotion/react\"\nimport { Grid, Heading, theme } from \"kui-basic\"\nimport { PreviewImageStylesProps, SquarePreviewImageProps } from \"./types\"\n\nfunction SquarePreviewImage({\n imageSrc,\n name,\n size,\n ...other\n}: SquarePreviewImageProps) {\n const formattedName = name\n ?.split(\" \")\n .map((el: string) => el[0])\n .slice(0, 2)\n .join(\"\")\n .toUpperCase()\n\n return (\n <StyledWrapper size={size || \"lg\"} {...other}>\n {imageSrc ? (\n <StyledImage src={imageSrc} alt=\"preview image\" />\n ) : (\n <StyledNameWrapper alignItems=\"center\" justify=\"center\">\n <Heading\n size={size === \"sm\" ? \"h4\" : \"h1\"}\n colorGroup=\"brand\"\n color=\"main\"\n >\n {formattedName ?? \"?\"}\n </Heading>\n </StyledNameWrapper>\n )}\n </StyledWrapper>\n )\n}\n\nexport default SquarePreviewImage\n\nconst previewSizesStyles = {\n lg: css`\n width: 88px;\n height: 88px;\n border-radius: 16px;\n `,\n sm: css`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n `,\n}\n\nconst StyledImage = styled.img`\n width: 100%;\n height: 100%;\n display: block;\n object-fit: cover;\n`\n\nconst StyledWrapper = styled.div<PreviewImageStylesProps>`\n overflow: hidden;\n ${({ size }) => previewSizesStyles[size]};\n`\n\nconst StyledNameWrapper = styled(Grid)`\n background: ${theme.palette.brand.light};\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n","import React from \"react\"\nimport { Modal as KUIModal } from \"kui-basic\"\nimport styled from \"@emotion/styled\"\nimport { ModalProps } from \"./types\"\n\nfunction Modal({ open, ...other }: ModalProps) {\n return <StyledModal isOpen={open} {...other} />\n}\n\nexport default Modal\nexport type { ModalProps } from \"./types\"\n\nconst StyledModal = styled(KUIModal)`\n max-height: calc(100% - 64px);\n .KUI-Modal_header {\n text-align: left;\n }\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n padding-bottom: 20px;\n }\n`\n","const phoneRegExp =\r\n /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/\r\n\r\nconst isValidWithMaskExp = /^[^_]+$/\r\n\r\nconst dateRegExp =\r\n /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst monthYearRegExp = /(0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst emailRegExp = /^[-\\w.]+@([A-z0-9][-A-z0-9]+\\.)+[A-z]{2,4}$/\r\n\r\nconst carNumberRegExp = /^([А-Яа-я]{1}[0-9]{3}[А-Яа-я]{2}\\s{0,1}[0-9]{2,3})?$/\r\n\r\nconst innRegExp = /^(([0-9]{12})|([0-9]{10}))?$/\r\n\r\nconst corrAccountRegExp = /^(301[0-9]{17})?$/\r\n\r\nconst accountRegExp = /^408([0-9]{17})?$/\r\n\r\nconst bicRegExp = /^([0-9]{9})?$/\r\n\r\nconst swiftRegExp = /^([A-Za-z]{6}\\w{2}\\d{0,3})?$/\r\n\r\nconst simplePasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/\r\n\r\nconst mediumPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/\r\n\r\nconst strongPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/\r\n\r\nexport {\r\n phoneRegExp,\r\n dateRegExp,\r\n isValidWithMaskExp,\r\n emailRegExp,\r\n carNumberRegExp,\r\n innRegExp,\r\n monthYearRegExp,\r\n corrAccountRegExp,\r\n accountRegExp,\r\n bicRegExp,\r\n swiftRegExp,\r\n simplePasswordRegExp,\r\n mediumPasswordRegExp,\r\n strongPasswordRegExp,\r\n}\r\n","import * as yup from \"yup\"\nimport { isValidWithMaskExp } from \"kui-utils/content/regexp\"\n\nconst CompanyCreationSchema = yup.object().shape({\n name: yup.string().required(\"Enter the company name\"),\n inn: yup.string().required(\"Enter the company TIN\"),\n office: yup.object({\n address: yup.string().required(\"Enter the company address\"),\n }),\n phone: yup.object({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter correct the company phone\")\n .required(\"Enter the company phone\"),\n }),\n email: yup.string().email().required(\"This field is required\"),\n type: yup.string().required(\"Choose the provider type of company\"),\n})\n\nexport default CompanyCreationSchema\n","export const TaxTypeValues = [\n { value: \"resident\", label: \"Individual Resident\" },\n { value: \"nonresident\", label: \"Individual Non-resident\" },\n { value: \"self-employed\", label: \"Self-employed\" },\n { value: \"individual-entrepreneur\", label: \"Individual entrepreneur\" },\n { value: \"company\", label: \"Company\" },\n]\n\nexport const BooleanValues = [\n { value: true, label: \"Yes\" },\n { value: false, label: \"No\" },\n]\n\nexport const ElectricityValues = [\n { value: \"T1\", label: \"One-part\" },\n { value: \"T2\", label: \"Two-part\" },\n { value: \"T3\", label: \"Three-part\" },\n]\n\nexport const WaterValues = [\n { value: \"cold\", label: \"Cold\" },\n { value: \"hot\", label: \"Hot\" },\n]\n\nexport const getNumbersValues = (count: number) =>\n new Array(count).fill(0).map((value, key) => ({\n value: `${key}`,\n label: key,\n }))\n\nexport const ParkingTypesValues = [\n { value: \"public\", label: \"Public\" },\n { value: \"house\", label: \"House\" },\n { value: \"underground\", label: \"Underground\" },\n { value: \"private\", label: \"Private\" },\n]\n\nexport const TVTypesValues = [\n { value: \"cable\", label: \"Cable\" },\n { value: \"satellite\", label: \"Satellite\" },\n { value: \"smart_tv\", label: \"Smart TV\" },\n { value: \"no\", label: \"No\" },\n]\n\nexport const TaxResidenceValues = [\n { value: \"resident\", label: \"Resident\" },\n { value: \"not_resident\", label: \"Non-resident\" },\n]\n\nexport const RenovationTypeValues = [\n { value: \"capital\", label: \"Capital\" },\n { value: \"euro\", label: \"Euro\" },\n { value: \"designer\", label: \"Designer\" },\n { value: \"cosmetic\", label: \"Cosmetic\" },\n { value: \"required\", label: \"Required\" },\n] as const\n\nexport const RenovationStyleValues = [\n { value: \"classic\", label: \"Classic\" },\n { value: \"scandinavian\", label: \"Scandinavian\" },\n { value: \"loft\", label: \"Loft\" },\n { value: \"contemporary\", label: \"Contemporary\" },\n { value: \"minimalism\", label: \"Minimalism\" },\n { value: \"neoclassic\", label: \"Neoclassic\" },\n { value: \"eco\", label: \"Eco\" },\n { value: \"provence\", label: \"Provence\" },\n { value: \"hi_tech\", label: \"Hi-tech\" },\n { value: \"mediterranean\", label: \"Mediterranean\" },\n { value: \"eclectic\", label: \"Eclectic\" },\n { value: \"ethno\", label: \"Ethno\" },\n { value: \"gothic\", label: \"Gothic\" },\n]\n\nexport const RoomTypeValues = [\n { value: \"connected\", label: \"Connected\" },\n { value: \"separate\", label: \"Separate\" },\n]\n\nexport const InspectionTypeValues = [\n { value: \"quarterly\", label: \"Quarterly\" },\n { value: \"transfer\", label: \"Transfer\" },\n { value: \"appraisal\", label: \"Appraisal\" },\n { value: \"impairments\", label: \"Impairments\" },\n { value: \"inventory\", label: \"Inventory\" },\n { value: \"initial\", label: \"Initial\" },\n]\n\nexport const ImpairmentsTypeValues = [\n { value: \"damages\", label: \"Damages\" },\n { value: \"wear_tear\", label: \"Wear&tear\" },\n]\n\nexport const FillingTypeValues = [\n { value: \"finish\", label: \"Finish\" },\n { value: \"furniture\", label: \"Furniture\" },\n { value: \"electronics\", label: \"Electronics\" },\n { value: \"accessories\", label: \"Accessories\" },\n]\n\nexport const RoomTypesValues = [\n { value: \"residential\", label: \"Residential\" },\n { value: \"non-residential\", label: \"Nonresidential\" },\n { value: \"commercial\", label: \"Commercial\" },\n { value: \"garage\", label: \"Garage\" },\n { value: \"car_space\", label: \"Parking\" },\n]\n\nexport const CompanyTypesValues = [\n { value: \"administrative\", label: \"Administrative provider\" },\n { value: \"service\", label: \"Service provider\" },\n { value: \"resource\", label: \"Resource provider\" },\n]\n\nexport const ResourceValues = [\n { value: \"electricity\", label: \"Electricity\" },\n { value: \"water\", label: \"Water\" },\n { value: \"gas\", label: \"Gas\" },\n { value: \"heating\", label: \"Heating\" },\n]\n\nexport const APIPayerValues = [\n { value: \"owner\", label: \"Landlord\" },\n { value: \"renter\", label: \"Tenant\" },\n { value: \"maroom\", label: \"Maroom\" },\n]\n\nexport const UnitOfPaymentValues = [\n { value: \"percent\", label: \"%\" },\n { value: \"value\", label: \"₽\" },\n]\n\nexport const PartialPayerValues = [\n { value: \"owner\", label: \"Landlord\" },\n { value: \"renter\", label: \"Tenant\" },\n { value: \"maroom\", label: \"Maroom\" },\n { value: \"partial\", label: \"Partial\" },\n]\n\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, theme } from \"kui-basic\"\nimport { AutocompleteOptionProps } from \"./types\"\n\nfunction AutocompleteOption({ label }: AutocompleteOptionProps) {\n return (\n <StyledWrapper>\n <Caption size=\"s\" weight={500}>\n {label}\n </Caption>\n </StyledWrapper>\n )\n}\n\nexport default AutocompleteOption\n\nconst StyledWrapper = styled.div`\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ${theme.palette.background.light2};\n },\n`\n","import * as React from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { Caption, Grid } from \"kui-basic\"\r\nimport { createPortal } from \"react-dom\"\r\nimport { css, Global } from \"@emotion/react\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ErrorPopupProps } from \"./types\"\r\n\r\nconst parentClassName = \"KUI-ErrorPopup_container\"\r\nconst timeout = 3000\r\n\r\nconst createParentNode = () => {\r\n const node = document.createElement(\"div\")\r\n node.classList.add(parentClassName)\r\n document.body.append(node)\r\n return node\r\n}\r\n\r\nfunction ErrorPopup({ label, onClose }: ErrorPopupProps) {\r\n const isHoverRef = useRef(false)\r\n const [open, setOpen] = useState(true)\r\n\r\n const startHover = () => {\r\n isHoverRef.current = true\r\n }\r\n\r\n const checkIsHoverAndClose = () => {\r\n if (!isHoverRef.current && open) handleClose()\r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false)\r\n if (onClose) {\r\n onClose()\r\n }\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n isHoverRef.current = false\r\n handleClose()\r\n }\r\n\r\n useEffect(() => {\r\n let timeoutId: any\r\n if (open) {\r\n timeoutId = setTimeout(checkIsHoverAndClose, timeout)\r\n }\r\n return () => {\r\n clearTimeout(timeoutId)\r\n // handleClose()\r\n }\r\n }, [open])\r\n\r\n if (!open) {\r\n return null\r\n }\r\n\r\n const parentNode =\r\n document.querySelector(`.${parentClassName}`) || createParentNode()\r\n\r\n return (\r\n <>\r\n <Global styles={containerCSS} />\r\n\r\n {createPortal(\r\n <StyledWrapper\r\n onMouseEnter={startHover}\r\n onMouseLeave={handleMouseLeave}\r\n className=\"KUI-ErrorPopup\"\r\n container\r\n alignItems=\"center\"\r\n >\r\n <Caption size=\"xs\" weight={600} color=\"zero\">\r\n <StyledContent>\r\n {label ? `Error in ${label}` : \"Error\"}\r\n </StyledContent>\r\n </Caption>\r\n </StyledWrapper>,\r\n parentNode\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default ErrorPopup\r\n\r\nconst containerCSS = css`\r\n body {\r\n position: relative;\r\n }\r\n .KUI-ErrorPopup_container {\r\n display: flex;\r\n position: fixed;\r\n top: 120px;\r\n justify-content: center;\r\n flex-direction: column;\r\n width: 100%;\r\n align-items: center;\r\n z-index: 10000;\r\n }\r\n`\r\n\r\nconst StyledWrapper = styled(Grid)`\r\n height: 46px;\r\n border-radius: 12px;\r\n background: rgba(25, 25, 25, 0.8);\r\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\r\n padding: 0 24px;\r\n margin-bottom: 16px;\r\n width: max-content;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n`\r\n\r\nconst StyledContent = styled.pre`\r\n margin: 0;\r\n padding: 0;\r\n`\r\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Grid, CircularProgress } from \"kui-basic\"\nimport { createPortal } from \"react-dom\"\nimport { css, Global } from \"@emotion/react\"\nimport { useState } from \"react\"\nimport { CrossWithCircleIcon } from \"kui-icon\"\nimport { LoaderPopupProps } from \"./types\"\n\nconst parentClassName = \"KUI-LoadingPopup_container\"\n\nconst createParentNode = () => {\n const node = document.createElement(\"div\")\n node.classList.add(parentClassName)\n document.body.append(node)\n return node\n}\n\nfunction LoaderPopup({ label, onClose }: LoaderPopupProps) {\n const [isOpen, setIsOpen] = useState(true)\n\n if (!isOpen) {\n return null\n }\n\n const handleClose = () => {\n setIsOpen(false)\n if (onClose) {\n onClose()\n }\n }\n\n const parentNode =\n document.querySelector(`.${parentClassName}`) || createParentNode()\n\n return (\n <>\n <Global styles={containerCSS} />\n\n {createPortal(\n <StyledWrapper\n className=\"KUI-LoadingPopup\"\n container\n alignItems=\"center\"\n >\n <StyledLoader />\n <StyledCaption size=\"xs\" weight={600} color=\"zero\">\n Loading {label}\n </StyledCaption>\n <CloseIconWrapper onClick={handleClose}>\n <CrossWithCircleIcon />\n </CloseIconWrapper>\n </StyledWrapper>,\n parentNode\n )}\n </>\n )\n}\n\nexport default LoaderPopup\n\nconst containerCSS = css`\n body {\n position: relative;\n }\n .KUI-LoadingPopup_container {\n display: flex;\n flex-direction: column-reverse;\n position: fixed;\n bottom: 56px;\n justify-content: center;\n width: 100%;\n align-items: center;\n z-index: 10000;\n }\n`\n\nconst StyledWrapper = styled(Grid)`\n height: 48px;\n border-radius: 66px;\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n background: rgba(25, 25, 25, 0.8);\n padding: 4px 12px 4px 8px;\n margin-top: 16px;\n width: max-content;\n min-width: 247px;\n &:last-child {\n margin-top: 0;\n }\n`\n\nconst StyledCaption = styled(Caption)`\n padding: 0 14px;\n`\n\nconst StyledLoader = styled(CircularProgress)`\n color: #f1f1f1;\n width: 28px !important;\n height: 28px !important;\n`\n\nconst CloseIconWrapper = styled.div`\n cursor: pointer;\n margin-left: auto;\n height: 22px;\n`\n","import React, { useEffect } from \"react\"\r\nimport { observer } from \"mobx-react\"\r\nimport { LoaderStateProps } from \"./types\"\r\nimport ErrorPopup from \"../ErrorPopup\"\r\nimport LoaderPopup from \"../LoaderPopup\"\r\n\r\nfunction LoaderState({ loader, onlyError }: LoaderStateProps) {\r\n useEffect(\r\n () => () => {\r\n loader?.cleanError()\r\n if (!onlyError) loader?.endLoading()\r\n },\r\n []\r\n )\r\n\r\n return (\r\n <>\r\n {loader?.hasError && (\r\n <ErrorPopup label={loader.errorMessage} onClose={loader?.cleanError} />\r\n )}\r\n {loader?.isLoading && !onlyError && (\r\n <LoaderPopup\r\n label={loader.loadingMessage}\r\n onClose={loader.endLoading}\r\n />\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default observer(LoaderState)\r\n","import React, { useRef, useState } from \"react\"\nimport to from \"await-to-js\"\nimport { observer } from \"mobx-react\"\nimport { Loader, useDebounce } from \"kui-utils\"\nimport { InputWithAutocomplete } from \"kui-complex\"\nimport { CompanyInnAutocompleteProps } from \"./types\"\nimport {\n CompanyCreationFields,\n CompanyFields,\n} from \"../CompanyCreationForm/types\"\nimport { CompanyModel } from \"../../types\"\nimport { CompaniesAgent } from \"../../agent\"\nimport AutocompleteOption from \"../AutocompleteOption\"\nimport LoaderState from \"../LoaderState\"\nimport { CompaniesStore } from \"../../index\"\n\nconst name = \"inn\"\n\nconst CompanyInnAutocomplete = <T extends object>(\n props: CompanyInnAutocompleteProps<T>\n) => {\n const { form, ...otherProps } = props\n const loaderRef = useRef(new Loader())\n const loader = loaderRef.current\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [companies, setCompanies] = useState<CompanyFields[]>([])\n\n const updateFormFields = (company: CompanyCreationFields) => {\n if (company) {\n form.setValue(\"inn\", company.inn)\n form.setValue(\"name\", company.name)\n form.setValue(\"office\", company.office)\n if (company.phone) form.setValue(\"phone\", company.phone)\n form.setValue(\"email\", company.email)\n }\n }\n\n const findCompanyByINN = async (tin: string) => {\n form.clearErrors(name)\n loader.startLoading()\n\n const [err, res] = await to<CompanyModel, any>(\n CompaniesAgent.findCompanyByINN({ tin })\n )\n\n if (err) {\n if (err.tin) {\n form.setError(name, {\n type: \"manual\",\n message: \"A company with this TIN already exists\",\n })\n } else {\n loader.setError(err)\n }\n } else if (res?.tin) {\n setCompanies([CompaniesStore.getCompanyFields(res)])\n } else setCompanies([])\n\n loader.endLoading()\n }\n\n useDebounce(searchQuery, 500, () => {\n if (searchQuery) findCompanyByINN(searchQuery)\n else setCompanies([])\n })\n\n return (\n <>\n <InputWithAutocomplete\n renderOption={(option: CompanyCreationFields) => (\n <AutocompleteOption label={option.name} />\n )}\n options={companies}\n label=\"TIN\"\n form={form}\n name={name}\n isLoading={loader.isLoading}\n onSearchItem={setSearchQuery}\n onSelectItem={updateFormFields}\n {...otherProps}\n />\n <LoaderState loader={loader} onlyError />\n </>\n )\n}\n\nexport default observer(CompanyInnAutocomplete)\n","/* global google */\n/** @jsxImportSource @emotion/react */\nimport React, { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { MapComponentProps } from \"./types\"\n\nfunction MapComponent(props: MapComponentProps) {\n const { center, zoom, withMarker, setMap: setMapProp } = props\n const [map, setMap] = useState<google.maps.Map | null>(null)\n\n const ref = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n if (ref.current) {\n const createdMap = new window.google.maps.Map(ref.current, {\n center,\n zoom,\n disableDefaultUI: true,\n clickableIcons: false,\n })\n\n setMap(createdMap)\n if (setMapProp) setMapProp(createdMap)\n }\n }, [center, zoom])\n\n useEffect(() => {\n if (withMarker && map) {\n // eslint-disable-next-line no-new\n new window.google.maps.Marker({\n position: center,\n icon: \"/images/map/marker.svg\",\n map,\n })\n }\n }, [withMarker, map])\n\n return <div ref={ref} id=\"map\" css={{ height: \"100%\" }} />\n}\n\nMapComponent.defaultProps = {\n center: { lat: 55.802626, lng: 37.583825 },\n zoom: 11,\n withMarker: false,\n}\n\nexport default observer(MapComponent)\n","/* global google */\nimport React, { useEffect, useRef } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useForm } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport { CheckIcon } from \"kui-icon\"\nimport { Button, theme } from \"kui-basic\"\nimport { InputWithAddressAutocomplete, MapWrapper } from \"kui-complex\"\nimport Modal from \"../Modal\"\nimport { ModalWithMapProps } from \"./types\"\nimport MapComponent from \"../MapComponent\"\nimport KUISettings, { KUICrmSettings } from \"../../settings\"\n\nfunction ModalWithMap(props: ModalWithMapProps) {\n const { place, onSave, handleClose, open, disabled } = props\n const markerRef = useRef<google.maps.Marker | null>(null)\n const mapRef = useRef<any>(null)\n const defaultMap = mapRef.current\n const form = useForm()\n\n useEffect(() => {\n const updateMap = (settings: KUICrmSettings) => {\n mapRef.current = settings.map\n }\n\n KUISettings.subscribeToSettings(updateMap)\n\n return () => KUISettings.unsubscribeFromSettings(updateMap)\n }, [])\n\n const addNewMarker = (position: google.maps.LatLng) => {\n const map = mapRef.current\n\n if (!map) {\n setTimeout(addNewMarker, 1)\n } else {\n const newMarker = new window.google.maps.Marker({ position, map })\n markerRef.current = newMarker\n\n map.panTo(position)\n }\n }\n\n const updateMarker = (position: google.maps.LatLng) => {\n const marker = markerRef.current\n\n if (marker) {\n marker.setMap(null)\n }\n addNewMarker(position)\n }\n\n const addPlace = async (e: google.maps.MapMouseEvent) => {\n if (e.latLng) {\n const geocoder = new google.maps.Geocoder()\n geocoder.geocode({ location: e.latLng }, (results) => {\n const address = results?.[0]?.formatted_address\n if (address) {\n form.setValue(\"mapAddress.address\", address)\n form.setValue(\"mapAddress.addressAutoComplete\", results![0])\n updateMarker(e.latLng!)\n }\n })\n }\n }\n\n const handlePlaceSelect = (position: google.maps.LatLng) => {\n updateMarker(position)\n }\n\n const handleSave = () => {\n const addressAutoComplete = form.getValues(\"mapAddress.addressAutoComplete\")\n onSave(addressAutoComplete)\n handleClose()\n }\n\n useEffect(() => {\n if (defaultMap) {\n form.setValue(\"mapAddress.address\", place?.formatted_address)\n if (place?.geometry?.location) {\n updateMarker(place.geometry.location)\n }\n }\n }, [place, defaultMap])\n\n useEffect(() => {\n if (defaultMap && !disabled) {\n defaultMap.addListener(\"click\", addPlace)\n }\n return () => {\n defaultMap?.unbindAll()\n }\n }, [defaultMap, disabled])\n\n return (\n <StyledModal handleClose={handleClose} open={open}>\n <MapWrapper>\n <MapComponent />\n </MapWrapper>\n {!disabled && (\n <>\n <StyledInput\n name=\"mapAddress\"\n label=\"Address\"\n form={form}\n handlePlaceSelect={handlePlaceSelect}\n />\n <StyledButton\n size=\"s\"\n onClick={form.handleSubmit(handleSave)}\n endIcon={<CheckIcon />}\n >\n Save\n </StyledButton>\n </>\n )}\n </StyledModal>\n )\n}\n\nexport default observer(ModalWithMap)\n\nconst StyledModal = styled(Modal)`\n max-width: 1295px !important;\n max-height: 736px !important;\n height: 100%;\n width: 100%;\n overflow: hidden;\n position: relative;\n .KUI-Modal_close-button {\n width: 32px;\n height: 32px;\n background: white;\n border-color: ${theme.palette.grey.fifteenB};\n svg {\n width: 16px;\n height: 16px;\n path {\n fill: ${theme.palette.grey.seventy};\n }\n }\n }\n`\n\nconst StyledInput = styled(InputWithAddressAutocomplete)`\n position: absolute;\n top: 24px;\n left: 24px;\n max-width: 25%;\n`\n\nconst StyledButton = styled(Button)`\n position: absolute;\n bottom: 24px;\n right: 24px;\n`\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { MapIcon } from \"kui-icon\"\nimport { useToggle } from \"kui-utils\"\nimport ModalWithMap from \"../ModalWithMap\"\nimport { OpenMapButtonProps } from \"./types\"\n\nfunction OpenMapButton(props: OpenMapButtonProps) {\n const [isModalOpen, handleModalOpen, handleModalClose] = useToggle()\n\n return (\n <>\n <StyledMapIcon onClick={handleModalOpen} />\n {isModalOpen && (\n <ModalWithMap\n open={isModalOpen}\n handleClose={handleModalClose}\n {...props}\n />\n )}\n </>\n )\n}\n\nexport default OpenMapButton\n\nconst StyledMapIcon = styled(MapIcon)`\n cursor: pointer;\n`\n","import React, { ChangeEvent } from \"react\"\nimport { InputWithAddressAutocompleteProps } from \"kui-complex/dist/InputWithAddressAutocomplete\"\nimport {\n InputWithController,\n MapWrapper,\n useAddressAutocomplete,\n} from \"kui-complex\"\nimport OpenMapButton from \"../OpenMapButton\"\n\nfunction InputWithMap<T extends object>({\n form,\n name,\n disabled,\n handlePlaceSelect: onPlaceSelect,\n ...inputProps\n}: InputWithAddressAutocompleteProps<T>) {\n const { inputRef, handlePlaceSelect, place, cleanLocation } =\n useAddressAutocomplete(form, name, onPlaceSelect)\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) cleanLocation()\n }\n\n return (\n <MapWrapper>\n <InputWithController\n form={form}\n name={`${name}.address`}\n ref={inputRef}\n endIcon={\n <OpenMapButton\n place={place}\n onSave={handlePlaceSelect}\n disabled={disabled}\n />\n }\n disabled={disabled}\n onChange={handleChange}\n placeholder=\"\"\n {...inputProps}\n />\n </MapWrapper>\n )\n}\n\nexport default InputWithMap\n","import React, { useRef, useState } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { createPortal } from \"react-dom\"\nimport { CloseIcon, LoupeIcon } from \"kui-icon\"\nimport { Button } from \"kui-basic\"\nimport { ImageCardProps } from \"./types\"\nimport usePortalPosition from \"../../hooks/usePortalPosition\"\n\nconst buttonOffset = 12\n\nfunction PreviewImageCard(props: ImageCardProps) {\n const { url, onDelete, onClick, index, disabled, ...otherProps } = props\n const [closeButtonOpacity, setCloseButtonOpacity] = useState(0)\n const cardRef = useRef<HTMLDivElement>(null)\n const coords = usePortalPosition(cardRef)\n\n const closeButtonStyles = {\n right: coords ? coords.right - buttonOffset : 0,\n top: coords ? coords.top - buttonOffset : 0,\n display: closeButtonOpacity ? \"flex\" : \"none\",\n pointerEvents: closeButtonOpacity ? \"all\" : \"none\",\n }\n\n const handleClick = () => {\n if (onClick) {\n onClick(index)\n } else {\n window.open(url)\n }\n }\n\n const handleDelete = (e: MouseEvent) => {\n e.stopPropagation()\n if (onDelete) onDelete(index)\n }\n\n const handleHover = () => setCloseButtonOpacity(1)\n\n const handleBlur = () => setCloseButtonOpacity(0)\n\n return (\n <Wrapper\n onMouseEnter={handleHover}\n onMouseLeave={handleBlur}\n onClick={handleClick}\n ref={cardRef}\n {...otherProps}\n >\n <StyledImage src={url} alt=\"image\" />\n <Backdrop>\n <LoupeIcon />\n </Backdrop>\n {createPortal(\n <StyledRemoveButton\n isCircle\n variant=\"white\"\n onClick={handleDelete as any}\n style={closeButtonStyles as any}\n disabled={disabled}\n >\n <CloseIcon width={16} height={16} />\n </StyledRemoveButton>,\n document.body\n )}\n </Wrapper>\n )\n}\n\nexport default PreviewImageCard\n\nconst Wrapper = styled.div`\n margin-top: 8px;\n position: relative;\n width: 56px;\n height: 56px;\n cursor: pointer;\n user-select: none;\n`\n\nconst StyledImage = styled.img`\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border-radius: 8px;\n`\n\nconst Backdrop = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n background-color: rgba(25, 25, 25, 0.4);\n transition: all ease-out 0.3s;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n &:hover {\n opacity: 1;\n }\n`\n\nconst StyledRemoveButton = styled(Button)`\n //opacity: 0;\n pointer-events: none;\n width: 24px;\n height: 24px;\n position: absolute;\n transition: all ease-out 0.3s;\n &:disabled {\n opacity: 0;\n }\n`\n","import React, { ChangeEvent, useState } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Path, useController } from \"react-hook-form\"\nimport { Button, Caption, theme } from \"kui-basic\"\nimport { PlusIcon } from \"kui-icon\"\nimport { FileUploaderWithPreviewProps } from \"./types\"\nimport PreviewImageCard from \"../PreviewImageCard\"\n\nconst getURLFromFile = (fileList: FileList) =>\n fileList[0] ? URL.createObjectURL(fileList[0]) : null\n\nconst getFilePreviewURL = (file: string | FileList) =>\n typeof file === \"string\" ? file : getURLFromFile(file)\n\nfunction FileUploaderWithPreview<T extends object>(\n props: FileUploaderWithPreviewProps<T>\n) {\n const { form, label, name } = props\n const { field, fieldState } = useController({\n control: form.control,\n name: name as Path<T>,\n })\n const error = fieldState.error?.message\n\n const filePreviewURL = field.value\n ? getFilePreviewURL(field.value as string | FileList)\n : null\n\n const [filePreview, setFilePreview] = useState<string | null>(filePreviewURL)\n\n const formRegister = form.register(name as Path<T>)\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n formRegister.onChange(e)\n\n const fileUploaded =\n e.target.files && Number(e.target.files?.length) > 0\n ? e.target.files\n : null\n\n if (fileUploaded) {\n setFilePreview(URL.createObjectURL(fileUploaded?.[0]))\n } else {\n setFilePreview(null)\n }\n }\n\n const handleDelete = () => {\n setFilePreview(null)\n form.setValue(name as Path<T>, null as any)\n }\n\n return (\n <>\n <StyledWrapper>\n <Caption size=\"xs\" color=\"fiftyP\">\n {label}\n </Caption>\n <StyledInput\n id=\"file_input\"\n type=\"file\"\n data-testid=\"file_input\"\n {...formRegister}\n onChange={handleChange}\n />\n {filePreview ? (\n <PreviewImageCard url={filePreview} onDelete={handleDelete} />\n ) : (\n <StyledLabel htmlFor=\"file_input\">\n <StyledCircleButton isCircle size=\"l\" variant=\"grayLight\">\n <PlusIcon />\n </StyledCircleButton>\n </StyledLabel>\n )}\n </StyledWrapper>\n {error && (\n <StyledErrorMessage size=\"xs\" colorGroup=\"red\" color=\"seventy\">\n {error}\n </StyledErrorMessage>\n )}\n </>\n )\n}\n\nexport default FileUploaderWithPreview\n\nconst StyledWrapper = styled.div`\n border-radius: 8px;\n border: 1px dashed ${theme.palette.grey.fifteenB};\n padding: 6px 16px 16px;\n display: inline-block;\n`\n\nconst StyledLabel = styled.label`\n margin-top: 8px;\n display: block;\n cursor: pointer;\n`\n\nconst StyledCircleButton = styled(Button)`\n border-radius: 8px;\n background: ${theme.palette.background.light2};\n pointer-events: none;\n`\n\nconst StyledInput = styled.input`\n display: none;\n`\n\nconst StyledErrorMessage = styled(Caption)`\n margin-top: 4px;\n`\n","import { InputParams } from \"../InputByType/types\"\nimport { CompanyCreationFields } from \"./types\"\nimport { CompanyTypesValues } from \"../../content/listOptions\"\nimport CompanyInnAutocomplete from \"../CompanyInnAutocomplete\"\nimport InputWithMap from \"../InputWithMap\"\nimport FileUploaderWithPreview from \"../FileUploaderWithPreview\"\n\nconst companyFields: InputParams<CompanyCreationFields>[] = [\n {\n label: \"Provider type\",\n name: \"type\",\n variant: \"select\",\n options: CompanyTypesValues,\n },\n {\n label: \"INN\",\n name: \"inn\",\n variant: \"custom\",\n CustomInput: CompanyInnAutocomplete,\n },\n { label: \"Name\", name: \"name\" },\n]\n\nconst companyOfficeFields: InputParams<CompanyCreationFields>[] = [\n {\n label: \"Address\",\n name: \"office\",\n variant: \"custom\",\n CustomInput: InputWithMap,\n },\n { label: \"Email\", name: \"email\" },\n { label: \"Phone\", name: \"phone\", variant: \"phone\" },\n {\n label: \"Logo\",\n name: \"logo\",\n variant: \"custom\",\n CustomInput: FileUploaderWithPreview,\n size: 6,\n },\n]\n\nexport default companyOfficeFields\nexport { companyFields }\n","/** @jsxImportSource @emotion/react */\nimport * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Button, Divider, Grid, theme } from \"kui-basic\"\nimport { CheckIcon, NextArrowIcon, PrevArrowIcon } from \"kui-icon\"\nimport { Loading } from \"kui-complex\"\nimport { FooterProps, FormBottomProps } from \"./types\"\n\nfunction FormBottom({\n label,\n variant,\n handleClick,\n withPrevStep,\n handlePrevClick,\n withDeleteButton,\n handleDelete,\n isFixed,\n isLoading,\n endButton,\n ...otherProps\n}: FormBottomProps) {\n return (\n <StyledFooter isFixed={Boolean(isFixed)}>\n <Divider />\n <div css={{ padding: \"0 40px\" }}>\n <Grid container justify=\"space-between\" css={{ padding: \"12px 0\" }}>\n <Grid item>\n {withPrevStep && (\n <Button\n isCircle\n data-testid=\"prev_button\"\n onClick={handlePrevClick}\n size=\"s\"\n variant=\"transparentWithBorder\"\n >\n <PrevArrowIcon />\n </Button>\n )}\n {withDeleteButton && (\n <Button\n data-testid=\"delete_button\"\n size=\"s\"\n onClick={handleDelete}\n variant=\"white\"\n >\n Delete\n </Button>\n )}\n </Grid>\n <Grid item>\n <Grid container alignItems=\"center\" justify=\"flex-end\">\n {endButton && (\n <StyledEndButtonWrapper>{endButton}</StyledEndButtonWrapper>\n )}\n <Button\n data-testid=\"submit_button\"\n size=\"s\"\n onClick={handleClick}\n endIcon={\n variant === \"create\" ? <CheckIcon /> : <NextArrowIcon />\n }\n disabled={isLoading}\n {...otherProps}\n >\n {isLoading ? <StyledLoading /> : label}\n </Button>\n </Grid>\n </Grid>\n </Grid>\n </div>\n </StyledFooter>\n )\n}\n\nFormBottom.defaultProps = {\n type: \"submit\",\n variant: \"create\",\n label: \"Create\",\n}\n\nexport default FormBottom\nexport type { FormBottomProps } from \"./types\"\n\nconst StyledLoading = styled(Loading)`\n .MuiCircularProgress-root {\n color: ${theme.palette.grey.fiftyP} !important;\n height: 32px !important;\n width: 32px !important;\n }\n`\n\nfunction Footer({ isFixed, children, ...otherProps }: FooterProps) {\n return <div {...otherProps}>{children}</div>\n}\n\nconst StyledFooter = styled(Footer)`\n background: ${theme.palette.grey.zero};\n border-radius: 0 0 12px 12px;\n z-index: ${({ isFixed }) => (isFixed ? 1000 : 1)};\n position: ${({ isFixed }) => (isFixed ? \"sticky\" : \"static\")};\n bottom: ${({ isFixed }) => (isFixed ? 0 : \"auto\")};\n left: ${({ isFixed }) => (isFixed ? 0 : \"auto\")};\n`\n\nconst StyledEndButtonWrapper = styled.div`\n margin-right: 20px;\n`\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { Caption, Box, Grid } from \"kui-basic\"\nimport { CompanyCreationFields, CompanyCreationFormProps } from \"./types\"\nimport CompanyCreationSchema from \"./schema\"\nimport companyOfficeFields, { companyFields } from \"./fields\"\nimport InputByType from \"../InputByType\"\nimport FormBottom from \"../FormBottom\"\n\nfunction CompanyCreationForm({ handleSubmit }: CompanyCreationFormProps) {\n const form = useForm<CompanyCreationFields>({\n resolver: yupResolver(CompanyCreationSchema),\n })\n\n return (\n <form>\n <Box pr={5} pl={5} pb={3}>\n <Grid container spacing={2}>\n {companyFields.map((field) => (\n <Grid item key={field.name} xs={12}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n <Grid item xs={12}>\n <Caption weight={600} size=\"s\">\n MAIN OFFICE\n </Caption>\n </Grid>\n {companyOfficeFields.map(({ size, ...field }) => (\n <Grid item key={field.name} xs={size || 12}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n </Grid>\n </Box>\n <FormBottom\n label=\"Add\"\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default CompanyCreationForm\nexport type {\n CompanyFields,\n CompanyCreationFields,\n CompanyCreationFormProps,\n} from \"./types\"\n","import React from \"react\"\nimport { useNavigate } from \"react-router-dom\"\nimport { observer } from \"mobx-react\"\nimport { CompanyCreationModalProps } from \"./types\"\nimport { CompanyCreationFields } from \"../CompanyCreationForm/types\"\nimport Modal from \"../Modal\"\nimport CompanyCreationForm from \"../CompanyCreationForm\"\n\nfunction CompanyCreationModal(props: CompanyCreationModalProps) {\n const { open, handleClose, createCompany } = props\n const navigate = useNavigate()\n\n const handleSubmit = async (data: CompanyCreationFields) => {\n handleClose()\n const createdCompanyId = await createCompany(data)\n if (createdCompanyId) {\n navigate(`/companies/${createdCompanyId}`)\n }\n }\n\n return (\n <Modal title=\"New company\" open={open} handleClose={handleClose}>\n <CompanyCreationForm handleSubmit={handleSubmit} />\n </Modal>\n )\n}\n\nexport default observer(CompanyCreationModal)\n","export const matchesAPISubjectRoles = {\r\n maroom: \"maroom\",\r\n tenant: \"renter\",\r\n landlord: \"owner\",\r\n}\r\n\r\nexport const matchesSubjectRoles = {\r\n maroom: \"maroom\",\r\n renter: \"tenant\",\r\n tenant: \"tenant\",\r\n owner: \"landlord\",\r\n}\r\n\r\nexport const matchesApartmentStatuses = {\r\n \"Rented out\": \"Rented\",\r\n Closed: \"Closed\",\r\n Open: \"Free\",\r\n New: \"New\",\r\n \"Free soon\": \"Free soon\",\r\n}\r\n\r\nexport const matchesAPICompanyTypes = {\r\n administrative_provider: \"administrative\",\r\n service_provider: \"service\",\r\n resource_provider: \"resource\",\r\n}\r\n\r\nexport const matchesCompanyTypes = {\r\n administrative: \"administrative_provider\",\r\n service: \"service_provider\",\r\n resource: \"resource_provider\",\r\n}\r\n\r\nexport const matchesFillingTypes = {\r\n finish: \"finish\",\r\n furniture: \"furniture\",\r\n electronics: \"appliance\",\r\n accessories: \"accessorie\",\r\n}\r\n\r\nexport const matchesAPIFillingTypes = {\r\n finish: \"finish\",\r\n furniture: \"furniture\",\r\n appliance: \"electronics\",\r\n accessorie: \"accessories\",\r\n}\r\n\r\nexport const matchesVisibilityVariants = {\r\n everybody: \"everybody\",\r\n renter: \"tenant\",\r\n owner: \"landlord\",\r\n nobody: \"nobody\",\r\n}\r\n\r\nexport const matchesAPIVisibilityVariants = {\r\n everybody: \"everybody\",\r\n tenant: \"renter\",\r\n landlord: \"owner\",\r\n nobody: \"nobody\",\r\n}\r\n\r\nexport const genderMatches = {\r\n M: \"male\",\r\n F: \"female\",\r\n}\r\n\r\nexport const matchesServiceTypes = {\r\n open_ended: \"openEnded\",\r\n period: \"period\",\r\n once: \"once\",\r\n own: \"own\",\r\n}\r\n","import { makeAutoObservable, runInAction } from \"mobx\"\nimport to from \"await-to-js\"\nimport {\n Paginator,\n SortingFilter,\n Loader,\n getPhoneParamsFromString,\n} from \"kui-utils\"\nimport { CompanyParams } from \"../types/store/company\"\nimport {\n CompanyLogoModel,\n CompanyModel,\n CompanyTypes,\n GetCompaniesResponse,\n} from \"../types/api/companies\"\nimport CompaniesAgent from \"../agent/Companies\"\nimport {\n CompanyCreationFields,\n CompanyFields,\n} from \"../components/CompanyCreationForm/types\"\nimport { matchesCompanyTypes } from \"../utils/matches\"\n\nclass CompaniesStore {\n companies: CompanyParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n creationLoader: Loader\n\n constructor() {\n this.companies = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchAll = async () => {\n this.loader.startLoading()\n\n const [err, res] = await to<GetCompaniesResponse>(\n CompaniesAgent.all(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n runInAction(() => {\n if (!err && res) {\n const mapper = (company: CompanyModel) =>\n CompaniesStore.getCompanyParams(company)\n\n this.companies = this.paginator.getPageResponse<\n CompanyModel,\n CompanyParams\n >(res, this.companies, mapper)\n } else {\n this.companies = []\n this.loader.setError(\"fetch companies\", err)\n }\n this.loader.endLoading()\n })\n }\n\n createCompany = async (data: CompanyCreationFields) => {\n this.creationLoader.startLoading()\n\n const body = CompaniesStore.getCreationBody(data)\n\n const [err, res] = await to<CompanyModel>(CompaniesAgent.create(body))\n if (res && data.logo?.[0]) {\n await this.createLogo(res.id, data.logo[0])\n }\n\n if (!err && res) {\n this.companies = [CompaniesStore.getCompanyParams(res), ...this.companies]\n this.paginator.clearOffset()\n this.paginator.startFetching()\n } else {\n this.creationLoader.setError(\"company creation\", err)\n }\n this.creationLoader.endLoading()\n\n return res ? this.companies[0] : null\n }\n\n createLogo = async (companyId: number, logo: File) => {\n const body = new FormData()\n body.append(\"logo\", logo, \"logo\")\n\n const [err, res] = await to<CompanyLogoModel>(\n CompaniesAgent.createLogo(companyId, body)\n )\n\n if (err) {\n this.creationLoader.setError(\"logo creation\", err)\n }\n\n return res?.logo\n }\n\n static getCompanyParams = (company: CompanyModel) => ({\n id: company.id,\n logo: company.logo,\n ...CompaniesStore.getCompanyFields(company),\n })\n\n static getCreationBody = (data: CompanyCreationFields) => ({\n name: data.name,\n provider_type: data.type\n ? (matchesCompanyTypes[\n data.type as keyof typeof matchesCompanyTypes\n ] as CompanyTypes)\n : undefined,\n tin: data.inn,\n main_office: {\n address: data.office.address,\n email: data.email,\n phone: data.phone\n ? `+${data.phone.phoneCode}${data.phone.phoneNumber}`\n : null,\n geolocation: data.office.location\n ? {\n lat: data.office.location!.lat,\n lon: data.office.location!.lon,\n }\n : undefined,\n },\n })\n\n static getCompanyFields = (\n company: CompanyModel\n ): Omit<CompanyFields, \"logo\"> => ({\n inn: company.tin,\n name: company.name,\n phone: company.main_office?.phone\n ? getPhoneParamsFromString(company.main_office.phone)\n : null,\n email: company.main_office?.email || \"\",\n office: {\n address: company.main_office?.address || \"\",\n },\n })\n}\n\nexport default CompaniesStore\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useEffect, useRef } from \"react\"\nimport { useWatch } from \"react-hook-form\"\nimport { InputWithAutocomplete } from \"kui-complex\"\nimport { CompanyAutocompleteProps } from \"./types\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { CompanyLiteParams } from \"../../types/store/company\"\nimport { CompanyCreationFields } from \"../CompanyCreationForm/types\"\nimport { TwoOptionParams } from \"../TwoOptionForAutocomplete/types\"\nimport TwoOptionForAutocomplete from \"../TwoOptionForAutocomplete\"\nimport SquarePreviewImage from \"../SquarePreviewImage\"\nimport CompanyCreationModal from \"../CompanyCreationModal\"\nimport CompaniesStore from \"../../store/CompaniesStore\"\nimport { ModalProps } from \"../Modal/types\"\n\nfunction CompanyAutocomplete<TFormValues extends object>(\n props: CompanyAutocompleteProps<TFormValues>\n) {\n const { form, name, label, handleSelect, forApartment, ...otherProps } = props\n const companiesStore = useRef(new CompaniesStore())\n const { companies, paginator, fetchAll, loader, filter } =\n companiesStore.current\n const logo = useWatch({\n control: form.control,\n name: `${name}.logo`,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchAll\n )\n\n const onSearch = (value: string) => {\n if (forApartment) {\n if (value) {\n filter.updateFilterQuery(\"\")\n } else {\n filter.updateFilterQuery(`&for_apartment=${forApartment}`)\n }\n }\n onSearchItem(value)\n }\n\n const onSelectItem = (item: CompanyLiteParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n form.setValue(`${name}.logo`, item?.logo)\n if (handleSelect && item) handleSelect(item)\n }\n\n const onCreate = async (data: CompanyCreationFields) => {\n const company = await companiesStore.current.createCompany(data)\n if (company) onSelectItem(company)\n }\n\n useEffect(() => {\n if (forApartment) {\n filter.updateFilterQuery(`&for_apartment=${forApartment}`)\n }\n }, [forApartment])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: TwoOptionParams) => (\n <TwoOptionForAutocomplete option={option} />\n )}\n options={companies}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n isLoading={loader.isLoading}\n onSelectItem={onSelectItem}\n onSearchItem={onSearch}\n handleScrollEnd={onScrollEnd}\n creatingLabel=\"Add new company\"\n endComponent={logo && <SquarePreviewImage size=\"sm\" imageSrc={logo} />}\n renderCreatingModal={(modalProps: ModalProps) => (\n <CompanyCreationModal createCompany={onCreate} {...modalProps} />\n )}\n {...otherProps}\n />\n )\n}\n\nCompanyAutocomplete.defaultProps = {\n label: \"Company\",\n name: \"company\",\n}\n\nexport default observer(CompanyAutocomplete)\nexport type { CompanyAutocompleteFields } from \"./types\"\n","import * as yup from \"yup\"\r\n\r\nexport const ChangeReasonSchemaParams = {\r\n // reason: yup.mixed().required(\"Choose a reason file\"),\r\n}\r\n\r\nconst ChangeReasonSchema = yup.object().shape(ChangeReasonSchemaParams)\r\n\r\nexport default ChangeReasonSchema\r\n","import React from \"react\"\nimport { Grid } from \"kui-basic\"\nimport { InputWithController } from \"kui-complex\"\nimport { ChangeReasonFieldsProps } from \"./types\"\nimport InputFileWithVisibility from \"../InputFileWithVisibility\"\nimport ChangeReasonSchema from \"./schema\"\n\nfunction ChangeReasonFields<T extends object>({\n form,\n customReasons,\n}: ChangeReasonFieldsProps<T>) {\n return (\n <Grid container spacing={2}>\n {customReasons ? (\n customReasons.map((field) => (\n <Grid item xs={12}>\n <InputFileWithVisibility\n form={form}\n name={field.name || \"reason\"}\n label={field.label}\n />\n </Grid>\n ))\n ) : (\n <Grid item xs={12}>\n <InputFileWithVisibility form={form} name=\"reason\" label=\"Reason\" />\n </Grid>\n )}\n <Grid item xs={12}>\n <InputWithController\n isTextArea\n form={form}\n name=\"comment\"\n label=\"Comment\"\n />\n </Grid>\n </Grid>\n )\n}\n\nexport default ChangeReasonFields\nexport { default as ChangeReasonSchema } from \"./schema\"\nexport type {\n ChangeReasonField,\n ChangeReasonFormFields,\n ChangeReasonFieldsProps,\n} from \"./types\"\n","import * as yup from \"yup\"\r\n\r\nconst TagCreationFormSchema = yup.object().shape({\r\n name: yup.string().trim().required(\"This field is required\"),\r\n})\r\n\r\nexport default TagCreationFormSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { InputFile, InputWithController } from \"kui-complex\"\nimport { Box, Grid } from \"kui-basic\"\nimport { TagCreationFormFields, TagCreationFormProps } from \"./types\"\nimport TagCreationFormSchema from \"./schema\"\nimport FormBottom from \"../FormBottom\"\n\nfunction FillingTagCreationForm({ handleSubmit }: TagCreationFormProps) {\n const form = useForm<TagCreationFormFields>({\n resolver: yupResolver(TagCreationFormSchema),\n })\n\n return (\n <form>\n <Box pr={5} pl={5} pb={3}>\n <Grid container spacing={2}>\n <Grid item xs={12}>\n <InputWithController label=\"Name\" name=\"name\" form={form} />\n </Grid>\n <Grid item xs={12}>\n <InputFile label=\"Tag image\" name=\"image\" form={form} />\n </Grid>\n </Grid>\n </Box>\n <FormBottom\n label=\"Add\"\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default FillingTagCreationForm\n","import React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { FillingTagCreationModalProps } from \"./types\"\nimport { TagCreationFormFields } from \"../FillingTagCreationForm/types\"\nimport Modal from \"../Modal\"\nimport FillingTagCreationForm from \"../FillingTagCreationForm\"\n\nfunction FillingTagCreationModal(props: FillingTagCreationModalProps) {\n const { open, handleClose, handleSubmit } = props\n\n const handleFormSubmit = async (data: TagCreationFormFields) => {\n handleSubmit(data)\n handleClose()\n }\n\n return (\n <Modal title=\"New tag\" open={open} handleClose={handleClose}>\n <FillingTagCreationForm handleSubmit={handleFormSubmit} />\n </Modal>\n )\n}\n\nexport default observer(FillingTagCreationModal)\n","import to from \"await-to-js\"\nimport { runInAction } from \"mobx\"\nimport { Loader, SortingFilter } from \"kui-utils\"\nimport { FillingTagParams } from \"../types/store/filling\"\nimport { ApartmentFillingVariants } from \"../types\"\nimport { matchesFillingTypes } from \"../utils/matches\"\nimport {\n ApartmentFillingAPIVariants,\n GetTagsResponse,\n TagModel,\n} from \"../types/api/filling\"\nimport FillingTagsAgent from \"../agent/FillingTags\"\nimport { TagCreationFormFields } from \"../components/FillingTagCreationForm/types\"\n\nclass FillingTagsStore {\n tags: FillingTagParams[]\n\n loader: Loader\n\n creationLoader: Loader\n\n filter: SortingFilter\n\n constructor() {\n this.tags = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.filter = new SortingFilter()\n }\n\n fetchTags = async (type: ApartmentFillingVariants) => {\n this.loader.startLoading()\n\n const fillingType = matchesFillingTypes[type] as ApartmentFillingAPIVariants\n\n const [err, res] = await to<GetTagsResponse>(\n FillingTagsAgent.getAll(fillingType)\n )\n\n runInAction(() => {\n if (!err && res) {\n this.tags = res.map((tag) => ({\n ...tag,\n image: tag.site_image,\n }))\n } else {\n this.loader.setError(\"fetch tags\")\n }\n this.loader.endLoading()\n })\n }\n\n createTag = async (data: TagCreationFormFields) => {\n this.creationLoader.startLoading()\n\n const body = FillingTagsStore.getPostTagBody(data)\n\n const [err, res] = await to<TagModel>(FillingTagsAgent.create(body))\n\n runInAction(() => {\n if (!err && res) {\n this.tags = [{ ...res, image: res.site_image }, ...this.tags]\n } else {\n this.creationLoader.setError(\"tag creation\")\n }\n this.creationLoader.endLoading()\n })\n\n return this.tags[0]\n }\n\n get filteredTags() {\n return this.tags.filter((tag) =>\n tag.name.toLowerCase().includes(this.filter.searchQuery.toLowerCase())\n )\n }\n\n static getPostTagBody = (data: TagCreationFormFields) => {\n const formData = new FormData()\n formData.append(\"name\", data.name)\n formData.append(\"image\", data.image)\n\n return formData\n }\n}\n\nexport default FillingTagsStore\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useEffect, useRef } from \"react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { FillingTagsAutocompleteProps } from \"./types\"\nimport FillingTagsStore from \"../../store/FillingTagsStore\"\nimport { FillingTagParams } from \"../../types/store/filling\"\nimport { TagCreationFormFields } from \"../FillingTagCreationForm/types\"\nimport { ModalProps } from \"../Modal/types\"\nimport FillingTagCreationModal from \"../FillingTagCreationModal\"\n\nfunction FillingTagsAutocomplete<TFormValues extends object>({\n form,\n name,\n label,\n type,\n defaultValue,\n ...otherProps\n}: FillingTagsAutocompleteProps<TFormValues>) {\n const tagsStoreRef = useRef(new FillingTagsStore())\n const tagsStore = tagsStoreRef.current\n const { filteredTags, fetchTags, loader, filter } = tagsStore\n\n useEffect(() => {\n filter.updateSearchQuery(\"\")\n }, [])\n\n const onSelectItem = (item: FillingTagParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n }\n\n useEffect(() => {\n fetchTags(type)\n }, [type])\n\n const onSearchItem = (value: string) => {\n filter.updateSearchQuery(value)\n }\n\n const onCreate = async (data: TagCreationFormFields) => {\n const tag = await tagsStore.createTag(data)\n if (tag) onSelectItem(tag)\n }\n\n return (\n <InputWithAutocomplete\n renderOption={(option: FillingTagParams) => (\n <AutocompleteOption label={option.name} />\n )}\n options={filteredTags}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n isLoading={loader.isLoading}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n creatingLabel=\"Add new tag\"\n renderCreatingModal={(props: ModalProps) => (\n <FillingTagCreationModal handleSubmit={onCreate} {...props} />\n )}\n {...otherProps}\n />\n )\n}\n\nFillingTagsAutocomplete.defaultProps = {\n label: \"Tag\",\n name: \"tag\",\n}\n\nexport default observer(FillingTagsAutocomplete)\nexport type {\n FillingTagsAutocompleteFields,\n FillingTagsAutocompleteProps,\n} from \"./types\"\n","import React from \"react\"\nimport { Box } from \"kui-basic\"\nimport { FormWrapperProps } from \"./types\"\nimport FormBottom from \"../FormBottom\"\n\nconst FormWrapper = <T extends object>(props: FormWrapperProps<T>) => {\n const { form, onSubmit, children, className, ...other } = props\n\n return (\n <form onSubmit={form.handleSubmit(onSubmit)}>\n <Box pl={5} pr={5} mb={3} className={className}>\n {children}\n </Box>\n <FormBottom {...other} />\n </form>\n )\n}\n\nexport default FormWrapper\nexport type { FormWrapperProps } from \"./types\"\n","import * as React from \"react\"\nimport { ReactNode } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Box, ButtonProps, Grid, Heading, Button } from \"kui-basic\"\nimport { PlusIcon } from \"kui-icon\"\n\ntype HeadingWithButtonProps = {\n title: string\n onClick: () => void\n isEditing?: boolean\n icon?: ReactNode\n children?: ReactNode\n className?: string\n showButton?: boolean\n} & ButtonProps\n\nfunction HeadingWithButton({\n title,\n onClick,\n isEditing,\n icon,\n children,\n className,\n variant,\n showButton,\n ...otherProps\n}: HeadingWithButtonProps) {\n return (\n <Box pt={3} pb={2} className={className}>\n <StyledWrapper\n container\n alignItems=\"center\"\n justify=\"space-between\"\n >\n <Grid item>\n <Heading size=\"h4\">{title}</Heading>\n </Grid>\n <Grid item>\n <Grid container justify=\"flex-end\" alignContent=\"center\">\n <Grid item>{children}</Grid>\n {showButton && (\n <Grid item>\n <Button\n isCircle\n data-testid=\"add_field_button\"\n disabled={!isEditing}\n size=\"xs\"\n variant={variant}\n onClick={onClick}\n {...otherProps}\n >\n {icon}\n </Button>\n </Grid>\n )}\n </Grid>\n </Grid>\n </StyledWrapper>\n </Box>\n )\n}\n\nHeadingWithButton.defaultProps = {\n isEditing: true,\n icon: <PlusIcon width={10} height={10} />,\n children: null,\n variant: \"white\" as const,\n showButton: true,\n}\n\nexport default HeadingWithButton\n\nconst StyledWrapper = styled(Grid)`\n height: 32px;\n`\n","import * as yup from \"yup\"\nimport { DateTime } from \"luxon\"\n\nconst meterFeaturesFieldsSchema = {\n tariff: yup.object({\n name: yup.string().required(\"This field is required\"),\n }),\n number: yup.string().required(\"This field is required\"),\n}\n\nconst getMeterFeaturesFieldsSchema = (\n valuesFields: string[],\n isReplacementRequired: boolean\n) => {\n const valuesSchema = valuesFields.map((field) => ({\n [field]: yup\n .number()\n .min(0)\n .required(\"This field is required\")\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\n ...(isReplacementRequired && {\n replaceableCounter: yup\n .number()\n .required(\n \"The maximum number of counters has been created in this object, select the one to replace\"\n )\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\n }),\n startDate: yup\n .mixed()\n .when(\"replaceableCounter\", {\n is: (value: DateTime) => value,\n then: (rule) => rule.required(\"This field is required\"),\n })\n .when(\"startDate\", {\n is: (value: DateTime) => value,\n then: (rule) =>\n rule.test(\n \"check-start-date\",\n \"Select a date in the past\",\n (value) => Number((value as DateTime)?.diffNow(\"days\").days) <= 0\n ),\n })\n .nullable(),\n }))\n\n return yup.object().shape(\n {\n ...meterFeaturesFieldsSchema,\n ...Object.assign({}, ...valuesSchema),\n },\n [[\"startDate\", \"startDate\"]]\n )\n}\n\nexport default getMeterFeaturesFieldsSchema\n","import { RefObject } from \"react\"\nimport { APISubjectRoles, UtilityTypes } from \"../../types\"\nimport { InputParams } from \"../InputByType\"\nimport { APIPayerValues, UnitOfPaymentValues } from \"../../content/listOptions\"\nimport { PartialPayerVariants } from \"./types\"\n\nconst getPartialPayerFields = <T>(\n mainPayer: APISubjectRoles,\n refundFromRef: RefObject<HTMLInputElement>,\n variant: PartialPayerVariants,\n utilityType: UtilityTypes\n): InputParams<T>[] => [\n {\n label:\n variant === \"radio\" ? \"Payment made by\" : `Main payer by ${utilityType}`,\n name: \"mainPayer\",\n options: APIPayerValues,\n variant: \"select\",\n },\n {\n label:\n variant === \"radio\" ? \"Refund from\" : `Pays the rest by ${utilityType}`,\n name: \"refundFrom\",\n options: APIPayerValues.filter((payer) => payer.value !== mainPayer),\n variant: \"select\",\n ref: refundFromRef,\n },\n {\n label: variant === \"radio\" ? \"Part type\" : `Part type by ${utilityType}`,\n name: \"partType\",\n options: UnitOfPaymentValues,\n variant: \"select\",\n },\n {\n label:\n variant === \"radio\" ? \"Refund value\" : `Refund value by ${utilityType}`,\n name: \"refundValue\",\n variant: \"mask\",\n mask: Number,\n thousandsSeparator: \" \",\n },\n]\n\nexport default getPartialPayerFields\n","import React, { useEffect, useRef } from \"react\"\nimport { Path, PathValue, useWatch } from \"react-hook-form\"\nimport { Grid, theme } from \"kui-basic\"\nimport { InputSelect, RadioGroupWithLabel } from \"kui-complex\"\nimport styled from \"@emotion/styled\"\nimport { PartialPayerProps } from \"./types\"\nimport getPartialPayerFields from \"./fields\"\nimport InputByType from \"../InputByType\"\nimport { PartialPayerValues } from \"../../content/listOptions\"\n\nconst PartialPayer = <T extends object>(props: PartialPayerProps<T>) => {\n const { form, name, utilityType, fieldsVariant, ...other } = props\n const [payerType, mainPayer, refundFrom] = useWatch({\n control: form.control,\n name: [\n `${name}.payer`,\n `${name}.mainPayer`,\n `${name}.refundFrom`,\n ] as Path<T>[],\n })\n const refundFromRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (payerType && payerType !== \"partial\") {\n form.setValue(`${name}.refundFrom` as Path<T>, payerType)\n form.setValue(`${name}.mainPayer` as Path<T>, null as PathValue<T, any>)\n form.setValue(`${name}.refundValue` as Path<T>, null as PathValue<T, any>)\n form.setValue(`${name}.partType` as Path<T>, null as PathValue<T, any>)\n }\n }, [payerType])\n\n useEffect(() => {\n if (mainPayer === refundFrom && refundFromRef.current) {\n form.setValue(`${name}.refundFrom` as Path<T>, null as PathValue<T, any>)\n refundFromRef.current.value = \"\"\n }\n }, [mainPayer])\n\n useEffect(\n () =>\n form.setValue(\n `${name}.utilityType` as Path<T>,\n utilityType as PathValue<T, Path<T>>\n ),\n [utilityType]\n )\n\n useEffect(() => {\n if (!form.formState.isDirty) {\n const main = form.getValues(`${name}.mainPayer` as Path<T>)\n const rest = form.getValues(`${name}.refundFrom` as Path<T>)\n\n if (main) {\n form.setValue(\n `${name}.payer` as Path<T>,\n \"partial\" as PathValue<T, any>\n )\n } else {\n form.setValue(`${name}.payer` as Path<T>, rest as PathValue<T, any>)\n }\n }\n }, [form.formState.isDirty])\n\n const fields = getPartialPayerFields<T>(\n mainPayer,\n refundFromRef,\n fieldsVariant || \"radio\",\n utilityType\n )\n\n return (\n <>\n {fieldsVariant === \"radio\" && (\n <StyledRadioGroup\n options={PartialPayerValues}\n form={form}\n name={`${name}.payer`}\n direction=\"vertical\"\n {...other}\n />\n )}\n {fieldsVariant === \"radio\" ? (\n payerType === \"partial\" && (\n <StyledFieldsGroup>\n <StyledWrapper container spacing={2}>\n {fields.map(({ name: fieldName, ...field }) => (\n <Grid item xs={6}>\n <InputByType\n name={`${name}.${fieldName}`}\n form={form}\n {...field}\n />\n </Grid>\n ))}\n </StyledWrapper>\n </StyledFieldsGroup>\n )\n ) : (\n <Grid container spacing={2}>\n <Grid item xs={3}>\n <InputSelect\n label={`Utilities by ${utilityType}`}\n name={`${name}.payer`}\n options={PartialPayerValues}\n form={form}\n {...other}\n />\n </Grid>\n {payerType === \"partial\" &&\n fields.map(({ name: fieldName, ...field }) => (\n <Grid item xs={3}>\n <InputByType\n name={`${name}.${fieldName}`}\n form={form}\n {...field}\n {...other}\n variant={field.variant}\n />\n </Grid>\n ))}\n </Grid>\n )}\n </>\n )\n}\n\nPartialPayer.defaultProps = {\n variant: \"radio\",\n}\nexport type {\n PartialPayerFields,\n PartialPayerProps,\n PartialPayerVariants,\n} from \"./types\"\nexport { getPartialPayerFields }\n\nexport default PartialPayer\n\nconst StyledFieldsGroup = styled(Grid)`\n background: ${theme.palette.background.light1};\n border-radius: 0 0 8px 8px;\n`\n\nconst StyledRadioGroup = styled(RadioGroupWithLabel)`\n padding: 10px;\n background: white;\n`\n\nconst StyledWrapper = styled(Grid)`\n padding-top: 16px;\n`\n","import { makeAutoObservable, runInAction } from \"mobx\"\nimport to from \"await-to-js\"\nimport { Paginator, SortingFilter, Loader, MultistepForm } from \"kui-utils\"\nimport { ResourceTypes, TariffGroupLiteParams } from \"../types\"\nimport { TariffCreationFormFields } from \"../components/TariffCreationForm/types\"\nimport { ElectricityTariffCreationFormFields } from \"../components/TariffCreationForm/ElectricityTariffCreationFields/types\"\nimport { WaterTariffCreationFormFields } from \"../components/TariffCreationForm/WaterTariffCreationFields/types\"\nimport { SingleTariffCreationFormFields } from \"../components/TariffCreationForm/SingeTariffCreatingFields/types\"\nimport {\n CommonTariffModel,\n GetCommonTariffsResponse,\n PostTariffRequest,\n} from \"../types/api/tariffs\"\nimport TariffsAgent from \"../agent/Tariffs\"\n\nclass TariffsLiteStore {\n tariffs: TariffGroupLiteParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n creationLoader: Loader\n\n creationForm: MultistepForm<TariffCreationFormFields>\n\n constructor() {\n this.tariffs = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n this.creationForm = new MultistepForm<TariffCreationFormFields>()\n makeAutoObservable(this)\n }\n\n fetchAll = async (resource: ResourceTypes) => {\n this.loader.startLoading()\n\n const [err, res] = await to<GetCommonTariffsResponse>(\n TariffsAgent.all(\n resource,\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n runInAction(() => {\n if (!err && res) {\n const mapper = (tariff: CommonTariffModel) =>\n TariffsLiteStore.getTariffParams(tariff)\n\n this.tariffs = this.paginator.getPageResponse<\n CommonTariffModel,\n TariffGroupLiteParams\n >(res, this.tariffs, mapper)\n } else {\n this.loader.setError(\"fetch tariffs\")\n }\n this.loader.endLoading()\n })\n }\n\n createTariff = async (data: TariffCreationFormFields) => {\n this.creationLoader.startLoading()\n\n const body: PostTariffRequest = TariffsLiteStore.getCreationBody(data)\n\n const [err, res] = await to(\n TariffsAgent.createTariff(body, data.resourceType)\n )\n\n if (!err && res) {\n this.tariffs = [TariffsLiteStore.getTariffParams(res), ...this.tariffs]\n this.paginator.clearOffset()\n this.paginator.startFetching()\n } else {\n this.creationLoader.setError(\"tariff creation\")\n }\n this.creationLoader.endLoading()\n\n return this.tariffs[0]\n }\n\n static getTariffParams = (tariff: CommonTariffModel) => ({\n id: tariff.id,\n name: tariff.code_name,\n })\n\n static getCreationBody = (data: TariffCreationFormFields) =>\n ({\n date_from: data.startDate.toISODate() || \"\",\n description: data.name,\n district: data.district?.id || null,\n city: data.city?.id || null,\n region: data.region.id || null,\n residential_complex_name: data.residentialComplex,\n replaceable_tariff_ids: data.replaceableTariffsGroups\n .filter((tariff) => tariff?.id)\n .map((tariff) => tariff.id!),\n ...TariffsLiteStore.getTariffValues(data),\n } as PostTariffRequest)\n\n static getTariffValues = (data: TariffCreationFormFields) => {\n switch (data.resourceType) {\n case \"electricity\":\n return {\n T1: (data as ElectricityTariffCreationFormFields).T1.toString(),\n T2: (data as ElectricityTariffCreationFormFields).T2?.toString(),\n T3: (data as ElectricityTariffCreationFormFields).T3?.toString(),\n }\n case \"water\":\n return {\n cold: (data as WaterTariffCreationFormFields).cold?.toString(),\n hot: (data as WaterTariffCreationFormFields).hot?.toString(),\n sewerage: (\n data as WaterTariffCreationFormFields\n ).sewerage?.toString(),\n }\n case \"gas\":\n return {\n gas: (data as SingleTariffCreationFormFields).value.toString(),\n }\n case \"heating\":\n return {\n heating: (data as SingleTariffCreationFormFields).value.toString(),\n }\n default:\n return {}\n }\n }\n}\n\nexport default TariffsLiteStore\n","import * as yup from \"yup\"\r\n\r\nconst CommonTariffFieldsSchema = yup.object().shape({\r\n region: yup.object({\r\n id: yup.number().nullable(),\r\n name: yup\r\n .string()\r\n .required(\"Required field\")\r\n .test(\r\n \"check-region-id\",\r\n \"Please select a region from the dropdown\",\r\n function (value) {\r\n const { id } = this.parent\r\n return !!id\r\n }\r\n ),\r\n }),\r\n startDate: yup.mixed().required(\"Required field\"),\r\n})\r\n\r\nexport default CommonTariffFieldsSchema\r\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { DistrictParams } from \"../types/store/catalogs\"\nimport { DistrictModel, GetDistrictsResponse } from \"../types\"\nimport { CatalogsAgent } from \"../agent\"\n\nclass DistrictsStore {\n districts: DistrictParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.districts = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchDistricts = async () => {\n this.loader.startLoading()\n\n const response = await to<GetDistrictsResponse>(\n CatalogsAgent.getDistricts(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (district: DistrictModel) => district\n\n resHandler(response, this.loader, (res) => {\n this.districts = this.paginator.getPageResponse(\n res,\n this.districts,\n mapper\n )\n })\n }\n}\n\nexport default DistrictsStore\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { DistrictAutocompleteProps } from \"./types\"\nimport { CityAutocompleteFields } from \"../CityAutocomplete/types\"\nimport DistrictsStore from \"../../store/DistrictsStore\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { DistrictParams } from \"../../types/store/catalogs\"\n\nfunction DistrictAutocomplete<TFormValues extends object>(\n props: DistrictAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, cityName, ...otherProps } = props\n const districtsStoreRef = useRef(new DistrictsStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { districts, fetchDistricts, paginator, filter, loader } =\n districtsStoreRef.current\n const { isLoading } = loader\n const city: CityAutocompleteFields = useWatch({\n control: form.control,\n name: cityName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchDistricts,\n city?.id ? `&city=${city.id}` : \"\"\n )\n\n const onSelectItem = (item: DistrictParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (city?.id) {\n filter.updateFilterQuery(`&city=${city.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [city?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: DistrictParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={districts}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nDistrictAutocomplete.defaultProps = {\n label: \"District\",\n name: \"district\",\n cityName: \"city\",\n}\n\nexport default observer(DistrictAutocomplete)\n","import { TariffCommonFields } from \"./types\"\nimport CountryAutocomplete from \"../../CountryAutocomplete\"\nimport RegionAutocomplete from \"../../RegionAutocomplete\"\nimport CityAutocomplete from \"../../CityAutocomplete\"\nimport DistrictAutocomplete from \"../../DistrictAutocomplete\"\nimport { InputParams } from \"../../InputByType\"\n\nconst commonTariffFields: InputParams<TariffCommonFields>[] = [\n {\n name: \"country\",\n variant: \"custom\",\n CustomInput: CountryAutocomplete,\n disabled: true,\n },\n { name: \"region\", variant: \"custom\", CustomInput: RegionAutocomplete },\n { name: \"city\", variant: \"custom\", CustomInput: CityAutocomplete },\n { name: \"district\", variant: \"custom\", CustomInput: DistrictAutocomplete },\n {\n name: \"residentialComplex\",\n label: \"Residential complex\",\n },\n { name: \"startDate\", label: \"Start date\", variant: \"date\" },\n { name: \"name\", label: \"Name\", size: 12 },\n]\n\nexport default commonTariffFields\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useWatch } from \"react-hook-form\"\nimport { TariffReplacementFieldProps } from \"./types\"\nimport TariffGroupAutocomplete from \"../TariffGroupAutocomplete\"\nimport { CloseIcon } from \"kui-icon\"\nimport { theme } from \"kui-basic\"\n\nfunction TariffReplacementField(props: TariffReplacementFieldProps) {\n const { index, remove, form, name, ...inputProps } = props\n const value = useWatch({\n control: form.control,\n name,\n })\n\n const handleDelete = () => {\n remove(index)\n }\n\n return (\n <StyledInputWrapper>\n <TariffGroupAutocomplete\n label={!value && \"Tariff group\"}\n endIcon={value && <StyledCrossIcon onClick={handleDelete} />}\n form={form}\n name={name}\n {...inputProps}\n />\n </StyledInputWrapper>\n )\n}\n\nexport default TariffReplacementField\n\nconst StyledInputWrapper = styled.div`\n padding-top: 16px;\n &:first-child {\n padding-top: 12px;\n }\n`\n\nconst StyledCrossIcon = styled(CloseIcon)`\n cursor: pointer;\n margin-right: -6px;\n width: 22px;\n height: 22px;\n path {\n fill: ${theme.palette.grey.fiftyP};\n }\n`\n","import React, { useEffect } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useFieldArray } from \"react-hook-form\"\nimport { TariffReplacementFieldsProps } from \"./types\"\nimport TariffReplacementField from \"../TariffReplacementField\"\nimport HeadingWithButton from \"../HeadingWithButton\"\n\nfunction TariffReplacementFields({\n form,\n resource,\n setReplaceable,\n}: TariffReplacementFieldsProps) {\n const { fields, append, remove } = useFieldArray({\n control: form.control,\n name: \"replaceableTariffsGroups\",\n })\n\n const addTariff = () => {\n append({ name: \"\" })\n }\n\n useEffect(() => {\n if (fields.length > 0) setReplaceable(true)\n else setReplaceable(false)\n }, [fields])\n\n return (\n <>\n <StyledHeadingWithButton\n title=\"REPLACEABLE TARIFF GROUPS\"\n onClick={addTariff}\n isEditing\n />\n <div>\n {fields.map((item, key) => (\n <TariffReplacementField\n key={fields[key].id}\n name={`replaceableTariffsGroups.${key}`}\n form={form}\n resource={resource}\n index={key}\n remove={remove}\n />\n ))}\n </div>\n </>\n )\n}\n\nexport default TariffReplacementFields\n\nconst StyledHeadingWithButton = styled(HeadingWithButton)`\n padding-bottom: 0;\n padding-top: 8px;\n h4 {\n font-size: 12px;\n line-height: 14px;\n font-weight: 600;\n }\n`\n","import React, { ChangeEvent } from \"react\"\nimport { Box, Grid } from \"kui-basic\"\nimport { useForm } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport styled from \"@emotion/styled\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { NextArrowIcon } from \"kui-icon\"\nimport { RadioGroupWithLabel } from \"kui-complex\"\nimport { CommonTariffFieldsProps, TariffCommonFields } from \"./types\"\nimport CommonTariffFieldsSchema from \"./schema\"\nimport commonTariffFields from \"./fields\"\nimport { ResourceTypes } from \"../../../types\"\nimport InputByType from \"../../InputByType\"\nimport TariffReplacementFields from \"../../TariffReplacementFields\"\nimport FormBottom from \"../../FormBottom\"\nimport { ResourceValues } from \"../../../content/listOptions\"\n\nfunction CommonTariffFields(props: CommonTariffFieldsProps) {\n const { resource, setResource, setReplaceable, creationForm } = props\n const form = useForm<TariffCommonFields>({\n defaultValues: {\n ...creationForm.fields,\n resourceType: resource,\n country: {\n id: 1,\n name: \"Russian Federation\",\n },\n },\n resolver: yupResolver(CommonTariffFieldsSchema),\n })\n\n const handleSubmit = (data: TariffCommonFields) => {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n }\n\n const changeResource = (\n e: ChangeEvent<HTMLInputElement>,\n newResource: ResourceTypes\n ) => {\n setResource(newResource)\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <Grid container spacing={2}>\n <Grid item xs={12}>\n <StyledRadioGroup\n title=\"\"\n form={form}\n options={ResourceValues}\n name=\"resourceType\"\n onChange={changeResource}\n />\n </Grid>\n {commonTariffFields.map(({ size, ...field }) => (\n <Grid item xs={size || 6} key={field.name}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n <Grid item xs={12}>\n <TariffReplacementFields\n setReplaceable={setReplaceable}\n resource={resource}\n form={form}\n />\n </Grid>\n </Grid>\n </Box>\n <FormBottom\n label=\"Next\"\n endIcon={<NextArrowIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default observer(CommonTariffFields)\n\nconst StyledRadioGroup = styled(RadioGroupWithLabel)`\n padding: 3px;\n`\n","import * as yup from \"yup\"\r\n\r\nconst ChangeReasonTariffFieldsSchema = yup.object().shape({\r\n reason: yup.object({\r\n file: yup.mixed().required(\"Required field\"),\r\n }),\r\n})\r\n\r\nexport default ChangeReasonTariffFieldsSchema\r\n","import React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useForm } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { TariffCreationFormFields } from \"../types\"\nimport ChangeReasonTariffFieldsSchema from \"./schema\"\nimport { ChangeReasonTariffFieldsProps } from \"./types\"\nimport { ChangeReasonFormFields } from \"../../ChangeReasonFields/types\"\nimport ChangeReasonFields from \"../../ChangeReasonFields\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction ChangeReasonTariffFields({\n handleSubmit,\n creationForm,\n}: ChangeReasonTariffFieldsProps) {\n const form = useForm<ChangeReasonFormFields>({\n defaultValues: creationForm.fields as ChangeReasonFormFields,\n resolver: yupResolver(ChangeReasonTariffFieldsSchema),\n })\n\n const handleFormSubmit = async (data: ChangeReasonFormFields) => {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <ChangeReasonFields form={form} />\n </Box>\n <FormBottom\n label=\"Create group\"\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default observer(ChangeReasonTariffFields)\n","import * as yup from \"yup\"\r\n\r\nconst ElectricityTariffFieldsSchema = yup.object().shape({\r\n T1: yup\r\n .number()\r\n .positive()\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default ElectricityTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport styled from \"@emotion/styled\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { InputWithController } from \"kui-complex\"\nimport { ElectricityTariffCreationFormFields } from \"./types\"\nimport ElectricityTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFieldsProps, TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction ElectricityTariffCreationFields(props: TariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm } = props\n const form = useForm<ElectricityTariffCreationFormFields>({\n defaultValues: creationForm.fields as ElectricityTariffCreationFormFields,\n resolver: yupResolver(ElectricityTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: ElectricityTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <StyledInput\n form={form}\n name=\"T1\"\n label=\"One-part\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"T2\"\n label=\"Two-part\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"T3\"\n label=\"Three-part\"\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default ElectricityTariffCreationFields\n\nconst StyledInput = styled(InputWithController)`\n margin-top: 16px;\n &:first-child {\n margin-top: 0;\n }\n`\n","import * as yup from \"yup\"\r\n\r\nconst WaterTariffFieldsSchema = yup.object().shape({\r\n cold: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n sewerage: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default WaterTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport styled from \"@emotion/styled\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { InputWithController } from \"kui-complex\"\nimport { WaterTariffCreationFormFields } from \"./types\"\nimport WaterTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFieldsProps, TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction WaterTariffCreationFields(props: TariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm } = props\n const form = useForm<WaterTariffCreationFormFields>({\n defaultValues: creationForm.fields as WaterTariffCreationFormFields,\n resolver: yupResolver(WaterTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: WaterTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <StyledInput\n form={form}\n name=\"cold\"\n label=\"Cold\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"hot\"\n label=\"Hot\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"sewerage\"\n label=\"Sewer\"\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default WaterTariffCreationFields\n\nconst StyledInput = styled(InputWithController)`\n margin-top: 16px;\n &:first-child {\n margin-top: 0;\n }\n`\n","import * as yup from \"yup\"\r\n\r\nconst SingleTariffFieldsSchema = yup.object().shape({\r\n value: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default SingleTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { InputWithController } from \"kui-complex\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport {\n SingleTariffCreationFieldsProps,\n SingleTariffCreationFormFields,\n} from \"./types\"\nimport SingleTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction SingleTariffCreationFields(props: SingleTariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm, label } = props\n const form = useForm<SingleTariffCreationFormFields>({\n defaultValues: creationForm.fields as SingleTariffCreationFormFields,\n resolver: yupResolver(SingleTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: SingleTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <InputWithController\n form={form}\n name=\"value\"\n label={label}\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default SingleTariffCreationFields\n","import React, { useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport _ from \"lodash\"\nimport { MultistepForm } from \"kui-utils\"\nimport CommonTariffFields from \"./CommonTariffFields\"\nimport ChangeReasonTariffFields from \"./ChangeReasonTariffFields\"\nimport { TariffCreationFormFields, TariffCreationFormProps } from \"./types\"\nimport ElectricityTariffCreationFields from \"./ElectricityTariffCreationFields\"\nimport WaterTariffCreationFields from \"./WaterTariffCreationFields\"\nimport SingleTariffCreationFields from \"./SingeTariffCreatingFields\"\nimport { ResourceTypes } from \"../../types\"\n\nconst renderFieldsByResource = (\n resource: ResourceTypes,\n isReplaceable: boolean,\n handleSubmit: (data: TariffCreationFormFields) => void,\n creationForm: MultistepForm<TariffCreationFormFields>\n) => {\n switch (resource) {\n case \"electricity\":\n return (\n <ElectricityTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n case \"water\":\n return (\n <WaterTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n default:\n return (\n <SingleTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n label={`${_.capitalize(resource)} tariff`}\n creationForm={creationForm}\n />\n )\n }\n}\n\nfunction TariffCreationForm(props: TariffCreationFormProps) {\n const { handleClose, creationForm, createTariff, defaultResource } = props\n const [resource, setResource] = useState<ResourceTypes>(defaultResource)\n const [isReplaceable, setReplaceable] = useState(false)\n\n const handleSubmit = async (data: TariffCreationFormFields) => {\n handleClose()\n await createTariff(data)\n creationForm.resetForm()\n }\n\n switch (creationForm.step) {\n case 2:\n return renderFieldsByResource(\n resource,\n isReplaceable,\n handleSubmit,\n creationForm\n )\n case 3:\n return (\n <ChangeReasonTariffFields\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n default:\n return (\n <CommonTariffFields\n setReplaceable={setReplaceable}\n resource={resource}\n setResource={setResource}\n creationForm={creationForm}\n />\n )\n }\n}\n\nexport default observer(TariffCreationForm)\nexport type {\n ElectricityTariffCreationFields,\n GasTariffCreationFields,\n HeatingTariffCreationFields,\n TariffCreationFormFields,\n TariffCreationFormProps,\n TariffCreationFieldsProps,\n WaterTariffCreationFields,\n TariffCreationValuesFields,\n} from \"./types\"\nexport { default as CommonTariffFieldsSchema } from \"./CommonTariffFields/schema\"\n","import React from \"react\"\nimport { TariffCreationModalProps } from \"./types\"\nimport Modal from \"../Modal\"\nimport TariffCreationForm from \"../TariffCreationForm\"\n\nfunction TariffCreationModal(props: TariffCreationModalProps) {\n const { open, handleClose, ...formProps } = props\n\n return (\n <Modal title=\"New tariff group\" open={open} handleClose={handleClose}>\n <TariffCreationForm handleClose={handleClose} {...formProps} />\n </Modal>\n )\n}\n\nexport default TariffCreationModal\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { TariffGroupAutocompleteProps } from \"./types\"\nimport TariffsLiteStore from \"../../store/TariffsLiteStore\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { TariffGroupLiteParams } from \"../../types\"\nimport { TariffCreationFormFields } from \"../TariffCreationForm/types\"\nimport { ModalProps } from \"../Modal/types\"\nimport TariffCreationModal from \"../TariffCreationModal\"\n\nfunction TariffGroupAutocomplete<TFormValues extends object>(\n props: TariffGroupAutocompleteProps<TFormValues>\n) {\n const {\n form,\n name,\n label,\n resource,\n filter: filterQuery,\n filterRequired,\n ...otherProps\n } = props\n const tariffsStoreRef = useRef(new TariffsLiteStore())\n const tariffsStore = tariffsStoreRef.current\n const { tariffs, paginator, fetchAll, loader, filter } = tariffsStore\n\n const fetchAllByResource = useCallback(() => {\n if (filterRequired ? filter.filterQuery : true) {\n fetchAll(resource)\n }\n }, [resource, filter.filterQuery])\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchAllByResource\n )\n\n const onSelectItem = (item: TariffGroupLiteParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.type`, resource)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n }\n\n const onCreate = async (data: TariffCreationFormFields) => {\n const tariff = await tariffsStore.createTariff(data)\n if (tariff) onSelectItem(tariff)\n }\n\n useEffect(() => {\n filter.updateFilterQuery(filterQuery)\n }, [filterQuery])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: TariffGroupLiteParams) => (\n <AutocompleteOption label={option.name} />\n )}\n options={tariffs}\n isLoading={loader.isLoading}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n creatingLabel=\"Add new tariff group\"\n renderCreatingModal={(modalProps: ModalProps) => (\n <TariffCreationModal\n creationForm={tariffsStore.creationForm}\n createTariff={onCreate}\n defaultResource={resource}\n {...modalProps}\n />\n )}\n {...otherProps}\n />\n )\n}\n\nTariffGroupAutocomplete.defaultProps = {\n name: \"tariffGroup\",\n}\n\nexport default observer(TariffGroupAutocomplete)\n","import _ from \"lodash\"\nimport { InputFile } from \"kui-complex\"\nimport { addToArrayByCondition } from \"kui-utils\"\nimport { DateTime } from \"luxon\"\nimport { MeterFeaturesFormFields, RenderMeterFieldsSettings } from \"./types\"\nimport { InputByTypeProps } from \"../InputByType\"\nimport {\n ElectricityMeterTypes,\n ResourceTypes,\n WaterMeterTypes,\n} from \"../../types\"\nimport PartialPayer from \"../PartialPayer\"\nimport TariffGroupAutocomplete from \"../TariffGroupAutocomplete\"\nimport CompanyAutocomplete from \"../CompanyAutocomplete\"\n\ntype ValueFieldVariant = \"initial\" | \"last\"\n\nconst inputStep = 0.00001\n\nconst fieldsToColumns = (\n firstRow: InputByTypeProps<MeterFeaturesFormFields>[],\n secondRow: InputByTypeProps<MeterFeaturesFormFields>[]\n) => {\n const res: MeterFeaturesFormFields[] = []\n firstRow.forEach((field, key) => {\n res.push(field)\n res.push(secondRow[key])\n })\n return res\n}\n\nconst getValuesFields = (\n resource: ResourceTypes,\n variant: ValueFieldVariant,\n meterType?: ElectricityMeterTypes | WaterMeterTypes | null\n) => {\n const label = `${_.capitalize(variant)} value`\n const name = `${variant}Value`\n\n if (resource === \"electricity\") {\n return [\n {\n label: `${label} T1`,\n name: `${name}T1`,\n type: \"number\",\n step: inputStep,\n },\n ...addToArrayByCondition(meterType !== \"T1\", {\n label: `${label} T2`,\n name: `${name}T2`,\n type: \"number\",\n step: inputStep,\n }),\n ...addToArrayByCondition(meterType === \"T3\", {\n label: `${label} T3`,\n name: `${name}T3`,\n type: \"number\",\n step: inputStep,\n }),\n ]\n }\n return [{ label, name, type: \"number\", step: inputStep }]\n}\n\nconst commonMeterFields = ({\n withPassport,\n isNewResource,\n withLastValue,\n resource,\n tariffFilter,\n disableOperatingAccount,\n handleCompanyChange,\n withNextCheck,\n apartmentId,\n}: RenderMeterFieldsSettings) => [\n {\n label: \"Activation date\",\n name: \"startDate\",\n variant: \"date\",\n max: DateTime.now(),\n },\n ...addToArrayByCondition(withPassport, {\n label: \"Passport\",\n name: \"passportFile\",\n variant: \"custom\",\n CustomInput: InputFile,\n }),\n ...addToArrayByCondition(withNextCheck, {\n label: \"Next check\",\n name: \"nextCheck\",\n variant: \"date\",\n }),\n ...addToArrayByCondition(isNewResource, {\n title: \"Payer\",\n name: \"meterPayer\",\n variant: \"custom\",\n size: 12,\n CustomInput: PartialPayer,\n utilityType: resource,\n }),\n {\n label: \"Tariff group\",\n name: \"tariff\",\n resource,\n filter: tariffFilter,\n filterRequired: true,\n variant: \"custom\",\n CustomInput: TariffGroupAutocomplete,\n size: withLastValue && !withPassport ? 6 : 12,\n },\n {\n name: \"company\",\n variant: \"custom\",\n CustomInput: CompanyAutocomplete,\n size: 12,\n handleSelect: handleCompanyChange,\n forApartment: apartmentId,\n },\n {\n label: \"Operational account number\",\n name: \"operationalAccountNumber\",\n disabled: disableOperatingAccount,\n size: 12,\n },\n]\n\nconst fieldsOfNewResourceMeter = (settings: RenderMeterFieldsSettings) => [\n { label: \"Number\", name: \"number\" },\n ...getValuesFields(settings.resource, \"initial\", settings.meterType),\n ...commonMeterFields(settings),\n]\n\nconst fieldsOfOldResourceMeter = (settings: RenderMeterFieldsSettings) => [\n ...fieldsToColumns(\n getValuesFields(settings.resource, \"last\", settings.meterType),\n getValuesFields(settings.resource, \"initial\", settings.meterType)\n ),\n { label: \"Number\", name: \"number\" },\n ...commonMeterFields(settings),\n]\n\nconst getMeterFields = (\n settings: RenderMeterFieldsSettings\n): InputByTypeProps<MeterFeaturesFormFields>[] =>\n settings.withLastValue\n ? fieldsOfOldResourceMeter(settings)\n : fieldsOfNewResourceMeter(settings)\n\nexport default getMeterFields\n","/** @jsxImportSource @emotion/react */\nimport React, { ChangeEvent, useEffect } from \"react\"\nimport { UseFormReturn } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport { FieldValues } from \"react-hook-form/dist/types/fields\"\nimport { RadioGroupWithLabel } from \"kui-complex\"\nimport { LiteMeterInterface } from \"../../types\"\n\ntype ReplaceableCountersBlockProps<TFormValue extends FieldValues> = {\n form: UseFormReturn<TFormValue>\n counters: LiteMeterInterface[]\n setIsReplaceable: (value: boolean) => void\n}\n\nfunction ReplaceableCountersBlock<TFormValues extends FieldValues>({\n form,\n counters,\n setIsReplaceable,\n}: ReplaceableCountersBlockProps<TFormValues>) {\n const options = counters.map((counter) => ({\n label: counter.number,\n value: counter.id,\n }))\n\n const handleChange = (\n e: ChangeEvent<HTMLInputElement>,\n value: string | null\n ) => {\n if (value) setIsReplaceable(true)\n else setIsReplaceable(false)\n }\n\n useEffect(() => () => setIsReplaceable(false))\n\n return (\n <RadioGroupWithLabel\n isSquare\n fullWidth\n title=\"Replacement meter\"\n direction=\"vertical\"\n form={form}\n name=\"replaceableCounter\"\n options={options}\n defaultValue=\"none\"\n data-testid=\"replaceable_counters\"\n onChange={handleChange}\n />\n )\n}\n\nexport default observer(ReplaceableCountersBlock)\n","import React, { useEffect, useMemo, useState } from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { Grid } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { MeterFeaturesFieldsProps, MeterFeaturesFormFields } from \"./types\"\nimport getMeterFeaturesFieldsSchema from \"./schema\"\nimport { CompanyLiteParams } from \"../../types/store/company\"\nimport getMeterFields from \"./fields\"\nimport FormWrapper from \"../FormWrapper\"\nimport InputByType from \"../InputByType\"\nimport ReplaceableCountersBlock from \"../ReplaceableCountersBlock\"\n\nfunction MeterFeaturesFields(props: MeterFeaturesFieldsProps) {\n const { resource, replacements, isNewResource, meterType, maxMeters } = props\n const { handleSubmit, renderMeterType, withLastValue, setIsReplaceable } =\n props\n const { operatingAccount, administrativeCompany, apartmentId, withPassport } =\n props\n const { formBottomProps, defaultValues, withNextCheck } = props\n const [disableOperatingAccount, setDisableOperatingAccount] = useState(false)\n const withMeterType = resource === \"water\" || resource === \"electricity\"\n const tariffFilter = `${apartmentId ? `&for_apartment=${apartmentId}` : \"\"}${\n withMeterType && meterType ? `&type=${meterType}` : \"\"\n }`\n\n const handleCompanyChange = (company: CompanyLiteParams) => {\n if (!operatingAccount && company.id === administrativeCompany?.id) {\n form.setValue(\n \"operationalAccountNumber\",\n administrativeCompany?.operatingAccount\n )\n setDisableOperatingAccount(true)\n } else {\n setDisableOperatingAccount(false)\n }\n }\n\n const meterFields = getMeterFields({\n resource,\n isNewResource,\n withLastValue,\n withPassport,\n meterType,\n tariffFilter,\n disableOperatingAccount,\n withNextCheck,\n handleCompanyChange,\n apartmentId,\n })\n const valueFieldsName = meterFields\n .filter((field) => field.type === \"number\")\n .map((field) => field.name)\n const meterFeaturesFieldsSchema = getMeterFeaturesFieldsSchema(\n valueFieldsName,\n !!maxMeters && Number(replacements?.length) >= Number(maxMeters)\n )\n const form = useMemo(\n () =>\n useForm<MeterFeaturesFormFields>({\n resolver: yupResolver(meterFeaturesFieldsSchema),\n defaultValues: {\n operationalAccountNumber: operatingAccount,\n ...defaultValues,\n },\n values: defaultValues as MeterFeaturesFormFields,\n }),\n [meterFeaturesFieldsSchema]\n )\n\n useEffect(() => {\n if (!replacements || replacements?.length === 0) {\n form.setValue(\"replaceableCounter\", \"\")\n }\n }, [replacements])\n\n return (\n <FormWrapper<MeterFeaturesFormFields>\n form={form}\n onSubmit={handleSubmit as any}\n label={withLastValue ? \"Next\" : \"Create meter\"}\n endIcon={withLastValue ? <NextArrowIcon /> : <CheckIcon />}\n {...formBottomProps}\n >\n <Grid container spacing={2}>\n {renderMeterType && (\n <Grid item xs={12}>\n {renderMeterType(form)}\n </Grid>\n )}\n\n {replacements && replacements.length > 0 && (\n <Grid item xs={12}>\n <ReplaceableCountersBlock\n form={form}\n counters={replacements}\n setIsReplaceable={setIsReplaceable}\n />\n </Grid>\n )}\n\n {meterFields.map(({ size, ...field }) => (\n <Grid item key={field.name} xs={size || 6}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n </Grid>\n </FormWrapper>\n )\n}\n\nexport default MeterFeaturesFields\nexport type {\n MeterFeaturesFormFields,\n MeterFeaturesFieldsProps,\n RenderMeterFieldsSettings,\n} from \"./types\"\nexport { getMeterFields, getMeterFeaturesFieldsSchema }\n","import React from \"react\"\nimport { InputSelectWithController } from \"kui-complex\"\nimport { MeterTypeRadioGroupProps } from \"./types\"\nimport { ElectricityValues, WaterValues } from \"../../content/listOptions\"\n\nfunction MeterTypeRadioGroup(props: MeterTypeRadioGroupProps) {\n const { resource, ...other } = props\n\n return (\n <InputSelectWithController\n label=\"Meter type\"\n options={resource === \"water\" ? WaterValues : ElectricityValues}\n name=\"type\"\n testId=\"type\"\n {...other}\n />\n )\n}\n\nexport default MeterTypeRadioGroup\n","import React, { useEffect, useState } from \"react\"\nimport { UseFormReturn } from \"react-hook-form\"\nimport { MeterFeaturesFormProps } from \"./types\"\nimport { MeterFeaturesFormFields } from \"../MeterFeaturesFields/types\"\nimport MeterFeaturesFields from \"../MeterFeaturesFields\"\nimport { ElectricityMeterTypes, WaterMeterTypes } from \"../../types\"\nimport MeterTypeRadioGroup from \"../MeterTypeRadioGroup\"\n\nfunction MeterFeaturesForm(props: MeterFeaturesFormProps) {\n const {\n formStore,\n handleSubmit,\n resource,\n maxMeters,\n handleMeterTypeChange,\n defaultValues,\n ...other\n } = props\n const [isReplaceable, setIsReplaceable] = useState(false)\n\n const withMeterType =\n (resource === \"water\" && maxMeters !== 1) || resource === \"electricity\"\n const defaultType = resource === \"water\" ? \"cold\" : \"T1\"\n const defaultMeterType = withMeterType ? defaultType : null\n const [meterType, setMeterType] = useState<\n ElectricityMeterTypes | WaterMeterTypes | null\n >(defaultValues?.type || defaultMeterType)\n\n useEffect(() => {\n if (handleMeterTypeChange) {\n handleMeterTypeChange(meterType)\n }\n }, [meterType])\n\n const handleFormSubmit = (data: MeterFeaturesFormFields) => {\n if (isReplaceable) {\n formStore?.updateFormFields(data)\n formStore?.nextStep()\n } else if (handleSubmit) {\n handleSubmit(data)\n }\n }\n\n return (\n <MeterFeaturesFields\n resource={resource}\n handleSubmit={handleFormSubmit}\n meterType={meterType}\n maxMeters={maxMeters}\n withLastValue={isReplaceable}\n setIsReplaceable={setIsReplaceable}\n defaultValues={defaultValues}\n renderMeterType={\n withMeterType\n ? (form: UseFormReturn<MeterFeaturesFormFields>) => (\n <MeterTypeRadioGroup\n form={form}\n resource={resource}\n handleChange={setMeterType}\n />\n )\n : null\n }\n {...other}\n />\n )\n}\n\nexport default MeterFeaturesForm\n","import * as yup from \"yup\"\n\nconst SignInFormSchema = yup.object().shape({\n phone: yup.string().trim().required(\"This field is required\"),\n password: yup.string().trim().required(\"This field is required\"),\n})\n\nexport default SignInFormSchema\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { Button, Box } from \"kui-basic\"\nimport { InputWithController } from \"kui-complex\"\nimport styled from \"@emotion/styled\"\nimport { SignInFormFields, SignInFormProps } from \"./types\"\nimport SignInFormSchema from \"./schema\"\n\nfunction SignInForm({ onSubmit }: SignInFormProps) {\n const form = useForm<SignInFormFields>({\n resolver: yupResolver(SignInFormSchema),\n })\n\n return (\n <form data-testid=\"sign_in_form\" onSubmit={form.handleSubmit(onSubmit)}>\n <Box mb={4}>\n <InputWithController\n data-testid=\"username\"\n label=\"Login\"\n name=\"phone\"\n form={form}\n />\n </Box>\n <Box mb={5}>\n <InputWithController\n data-testid=\"password\"\n label=\"Password\"\n name=\"password\"\n type=\"password\"\n form={form}\n />\n </Box>\n <StyledButton data-testid=\"submit_btn\" fullWidth type=\"submit\">\n Sign in\n </StyledButton>\n </form>\n )\n}\n\nexport default SignInForm\n\nconst StyledButton = styled(Button)`\n max-width: 120px;\n`\n","export default \"1521f2ef9cc95488.png\"","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Heading, Box, Grid, Container, theme } from \"kui-basic\"\nimport { MaroomIcon } from \"kui-icon\"\nimport { Loading } from \"kui-complex\"\nimport SignInForm from \"../SignInForm\"\nimport { SignInPageProps } from \"./types\"\n// @ts-ignore\nimport bgImage from \"./login_bg.png\"\n\nconst SignInPage = (props: SignInPageProps) => {\n const { handleSubmit, isLoading, err } = props\n\n return (\n <StyledWrapper>\n <StyledBackground src={bgImage} />\n\n <StyledContainer>\n <StyledCardWrapper container alignItems=\"center\">\n <StyledCard>\n <Box mb={4}>\n <MaroomIcon width={143} height={32} />\n </Box>\n <Box mb={1}>\n <Heading>Welcome</Heading>\n </Box>\n {isLoading ? (\n <Loading height=\"65%\" />\n ) : (\n <div>\n <ErrorBlock mb={1}>\n <Caption weight={600}>\n {err && \"Вы ввели неверные данные\"}\n </Caption>\n </ErrorBlock>\n <SignInForm onSubmit={handleSubmit} />\n </div>\n )}\n </StyledCard>\n </StyledCardWrapper>\n </StyledContainer>\n </StyledWrapper>\n )\n}\n\nexport default observer(SignInPage)\n\nconst StyledWrapper = styled.div`\n height: 100vh;\n width: 100vw;\n position: relative;\n`\n\nconst StyledBackground = styled.img`\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n overflow: hidden;\n object-position: bottom center;\n object-fit: cover;\n`\n\nconst StyledCard = styled.div`\n background: ${theme.palette.grey.zero};\n border-radius: 16px;\n box-shadow: 0px 0px 1px rgba(10, 31, 68, 0.1),\n 0px 26px 26px rgba(10, 31, 68, 0.12);\n width: 496px;\n height: 512px;\n padding: 64px 48px;\n box-sizing: border-box;\n z-index: 1;\n @media (max-width: 960px) {\n width: 100%;\n padding: 32px 24px;\n height: 455px;\n }\n`\n\nconst ErrorBlock = styled(Box)`\n height: 24px;\n p: {\n color: ${theme.palette.red.fiftyP};\n },\n`\n\nconst StyledContainer = styled(Container)`\n height: 100%;\n`\n\nconst StyledCardWrapper = styled(Grid)`\n height: 100%;\n`\n","import { addToArrayByCondition } from \"kui-utils\"\nimport { ApartmentFillingVariants } from \"../types\"\nimport { InputParams } from \"../components/InputByType\"\nimport { FillingInfoFormFields } from \"../types/form/fillingForm\"\nimport { FillingTypeValues } from \"../content/listOptions\"\nimport FillingTagsAutocomplete from \"../components/FillingTagsAutocomplete\"\nimport InputFileWithVisibility from \"../components/InputFileWithVisibility\"\n\nconst getFillingInfoFields = (\n withType: boolean,\n type: ApartmentFillingVariants,\n setType: (fillingType: ApartmentFillingVariants) => void\n): InputParams<FillingInfoFormFields>[] => [\n ...addToArrayByCondition(withType, {\n label: \"Filling type\",\n name: \"type\",\n variant: \"select\",\n options: FillingTypeValues,\n handleChange: setType,\n }),\n {\n label: \"Name (tag)\",\n name: \"tag\",\n type,\n variant: \"custom\",\n CustomInput: FillingTagsAutocomplete,\n },\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Serial code\",\n name: \"serialNumber\",\n size: 6,\n }),\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Amount\",\n name: \"numberOfSubjects\",\n type: \"number\",\n size: 6,\n }),\n { label: \"Description\", name: \"name\", isTextArea: true },\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Instruction\",\n name: \"instruction\",\n variant: \"custom\",\n CustomInput: InputFileWithVisibility,\n }),\n]\n\nexport default getFillingInfoFields\n","import { InputFileWithVisibilityFields } from \"../components/InputFileWithVisibility/types\"\nimport { matchesAPIVisibilityVariants } from \"./matches\"\n\nexport const setFileFromFileWithVisibility = (\n formData: FormData,\n document: InputFileWithVisibilityFields,\n fileField: string,\n nameField?: string,\n visibilityField?: string,\n withUrl?: boolean\n) => {\n if (document && \"file\" in document && document.file instanceof File) {\n formData.append(fileField, document.file)\n } else if (document && \"url\" in document && withUrl) {\n formData.append(fileField, document.url)\n }\n\n if (document && nameField && \"name\" in document) {\n const name = document.name.split(\".\")\n if (name.length > 1) name.pop()\n formData.append(nameField, name.join(\"\"))\n }\n\n if (visibilityField && document?.visibility) {\n formData.append(\n visibilityField,\n matchesAPIVisibilityVariants[document.visibility]\n )\n }\n}\n","import * as yup from \"yup\"\nimport { isValidWithMaskExp } from \"kui-utils\"\nimport { defaultRequiredMessage } from \"./constants\"\nimport { PhoneParams } from \"../types\"\n\nexport const phoneSchema = yup.object({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n})\n\nexport const positiveNumberSchema = yup\n .number()\n .min(0)\n .required(defaultRequiredMessage)\n\nexport const phoneWithConditionSchema = (condition: string) =>\n yup\n .object({\n phoneNumber: yup.string().nullable(),\n })\n .when(condition, {\n is: (value: string) => value === \"true\",\n then: (rule) =>\n rule.shape({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n }),\n })\n .nullable()\n\nexport const phoneNonRequiredSchema = (name: string) =>\n yup\n .object({ phoneNumber: yup.string().nullable() })\n .when(name, {\n is: (value: PhoneParams) => value?.phoneNumber,\n then: (rule) =>\n rule.shape({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n }),\n })\n .nullable()\n","import to from \"await-to-js\"\nimport { UploadFileParams } from \"kui-complex/dist/FileItem\"\nimport { Loader, promisesWithCallback } from \"kui-utils\"\nimport {\n FileWithVisibility,\n InputFileWithVisibilityFields,\n} from \"../components/InputFileWithVisibility/types\"\nimport { setFileFromFileWithVisibility } from \"./reqHandler\"\nimport { matchesAPIVisibilityVariants } from \"./matches\"\nimport {\n DocumentVisibilityVariants,\n FileParams,\n UploadDocumentParams,\n} from \"../types\"\nimport {\n DocumentVisibilityAPIVariants,\n FileBodyRequest,\n ImageBodyRequest,\n UploadFileResponse,\n} from \"../types/api/common\"\nimport UploadAgent from \"../agent/Upload\"\n\nconst getBodyForPostImage = (data: Partial<FileParams>) => {\n const formData = new FormData()\n if (data.file) {\n formData.append(\"upload\", data.file, data.name ? data.name : data.file.name)\n }\n\n return formData\n}\n\nconst getBodyForPostFile = (file: InputFileWithVisibilityFields | File) => {\n const formData = new FormData()\n if (file instanceof File) {\n formData.append(\"upload\", file)\n } else {\n setFileFromFileWithVisibility(formData, file, \"upload\")\n }\n return formData\n}\n\nconst getBodyForPostDocument = (file: UploadDocumentParams) => {\n const formData = new FormData()\n if (file) {\n formData.append(\"upload\", file.file as File)\n }\n return formData\n}\n\nconst getBodyForFileRequest = (\n file: FileWithVisibility | UploadDocumentParams,\n res?: UploadFileResponse\n) =>\n res\n ? {\n temp_file_id: res.id,\n name: file?.file?.name?.replace(/\\.[^/.]+$/, \"\") || `file_${res.id}`,\n visibility: matchesAPIVisibilityVariants[\n file.visibility as DocumentVisibilityVariants\n ] as DocumentVisibilityAPIVariants,\n }\n : null\n\nconst getBodyForCleanFileRequest = (file: File, res?: UploadFileResponse) =>\n res ? { temp_file_id: res.id, name: file.name } : null\n\nconst createImage = async (loader: Loader, data: Partial<FileParams>) => {\n loader.cleanError()\n\n const body = getBodyForPostImage(data)\n\n const [err, res] = await to<UploadFileResponse>(UploadAgent.uploadImage(body))\n\n if (err) loader.setError(\"load image\", err)\n\n return res\n}\n\nconst createFile = async (loader: Loader, file: FileWithVisibility | File) => {\n loader.cleanError()\n\n const body = getBodyForPostFile(file)\n\n const [err, res] = await to<UploadFileResponse>(\n UploadAgent.uploadDocument(body)\n )\n\n if (err) loader.setError(\"load document\", err)\n\n return res\n}\n\nconst createDocument = async (loader: Loader, file: UploadDocumentParams) => {\n loader.cleanError()\n\n const body = getBodyForPostDocument(file)\n\n const [err, res] = await to<UploadFileResponse>(\n UploadAgent.uploadDocument(body)\n )\n\n if (err) loader.setError(\"load document\", err)\n\n return res\n}\n\nconst uploadImages = async (\n loader: Loader,\n images: UploadFileParams[],\n callback?: Function\n) => {\n const results = await promisesWithCallback(\n images.map((file) => createImage(loader, file as FileParams)),\n callback\n )\n return results\n .map((result, index) =>\n result.status === \"fulfilled\"\n ? {\n temp_file_id: result.value.id,\n image_name: images[index].name?.replace(/\\.[^/.]+$/, \"\"),\n }\n : null\n )\n .filter((result) => result) as ImageBodyRequest[]\n}\n\nconst uploadFile = async (\n loader: Loader,\n file: FileWithVisibility | File\n): Promise<FileBodyRequest | null> => {\n let res\n if (file) {\n res = await createFile(loader, file)\n }\n\n return file instanceof File\n ? getBodyForCleanFileRequest(file, res)\n : getBodyForFileRequest(file, res)\n}\n\nconst uploadNewFile = async (\n loader: Loader,\n document: InputFileWithVisibilityFields | File\n) => {\n if (\n document &&\n ((\"file\" in document && document.file instanceof File) ||\n document instanceof File)\n ) {\n const res = await uploadFile(loader, document)\n return res\n }\n return null\n}\n\nconst uploadFiles = async (\n loader: Loader,\n files: (InputFileWithVisibilityFields | File)[]\n): Promise<FileBodyRequest[]> => {\n const res = await Promise.allSettled(\n files.map((file) => uploadNewFile(loader, file))\n )\n\n return res\n .map((result) => (result.status === \"fulfilled\" ? result.value : null))\n .filter((result) => result) as FileBodyRequest[]\n}\n\nconst uploadDocuments = async (\n loader: Loader,\n documents: UploadDocumentParams[]\n) => {\n const results = await promisesWithCallback(\n documents.map((file) => createDocument(loader, file))\n )\n return results\n .map((result, index) =>\n result.status === \"fulfilled\"\n ? getBodyForFileRequest(documents[index], result.value)\n : null\n )\n .filter((result) => result) as FileBodyRequest[]\n}\n\nconst uploadDocument = async (\n loader: Loader,\n file: UploadDocumentParams\n): Promise<FileBodyRequest | null> => {\n const res = await createDocument(loader, file)\n\n return getBodyForFileRequest(file, res)\n}\n\nexport {\n uploadImages,\n uploadFile,\n uploadFiles,\n uploadDocuments,\n uploadDocument,\n uploadNewFile,\n}\n"],"names":["axios","KUISettings","deleteCookie","getCookie","to","resHandler","Loader","Paginator","SortingFilter","makeAutoObservable","useEffect","useDebounce","useRef","useState","useWatch","_jsx","InputWithAutocomplete","AutocompleteOption","observer","getVisibilitySettings","getVisibility","_jsxs","InputFile","Box","CheckboxGroupWithTitle","InputWithDatePicker","InputSelectWithController","InputPhoneWithForm","InputWithMask","InputWithController","StyledWrapper","Grid","Caption","styled","theme","StyledImage","Heading","css","templateObject_1","templateObject_2","templateObject_3","templateObject_4","StyledModal","KUIModal","yup","parentClassName","createParentNode","_Fragment","Global","containerCSS","createPortal","CrossWithCircleIcon","CircularProgress","templateObject_5","LoaderState","useForm","MapWrapper","MapComponent","StyledInput","StyledButton","CheckIcon","InputWithAddressAutocomplete","Button","useToggle","ModalWithMap","MapIcon","useAddressAutocomplete","LoupeIcon","CloseIcon","useController","PlusIcon","CompanyInnAutocomplete","Divider","PrevArrowIcon","NextArrowIcon","Loading","yupResolver","useNavigate","runInAction","getPhoneParamsFromString","CompanyCreationModal","FillingTagCreationModal","StyledRadioGroup","InputSelect","RadioGroupWithLabel","MultistepForm","CountryAutocomplete","RegionAutocomplete","CityAutocomplete","DistrictAutocomplete","TariffGroupAutocomplete","useFieldArray","_","ChangeReasonTariffFields","CommonTariffFields","TariffCreationForm","useCallback","addToArrayByCondition","DateTime","CompanyAutocomplete","useMemo","ReplaceableCountersBlock","MaroomIcon","Container","FillingTagsAutocomplete","isValidWithMaskExp","promisesWithCallback"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../src/utils/constants.ts","../../src/settings.ts","../../src/agent/Companies.ts","../../src/agent/Upload.ts","../../src/agent/FillingTags.ts","../../src/agent/Tariffs.ts","../../src/agent/index.ts","../../src/agent/Catalogs.ts","../../src/store/CitiesStore.ts","../../src/hooks/useAutocomplete.ts","../../src/components/CityAutocomplete/index.tsx","../../src/store/CountriesStore.ts","../../src/components/CountryAutocomplete/index.tsx","../../src/components/InputFileWithVisibility/index.tsx","../../src/components/InputByType/index.tsx","../../src/store/RegionsStore.ts","../../src/components/RegionAutocomplete/index.tsx","../../src/hooks/usePortalPosition.ts","../../src/components/TwoOptionForAutocomplete/index.tsx","../../src/components/SquarePreviewImage/index.tsx","../../src/components/Modal/index.tsx","../../../kui-utils/content/regexp.ts","../../src/components/CompanyCreationForm/schema.ts","../../src/content/listOptions.ts","../../src/components/AutocompleteOption/index.tsx","../../src/components/ErrorPopup/index.tsx","../../src/components/LoaderPopup/index.tsx","../../src/components/LoaderState/index.tsx","../../src/components/CompanyInnAutocomplete/index.tsx","../../src/components/MapComponent/index.tsx","../../src/components/ModalWithMap/index.tsx","../../src/components/OpenMapButton/index.tsx","../../src/components/InputWithMap/index.tsx","../../src/components/PreviewImageCard/index.tsx","../../src/components/FileUploaderWithPreview/index.tsx","../../src/components/CompanyCreationForm/fields.ts","../../src/components/FormBottom/index.tsx","../../src/components/CompanyCreationForm/index.tsx","../../src/components/CompanyCreationModal/index.tsx","../../src/utils/matches.ts","../../src/store/CompaniesStore.ts","../../src/components/CompanyAutocomplete/index.tsx","../../src/components/ChangeReasonFields/schema.ts","../../src/components/ChangeReasonFields/index.tsx","../../src/components/FillingTagCreationForm/schema.ts","../../src/components/FillingTagCreationForm/index.tsx","../../src/components/FillingTagCreationModal/index.tsx","../../src/store/FillingTagsStore.ts","../../src/components/FillingTagsAutocomplete/index.tsx","../../src/components/FormWrapper/index.tsx","../../src/components/HeadingWithButton/index.tsx","../../src/components/MeterFeaturesFields/schema.ts","../../src/components/PartialPayer/fields.ts","../../src/components/PartialPayer/index.tsx","../../src/store/TariffsLiteStore.ts","../../src/components/TariffCreationForm/CommonTariffFields/schema.ts","../../src/store/DistrictsStore.ts","../../src/components/DistrictAutocomplete/index.tsx","../../src/components/TariffCreationForm/CommonTariffFields/fields.ts","../../src/components/TariffReplacementField/index.tsx","../../src/components/TariffReplacementFields/index.tsx","../../src/components/TariffCreationForm/CommonTariffFields/index.tsx","../../src/components/TariffCreationForm/ChangeReasonTariffFields/schema.ts","../../src/components/TariffCreationForm/ChangeReasonTariffFields/index.tsx","../../src/components/TariffCreationForm/ElectricityTariffCreationFields/schema.ts","../../src/components/TariffCreationForm/ElectricityTariffCreationFields/index.tsx","../../src/components/TariffCreationForm/WaterTariffCreationFields/schema.ts","../../src/components/TariffCreationForm/WaterTariffCreationFields/index.tsx","../../src/components/TariffCreationForm/SingeTariffCreatingFields/schema.ts","../../src/components/TariffCreationForm/SingeTariffCreatingFields/index.tsx","../../src/components/TariffCreationForm/index.tsx","../../src/components/TariffCreationModal/index.tsx","../../src/components/TariffGroupAutocomplete/index.tsx","../../src/components/MeterFeaturesFields/fields.ts","../../src/components/ReplaceableCountersBlock/index.tsx","../../src/components/MeterFeaturesFields/index.tsx","../../src/components/MeterTypeRadioGroup/index.tsx","../../src/components/MeterFeaturesForm/index.tsx","../../src/components/SignInForm/schema.ts","../../src/components/SignInForm/index.tsx","../../src/components/SignInPage/login_bg.png","../../src/components/SignInPage/index.tsx","../../src/fields/fillingFields.ts","../../src/utils/reqHandler.ts","../../src/utils/schema.ts","../../src/utils/uploadFiles.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export const authFlag = \"maroomCRMisAuth\"\n\nexport const csrfTokenKey = \"csrftoken\"\n\nexport const sessionIdKey = \"crm-sessionid\"\n\nexport const defaultRequiredMessage = \"This field is required\"\n","/* global google */\n\nimport { InternalAxiosRequestConfig } from \"axios\"\n\nexport type KUICrmSettings = {\n apiUrl?: string\n errorHandler?: (error: any) => void\n map?: google.maps.Map\n reqHandler?: (\n config: InternalAxiosRequestConfig\n ) => InternalAxiosRequestConfig\n}\n\nexport type KUICrmObserver = (settings: KUICrmSettings) => void\n\nclass KUISettings {\n settings: KUICrmSettings\n\n observers: KUICrmObserver[]\n\n id: number\n\n constructor() {\n this.settings = {}\n this.observers = []\n this.id = Math.random() * 100\n }\n\n getSettings = () => ({ ...this.settings })\n\n setSettings = (newSettings: KUICrmSettings) => {\n this.settings = { ...this.settings, ...newSettings }\n\n this.observers.forEach((observer) => observer(this.settings))\n }\n\n subscribeToSettings = (observer: KUICrmObserver) => {\n this.observers.push(observer)\n }\n\n unsubscribeFromSettings = (observer: KUICrmObserver) => {\n const index = this.observers.indexOf(observer)\n if (index !== -1) this.observers.splice(index, 1)\n }\n}\n\nconst kuiSettings = new KUISettings()\n\nexport default kuiSettings\n","import requests from \"./index\"\nimport {\n CompanyByTinRequestBody,\n PostCompaniesRequest,\n} from \"../types/api/companies\"\n\nconst CompaniesAgent = {\n all: <T>(offset: number, limit: number, params: string): Promise<T> =>\n requests.get(`/companies?limit=${limit}&offset=${offset}${params}`),\n create: <T>(data: PostCompaniesRequest): Promise<T> =>\n requests.post(\"/companies\", data),\n createLogo: <T>(companyId: number, logo: FormData): Promise<T> =>\n requests.put(`/companies/${companyId}/logo`, logo),\n findCompanyByINN: <T>(body: CompanyByTinRequestBody): Promise<T> =>\n requests.post(\"/companies/info-by-new-tin\", body),\n}\n\nexport default CompaniesAgent\n","import requests from \"./index\"\r\n\r\nconst UploadAgent = {\r\n uploadImage: (data: FormData | any) => requests.post(\"/upload/image\", data),\r\n uploadDocument: (data: FormData | any) =>\r\n requests.post(\"/upload/document\", data),\r\n}\r\n\r\nexport default UploadAgent\r\n","import requests from \"./index\"\nimport { ApartmentFillingAPIVariants } from \"../types/api/filling\"\n\nconst FillingTagsAgent = {\n getAll: (type: ApartmentFillingAPIVariants) =>\n requests.get(`/features?feature_type=${type}`),\n create: (data: FormData) => requests.post(\"/features\", data),\n}\n\nexport default FillingTagsAgent\n","import { PostTariffRequest } from \"../types/api/tariffs\"\nimport { ResourceTypes } from \"../types\"\nimport requests from \"./index\"\n\nconst TariffsAgent = {\n all: (tariff: ResourceTypes, offset: number, limit: number, params: string) =>\n requests.get(\n `/tariffs/${tariff}?ordering=region&offset=${offset}&limit=${limit}${params}`\n ),\n createTariff: (data: PostTariffRequest, tariff: ResourceTypes) =>\n requests.post(`/tariffs/${tariff}`, data),\n}\n\nexport default TariffsAgent\n","import axios, { InternalAxiosRequestConfig } from \"axios\"\nimport { deleteCookie, getCookie } from \"kui-utils\"\nimport { authFlag, csrfTokenKey, sessionIdKey } from \"../utils/constants\"\nimport KUISettings from \"../settings\"\n\nconst axiosInstance = axios.create()\naxiosInstance.defaults.withCredentials = true\n\nconst errorHandler = (err: any) => {\n const settings = KUISettings.getSettings()\n\n deleteCookie(csrfTokenKey)\n deleteCookie(sessionIdKey)\n localStorage.removeItem(authFlag)\n\n if (settings.errorHandler) settings.errorHandler(err.response?.data ?? err)\n return Promise.reject(err.response?.data ?? err)\n}\n\nconst CSRFPlugin = (req: InternalAxiosRequestConfig) => {\n const CSRFToken = getCookie(csrfTokenKey)\n\n if (CSRFToken) {\n req.headers![\"X-CSRFToken\"] = CSRFToken\n }\n\n return req\n}\n\naxiosInstance.interceptors.request.use((config) => {\n const reqHandler = KUISettings.getSettings().reqHandler\n if (reqHandler) return reqHandler(CSRFPlugin(config))\n return CSRFPlugin(config)\n})\n\naxiosInstance.interceptors.response.use(\n async (res) => res.data,\n (error) => errorHandler(error)\n)\n\nconst requests = {\n get: async <T = any>(url: string): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.get(`${baseUrl}${url}`)\n },\n post: async <T = any>(url: string, data: any): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.post(`${baseUrl}${url}`, data)\n },\n put: async <T = any>(url: string, data: any): Promise<T> => {\n const baseUrl = KUISettings.getSettings().apiUrl\n return axiosInstance.put(`${baseUrl}${url}`, data)\n },\n}\n\nexport default requests\nexport { default as CatalogsAgent } from \"./Catalogs\"\nexport { default as CompaniesAgent } from \"./Companies\"\nexport { default as UploadAgent } from \"./Upload\"\nexport { default as FillingTagsAgent } from \"./FillingTags\"\nexport { default as TariffsAgent } from \"./Tariffs\"\n","import requests from \"./index\"\n\nconst CatalogsAgent = {\n getCountries: (offset: number, limit: number, params: string) =>\n requests.get(\n `/catalogs/countries?limit=${limit}&offset=${offset}${params}`\n ),\n getRegions: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/regions?limit=${limit}&offset=${offset}${params}`),\n getCities: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/cities?limit=${limit}&offset=${offset}${params}`),\n getDistricts: (offset: number, limit: number, params: string) =>\n requests.get(\n `/catalogs/districts?limit=${limit}&offset=${offset}${params}`\n ),\n getCounties: (offset: number, limit: number, params: string) =>\n requests.get(`/catalogs/counties?limit=${limit}&offset=${offset}${params}`),\n}\n\nexport default CatalogsAgent\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { CityParams } from \"../types/store/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\nimport { CityModel, GetCitiesResponse } from \"../types/api/catalogs\"\n\nclass CitiesStore {\n cities: CityParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.cities = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchCities = async () => {\n this.loader.startLoading()\n\n const response = await to<GetCitiesResponse>(\n CatalogsAgent.getCities(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (city: CityModel) => city\n\n resHandler(response, this.loader, (res) => {\n this.cities = this.paginator.getPageResponse(res, this.cities, mapper)\n })\n }\n}\n\nexport default CitiesStore\n","import { useEffect } from \"react\"\nimport { SortingFilter, useDebounce, Paginator } from \"kui-utils\"\n\nconst useAutocomplete = (\n filter: SortingFilter,\n paginator: Paginator,\n fetchAll: () => void,\n defaultFilter?: string,\n withoutRequest?: boolean\n) => {\n useEffect(() => {\n if (defaultFilter) filter.updateFilterQuery(defaultFilter)\n filter.updateSearchQuery(\"\")\n paginator.clearOffset()\n paginator.startFetching()\n }, [])\n\n useEffect(() => {\n if (paginator.isFetching && !paginator.isFinishPage && !withoutRequest) {\n fetchAll()\n }\n }, [fetchAll, paginator.isFetching])\n\n useDebounce(filter.searchQuery, 500, () => {\n paginator.clearOffset()\n paginator.startFetching()\n })\n\n useDebounce(filter.filterQuery, 500, () => {\n paginator.clearOffset()\n paginator.startFetching()\n })\n\n const onSearchItem = (value: string) => {\n filter.updateSearchQuery(value)\n if (value.length === 0) {\n paginator.clearOffset()\n paginator.startFetching()\n }\n }\n\n const onScrollEnd = () => {\n if (!paginator.isFinishPage) {\n paginator.startFetching()\n }\n }\n\n return { onSearchItem, onScrollEnd }\n}\n\nexport default useAutocomplete\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { CityAutocompleteProps } from \"./types\"\nimport { RegionAutocompleteFields } from \"../RegionAutocomplete/types\"\nimport CitiesStore from \"../../store/CitiesStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { CityParams } from \"../../types/store/catalogs\"\n\nfunction CityAutocomplete<TFormValues extends object>(\n props: CityAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, regionName, ...otherProps } = props\n const citiesStoreRef = useRef(new CitiesStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { cities, fetchCities, paginator, filter, loader } =\n citiesStoreRef.current\n const { isLoading } = loader\n const region: RegionAutocompleteFields = useWatch({\n control: form.control,\n name: regionName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchCities,\n region?.id ? `&region=${region.id}` : \"\"\n )\n\n const onSelectItem = (item: CityParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (region?.id) {\n filter.updateFilterQuery(`&region=${region.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [region?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: CityParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={cities}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nCityAutocomplete.defaultProps = {\n label: \"City\",\n name: \"city\",\n regionName: \"region\",\n}\n\nexport default observer(CityAutocomplete)\nexport type { CityAutocompleteFields, CityAutocompleteProps } from \"./types\"\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { CountryParams } from \"../types/store/catalogs\"\nimport { CountryModel, GetCountriesResponse } from \"../types/api/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\n\nclass CountriesStore {\n countries: CountryParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.countries = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchCountries = async () => {\n this.loader.startLoading()\n\n const response = await to<GetCountriesResponse>(\n CatalogsAgent.getCountries(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (country: CountryModel) => country\n\n resHandler(response, this.loader, (res) => {\n this.countries = this.paginator.getPageResponse(\n res,\n this.countries,\n mapper\n )\n })\n }\n}\n\nexport default CountriesStore\n","import * as React from \"react\"\nimport { useRef } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { CountryAutocompleteProps } from \"./types\"\nimport CountriesStore from \"../../store/CountriesStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { CountryParams } from \"../../types/store/catalogs\"\n\nfunction CountryAutocomplete<TFormValues extends object>(\n props: CountryAutocompleteProps<TFormValues>\n) {\n const { form, name, label, defaultFilter, onSelect, ...otherProps } = props\n const countriesStoreRef = useRef(new CountriesStore())\n const { countries, fetchCountries, paginator, filter, loader } =\n countriesStoreRef.current\n const { isLoading } = loader\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchCountries,\n defaultFilter\n )\n\n const onSelectItem = (item: CountryParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n return (\n <InputWithAutocomplete\n renderOption={(option: CountryParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={countries}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n {...otherProps}\n />\n )\n}\n\nCountryAutocomplete.defaultProps = {\n label: \"Country\",\n name: \"country\",\n}\n\nexport default observer(CountryAutocomplete)\nexport type { CountryAutocompleteFields } from \"./types\"\n","import React, { useEffect, useState } from \"react\"\nimport { FieldValues, useWatch } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\n// @ts-ignore\n// eslint-disable-next-line import/no-unresolved\nimport { InputFileProps } from \"kui-complex/InputFile\"\nimport {\n InputFile,\n CheckboxGroupWithTitle,\n getVisibility,\n getVisibilitySettings,\n} from \"kui-complex\"\nimport { DocumentVisibilityVariants } from \"../../types/common\"\n\nfunction InputFileWithVisibility<T extends FieldValues>(\n props: InputFileProps<T>\n) {\n const { form, name, defaultVisibility, disabled, ...inputProps } = props\n const [mounted, setMounted] = useState(false)\n const file = useWatch({ control: form.control, name: `${name}.file` })\n\n const tenant = useWatch({\n control: form.control,\n name: `${name}.tenant`,\n })\n const landlord = useWatch({\n control: form.control,\n name: `${name}.landlord`,\n })\n\n const visibilityOptions = [\n { name: `${name}.landlord`, label: \"Landlord\" },\n { name: `${name}.tenant`, label: \"Tenant\" },\n ]\n\n const setVisibilitySettings = (visibility?: DocumentVisibilityVariants) => {\n const visibilitySettings = getVisibilitySettings(visibility)\n form.setValue(`${name}.landlord`, visibilitySettings.landlord)\n form.setValue(`${name}.tenant`, visibilitySettings.tenant)\n }\n\n useEffect(() => {\n if (typeof landlord === \"boolean\" && typeof tenant === \"boolean\") {\n const visibility = getVisibility({ landlord, tenant })\n form.setValue(`${name}.visibility`, visibility)\n }\n }, [landlord, tenant])\n\n useEffect(() => {\n const defaultValue = form.getValues(name)\n if (defaultValue && \"filesStore\" in defaultValue) {\n form.setValue(`${name}.file`, { ...defaultValue, filesStore: null })\n setVisibilitySettings(defaultValue.visibility)\n } else {\n setVisibilitySettings(defaultVisibility)\n }\n if (defaultValue && defaultValue.file instanceof File) {\n const url = URL.createObjectURL(defaultValue.file)\n form.setValue(`${name}.url`, url)\n }\n\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return null\n }\n\n return (\n <div>\n <InputFile\n form={form}\n name={`${name}.file`}\n disabled={disabled}\n {...inputProps}\n />\n {file && (\n <Box mt={2}>\n <CheckboxGroupWithTitle\n title=\"Visibility\"\n options={visibilityOptions}\n form={form}\n disabled={disabled}\n />\n </Box>\n )}\n </div>\n )\n}\n\nexport default InputFileWithVisibility\nexport type { InputFileWithVisibilityFields, FileWithVisibility } from \"./types\"\n","import React from \"react\"\nimport {\n InputWithDatePicker,\n InputSelectWithController,\n InputPhoneWithForm,\n InputWithMask,\n InputWithController,\n} from \"kui-complex\"\nimport { InputByTypeProps } from \"./types\"\nimport InputFileWithVisibility from \"../InputFileWithVisibility\"\n\nfunction InputByType<T extends object>({\n variant,\n CustomInput,\n ...inputProps\n}: InputByTypeProps<T>) {\n switch (variant) {\n case \"date\":\n return (\n <InputWithDatePicker\n title=\"Date\"\n footerLabel=\"Save\"\n alignTitle=\"left\"\n yearParams={{ min: -10, max: 120 }}\n {...inputProps}\n />\n )\n case \"select\":\n return <InputSelectWithController {...inputProps} />\n case \"phone\":\n return <InputPhoneWithForm {...inputProps} />\n case \"file\":\n return <InputFileWithVisibility {...inputProps} />\n case \"mask\":\n return <InputWithMask {...inputProps} />\n case \"custom\":\n return <CustomInput {...inputProps} />\n case \"empty\":\n return null\n default:\n return <InputWithController {...inputProps} />\n }\n}\n\nexport default InputByType\nexport type { InputParams, InputByTypeProps, InputTypes } from \"./types\"\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { RegionParams } from \"../types/store/catalogs\"\nimport { GetRegionsResponse, RegionModel } from \"../types/api/catalogs\"\nimport CatalogsAgent from \"../agent/Catalogs\"\n\nclass RegionsStore {\n regions: RegionParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.regions = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchRegions = async () => {\n this.loader.startLoading()\n\n const response = await to<GetRegionsResponse>(\n CatalogsAgent.getRegions(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (region: RegionModel) => region\n\n resHandler(response, this.loader, (res) => {\n this.regions = this.paginator.getPageResponse(res, this.regions, mapper)\n })\n }\n}\n\nexport default RegionsStore\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { RegionAutocompleteProps } from \"./types\"\nimport { CountryAutocompleteFields } from \"../CountryAutocomplete/types\"\nimport RegionsStore from \"../../store/RegionsStore\"\nimport useAutocomplete from \"../../hooks/useAutocomplete\"\nimport { RegionParams } from \"../../types/store/catalogs\"\n\nfunction RegionAutocomplete<TFormValues extends object>(\n props: RegionAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, countryName, ...otherProps } = props\n const regionsStoreRef = useRef(new RegionsStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { regions, fetchRegions, paginator, filter, loader } =\n regionsStoreRef.current\n const { isLoading } = loader\n const country: CountryAutocompleteFields = useWatch({\n control: form.control,\n name: countryName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchRegions,\n country?.id ? `&country=${country.id}` : \"\"\n )\n\n const onSelectItem = (item: RegionParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (country?.id) {\n filter.updateFilterQuery(`&country=${country.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [country?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: RegionParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={regions}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nRegionAutocomplete.defaultProps = {\n label: \"Region\",\n name: \"region\",\n countryName: \"country\",\n}\n\nexport default observer(RegionAutocomplete)\nexport type { RegionAutocompleteFields, RegionAutocompleteProps } from \"./types\"\n","import { RefObject, useEffect, useState } from \"react\"\r\n\r\nconst usePortalPosition = (portalParentRef: RefObject<HTMLElement>) => {\r\n const [coords, setCoords] = useState<DOMRect | null>(null)\r\n\r\n useEffect(() => {\r\n if (!portalParentRef.current) {\r\n return\r\n }\r\n\r\n const updateCoords = () => {\r\n if (portalParentRef.current) {\r\n const newCoords = portalParentRef.current!.getBoundingClientRect()\r\n\r\n setCoords({\r\n ...newCoords,\r\n right: document.documentElement.clientWidth - newCoords.right,\r\n top: newCoords.top + window.pageYOffset,\r\n })\r\n }\r\n }\r\n\r\n updateCoords()\r\n\r\n window.addEventListener(\"calcPortalPosition\", updateCoords)\r\n // eslint-disable-next-line consistent-return\r\n return () => window.removeEventListener(\"calcPortalPosition\", updateCoords)\r\n }, [portalParentRef])\r\n\r\n return coords\r\n}\r\n\r\nexport default usePortalPosition\r\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Grid, theme } from \"kui-basic\"\nimport { TwoOptionProps } from \"./types\"\n\nfunction TwoOptionForAutocomplete({ option }: TwoOptionProps) {\n return (\n <StyledWrapper container justify=\"space-between\">\n <Grid item>\n <Caption size=\"s\" weight={500}>\n {option.name}\n </Caption>\n </Grid>\n <Grid item>\n <Caption size=\"s\" weight={500} color=\"fiftyP\">\n {option.right}\n </Caption>\n </Grid>\n </StyledWrapper>\n )\n}\n\nexport default TwoOptionForAutocomplete\n\nconst StyledWrapper = styled(Grid)`\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ${theme.palette.background.light2};\n },\n`\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { css } from \"@emotion/react\"\nimport { Grid, Heading, theme } from \"kui-basic\"\nimport { PreviewImageStylesProps, SquarePreviewImageProps } from \"./types\"\n\nfunction SquarePreviewImage({\n imageSrc,\n name,\n size,\n ...other\n}: SquarePreviewImageProps) {\n const formattedName = name\n ?.split(\" \")\n .map((el: string) => el[0])\n .slice(0, 2)\n .join(\"\")\n .toUpperCase()\n\n return (\n <StyledWrapper size={size || \"lg\"} {...other}>\n {imageSrc ? (\n <StyledImage src={imageSrc} alt=\"preview image\" />\n ) : (\n <StyledNameWrapper alignItems=\"center\" justify=\"center\">\n <Heading\n size={size === \"sm\" ? \"h4\" : \"h1\"}\n colorGroup=\"brand\"\n color=\"main\"\n >\n {formattedName ?? \"?\"}\n </Heading>\n </StyledNameWrapper>\n )}\n </StyledWrapper>\n )\n}\n\nexport default SquarePreviewImage\n\nconst previewSizesStyles = {\n lg: css`\n width: 88px;\n height: 88px;\n border-radius: 16px;\n `,\n sm: css`\n width: 32px;\n height: 32px;\n border-radius: 8px;\n `,\n}\n\nconst StyledImage = styled.img`\n width: 100%;\n height: 100%;\n display: block;\n object-fit: cover;\n`\n\nconst StyledWrapper = styled.div<PreviewImageStylesProps>`\n overflow: hidden;\n ${({ size }) => previewSizesStyles[size]};\n`\n\nconst StyledNameWrapper = styled(Grid)`\n background: ${theme.palette.brand.light};\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`\n","import React from \"react\"\nimport { Modal as KUIModal } from \"kui-basic\"\nimport styled from \"@emotion/styled\"\nimport { ModalProps } from \"./types\"\n\nfunction Modal({ open, ...other }: ModalProps) {\n return <StyledModal isOpen={open} {...other} />\n}\n\nexport default Modal\nexport type { ModalProps } from \"./types\"\n\nconst StyledModal = styled(KUIModal)`\n max-height: calc(100% - 64px);\n .KUI-Modal_header {\n text-align: left;\n }\n .KUI-Modal_title {\n font-size: 24px;\n line-height: 32px;\n padding-bottom: 20px;\n }\n`\n","const phoneRegExp =\r\n /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/\r\n\r\nconst isValidWithMaskExp = /^[^_]+$/\r\n\r\nconst dateRegExp =\r\n /(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst monthYearRegExp = /(0[1-9]|1[012])[- /.](19|20)\\d\\d/\r\n\r\nconst emailRegExp = /^[-\\w.]+@([A-z0-9][-A-z0-9]+\\.)+[A-z]{2,4}$/\r\n\r\nconst carNumberRegExp = /^([А-Яа-я]{1}[0-9]{3}[А-Яа-я]{2}\\s{0,1}[0-9]{2,3})?$/\r\n\r\nconst innRegExp = /^(([0-9]{12})|([0-9]{10}))?$/\r\n\r\nconst corrAccountRegExp = /^(301[0-9]{17})?$/\r\n\r\nconst accountRegExp = /^408([0-9]{17})?$/\r\n\r\nconst bicRegExp = /^([0-9]{9})?$/\r\n\r\nconst swiftRegExp = /^([A-Za-z]{6}\\w{2}\\d{0,3})?$/\r\n\r\nconst simplePasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{10,}$/\r\n\r\nconst mediumPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{12,}$/\r\n\r\nconst strongPasswordRegExp =\r\n /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{14,}$/\r\n\r\nexport {\r\n phoneRegExp,\r\n dateRegExp,\r\n isValidWithMaskExp,\r\n emailRegExp,\r\n carNumberRegExp,\r\n innRegExp,\r\n monthYearRegExp,\r\n corrAccountRegExp,\r\n accountRegExp,\r\n bicRegExp,\r\n swiftRegExp,\r\n simplePasswordRegExp,\r\n mediumPasswordRegExp,\r\n strongPasswordRegExp,\r\n}\r\n","import * as yup from \"yup\"\nimport { isValidWithMaskExp } from \"kui-utils/content/regexp\"\n\nconst CompanyCreationSchema = yup.object().shape({\n name: yup.string().required(\"Enter the company name\"),\n inn: yup.string().required(\"Enter the company TIN\"),\n office: yup.object({\n address: yup.string().required(\"Enter the company address\"),\n }),\n phone: yup.object({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter correct the company phone\")\n .required(\"Enter the company phone\"),\n }),\n email: yup.string().email().required(\"This field is required\"),\n type: yup.string().required(\"Choose the provider type of company\"),\n})\n\nexport default CompanyCreationSchema\n","export const TaxTypeValues = [\n { value: \"resident\", label: \"Individual Resident\" },\n { value: \"nonresident\", label: \"Individual Non-resident\" },\n { value: \"self-employed\", label: \"Self-employed\" },\n { value: \"individual-entrepreneur\", label: \"Individual entrepreneur\" },\n { value: \"company\", label: \"Company\" },\n]\n\nexport const BooleanValues = [\n { value: true, label: \"Yes\" },\n { value: false, label: \"No\" },\n]\n\nexport const ElectricityValues = [\n { value: \"T1\", label: \"One-part\" },\n { value: \"T2\", label: \"Two-part\" },\n { value: \"T3\", label: \"Three-part\" },\n]\n\nexport const WaterValues = [\n { value: \"cold\", label: \"Cold\" },\n { value: \"hot\", label: \"Hot\" },\n]\n\nexport const getNumbersValues = (count: number) =>\n new Array(count).fill(0).map((value, key) => ({\n value: `${key}`,\n label: key,\n }))\n\nexport const ParkingTypesValues = [\n { value: \"public\", label: \"Public\" },\n { value: \"house\", label: \"House\" },\n { value: \"underground\", label: \"Underground\" },\n { value: \"private\", label: \"Private\" },\n]\n\nexport const TVTypesValues = [\n { value: \"cable\", label: \"Cable\" },\n { value: \"satellite\", label: \"Satellite\" },\n { value: \"smart_tv\", label: \"Smart TV\" },\n { value: \"no\", label: \"No\" },\n]\n\nexport const TaxResidenceValues = [\n { value: \"resident\", label: \"Resident\" },\n { value: \"not_resident\", label: \"Non-resident\" },\n]\n\nexport const RenovationTypeValues = [\n { value: \"capital\", label: \"Capital\" },\n { value: \"euro\", label: \"Euro\" },\n { value: \"designer\", label: \"Designer\" },\n { value: \"cosmetic\", label: \"Cosmetic\" },\n { value: \"required\", label: \"Required\" },\n] as const\n\nexport const RenovationStyleValues = [\n { value: \"classic\", label: \"Classic\" },\n { value: \"scandinavian\", label: \"Scandinavian\" },\n { value: \"loft\", label: \"Loft\" },\n { value: \"contemporary\", label: \"Contemporary\" },\n { value: \"minimalism\", label: \"Minimalism\" },\n { value: \"neoclassic\", label: \"Neoclassic\" },\n { value: \"eco\", label: \"Eco\" },\n { value: \"provence\", label: \"Provence\" },\n { value: \"hi_tech\", label: \"Hi-tech\" },\n { value: \"mediterranean\", label: \"Mediterranean\" },\n { value: \"eclectic\", label: \"Eclectic\" },\n { value: \"ethno\", label: \"Ethno\" },\n { value: \"gothic\", label: \"Gothic\" },\n]\n\nexport const RoomTypeValues = [\n { value: \"connected\", label: \"Connected\" },\n { value: \"separate\", label: \"Separate\" },\n]\n\nexport const InspectionTypeValues = [\n { value: \"quarterly\", label: \"Quarterly\" },\n { value: \"transfer\", label: \"Transfer\" },\n { value: \"appraisal\", label: \"Appraisal\" },\n { value: \"impairments\", label: \"Impairments\" },\n { value: \"inventory\", label: \"Inventory\" },\n { value: \"initial\", label: \"Initial\" },\n]\n\nexport const ImpairmentsTypeValues = [\n { value: \"damages\", label: \"Damages\" },\n { value: \"wear_tear\", label: \"Wear&tear\" },\n]\n\nexport const FillingTypeValues = [\n { value: \"finish\", label: \"Finish\" },\n { value: \"furniture\", label: \"Furniture\" },\n { value: \"electronics\", label: \"Electronics\" },\n { value: \"accessories\", label: \"Accessories\" },\n]\n\nexport const RoomTypesValues = [\n { value: \"residential\", label: \"Residential\" },\n { value: \"non-residential\", label: \"Nonresidential\" },\n { value: \"commercial\", label: \"Commercial\" },\n { value: \"garage\", label: \"Garage\" },\n { value: \"car_space\", label: \"Parking\" },\n]\n\nexport const CompanyTypesValues = [\n { value: \"administrative\", label: \"Administrative provider\" },\n { value: \"service\", label: \"Service provider\" },\n { value: \"resource\", label: \"Resource provider\" },\n]\n\nexport const ResourceValues = [\n { value: \"electricity\", label: \"Electricity\" },\n { value: \"water\", label: \"Water\" },\n { value: \"gas\", label: \"Gas\" },\n { value: \"heating\", label: \"Heating\" },\n]\n\nexport const APIPayerValues = [\n { value: \"owner\", label: \"Landlord\" },\n { value: \"renter\", label: \"Tenant\" },\n { value: \"maroom\", label: \"Maroom\" },\n]\n\nexport const UnitOfPaymentValues = [\n { value: \"percent\", label: \"%\" },\n { value: \"value\", label: \"₽\" },\n]\n\nexport const PartialPayerValues = [\n { value: \"owner\", label: \"Landlord\" },\n { value: \"renter\", label: \"Tenant\" },\n { value: \"maroom\", label: \"Maroom\" },\n { value: \"partial\", label: \"Partial\" },\n]\n\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, theme } from \"kui-basic\"\nimport { AutocompleteOptionProps } from \"./types\"\n\nfunction AutocompleteOption({ label }: AutocompleteOptionProps) {\n return (\n <StyledWrapper>\n <Caption size=\"s\" weight={500}>\n {label}\n </Caption>\n </StyledWrapper>\n )\n}\n\nexport default AutocompleteOption\n\nconst StyledWrapper = styled.div`\n padding: 8px;\n border-radius: 8px;\n cursor: pointer;\n &:hover {\n background: ${theme.palette.background.light2};\n },\n`\n","import * as React from \"react\"\r\nimport styled from \"@emotion/styled\"\r\nimport { Caption, Grid } from \"kui-basic\"\r\nimport { createPortal } from \"react-dom\"\r\nimport { css, Global } from \"@emotion/react\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ErrorPopupProps } from \"./types\"\r\n\r\nconst parentClassName = \"KUI-ErrorPopup_container\"\r\nconst timeout = 3000\r\n\r\nconst createParentNode = () => {\r\n const node = document.createElement(\"div\")\r\n node.classList.add(parentClassName)\r\n document.body.append(node)\r\n return node\r\n}\r\n\r\nfunction ErrorPopup({ label, onClose }: ErrorPopupProps) {\r\n const isHoverRef = useRef(false)\r\n const [open, setOpen] = useState(true)\r\n\r\n const startHover = () => {\r\n isHoverRef.current = true\r\n }\r\n\r\n const checkIsHoverAndClose = () => {\r\n if (!isHoverRef.current && open) handleClose()\r\n }\r\n\r\n const handleClose = () => {\r\n setOpen(false)\r\n if (onClose) {\r\n onClose()\r\n }\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n isHoverRef.current = false\r\n handleClose()\r\n }\r\n\r\n useEffect(() => {\r\n let timeoutId: any\r\n if (open) {\r\n timeoutId = setTimeout(checkIsHoverAndClose, timeout)\r\n }\r\n return () => {\r\n clearTimeout(timeoutId)\r\n // handleClose()\r\n }\r\n }, [open])\r\n\r\n if (!open) {\r\n return null\r\n }\r\n\r\n const parentNode =\r\n document.querySelector(`.${parentClassName}`) || createParentNode()\r\n\r\n return (\r\n <>\r\n <Global styles={containerCSS} />\r\n\r\n {createPortal(\r\n <StyledWrapper\r\n onMouseEnter={startHover}\r\n onMouseLeave={handleMouseLeave}\r\n className=\"KUI-ErrorPopup\"\r\n container\r\n alignItems=\"center\"\r\n >\r\n <Caption size=\"xs\" weight={600} color=\"zero\">\r\n <StyledContent>\r\n {label ? `Error in ${label}` : \"Error\"}\r\n </StyledContent>\r\n </Caption>\r\n </StyledWrapper>,\r\n parentNode\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default ErrorPopup\r\n\r\nconst containerCSS = css`\r\n body {\r\n position: relative;\r\n }\r\n .KUI-ErrorPopup_container {\r\n display: flex;\r\n position: fixed;\r\n top: 120px;\r\n justify-content: center;\r\n flex-direction: column;\r\n width: 100%;\r\n align-items: center;\r\n z-index: 10000;\r\n }\r\n`\r\n\r\nconst StyledWrapper = styled(Grid)`\r\n height: 46px;\r\n border-radius: 12px;\r\n background: rgba(25, 25, 25, 0.8);\r\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\r\n padding: 0 24px;\r\n margin-bottom: 16px;\r\n width: max-content;\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n`\r\n\r\nconst StyledContent = styled.pre`\r\n margin: 0;\r\n padding: 0;\r\n`\r\n","import * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Grid, CircularProgress } from \"kui-basic\"\nimport { createPortal } from \"react-dom\"\nimport { css, Global } from \"@emotion/react\"\nimport { useState } from \"react\"\nimport { CrossWithCircleIcon } from \"kui-icon\"\nimport { LoaderPopupProps } from \"./types\"\n\nconst parentClassName = \"KUI-LoadingPopup_container\"\n\nconst createParentNode = () => {\n const node = document.createElement(\"div\")\n node.classList.add(parentClassName)\n document.body.append(node)\n return node\n}\n\nfunction LoaderPopup({ label, onClose }: LoaderPopupProps) {\n const [isOpen, setIsOpen] = useState(true)\n\n if (!isOpen) {\n return null\n }\n\n const handleClose = () => {\n setIsOpen(false)\n if (onClose) {\n onClose()\n }\n }\n\n const parentNode =\n document.querySelector(`.${parentClassName}`) || createParentNode()\n\n return (\n <>\n <Global styles={containerCSS} />\n\n {createPortal(\n <StyledWrapper\n className=\"KUI-LoadingPopup\"\n container\n alignItems=\"center\"\n >\n <StyledLoader />\n <StyledCaption size=\"xs\" weight={600} color=\"zero\">\n Loading {label}\n </StyledCaption>\n <CloseIconWrapper onClick={handleClose}>\n <CrossWithCircleIcon />\n </CloseIconWrapper>\n </StyledWrapper>,\n parentNode\n )}\n </>\n )\n}\n\nexport default LoaderPopup\n\nconst containerCSS = css`\n body {\n position: relative;\n }\n .KUI-LoadingPopup_container {\n display: flex;\n flex-direction: column-reverse;\n position: fixed;\n bottom: 56px;\n justify-content: center;\n width: 100%;\n align-items: center;\n z-index: 10000;\n }\n`\n\nconst StyledWrapper = styled(Grid)`\n height: 48px;\n border-radius: 66px;\n box-shadow: 0px 26px 34px rgba(0, 0, 0, 0.1);\n background: rgba(25, 25, 25, 0.8);\n padding: 4px 12px 4px 8px;\n margin-top: 16px;\n width: max-content;\n min-width: 247px;\n &:last-child {\n margin-top: 0;\n }\n`\n\nconst StyledCaption = styled(Caption)`\n padding: 0 14px;\n`\n\nconst StyledLoader = styled(CircularProgress)`\n color: #f1f1f1;\n width: 28px !important;\n height: 28px !important;\n`\n\nconst CloseIconWrapper = styled.div`\n cursor: pointer;\n margin-left: auto;\n height: 22px;\n`\n","import React, { useEffect } from \"react\"\r\nimport { observer } from \"mobx-react\"\r\nimport { LoaderStateProps } from \"./types\"\r\nimport ErrorPopup from \"../ErrorPopup\"\r\nimport LoaderPopup from \"../LoaderPopup\"\r\n\r\nfunction LoaderState({ loader, onlyError }: LoaderStateProps) {\r\n useEffect(\r\n () => () => {\r\n loader?.cleanError()\r\n if (!onlyError) loader?.endLoading()\r\n },\r\n []\r\n )\r\n\r\n return (\r\n <>\r\n {loader?.hasError && (\r\n <ErrorPopup label={loader.errorMessage} onClose={loader?.cleanError} />\r\n )}\r\n {loader?.isLoading && !onlyError && (\r\n <LoaderPopup\r\n label={loader.loadingMessage}\r\n onClose={loader.endLoading}\r\n />\r\n )}\r\n </>\r\n )\r\n}\r\n\r\nexport default observer(LoaderState)\r\n","import React, { useRef, useState } from \"react\"\nimport to from \"await-to-js\"\nimport { observer } from \"mobx-react\"\nimport { Loader, useDebounce } from \"kui-utils\"\nimport { InputWithAutocomplete } from \"kui-complex\"\nimport { CompanyInnAutocompleteProps } from \"./types\"\nimport {\n CompanyCreationFields,\n CompanyFields,\n} from \"../CompanyCreationForm/types\"\nimport { CompanyModel } from \"../../types\"\nimport { CompaniesAgent } from \"../../agent\"\nimport AutocompleteOption from \"../AutocompleteOption\"\nimport LoaderState from \"../LoaderState\"\nimport { CompaniesStore } from \"../../index\"\n\nconst name = \"inn\"\n\nconst CompanyInnAutocomplete = <T extends object>(\n props: CompanyInnAutocompleteProps<T>\n) => {\n const { form, ...otherProps } = props\n const loaderRef = useRef(new Loader())\n const loader = loaderRef.current\n const [searchQuery, setSearchQuery] = useState(\"\")\n const [companies, setCompanies] = useState<CompanyFields[]>([])\n\n const updateFormFields = (company: CompanyCreationFields) => {\n if (company) {\n form.setValue(\"inn\", company.inn)\n form.setValue(\"name\", company.name)\n form.setValue(\"office\", company.office)\n if (company.phone) form.setValue(\"phone\", company.phone)\n form.setValue(\"email\", company.email)\n }\n }\n\n const findCompanyByINN = async (tin: string) => {\n form.clearErrors(name)\n loader.startLoading()\n\n const [err, res] = await to<CompanyModel, any>(\n CompaniesAgent.findCompanyByINN({ tin })\n )\n\n if (err) {\n if (err.tin) {\n form.setError(name, {\n type: \"manual\",\n message: \"A company with this TIN already exists\",\n })\n } else {\n loader.setError(err)\n }\n } else if (res?.tin) {\n setCompanies([CompaniesStore.getCompanyFields(res)])\n } else setCompanies([])\n\n loader.endLoading()\n }\n\n useDebounce(searchQuery, 500, () => {\n if (searchQuery) findCompanyByINN(searchQuery)\n else setCompanies([])\n })\n\n return (\n <>\n <InputWithAutocomplete\n renderOption={(option: CompanyCreationFields) => (\n <AutocompleteOption label={option.name} />\n )}\n options={companies}\n label=\"TIN\"\n form={form}\n name={name}\n isLoading={loader.isLoading}\n onSearchItem={setSearchQuery}\n onSelectItem={updateFormFields}\n {...otherProps}\n />\n <LoaderState loader={loader} onlyError />\n </>\n )\n}\n\nexport default observer(CompanyInnAutocomplete)\n","/* global google */\n/** @jsxImportSource @emotion/react */\nimport React, { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { MapComponentProps } from \"./types\"\n\nfunction MapComponent(props: MapComponentProps) {\n const { center, zoom, withMarker, setMap: setMapProp } = props\n const [map, setMap] = useState<google.maps.Map | null>(null)\n\n const ref = useRef<HTMLDivElement | null>(null)\n\n useEffect(() => {\n if (ref.current) {\n const createdMap = new window.google.maps.Map(ref.current, {\n center,\n zoom,\n disableDefaultUI: true,\n clickableIcons: false,\n })\n\n setMap(createdMap)\n if (setMapProp) setMapProp(createdMap)\n }\n }, [center, zoom])\n\n useEffect(() => {\n if (withMarker && map) {\n // eslint-disable-next-line no-new\n new window.google.maps.Marker({\n position: center,\n icon: \"/images/map/marker.svg\",\n map,\n })\n }\n }, [withMarker, map])\n\n return <div ref={ref} id=\"map\" css={{ height: \"100%\" }} />\n}\n\nMapComponent.defaultProps = {\n center: { lat: 55.802626, lng: 37.583825 },\n zoom: 11,\n withMarker: false,\n}\n\nexport default observer(MapComponent)\n","/* global google */\nimport React, { useEffect, useRef } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useForm } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport { CheckIcon } from \"kui-icon\"\nimport { Button, theme } from \"kui-basic\"\nimport { InputWithAddressAutocomplete, MapWrapper } from \"kui-complex\"\nimport Modal from \"../Modal\"\nimport { ModalWithMapProps } from \"./types\"\nimport MapComponent from \"../MapComponent\"\nimport KUISettings, { KUICrmSettings } from \"../../settings\"\n\nfunction ModalWithMap(props: ModalWithMapProps) {\n const { place, onSave, handleClose, open, disabled } = props\n const markerRef = useRef<google.maps.Marker | null>(null)\n const mapRef = useRef<any>(null)\n const defaultMap = mapRef.current\n const form = useForm()\n\n useEffect(() => {\n const updateMap = (settings: KUICrmSettings) => {\n mapRef.current = settings.map\n }\n\n KUISettings.subscribeToSettings(updateMap)\n\n return () => KUISettings.unsubscribeFromSettings(updateMap)\n }, [])\n\n const addNewMarker = (position: google.maps.LatLng) => {\n const map = mapRef.current\n\n if (!map) {\n setTimeout(addNewMarker, 1)\n } else {\n const newMarker = new window.google.maps.Marker({ position, map })\n markerRef.current = newMarker\n\n map.panTo(position)\n }\n }\n\n const updateMarker = (position: google.maps.LatLng) => {\n const marker = markerRef.current\n\n if (marker) {\n marker.setMap(null)\n }\n addNewMarker(position)\n }\n\n const addPlace = async (e: google.maps.MapMouseEvent) => {\n if (e.latLng) {\n const geocoder = new google.maps.Geocoder()\n geocoder.geocode({ location: e.latLng }, (results) => {\n const address = results?.[0]?.formatted_address\n if (address) {\n form.setValue(\"mapAddress.address\", address)\n form.setValue(\"mapAddress.addressAutoComplete\", results![0])\n updateMarker(e.latLng!)\n }\n })\n }\n }\n\n const handlePlaceSelect = (position: google.maps.LatLng) => {\n updateMarker(position)\n }\n\n const handleSave = () => {\n const addressAutoComplete = form.getValues(\"mapAddress.addressAutoComplete\")\n onSave(addressAutoComplete)\n handleClose()\n }\n\n useEffect(() => {\n if (defaultMap) {\n form.setValue(\"mapAddress.address\", place?.formatted_address)\n if (place?.geometry?.location) {\n updateMarker(place.geometry.location)\n }\n }\n }, [place, defaultMap])\n\n useEffect(() => {\n if (defaultMap && !disabled) {\n defaultMap.addListener(\"click\", addPlace)\n }\n return () => {\n defaultMap?.unbindAll()\n }\n }, [defaultMap, disabled])\n\n return (\n <StyledModal handleClose={handleClose} open={open}>\n <MapWrapper>\n <MapComponent />\n </MapWrapper>\n {!disabled && (\n <>\n <StyledInput\n name=\"mapAddress\"\n label=\"Address\"\n form={form}\n handlePlaceSelect={handlePlaceSelect}\n />\n <StyledButton\n size=\"s\"\n onClick={form.handleSubmit(handleSave)}\n endIcon={<CheckIcon />}\n >\n Save\n </StyledButton>\n </>\n )}\n </StyledModal>\n )\n}\n\nexport default observer(ModalWithMap)\n\nconst StyledModal = styled(Modal)`\n max-width: 1295px !important;\n max-height: 736px !important;\n height: 100%;\n width: 100%;\n overflow: hidden;\n position: relative;\n .KUI-Modal_close-button {\n width: 32px;\n height: 32px;\n background: white;\n border-color: ${theme.palette.grey.fifteenB};\n svg {\n width: 16px;\n height: 16px;\n path {\n fill: ${theme.palette.grey.seventy};\n }\n }\n }\n`\n\nconst StyledInput = styled(InputWithAddressAutocomplete)`\n position: absolute;\n top: 24px;\n left: 24px;\n max-width: 25%;\n`\n\nconst StyledButton = styled(Button)`\n position: absolute;\n bottom: 24px;\n right: 24px;\n`\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { MapIcon } from \"kui-icon\"\nimport { useToggle } from \"kui-utils\"\nimport ModalWithMap from \"../ModalWithMap\"\nimport { OpenMapButtonProps } from \"./types\"\n\nfunction OpenMapButton(props: OpenMapButtonProps) {\n const [isModalOpen, handleModalOpen, handleModalClose] = useToggle()\n\n return (\n <>\n <StyledMapIcon onClick={handleModalOpen} />\n {isModalOpen && (\n <ModalWithMap\n open={isModalOpen}\n handleClose={handleModalClose}\n {...props}\n />\n )}\n </>\n )\n}\n\nexport default OpenMapButton\n\nconst StyledMapIcon = styled(MapIcon)`\n cursor: pointer;\n`\n","import React, { ChangeEvent } from \"react\"\nimport { InputWithAddressAutocompleteProps } from \"kui-complex/dist/InputWithAddressAutocomplete\"\nimport {\n InputWithController,\n MapWrapper,\n useAddressAutocomplete,\n} from \"kui-complex\"\nimport OpenMapButton from \"../OpenMapButton\"\n\nfunction InputWithMap<T extends object>({\n form,\n name,\n disabled,\n handlePlaceSelect: onPlaceSelect,\n ...inputProps\n}: InputWithAddressAutocompleteProps<T>) {\n const { inputRef, handlePlaceSelect, place, cleanLocation } =\n useAddressAutocomplete(form, name, onPlaceSelect)\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) cleanLocation()\n }\n\n return (\n <MapWrapper>\n <InputWithController\n form={form}\n name={`${name}.address`}\n ref={inputRef}\n endIcon={\n <OpenMapButton\n place={place}\n onSave={handlePlaceSelect}\n disabled={disabled}\n />\n }\n disabled={disabled}\n onChange={handleChange}\n placeholder=\"\"\n {...inputProps}\n />\n </MapWrapper>\n )\n}\n\nexport default InputWithMap\n","import React, { useRef, useState } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { createPortal } from \"react-dom\"\nimport { CloseIcon, LoupeIcon } from \"kui-icon\"\nimport { Button } from \"kui-basic\"\nimport { ImageCardProps } from \"./types\"\nimport usePortalPosition from \"../../hooks/usePortalPosition\"\n\nconst buttonOffset = 12\n\nfunction PreviewImageCard(props: ImageCardProps) {\n const { url, onDelete, onClick, index, disabled, ...otherProps } = props\n const [closeButtonOpacity, setCloseButtonOpacity] = useState(0)\n const cardRef = useRef<HTMLDivElement>(null)\n const coords = usePortalPosition(cardRef)\n\n const closeButtonStyles = {\n right: coords ? coords.right - buttonOffset : 0,\n top: coords ? coords.top - buttonOffset : 0,\n display: closeButtonOpacity ? \"flex\" : \"none\",\n pointerEvents: closeButtonOpacity ? \"all\" : \"none\",\n }\n\n const handleClick = () => {\n if (onClick) {\n onClick(index)\n } else {\n window.open(url)\n }\n }\n\n const handleDelete = (e: MouseEvent) => {\n e.stopPropagation()\n if (onDelete) onDelete(index)\n }\n\n const handleHover = () => setCloseButtonOpacity(1)\n\n const handleBlur = () => setCloseButtonOpacity(0)\n\n return (\n <Wrapper\n onMouseEnter={handleHover}\n onMouseLeave={handleBlur}\n onClick={handleClick}\n ref={cardRef}\n {...otherProps}\n >\n <StyledImage src={url} alt=\"image\" />\n <Backdrop>\n <LoupeIcon />\n </Backdrop>\n {createPortal(\n <StyledRemoveButton\n isCircle\n variant=\"white\"\n onClick={handleDelete as any}\n style={closeButtonStyles as any}\n disabled={disabled}\n >\n <CloseIcon width={16} height={16} />\n </StyledRemoveButton>,\n document.body\n )}\n </Wrapper>\n )\n}\n\nexport default PreviewImageCard\n\nconst Wrapper = styled.div`\n margin-top: 8px;\n position: relative;\n width: 56px;\n height: 56px;\n cursor: pointer;\n user-select: none;\n`\n\nconst StyledImage = styled.img`\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border-radius: 8px;\n`\n\nconst Backdrop = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 8px;\n width: 100%;\n height: 100%;\n background-color: rgba(25, 25, 25, 0.4);\n transition: all ease-out 0.3s;\n opacity: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n &:hover {\n opacity: 1;\n }\n`\n\nconst StyledRemoveButton = styled(Button)`\n //opacity: 0;\n pointer-events: none;\n width: 24px;\n height: 24px;\n position: absolute;\n transition: all ease-out 0.3s;\n &:disabled {\n opacity: 0;\n }\n`\n","import React, { ChangeEvent, useState } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Path, useController } from \"react-hook-form\"\nimport { Button, Caption, theme } from \"kui-basic\"\nimport { PlusIcon } from \"kui-icon\"\nimport { FileUploaderWithPreviewProps } from \"./types\"\nimport PreviewImageCard from \"../PreviewImageCard\"\n\nconst getURLFromFile = (fileList: FileList) =>\n fileList[0] ? URL.createObjectURL(fileList[0]) : null\n\nconst getFilePreviewURL = (file: string | FileList) =>\n typeof file === \"string\" ? file : getURLFromFile(file)\n\nfunction FileUploaderWithPreview<T extends object>(\n props: FileUploaderWithPreviewProps<T>\n) {\n const { form, label, name } = props\n const { field, fieldState } = useController({\n control: form.control,\n name: name as Path<T>,\n })\n const error = fieldState.error?.message\n\n const filePreviewURL = field.value\n ? getFilePreviewURL(field.value as string | FileList)\n : null\n\n const [filePreview, setFilePreview] = useState<string | null>(filePreviewURL)\n\n const formRegister = form.register(name as Path<T>)\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n formRegister.onChange(e)\n\n const fileUploaded =\n e.target.files && Number(e.target.files?.length) > 0\n ? e.target.files\n : null\n\n if (fileUploaded) {\n setFilePreview(URL.createObjectURL(fileUploaded?.[0]))\n } else {\n setFilePreview(null)\n }\n }\n\n const handleDelete = () => {\n setFilePreview(null)\n form.setValue(name as Path<T>, null as any)\n }\n\n return (\n <>\n <StyledWrapper>\n <Caption size=\"xs\" color=\"fiftyP\">\n {label}\n </Caption>\n <StyledInput\n id=\"file_input\"\n type=\"file\"\n data-testid=\"file_input\"\n {...formRegister}\n onChange={handleChange}\n />\n {filePreview ? (\n <PreviewImageCard url={filePreview} onDelete={handleDelete} />\n ) : (\n <StyledLabel htmlFor=\"file_input\">\n <StyledCircleButton isCircle size=\"l\" variant=\"grayLight\">\n <PlusIcon />\n </StyledCircleButton>\n </StyledLabel>\n )}\n </StyledWrapper>\n {error && (\n <StyledErrorMessage size=\"xs\" colorGroup=\"red\" color=\"seventy\">\n {error}\n </StyledErrorMessage>\n )}\n </>\n )\n}\n\nexport default FileUploaderWithPreview\n\nconst StyledWrapper = styled.div`\n border-radius: 8px;\n border: 1px dashed ${theme.palette.grey.fifteenB};\n padding: 6px 16px 16px;\n display: inline-block;\n`\n\nconst StyledLabel = styled.label`\n margin-top: 8px;\n display: block;\n cursor: pointer;\n`\n\nconst StyledCircleButton = styled(Button)`\n border-radius: 8px;\n background: ${theme.palette.background.light2};\n pointer-events: none;\n`\n\nconst StyledInput = styled.input`\n display: none;\n`\n\nconst StyledErrorMessage = styled(Caption)`\n margin-top: 4px;\n`\n","import { InputParams } from \"../InputByType/types\"\nimport { CompanyCreationFields } from \"./types\"\nimport { CompanyTypesValues } from \"../../content/listOptions\"\nimport CompanyInnAutocomplete from \"../CompanyInnAutocomplete\"\nimport InputWithMap from \"../InputWithMap\"\nimport FileUploaderWithPreview from \"../FileUploaderWithPreview\"\n\nconst companyFields: InputParams<CompanyCreationFields>[] = [\n {\n label: \"Provider type\",\n name: \"type\",\n variant: \"select\",\n options: CompanyTypesValues,\n },\n {\n label: \"INN\",\n name: \"inn\",\n variant: \"custom\",\n CustomInput: CompanyInnAutocomplete,\n },\n { label: \"Name\", name: \"name\" },\n]\n\nconst companyOfficeFields: InputParams<CompanyCreationFields>[] = [\n {\n label: \"Address\",\n name: \"office\",\n variant: \"custom\",\n CustomInput: InputWithMap,\n },\n { label: \"Email\", name: \"email\" },\n { label: \"Phone\", name: \"phone\", variant: \"phone\" },\n {\n label: \"Logo\",\n name: \"logo\",\n variant: \"custom\",\n CustomInput: FileUploaderWithPreview,\n size: 6,\n },\n]\n\nexport default companyOfficeFields\nexport { companyFields }\n","/** @jsxImportSource @emotion/react */\nimport * as React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Button, Divider, Grid, theme } from \"kui-basic\"\nimport { CheckIcon, NextArrowIcon, PrevArrowIcon } from \"kui-icon\"\nimport { Loading } from \"kui-complex\"\nimport { FooterProps, FormBottomProps } from \"./types\"\n\nfunction FormBottom({\n label,\n variant,\n handleClick,\n withPrevStep,\n handlePrevClick,\n withDeleteButton,\n handleDelete,\n isFixed,\n isLoading,\n endButton,\n ...otherProps\n}: FormBottomProps) {\n return (\n <StyledFooter isFixed={Boolean(isFixed)}>\n <Divider />\n <div css={{ padding: \"0 40px\" }}>\n <Grid container justify=\"space-between\" css={{ padding: \"12px 0\" }}>\n <Grid item>\n {withPrevStep && (\n <Button\n isCircle\n data-testid=\"prev_button\"\n onClick={handlePrevClick}\n size=\"s\"\n variant=\"transparentWithBorder\"\n >\n <PrevArrowIcon />\n </Button>\n )}\n {withDeleteButton && (\n <Button\n data-testid=\"delete_button\"\n size=\"s\"\n onClick={handleDelete}\n variant=\"white\"\n >\n Delete\n </Button>\n )}\n </Grid>\n <Grid item>\n <Grid container alignItems=\"center\" justify=\"flex-end\">\n {endButton && (\n <StyledEndButtonWrapper>{endButton}</StyledEndButtonWrapper>\n )}\n <Button\n data-testid=\"submit_button\"\n size=\"s\"\n onClick={handleClick}\n endIcon={\n variant === \"create\" ? <CheckIcon /> : <NextArrowIcon />\n }\n disabled={isLoading}\n {...otherProps}\n >\n {isLoading ? <StyledLoading /> : label}\n </Button>\n </Grid>\n </Grid>\n </Grid>\n </div>\n </StyledFooter>\n )\n}\n\nFormBottom.defaultProps = {\n type: \"submit\",\n variant: \"create\",\n label: \"Create\",\n}\n\nexport default FormBottom\nexport type { FormBottomProps } from \"./types\"\n\nconst StyledLoading = styled(Loading)`\n .MuiCircularProgress-root {\n color: ${theme.palette.grey.fiftyP} !important;\n height: 32px !important;\n width: 32px !important;\n }\n`\n\nfunction Footer({ isFixed, children, ...otherProps }: FooterProps) {\n return <div {...otherProps}>{children}</div>\n}\n\nconst StyledFooter = styled(Footer)`\n background: ${theme.palette.grey.zero};\n border-radius: 0 0 12px 12px;\n z-index: ${({ isFixed }) => (isFixed ? 1000 : 1)};\n position: ${({ isFixed }) => (isFixed ? \"sticky\" : \"static\")};\n bottom: ${({ isFixed }) => (isFixed ? 0 : \"auto\")};\n left: ${({ isFixed }) => (isFixed ? 0 : \"auto\")};\n`\n\nconst StyledEndButtonWrapper = styled.div`\n margin-right: 20px;\n`\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { Caption, Box, Grid } from \"kui-basic\"\nimport { CompanyCreationFields, CompanyCreationFormProps } from \"./types\"\nimport CompanyCreationSchema from \"./schema\"\nimport companyOfficeFields, { companyFields } from \"./fields\"\nimport InputByType from \"../InputByType\"\nimport FormBottom from \"../FormBottom\"\n\nfunction CompanyCreationForm({ handleSubmit }: CompanyCreationFormProps) {\n const form = useForm<CompanyCreationFields>({\n resolver: yupResolver(CompanyCreationSchema),\n })\n\n return (\n <form>\n <Box pr={5} pl={5} pb={3}>\n <Grid container spacing={2}>\n {companyFields.map((field) => (\n <Grid item key={field.name} xs={12}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n <Grid item xs={12}>\n <Caption weight={600} size=\"s\">\n MAIN OFFICE\n </Caption>\n </Grid>\n {companyOfficeFields.map(({ size, ...field }) => (\n <Grid item key={field.name} xs={size || 12}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n </Grid>\n </Box>\n <FormBottom\n label=\"Add\"\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default CompanyCreationForm\nexport type {\n CompanyFields,\n CompanyCreationFields,\n CompanyCreationFormProps,\n} from \"./types\"\n","import React from \"react\"\nimport { useNavigate } from \"react-router-dom\"\nimport { observer } from \"mobx-react\"\nimport { CompanyCreationModalProps } from \"./types\"\nimport { CompanyCreationFields } from \"../CompanyCreationForm/types\"\nimport Modal from \"../Modal\"\nimport CompanyCreationForm from \"../CompanyCreationForm\"\n\nfunction CompanyCreationModal(props: CompanyCreationModalProps) {\n const { open, handleClose, createCompany } = props\n const navigate = useNavigate()\n\n const handleSubmit = async (data: CompanyCreationFields) => {\n handleClose()\n const createdCompanyId = await createCompany(data)\n if (createdCompanyId) {\n navigate(`/companies/${createdCompanyId}`)\n }\n }\n\n return (\n <Modal title=\"New company\" open={open} handleClose={handleClose}>\n <CompanyCreationForm handleSubmit={handleSubmit} />\n </Modal>\n )\n}\n\nexport default observer(CompanyCreationModal)\n","export const matchesAPISubjectRoles = {\r\n maroom: \"maroom\",\r\n tenant: \"renter\",\r\n landlord: \"owner\",\r\n}\r\n\r\nexport const matchesSubjectRoles = {\r\n maroom: \"maroom\",\r\n renter: \"tenant\",\r\n tenant: \"tenant\",\r\n owner: \"landlord\",\r\n}\r\n\r\nexport const matchesApartmentStatuses = {\r\n \"Rented out\": \"Rented\",\r\n Closed: \"Closed\",\r\n Open: \"Free\",\r\n New: \"New\",\r\n \"Free soon\": \"Free soon\",\r\n}\r\n\r\nexport const matchesAPICompanyTypes = {\r\n administrative_provider: \"administrative\",\r\n service_provider: \"service\",\r\n resource_provider: \"resource\",\r\n}\r\n\r\nexport const matchesCompanyTypes = {\r\n administrative: \"administrative_provider\",\r\n service: \"service_provider\",\r\n resource: \"resource_provider\",\r\n}\r\n\r\nexport const matchesFillingTypes = {\r\n finish: \"finish\",\r\n furniture: \"furniture\",\r\n electronics: \"appliance\",\r\n accessories: \"accessorie\",\r\n}\r\n\r\nexport const matchesAPIFillingTypes = {\r\n finish: \"finish\",\r\n furniture: \"furniture\",\r\n appliance: \"electronics\",\r\n accessorie: \"accessories\",\r\n}\r\n\r\nexport const matchesVisibilityVariants = {\r\n everybody: \"everybody\",\r\n renter: \"tenant\",\r\n owner: \"landlord\",\r\n nobody: \"nobody\",\r\n}\r\n\r\nexport const matchesAPIVisibilityVariants = {\r\n everybody: \"everybody\",\r\n tenant: \"renter\",\r\n landlord: \"owner\",\r\n nobody: \"nobody\",\r\n}\r\n\r\nexport const genderMatches = {\r\n M: \"male\",\r\n F: \"female\",\r\n}\r\n\r\nexport const matchesServiceTypes = {\r\n open_ended: \"openEnded\",\r\n period: \"period\",\r\n once: \"once\",\r\n own: \"own\",\r\n}\r\n","import { makeAutoObservable, runInAction } from \"mobx\"\nimport to from \"await-to-js\"\nimport {\n Paginator,\n SortingFilter,\n Loader,\n getPhoneParamsFromString,\n} from \"kui-utils\"\nimport { CompanyParams } from \"../types/store/company\"\nimport {\n CompanyLogoModel,\n CompanyModel,\n CompanyTypes,\n GetCompaniesResponse,\n} from \"../types/api/companies\"\nimport CompaniesAgent from \"../agent/Companies\"\nimport {\n CompanyCreationFields,\n CompanyFields,\n} from \"../components/CompanyCreationForm/types\"\nimport { matchesCompanyTypes } from \"../utils/matches\"\n\nclass CompaniesStore {\n companies: CompanyParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n creationLoader: Loader\n\n constructor() {\n this.companies = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchAll = async () => {\n this.loader.startLoading()\n\n const [err, res] = await to<GetCompaniesResponse>(\n CompaniesAgent.all(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n runInAction(() => {\n if (!err && res) {\n const mapper = (company: CompanyModel) =>\n CompaniesStore.getCompanyParams(company)\n\n this.companies = this.paginator.getPageResponse<\n CompanyModel,\n CompanyParams\n >(res, this.companies, mapper)\n } else {\n this.companies = []\n this.loader.setError(\"fetch companies\", err)\n }\n this.loader.endLoading()\n })\n }\n\n createCompany = async (data: CompanyCreationFields) => {\n this.creationLoader.startLoading()\n\n const body = CompaniesStore.getCreationBody(data)\n\n const [err, res] = await to<CompanyModel>(CompaniesAgent.create(body))\n if (res && data.logo?.[0]) {\n await this.createLogo(res.id, data.logo[0])\n }\n\n if (!err && res) {\n this.companies = [CompaniesStore.getCompanyParams(res), ...this.companies]\n this.paginator.clearOffset()\n this.paginator.startFetching()\n } else {\n this.creationLoader.setError(\"company creation\", err)\n }\n this.creationLoader.endLoading()\n\n return res ? this.companies[0] : null\n }\n\n createLogo = async (companyId: number, logo: File) => {\n const body = new FormData()\n body.append(\"logo\", logo, \"logo\")\n\n const [err, res] = await to<CompanyLogoModel>(\n CompaniesAgent.createLogo(companyId, body)\n )\n\n if (err) {\n this.creationLoader.setError(\"logo creation\", err)\n }\n\n return res?.logo\n }\n\n static getCompanyParams = (company: CompanyModel) => ({\n id: company.id,\n logo: company.logo,\n ...CompaniesStore.getCompanyFields(company),\n })\n\n static getCreationBody = (data: CompanyCreationFields) => ({\n name: data.name,\n provider_type: data.type\n ? (matchesCompanyTypes[\n data.type as keyof typeof matchesCompanyTypes\n ] as CompanyTypes)\n : undefined,\n tin: data.inn,\n main_office: {\n address: data.office.address,\n email: data.email,\n phone: data.phone\n ? `+${data.phone.phoneCode}${data.phone.phoneNumber}`\n : null,\n geolocation: data.office.location\n ? {\n lat: data.office.location!.lat,\n lon: data.office.location!.lon,\n }\n : undefined,\n },\n })\n\n static getCompanyFields = (\n company: CompanyModel\n ): Omit<CompanyFields, \"logo\"> => ({\n inn: company.tin,\n name: company.name,\n phone: company.main_office?.phone\n ? getPhoneParamsFromString(company.main_office.phone)\n : null,\n email: company.main_office?.email || \"\",\n office: {\n address: company.main_office?.address || \"\",\n },\n })\n}\n\nexport default CompaniesStore\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useEffect, useRef } from \"react\"\nimport { useWatch } from \"react-hook-form\"\nimport { InputWithAutocomplete } from \"kui-complex\"\nimport { CompanyAutocompleteProps } from \"./types\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { CompanyLiteParams } from \"../../types/store/company\"\nimport { CompanyCreationFields } from \"../CompanyCreationForm/types\"\nimport { TwoOptionParams } from \"../TwoOptionForAutocomplete/types\"\nimport TwoOptionForAutocomplete from \"../TwoOptionForAutocomplete\"\nimport SquarePreviewImage from \"../SquarePreviewImage\"\nimport CompanyCreationModal from \"../CompanyCreationModal\"\nimport CompaniesStore from \"../../store/CompaniesStore\"\nimport { ModalProps } from \"../Modal/types\"\n\nfunction CompanyAutocomplete<TFormValues extends object>(\n props: CompanyAutocompleteProps<TFormValues>\n) {\n const { form, name, label, handleSelect, forApartment, ...otherProps } = props\n const companiesStore = useRef(new CompaniesStore())\n const { companies, paginator, fetchAll, loader, filter } =\n companiesStore.current\n const logo = useWatch({\n control: form.control,\n name: `${name}.logo`,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchAll\n )\n\n const onSearch = (value: string) => {\n if (forApartment) {\n if (value) {\n filter.updateFilterQuery(\"\")\n } else {\n filter.updateFilterQuery(`&for_apartment=${forApartment}`)\n }\n }\n onSearchItem(value)\n }\n\n const onSelectItem = (item: CompanyLiteParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n form.setValue(`${name}.logo`, item?.logo)\n if (handleSelect && item) handleSelect(item)\n }\n\n const onCreate = async (data: CompanyCreationFields) => {\n const company = await companiesStore.current.createCompany(data)\n if (company) onSelectItem(company)\n }\n\n useEffect(() => {\n if (forApartment) {\n filter.updateFilterQuery(`&for_apartment=${forApartment}`)\n }\n }, [forApartment])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: TwoOptionParams) => (\n <TwoOptionForAutocomplete option={option} />\n )}\n options={companies}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n isLoading={loader.isLoading}\n onSelectItem={onSelectItem}\n onSearchItem={onSearch}\n handleScrollEnd={onScrollEnd}\n creatingLabel=\"Add new company\"\n endComponent={logo && <SquarePreviewImage size=\"sm\" imageSrc={logo} />}\n renderCreatingModal={(modalProps: ModalProps) => (\n <CompanyCreationModal createCompany={onCreate} {...modalProps} />\n )}\n {...otherProps}\n />\n )\n}\n\nCompanyAutocomplete.defaultProps = {\n label: \"Company\",\n name: \"company\",\n}\n\nexport default observer(CompanyAutocomplete)\nexport type { CompanyAutocompleteFields } from \"./types\"\n","import * as yup from \"yup\"\r\n\r\nexport const ChangeReasonSchemaParams = {\r\n // reason: yup.mixed().required(\"Choose a reason file\"),\r\n}\r\n\r\nconst ChangeReasonSchema = yup.object().shape(ChangeReasonSchemaParams)\r\n\r\nexport default ChangeReasonSchema\r\n","import React from \"react\"\nimport { Grid } from \"kui-basic\"\nimport { InputWithController } from \"kui-complex\"\nimport { ChangeReasonFieldsProps } from \"./types\"\nimport InputFileWithVisibility from \"../InputFileWithVisibility\"\nimport ChangeReasonSchema from \"./schema\"\n\nfunction ChangeReasonFields<T extends object>({\n form,\n customReasons,\n}: ChangeReasonFieldsProps<T>) {\n return (\n <Grid container spacing={2}>\n {customReasons ? (\n customReasons.map((field) => (\n <Grid item xs={12}>\n <InputFileWithVisibility\n form={form}\n name={field.name || \"reason\"}\n label={field.label}\n />\n </Grid>\n ))\n ) : (\n <Grid item xs={12}>\n <InputFileWithVisibility form={form} name=\"reason\" label=\"Reason\" />\n </Grid>\n )}\n <Grid item xs={12}>\n <InputWithController\n isTextArea\n form={form}\n name=\"comment\"\n label=\"Comment\"\n />\n </Grid>\n </Grid>\n )\n}\n\nexport default ChangeReasonFields\nexport { default as ChangeReasonSchema } from \"./schema\"\nexport type {\n ChangeReasonField,\n ChangeReasonFormFields,\n ChangeReasonFieldsProps,\n} from \"./types\"\n","import * as yup from \"yup\"\r\n\r\nconst TagCreationFormSchema = yup.object().shape({\r\n name: yup.string().trim().required(\"This field is required\"),\r\n})\r\n\r\nexport default TagCreationFormSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { InputFile, InputWithController } from \"kui-complex\"\nimport { Box, Grid } from \"kui-basic\"\nimport { TagCreationFormFields, TagCreationFormProps } from \"./types\"\nimport TagCreationFormSchema from \"./schema\"\nimport FormBottom from \"../FormBottom\"\n\nfunction FillingTagCreationForm({ handleSubmit }: TagCreationFormProps) {\n const form = useForm<TagCreationFormFields>({\n resolver: yupResolver(TagCreationFormSchema),\n })\n\n return (\n <form>\n <Box pr={5} pl={5} pb={3}>\n <Grid container spacing={2}>\n <Grid item xs={12}>\n <InputWithController label=\"Name\" name=\"name\" form={form} />\n </Grid>\n <Grid item xs={12}>\n <InputFile label=\"Tag image\" name=\"image\" form={form} />\n </Grid>\n </Grid>\n </Box>\n <FormBottom\n label=\"Add\"\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default FillingTagCreationForm\n","import React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { FillingTagCreationModalProps } from \"./types\"\nimport { TagCreationFormFields } from \"../FillingTagCreationForm/types\"\nimport Modal from \"../Modal\"\nimport FillingTagCreationForm from \"../FillingTagCreationForm\"\n\nfunction FillingTagCreationModal(props: FillingTagCreationModalProps) {\n const { open, handleClose, handleSubmit } = props\n\n const handleFormSubmit = async (data: TagCreationFormFields) => {\n handleSubmit(data)\n handleClose()\n }\n\n return (\n <Modal title=\"New tag\" open={open} handleClose={handleClose}>\n <FillingTagCreationForm handleSubmit={handleFormSubmit} />\n </Modal>\n )\n}\n\nexport default observer(FillingTagCreationModal)\n","import to from \"await-to-js\"\nimport { runInAction } from \"mobx\"\nimport { Loader, SortingFilter } from \"kui-utils\"\nimport { FillingTagParams } from \"../types/store/filling\"\nimport { ApartmentFillingVariants } from \"../types\"\nimport { matchesFillingTypes } from \"../utils/matches\"\nimport {\n ApartmentFillingAPIVariants,\n GetTagsResponse,\n TagModel,\n} from \"../types/api/filling\"\nimport FillingTagsAgent from \"../agent/FillingTags\"\nimport { TagCreationFormFields } from \"../components/FillingTagCreationForm/types\"\n\nclass FillingTagsStore {\n tags: FillingTagParams[]\n\n loader: Loader\n\n creationLoader: Loader\n\n filter: SortingFilter\n\n constructor() {\n this.tags = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.filter = new SortingFilter()\n }\n\n fetchTags = async (type: ApartmentFillingVariants) => {\n this.loader.startLoading()\n\n const fillingType = matchesFillingTypes[type] as ApartmentFillingAPIVariants\n\n const [err, res] = await to<GetTagsResponse>(\n FillingTagsAgent.getAll(fillingType)\n )\n\n runInAction(() => {\n if (!err && res) {\n this.tags = res.map((tag) => ({\n ...tag,\n image: tag.site_image,\n }))\n } else {\n this.loader.setError(\"fetch tags\")\n }\n this.loader.endLoading()\n })\n }\n\n createTag = async (data: TagCreationFormFields) => {\n this.creationLoader.startLoading()\n\n const body = FillingTagsStore.getPostTagBody(data)\n\n const [err, res] = await to<TagModel>(FillingTagsAgent.create(body))\n\n runInAction(() => {\n if (!err && res) {\n this.tags = [{ ...res, image: res.site_image }, ...this.tags]\n } else {\n this.creationLoader.setError(\"tag creation\")\n }\n this.creationLoader.endLoading()\n })\n\n return this.tags[0]\n }\n\n get filteredTags() {\n return this.tags.filter((tag) =>\n tag.name.toLowerCase().includes(this.filter.searchQuery.toLowerCase())\n )\n }\n\n static getPostTagBody = (data: TagCreationFormFields) => {\n const formData = new FormData()\n formData.append(\"name\", data.name)\n formData.append(\"image\", data.image)\n\n return formData\n }\n}\n\nexport default FillingTagsStore\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useEffect, useRef } from \"react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { FillingTagsAutocompleteProps } from \"./types\"\nimport FillingTagsStore from \"../../store/FillingTagsStore\"\nimport { FillingTagParams } from \"../../types/store/filling\"\nimport { TagCreationFormFields } from \"../FillingTagCreationForm/types\"\nimport { ModalProps } from \"../Modal/types\"\nimport FillingTagCreationModal from \"../FillingTagCreationModal\"\n\nfunction FillingTagsAutocomplete<TFormValues extends object>({\n form,\n name,\n label,\n type,\n defaultValue,\n ...otherProps\n}: FillingTagsAutocompleteProps<TFormValues>) {\n const tagsStoreRef = useRef(new FillingTagsStore())\n const tagsStore = tagsStoreRef.current\n const { filteredTags, fetchTags, loader, filter } = tagsStore\n\n useEffect(() => {\n filter.updateSearchQuery(\"\")\n }, [])\n\n const onSelectItem = (item: FillingTagParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n }\n\n useEffect(() => {\n fetchTags(type)\n }, [type])\n\n const onSearchItem = (value: string) => {\n filter.updateSearchQuery(value)\n }\n\n const onCreate = async (data: TagCreationFormFields) => {\n const tag = await tagsStore.createTag(data)\n if (tag) onSelectItem(tag)\n }\n\n return (\n <InputWithAutocomplete\n renderOption={(option: FillingTagParams) => (\n <AutocompleteOption label={option.name} />\n )}\n options={filteredTags}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n isLoading={loader.isLoading}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n creatingLabel=\"Add new tag\"\n renderCreatingModal={(props: ModalProps) => (\n <FillingTagCreationModal handleSubmit={onCreate} {...props} />\n )}\n {...otherProps}\n />\n )\n}\n\nFillingTagsAutocomplete.defaultProps = {\n label: \"Tag\",\n name: \"tag\",\n}\n\nexport default observer(FillingTagsAutocomplete)\nexport type {\n FillingTagsAutocompleteFields,\n FillingTagsAutocompleteProps,\n} from \"./types\"\n","import React from \"react\"\nimport { Box } from \"kui-basic\"\nimport { FormWrapperProps } from \"./types\"\nimport FormBottom from \"../FormBottom\"\n\nconst FormWrapper = (props: FormWrapperProps) => {\n const { form, onSubmit, children, className, ...other } = props\n\n return (\n <form onSubmit={form.handleSubmit(onSubmit)}>\n <Box pl={5} pr={5} mb={3} className={className}>\n {children}\n </Box>\n <FormBottom {...other} />\n </form>\n )\n}\n\nexport default FormWrapper\nexport type { FormWrapperProps } from \"./types\"\n","import * as React from \"react\"\nimport { ReactNode } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { Box, ButtonProps, Grid, Heading, Button } from \"kui-basic\"\nimport { PlusIcon } from \"kui-icon\"\n\ntype HeadingWithButtonProps = {\n title: string\n onClick: () => void\n isEditing?: boolean\n icon?: ReactNode\n children?: ReactNode\n className?: string\n showButton?: boolean\n} & ButtonProps\n\nfunction HeadingWithButton({\n title,\n onClick,\n isEditing,\n icon,\n children,\n className,\n variant,\n showButton,\n ...otherProps\n}: HeadingWithButtonProps) {\n return (\n <Box pt={3} pb={2} className={className}>\n <StyledWrapper\n container\n alignItems=\"center\"\n justify=\"space-between\"\n >\n <Grid item>\n <Heading size=\"h4\">{title}</Heading>\n </Grid>\n <Grid item>\n <Grid container justify=\"flex-end\" alignContent=\"center\">\n <Grid item>{children}</Grid>\n {showButton && (\n <Grid item>\n <Button\n isCircle\n data-testid=\"add_field_button\"\n disabled={!isEditing}\n size=\"xs\"\n variant={variant}\n onClick={onClick}\n {...otherProps}\n >\n {icon}\n </Button>\n </Grid>\n )}\n </Grid>\n </Grid>\n </StyledWrapper>\n </Box>\n )\n}\n\nHeadingWithButton.defaultProps = {\n isEditing: true,\n icon: <PlusIcon width={10} height={10} />,\n children: null,\n variant: \"white\" as const,\n showButton: true,\n}\n\nexport default HeadingWithButton\n\nconst StyledWrapper = styled(Grid)`\n height: 32px;\n`\n","import * as yup from \"yup\"\nimport { DateTime } from \"luxon\"\n\nconst meterFeaturesFieldsSchema = {\n tariff: yup.object({\n name: yup.string().required(\"This field is required\"),\n }),\n number: yup.string().required(\"This field is required\"),\n}\n\nconst getMeterFeaturesFieldsSchema = (\n valuesFields: string[],\n isReplacementRequired: boolean\n) => {\n const valuesSchema = valuesFields.map((field) => ({\n [field]: yup\n .number()\n .min(0)\n .required(\"This field is required\")\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\n ...(isReplacementRequired && {\n replaceableCounter: yup\n .number()\n .required(\n \"The maximum number of counters has been created in this object, select the one to replace\"\n )\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\n }),\n startDate: yup\n .mixed()\n .when(\"replaceableCounter\", {\n is: (value: DateTime) => value,\n then: (rule) => rule.required(\"This field is required\"),\n })\n .when(\"startDate\", {\n is: (value: DateTime) => value,\n then: (rule) =>\n rule.test(\n \"check-start-date\",\n \"Select a date in the past\",\n (value) => Number((value as DateTime)?.diffNow(\"days\").days) <= 0\n ),\n })\n .nullable(),\n }))\n\n return yup.object().shape(\n {\n ...meterFeaturesFieldsSchema,\n ...Object.assign({}, ...valuesSchema),\n },\n [[\"startDate\", \"startDate\"]]\n )\n}\n\nexport default getMeterFeaturesFieldsSchema\n","import { RefObject } from \"react\"\nimport { APISubjectRoles, UtilityTypes } from \"../../types\"\nimport { InputParams } from \"../InputByType\"\nimport { APIPayerValues, UnitOfPaymentValues } from \"../../content/listOptions\"\nimport { PartialPayerVariants } from \"./types\"\n\nconst getPartialPayerFields = <T>(\n mainPayer: APISubjectRoles,\n refundFromRef: RefObject<HTMLInputElement>,\n variant: PartialPayerVariants,\n utilityType: UtilityTypes\n): InputParams<T>[] => [\n {\n label:\n variant === \"radio\" ? \"Payment made by\" : `Main payer by ${utilityType}`,\n name: \"mainPayer\",\n options: APIPayerValues,\n variant: \"select\",\n },\n {\n label:\n variant === \"radio\" ? \"Refund from\" : `Pays the rest by ${utilityType}`,\n name: \"refundFrom\",\n options: APIPayerValues.filter((payer) => payer.value !== mainPayer),\n variant: \"select\",\n ref: refundFromRef,\n },\n {\n label: variant === \"radio\" ? \"Part type\" : `Part type by ${utilityType}`,\n name: \"partType\",\n options: UnitOfPaymentValues,\n variant: \"select\",\n },\n {\n label:\n variant === \"radio\" ? \"Refund value\" : `Refund value by ${utilityType}`,\n name: \"refundValue\",\n variant: \"mask\",\n mask: Number,\n thousandsSeparator: \" \",\n },\n]\n\nexport default getPartialPayerFields\n","import React, { useEffect, useRef } from \"react\"\nimport { Path, PathValue, useWatch } from \"react-hook-form\"\nimport { Grid, theme } from \"kui-basic\"\nimport { InputSelect, RadioGroupWithLabel } from \"kui-complex\"\nimport styled from \"@emotion/styled\"\nimport { PartialPayerProps } from \"./types\"\nimport getPartialPayerFields from \"./fields\"\nimport InputByType from \"../InputByType\"\nimport { PartialPayerValues } from \"../../content/listOptions\"\n\nconst PartialPayer = <T extends object>(props: PartialPayerProps<T>) => {\n const { form, name, utilityType, fieldsVariant, ...other } = props\n const [payerType, mainPayer, refundFrom] = useWatch({\n control: form.control,\n name: [\n `${name}.payer`,\n `${name}.mainPayer`,\n `${name}.refundFrom`,\n ] as Path<T>[],\n })\n const refundFromRef = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (payerType && payerType !== \"partial\") {\n form.setValue(`${name}.refundFrom` as Path<T>, payerType)\n form.setValue(`${name}.mainPayer` as Path<T>, null as PathValue<T, any>)\n form.setValue(`${name}.refundValue` as Path<T>, null as PathValue<T, any>)\n form.setValue(`${name}.partType` as Path<T>, null as PathValue<T, any>)\n }\n }, [payerType])\n\n useEffect(() => {\n if (mainPayer === refundFrom && refundFromRef.current) {\n form.setValue(`${name}.refundFrom` as Path<T>, null as PathValue<T, any>)\n refundFromRef.current.value = \"\"\n }\n }, [mainPayer])\n\n useEffect(\n () =>\n form.setValue(\n `${name}.utilityType` as Path<T>,\n utilityType as PathValue<T, Path<T>>\n ),\n [utilityType]\n )\n\n useEffect(() => {\n if (!form.formState.isDirty) {\n const main = form.getValues(`${name}.mainPayer` as Path<T>)\n const rest = form.getValues(`${name}.refundFrom` as Path<T>)\n\n if (main) {\n form.setValue(\n `${name}.payer` as Path<T>,\n \"partial\" as PathValue<T, any>\n )\n } else {\n form.setValue(`${name}.payer` as Path<T>, rest as PathValue<T, any>)\n }\n }\n }, [form.formState.isDirty])\n\n const fields = getPartialPayerFields<T>(\n mainPayer,\n refundFromRef,\n fieldsVariant || \"radio\",\n utilityType\n )\n\n return (\n <>\n {fieldsVariant === \"radio\" && (\n <StyledRadioGroup\n options={PartialPayerValues}\n form={form}\n name={`${name}.payer`}\n direction=\"vertical\"\n {...other}\n />\n )}\n {fieldsVariant === \"radio\" ? (\n payerType === \"partial\" && (\n <StyledFieldsGroup>\n <StyledWrapper container spacing={2}>\n {fields.map(({ name: fieldName, ...field }) => (\n <Grid item xs={6}>\n <InputByType\n name={`${name}.${fieldName}`}\n form={form}\n {...field}\n />\n </Grid>\n ))}\n </StyledWrapper>\n </StyledFieldsGroup>\n )\n ) : (\n <Grid container spacing={2}>\n <Grid item xs={3}>\n <InputSelect\n label={`Utilities by ${utilityType}`}\n name={`${name}.payer`}\n options={PartialPayerValues}\n form={form}\n {...other}\n />\n </Grid>\n {payerType === \"partial\" &&\n fields.map(({ name: fieldName, ...field }) => (\n <Grid item xs={3}>\n <InputByType\n name={`${name}.${fieldName}`}\n form={form}\n {...field}\n {...other}\n variant={field.variant}\n />\n </Grid>\n ))}\n </Grid>\n )}\n </>\n )\n}\n\nPartialPayer.defaultProps = {\n variant: \"radio\",\n}\nexport type {\n PartialPayerFields,\n PartialPayerProps,\n PartialPayerVariants,\n} from \"./types\"\nexport { getPartialPayerFields }\n\nexport default PartialPayer\n\nconst StyledFieldsGroup = styled(Grid)`\n background: ${theme.palette.background.light1};\n border-radius: 0 0 8px 8px;\n`\n\nconst StyledRadioGroup = styled(RadioGroupWithLabel)`\n padding: 10px;\n background: white;\n`\n\nconst StyledWrapper = styled(Grid)`\n padding-top: 16px;\n`\n","import { makeAutoObservable, runInAction } from \"mobx\"\nimport to from \"await-to-js\"\nimport { Paginator, SortingFilter, Loader, MultistepForm } from \"kui-utils\"\nimport { ResourceTypes, TariffGroupLiteParams } from \"../types\"\nimport { TariffCreationFormFields } from \"../components/TariffCreationForm/types\"\nimport { ElectricityTariffCreationFormFields } from \"../components/TariffCreationForm/ElectricityTariffCreationFields/types\"\nimport { WaterTariffCreationFormFields } from \"../components/TariffCreationForm/WaterTariffCreationFields/types\"\nimport { SingleTariffCreationFormFields } from \"../components/TariffCreationForm/SingeTariffCreatingFields/types\"\nimport {\n CommonTariffModel,\n GetCommonTariffsResponse,\n PostTariffRequest,\n} from \"../types/api/tariffs\"\nimport TariffsAgent from \"../agent/Tariffs\"\n\nclass TariffsLiteStore {\n tariffs: TariffGroupLiteParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n creationLoader: Loader\n\n creationForm: MultistepForm<TariffCreationFormFields>\n\n constructor() {\n this.tariffs = []\n this.loader = new Loader()\n this.creationLoader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n this.creationForm = new MultistepForm<TariffCreationFormFields>()\n makeAutoObservable(this)\n }\n\n fetchAll = async (resource: ResourceTypes) => {\n this.loader.startLoading()\n\n const [err, res] = await to<GetCommonTariffsResponse>(\n TariffsAgent.all(\n resource,\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n runInAction(() => {\n if (!err && res) {\n const mapper = (tariff: CommonTariffModel) =>\n TariffsLiteStore.getTariffParams(tariff)\n\n this.tariffs = this.paginator.getPageResponse<\n CommonTariffModel,\n TariffGroupLiteParams\n >(res, this.tariffs, mapper)\n } else {\n this.loader.setError(\"fetch tariffs\")\n }\n this.loader.endLoading()\n })\n }\n\n createTariff = async (data: TariffCreationFormFields) => {\n this.creationLoader.startLoading()\n\n const body: PostTariffRequest = TariffsLiteStore.getCreationBody(data)\n\n const [err, res] = await to(\n TariffsAgent.createTariff(body, data.resourceType)\n )\n\n if (!err && res) {\n this.tariffs = [TariffsLiteStore.getTariffParams(res), ...this.tariffs]\n this.paginator.clearOffset()\n this.paginator.startFetching()\n } else {\n this.creationLoader.setError(\"tariff creation\")\n }\n this.creationLoader.endLoading()\n\n return this.tariffs[0]\n }\n\n static getTariffParams = (tariff: CommonTariffModel) => ({\n id: tariff.id,\n name: tariff.code_name,\n })\n\n static getCreationBody = (data: TariffCreationFormFields) =>\n ({\n date_from: data.startDate.toISODate() || \"\",\n description: data.name,\n district: data.district?.id || null,\n city: data.city?.id || null,\n region: data.region.id || null,\n residential_complex_name: data.residentialComplex,\n replaceable_tariff_ids: data.replaceableTariffsGroups\n .filter((tariff) => tariff?.id)\n .map((tariff) => tariff.id!),\n ...TariffsLiteStore.getTariffValues(data),\n } as PostTariffRequest)\n\n static getTariffValues = (data: TariffCreationFormFields) => {\n switch (data.resourceType) {\n case \"electricity\":\n return {\n T1: (data as ElectricityTariffCreationFormFields).T1.toString(),\n T2: (data as ElectricityTariffCreationFormFields).T2?.toString(),\n T3: (data as ElectricityTariffCreationFormFields).T3?.toString(),\n }\n case \"water\":\n return {\n cold: (data as WaterTariffCreationFormFields).cold?.toString(),\n hot: (data as WaterTariffCreationFormFields).hot?.toString(),\n sewerage: (\n data as WaterTariffCreationFormFields\n ).sewerage?.toString(),\n }\n case \"gas\":\n return {\n gas: (data as SingleTariffCreationFormFields).value.toString(),\n }\n case \"heating\":\n return {\n heating: (data as SingleTariffCreationFormFields).value.toString(),\n }\n default:\n return {}\n }\n }\n}\n\nexport default TariffsLiteStore\n","import * as yup from \"yup\"\r\n\r\nconst CommonTariffFieldsSchema = yup.object().shape({\r\n region: yup.object({\r\n id: yup.number().nullable(),\r\n name: yup\r\n .string()\r\n .required(\"Required field\")\r\n .test(\r\n \"check-region-id\",\r\n \"Please select a region from the dropdown\",\r\n function (value) {\r\n const { id } = this.parent\r\n return !!id\r\n }\r\n ),\r\n }),\r\n startDate: yup.mixed().required(\"Required field\"),\r\n})\r\n\r\nexport default CommonTariffFieldsSchema\r\n","import to from \"await-to-js\"\nimport { makeAutoObservable } from \"mobx\"\nimport { Paginator, SortingFilter, Loader, resHandler } from \"kui-utils\"\nimport { DistrictParams } from \"../types/store/catalogs\"\nimport { DistrictModel, GetDistrictsResponse } from \"../types\"\nimport { CatalogsAgent } from \"../agent\"\n\nclass DistrictsStore {\n districts: DistrictParams[]\n\n paginator: Paginator\n\n filter: SortingFilter\n\n loader: Loader\n\n constructor() {\n this.districts = []\n this.loader = new Loader()\n this.paginator = new Paginator()\n this.filter = new SortingFilter()\n makeAutoObservable(this)\n }\n\n fetchDistricts = async () => {\n this.loader.startLoading()\n\n const response = await to<GetDistrictsResponse>(\n CatalogsAgent.getDistricts(\n this.paginator.offset,\n this.paginator.limit,\n this.filter.filterParams\n )\n )\n\n const mapper = (district: DistrictModel) => district\n\n resHandler(response, this.loader, (res) => {\n this.districts = this.paginator.getPageResponse(\n res,\n this.districts,\n mapper\n )\n })\n }\n}\n\nexport default DistrictsStore\n","import * as React from \"react\"\nimport { useEffect, useRef, useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useWatch } from \"react-hook-form\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { DistrictAutocompleteProps } from \"./types\"\nimport { CityAutocompleteFields } from \"../CityAutocomplete/types\"\nimport DistrictsStore from \"../../store/DistrictsStore\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { DistrictParams } from \"../../types/store/catalogs\"\n\nfunction DistrictAutocomplete<TFormValues extends object>(\n props: DistrictAutocompleteProps<TFormValues>\n) {\n const { form, name, label, onSelect, cityName, ...otherProps } = props\n const districtsStoreRef = useRef(new DistrictsStore())\n const [isMounted, setIsMounted] = useState(false)\n const inputRef = useRef(null)\n\n const { districts, fetchDistricts, paginator, filter, loader } =\n districtsStoreRef.current\n const { isLoading } = loader\n const city: CityAutocompleteFields = useWatch({\n control: form.control,\n name: cityName,\n })\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchDistricts,\n city?.id ? `&city=${city.id}` : \"\"\n )\n\n const onSelectItem = (item: DistrictParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n if (onSelect) onSelect(item)\n }\n\n useEffect(() => {\n if (isMounted && inputRef.current) {\n form.setValue(`${name}.id`, null)\n form.setValue(`${name}.name`, null)\n ;(inputRef.current as HTMLInputElement).value = \"\"\n }\n if (city?.id) {\n filter.updateFilterQuery(`&city=${city.id}`)\n paginator.clearOffset()\n paginator.startFetching()\n }\n setIsMounted(true)\n }, [city?.id])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: DistrictParams) => (\n <AutocompleteOption label={option.name} />\n )}\n isLoading={isLoading}\n options={districts}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n inputRef={inputRef}\n {...otherProps}\n />\n )\n}\n\nDistrictAutocomplete.defaultProps = {\n label: \"District\",\n name: \"district\",\n cityName: \"city\",\n}\n\nexport default observer(DistrictAutocomplete)\n","import { TariffCommonFields } from \"./types\"\nimport CountryAutocomplete from \"../../CountryAutocomplete\"\nimport RegionAutocomplete from \"../../RegionAutocomplete\"\nimport CityAutocomplete from \"../../CityAutocomplete\"\nimport DistrictAutocomplete from \"../../DistrictAutocomplete\"\nimport { InputParams } from \"../../InputByType\"\n\nconst commonTariffFields: InputParams<TariffCommonFields>[] = [\n {\n name: \"country\",\n variant: \"custom\",\n CustomInput: CountryAutocomplete,\n disabled: true,\n },\n { name: \"region\", variant: \"custom\", CustomInput: RegionAutocomplete },\n { name: \"city\", variant: \"custom\", CustomInput: CityAutocomplete },\n { name: \"district\", variant: \"custom\", CustomInput: DistrictAutocomplete },\n {\n name: \"residentialComplex\",\n label: \"Residential complex\",\n },\n { name: \"startDate\", label: \"Start date\", variant: \"date\" },\n { name: \"name\", label: \"Name\", size: 12 },\n]\n\nexport default commonTariffFields\n","import React from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useWatch } from \"react-hook-form\"\nimport { TariffReplacementFieldProps } from \"./types\"\nimport TariffGroupAutocomplete from \"../TariffGroupAutocomplete\"\nimport { CloseIcon } from \"kui-icon\"\nimport { theme } from \"kui-basic\"\n\nfunction TariffReplacementField(props: TariffReplacementFieldProps) {\n const { index, remove, form, name, ...inputProps } = props\n const value = useWatch({\n control: form.control,\n name,\n })\n\n const handleDelete = () => {\n remove(index)\n }\n\n return (\n <StyledInputWrapper>\n <TariffGroupAutocomplete\n label={!value && \"Tariff group\"}\n endIcon={value && <StyledCrossIcon onClick={handleDelete} />}\n form={form}\n name={name}\n {...inputProps}\n />\n </StyledInputWrapper>\n )\n}\n\nexport default TariffReplacementField\n\nconst StyledInputWrapper = styled.div`\n padding-top: 16px;\n &:first-child {\n padding-top: 12px;\n }\n`\n\nconst StyledCrossIcon = styled(CloseIcon)`\n cursor: pointer;\n margin-right: -6px;\n width: 22px;\n height: 22px;\n path {\n fill: ${theme.palette.grey.fiftyP};\n }\n`\n","import React, { useEffect } from \"react\"\nimport styled from \"@emotion/styled\"\nimport { useFieldArray } from \"react-hook-form\"\nimport { TariffReplacementFieldsProps } from \"./types\"\nimport TariffReplacementField from \"../TariffReplacementField\"\nimport HeadingWithButton from \"../HeadingWithButton\"\n\nfunction TariffReplacementFields({\n form,\n resource,\n setReplaceable,\n}: TariffReplacementFieldsProps) {\n const { fields, append, remove } = useFieldArray({\n control: form.control,\n name: \"replaceableTariffsGroups\",\n })\n\n const addTariff = () => {\n append({ name: \"\" })\n }\n\n useEffect(() => {\n if (fields.length > 0) setReplaceable(true)\n else setReplaceable(false)\n }, [fields])\n\n return (\n <>\n <StyledHeadingWithButton\n title=\"REPLACEABLE TARIFF GROUPS\"\n onClick={addTariff}\n isEditing\n />\n <div>\n {fields.map((item, key) => (\n <TariffReplacementField\n key={fields[key].id}\n name={`replaceableTariffsGroups.${key}`}\n form={form}\n resource={resource}\n index={key}\n remove={remove}\n />\n ))}\n </div>\n </>\n )\n}\n\nexport default TariffReplacementFields\n\nconst StyledHeadingWithButton = styled(HeadingWithButton)`\n padding-bottom: 0;\n padding-top: 8px;\n h4 {\n font-size: 12px;\n line-height: 14px;\n font-weight: 600;\n }\n`\n","import React, { ChangeEvent } from \"react\"\nimport { Box, Grid } from \"kui-basic\"\nimport { useForm } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport styled from \"@emotion/styled\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { NextArrowIcon } from \"kui-icon\"\nimport { RadioGroupWithLabel } from \"kui-complex\"\nimport { CommonTariffFieldsProps, TariffCommonFields } from \"./types\"\nimport CommonTariffFieldsSchema from \"./schema\"\nimport commonTariffFields from \"./fields\"\nimport { ResourceTypes } from \"../../../types\"\nimport InputByType from \"../../InputByType\"\nimport TariffReplacementFields from \"../../TariffReplacementFields\"\nimport FormBottom from \"../../FormBottom\"\nimport { ResourceValues } from \"../../../content/listOptions\"\n\nfunction CommonTariffFields(props: CommonTariffFieldsProps) {\n const { resource, setResource, setReplaceable, creationForm } = props\n const form = useForm<TariffCommonFields>({\n defaultValues: {\n ...creationForm.fields,\n resourceType: resource,\n country: {\n id: 1,\n name: \"Russian Federation\",\n },\n },\n resolver: yupResolver(CommonTariffFieldsSchema),\n })\n\n const handleSubmit = (data: TariffCommonFields) => {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n }\n\n const changeResource = (\n e: ChangeEvent<HTMLInputElement>,\n newResource: ResourceTypes\n ) => {\n setResource(newResource)\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <Grid container spacing={2}>\n <Grid item xs={12}>\n <StyledRadioGroup\n title=\"\"\n form={form}\n options={ResourceValues}\n name=\"resourceType\"\n onChange={changeResource}\n />\n </Grid>\n {commonTariffFields.map(({ size, ...field }) => (\n <Grid item xs={size || 6} key={field.name}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n <Grid item xs={12}>\n <TariffReplacementFields\n setReplaceable={setReplaceable}\n resource={resource}\n form={form}\n />\n </Grid>\n </Grid>\n </Box>\n <FormBottom\n label=\"Next\"\n endIcon={<NextArrowIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleSubmit)}\n />\n </form>\n )\n}\n\nexport default observer(CommonTariffFields)\n\nconst StyledRadioGroup = styled(RadioGroupWithLabel)`\n padding: 3px;\n`\n","import * as yup from \"yup\"\r\n\r\nconst ChangeReasonTariffFieldsSchema = yup.object().shape({\r\n reason: yup.object({\r\n file: yup.mixed().required(\"Required field\"),\r\n }),\r\n})\r\n\r\nexport default ChangeReasonTariffFieldsSchema\r\n","import React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useForm } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { TariffCreationFormFields } from \"../types\"\nimport ChangeReasonTariffFieldsSchema from \"./schema\"\nimport { ChangeReasonTariffFieldsProps } from \"./types\"\nimport { ChangeReasonFormFields } from \"../../ChangeReasonFields/types\"\nimport ChangeReasonFields from \"../../ChangeReasonFields\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction ChangeReasonTariffFields({\n handleSubmit,\n creationForm,\n}: ChangeReasonTariffFieldsProps) {\n const form = useForm<ChangeReasonFormFields>({\n defaultValues: creationForm.fields as ChangeReasonFormFields,\n resolver: yupResolver(ChangeReasonTariffFieldsSchema),\n })\n\n const handleFormSubmit = async (data: ChangeReasonFormFields) => {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <ChangeReasonFields form={form} />\n </Box>\n <FormBottom\n label=\"Create group\"\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default observer(ChangeReasonTariffFields)\n","import * as yup from \"yup\"\r\n\r\nconst ElectricityTariffFieldsSchema = yup.object().shape({\r\n T1: yup\r\n .number()\r\n .positive()\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default ElectricityTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport styled from \"@emotion/styled\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { InputWithController } from \"kui-complex\"\nimport { ElectricityTariffCreationFormFields } from \"./types\"\nimport ElectricityTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFieldsProps, TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction ElectricityTariffCreationFields(props: TariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm } = props\n const form = useForm<ElectricityTariffCreationFormFields>({\n defaultValues: creationForm.fields as ElectricityTariffCreationFormFields,\n resolver: yupResolver(ElectricityTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: ElectricityTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <StyledInput\n form={form}\n name=\"T1\"\n label=\"One-part\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"T2\"\n label=\"Two-part\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"T3\"\n label=\"Three-part\"\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default ElectricityTariffCreationFields\n\nconst StyledInput = styled(InputWithController)`\n margin-top: 16px;\n &:first-child {\n margin-top: 0;\n }\n`\n","import * as yup from \"yup\"\r\n\r\nconst WaterTariffFieldsSchema = yup.object().shape({\r\n cold: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n sewerage: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default WaterTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport styled from \"@emotion/styled\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { InputWithController } from \"kui-complex\"\nimport { WaterTariffCreationFormFields } from \"./types\"\nimport WaterTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFieldsProps, TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction WaterTariffCreationFields(props: TariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm } = props\n const form = useForm<WaterTariffCreationFormFields>({\n defaultValues: creationForm.fields as WaterTariffCreationFormFields,\n resolver: yupResolver(WaterTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: WaterTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <StyledInput\n form={form}\n name=\"cold\"\n label=\"Cold\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"hot\"\n label=\"Hot\"\n type=\"number\"\n step={0.001}\n />\n <StyledInput\n form={form}\n name=\"sewerage\"\n label=\"Sewer\"\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default WaterTariffCreationFields\n\nconst StyledInput = styled(InputWithController)`\n margin-top: 16px;\n &:first-child {\n margin-top: 0;\n }\n`\n","import * as yup from \"yup\"\r\n\r\nconst SingleTariffFieldsSchema = yup.object().shape({\r\n value: yup\r\n .number()\r\n .min(0)\r\n .required(\"Required field\")\r\n .transform((value) => (Number.isNaN(value) ? undefined : value)),\r\n})\r\n\r\nexport default SingleTariffFieldsSchema\r\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { Box } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { InputWithController } from \"kui-complex\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport {\n SingleTariffCreationFieldsProps,\n SingleTariffCreationFormFields,\n} from \"./types\"\nimport SingleTariffFieldsSchema from \"./schema\"\nimport { TariffCreationFormFields } from \"../types\"\nimport FormBottom from \"../../FormBottom\"\n\nfunction SingleTariffCreationFields(props: SingleTariffCreationFieldsProps) {\n const { isReplaceable, handleSubmit, creationForm, label } = props\n const form = useForm<SingleTariffCreationFormFields>({\n defaultValues: creationForm.fields as SingleTariffCreationFormFields,\n resolver: yupResolver(SingleTariffFieldsSchema),\n })\n\n const handleFormSubmit = (data: SingleTariffCreationFormFields) => {\n if (isReplaceable) {\n creationForm.setFormFields(data)\n creationForm.nextStep()\n } else {\n handleSubmit({\n ...creationForm.fields,\n ...data,\n } as TariffCreationFormFields)\n }\n }\n\n return (\n <form>\n <Box pl={5} pr={5} mb={3}>\n <InputWithController\n form={form}\n name=\"value\"\n label={label}\n type=\"number\"\n step={0.001}\n />\n </Box>\n <FormBottom\n label={isReplaceable ? \"Next\" : \"Create\"}\n endIcon={isReplaceable ? <NextArrowIcon /> : <CheckIcon />}\n type=\"button\"\n handleClick={form.handleSubmit(handleFormSubmit)}\n />\n </form>\n )\n}\n\nexport default SingleTariffCreationFields\n","import React, { useState } from \"react\"\nimport { observer } from \"mobx-react\"\nimport _ from \"lodash\"\nimport { MultistepForm } from \"kui-utils\"\nimport CommonTariffFields from \"./CommonTariffFields\"\nimport ChangeReasonTariffFields from \"./ChangeReasonTariffFields\"\nimport { TariffCreationFormFields, TariffCreationFormProps } from \"./types\"\nimport ElectricityTariffCreationFields from \"./ElectricityTariffCreationFields\"\nimport WaterTariffCreationFields from \"./WaterTariffCreationFields\"\nimport SingleTariffCreationFields from \"./SingeTariffCreatingFields\"\nimport { ResourceTypes } from \"../../types\"\n\nconst renderFieldsByResource = (\n resource: ResourceTypes,\n isReplaceable: boolean,\n handleSubmit: (data: TariffCreationFormFields) => void,\n creationForm: MultistepForm<TariffCreationFormFields>\n) => {\n switch (resource) {\n case \"electricity\":\n return (\n <ElectricityTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n case \"water\":\n return (\n <WaterTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n default:\n return (\n <SingleTariffCreationFields\n isReplaceable={isReplaceable}\n handleSubmit={handleSubmit}\n label={`${_.capitalize(resource)} tariff`}\n creationForm={creationForm}\n />\n )\n }\n}\n\nfunction TariffCreationForm(props: TariffCreationFormProps) {\n const { handleClose, creationForm, createTariff, defaultResource } = props\n const [resource, setResource] = useState<ResourceTypes>(defaultResource)\n const [isReplaceable, setReplaceable] = useState(false)\n\n const handleSubmit = async (data: TariffCreationFormFields) => {\n handleClose()\n await createTariff(data)\n creationForm.resetForm()\n }\n\n switch (creationForm.step) {\n case 2:\n return renderFieldsByResource(\n resource,\n isReplaceable,\n handleSubmit,\n creationForm\n )\n case 3:\n return (\n <ChangeReasonTariffFields\n handleSubmit={handleSubmit}\n creationForm={creationForm}\n />\n )\n default:\n return (\n <CommonTariffFields\n setReplaceable={setReplaceable}\n resource={resource}\n setResource={setResource}\n creationForm={creationForm}\n />\n )\n }\n}\n\nexport default observer(TariffCreationForm)\nexport type {\n ElectricityTariffCreationFields,\n GasTariffCreationFields,\n HeatingTariffCreationFields,\n TariffCreationFormFields,\n TariffCreationFormProps,\n TariffCreationFieldsProps,\n WaterTariffCreationFields,\n TariffCreationValuesFields,\n} from \"./types\"\nexport { default as CommonTariffFieldsSchema } from \"./CommonTariffFields/schema\"\n","import React from \"react\"\nimport { TariffCreationModalProps } from \"./types\"\nimport Modal from \"../Modal\"\nimport TariffCreationForm from \"../TariffCreationForm\"\n\nfunction TariffCreationModal(props: TariffCreationModalProps) {\n const { open, handleClose, ...formProps } = props\n\n return (\n <Modal title=\"New tariff group\" open={open} handleClose={handleClose}>\n <TariffCreationForm handleClose={handleClose} {...formProps} />\n </Modal>\n )\n}\n\nexport default TariffCreationModal\n","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { AutocompleteOption, InputWithAutocomplete } from \"kui-complex\"\nimport { TariffGroupAutocompleteProps } from \"./types\"\nimport TariffsLiteStore from \"../../store/TariffsLiteStore\"\nimport { useAutocomplete } from \"../../hooks\"\nimport { TariffGroupLiteParams } from \"../../types\"\nimport { TariffCreationFormFields } from \"../TariffCreationForm/types\"\nimport { ModalProps } from \"../Modal/types\"\nimport TariffCreationModal from \"../TariffCreationModal\"\n\nfunction TariffGroupAutocomplete<TFormValues extends object>(\n props: TariffGroupAutocompleteProps<TFormValues>\n) {\n const {\n form,\n name,\n label,\n resource,\n filter: filterQuery,\n filterRequired,\n ...otherProps\n } = props\n const tariffsStoreRef = useRef(new TariffsLiteStore())\n const tariffsStore = tariffsStoreRef.current\n const { tariffs, paginator, fetchAll, loader, filter } = tariffsStore\n\n const fetchAllByResource = useCallback(() => {\n if (filterRequired ? filter.filterQuery : true) {\n fetchAll(resource)\n }\n }, [resource, filter.filterQuery])\n\n const { onSearchItem, onScrollEnd } = useAutocomplete(\n filter,\n paginator,\n fetchAllByResource\n )\n\n const onSelectItem = (item: TariffGroupLiteParams | null) => {\n form.setValue(`${name}.id`, item?.id)\n form.setValue(`${name}.type`, resource)\n form.setValue(`${name}.name`, item?.name, { shouldValidate: true })\n }\n\n const onCreate = async (data: TariffCreationFormFields) => {\n const tariff = await tariffsStore.createTariff(data)\n if (tariff) onSelectItem(tariff)\n }\n\n useEffect(() => {\n filter.updateFilterQuery(filterQuery)\n }, [filterQuery])\n\n return (\n <InputWithAutocomplete\n renderOption={(option: TariffGroupLiteParams) => (\n <AutocompleteOption label={option.name} />\n )}\n options={tariffs}\n isLoading={loader.isLoading}\n label={label}\n form={form}\n name={`${name}.name`}\n hideName={`${name}.id`}\n onSelectItem={onSelectItem}\n onSearchItem={onSearchItem}\n handleScrollEnd={onScrollEnd}\n creatingLabel=\"Add new tariff group\"\n renderCreatingModal={(modalProps: ModalProps) => (\n <TariffCreationModal\n creationForm={tariffsStore.creationForm}\n createTariff={onCreate}\n defaultResource={resource}\n {...modalProps}\n />\n )}\n {...otherProps}\n />\n )\n}\n\nTariffGroupAutocomplete.defaultProps = {\n name: \"tariffGroup\",\n}\n\nexport default observer(TariffGroupAutocomplete)\nexport type { TariffGroupAutocompleteFields } from \"./types\"\n","import _ from \"lodash\"\nimport { InputFile } from \"kui-complex\"\nimport { addToArrayByCondition } from \"kui-utils\"\nimport { DateTime } from \"luxon\"\nimport { MeterFeaturesFormFields, RenderMeterFieldsSettings } from \"./types\"\nimport { InputByTypeProps } from \"../InputByType\"\nimport {\n ElectricityMeterTypes,\n ResourceTypes,\n WaterMeterTypes,\n} from \"../../types\"\nimport PartialPayer from \"../PartialPayer\"\nimport TariffGroupAutocomplete from \"../TariffGroupAutocomplete\"\nimport CompanyAutocomplete from \"../CompanyAutocomplete\"\n\ntype ValueFieldVariant = \"initial\" | \"last\"\n\nconst inputStep = 0.00001\n\nconst fieldsToColumns = (\n firstRow: InputByTypeProps<MeterFeaturesFormFields>[],\n secondRow: InputByTypeProps<MeterFeaturesFormFields>[]\n) => {\n const res: MeterFeaturesFormFields[] = []\n firstRow.forEach((field, key) => {\n res.push(field)\n res.push(secondRow[key])\n })\n return res\n}\n\nconst getValuesFields = (\n resource: ResourceTypes | undefined,\n variant: ValueFieldVariant,\n meterType?: ElectricityMeterTypes | WaterMeterTypes | null\n) => {\n const label = `${_.capitalize(variant)} value`\n const name = `${variant}Value`\n\n if (resource === \"electricity\") {\n return [\n {\n label: `${label} T1`,\n name: `${name}T1`,\n type: \"number\",\n step: inputStep,\n },\n ...addToArrayByCondition(meterType !== \"T1\", {\n label: `${label} T2`,\n name: `${name}T2`,\n type: \"number\",\n step: inputStep,\n }),\n ...addToArrayByCondition(meterType === \"T3\", {\n label: `${label} T3`,\n name: `${name}T3`,\n type: \"number\",\n step: inputStep,\n }),\n ]\n }\n return [{ label, name, type: \"number\", step: inputStep }]\n}\n\nconst commonMeterFields = ({\n withPassport,\n isNewResource,\n withLastValue,\n resource,\n tariffFilter,\n disableOperatingAccount,\n handleCompanyChange,\n withNextCheck,\n apartmentId,\n}: RenderMeterFieldsSettings) => [\n {\n label: \"Activation date\",\n name: \"startDate\",\n variant: \"date\",\n max: DateTime.now(),\n },\n ...addToArrayByCondition(withPassport, {\n label: \"Passport\",\n name: \"passportFile\",\n variant: \"custom\",\n CustomInput: InputFile,\n }),\n ...addToArrayByCondition(withNextCheck, {\n label: \"Next check\",\n name: \"nextCheck\",\n variant: \"date\",\n }),\n ...addToArrayByCondition(isNewResource, {\n title: \"Payer\",\n name: \"meterPayer\",\n variant: \"custom\",\n size: 12,\n CustomInput: PartialPayer,\n utilityType: resource,\n }),\n {\n label: \"Tariff group\",\n name: \"tariff\",\n resource,\n filter: tariffFilter,\n filterRequired: true,\n variant: \"custom\",\n CustomInput: TariffGroupAutocomplete,\n size: withLastValue && !withPassport ? 6 : 12,\n },\n {\n name: \"company\",\n variant: \"custom\",\n CustomInput: CompanyAutocomplete,\n size: 12,\n handleSelect: handleCompanyChange,\n forApartment: apartmentId,\n },\n {\n label: \"Operational account number\",\n name: \"operationalAccountNumber\",\n disabled: disableOperatingAccount,\n size: 12,\n },\n]\n\nconst fieldsOfNewResourceMeter = (settings: RenderMeterFieldsSettings) => [\n { label: \"Number\", name: \"number\" },\n ...getValuesFields(settings.resource, \"initial\", settings.meterType),\n ...commonMeterFields(settings),\n]\n\nconst fieldsOfOldResourceMeter = (settings: RenderMeterFieldsSettings) => [\n ...fieldsToColumns(\n getValuesFields(settings.resource, \"last\", settings.meterType),\n getValuesFields(settings.resource, \"initial\", settings.meterType)\n ),\n { label: \"Number\", name: \"number\" },\n ...commonMeterFields(settings),\n]\n\nconst getMeterFields = (\n settings: RenderMeterFieldsSettings\n): InputByTypeProps<MeterFeaturesFormFields>[] =>\n settings.withLastValue\n ? fieldsOfOldResourceMeter(settings)\n : fieldsOfNewResourceMeter(settings)\n\nexport default getMeterFields\n","/** @jsxImportSource @emotion/react */\nimport React, { ChangeEvent, useEffect } from \"react\"\nimport { UseFormReturn } from \"react-hook-form\"\nimport { observer } from \"mobx-react\"\nimport { FieldValues } from \"react-hook-form/dist/types/fields\"\nimport { RadioGroupWithLabel } from \"kui-complex\"\nimport { LiteMeterInterface } from \"../../types\"\n\ntype ReplaceableCountersBlockProps<TFormValue extends FieldValues> = {\n form: UseFormReturn<TFormValue>\n counters: LiteMeterInterface[]\n setIsReplaceable: (value: boolean) => void\n}\n\nfunction ReplaceableCountersBlock<TFormValues extends FieldValues>({\n form,\n counters,\n setIsReplaceable,\n}: ReplaceableCountersBlockProps<TFormValues>) {\n const options = counters.map((counter) => ({\n label: counter.number,\n value: counter.id,\n }))\n\n const handleChange = (\n e: ChangeEvent<HTMLInputElement>,\n value: string | null\n ) => {\n if (value) setIsReplaceable(true)\n else setIsReplaceable(false)\n }\n\n useEffect(() => () => setIsReplaceable(false))\n\n return (\n <RadioGroupWithLabel\n isSquare\n fullWidth\n title=\"Replacement meter\"\n direction=\"vertical\"\n form={form}\n name=\"replaceableCounter\"\n options={options}\n defaultValue=\"none\"\n data-testid=\"replaceable_counters\"\n onChange={handleChange}\n />\n )\n}\n\nexport default observer(ReplaceableCountersBlock)\n","import React, { useEffect, useMemo, useState } from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { Grid } from \"kui-basic\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { CheckIcon, NextArrowIcon } from \"kui-icon\"\nimport { MeterFeaturesFieldsProps, MeterFeaturesFormFields } from \"./types\"\nimport getMeterFeaturesFieldsSchema from \"./schema\"\nimport { CompanyLiteParams } from \"../../types/store/company\"\nimport getMeterFields from \"./fields\"\nimport FormWrapper from \"../FormWrapper\"\nimport InputByType from \"../InputByType\"\nimport ReplaceableCountersBlock from \"../ReplaceableCountersBlock\"\n\nfunction MeterFeaturesFields(props: MeterFeaturesFieldsProps) {\n const { resource, replacements, isNewResource, meterType, maxMeters } = props\n const { handleSubmit, renderMeterType, withLastValue, setIsReplaceable } =\n props\n const { operatingAccount, administrativeCompany, apartmentId, withPassport } =\n props\n const { formBottomProps, defaultValues, withNextCheck } = props\n const [disableOperatingAccount, setDisableOperatingAccount] = useState(false)\n const withMeterType = resource === \"water\" || resource === \"electricity\"\n const tariffFilter = `${apartmentId ? `&for_apartment=${apartmentId}` : \"\"}${\n withMeterType && meterType ? `&type=${meterType}` : \"\"\n }`\n\n const handleCompanyChange = (company: CompanyLiteParams) => {\n if (!operatingAccount && company.id === administrativeCompany?.id) {\n form.setValue(\n \"operationalAccountNumber\",\n administrativeCompany?.operatingAccount\n )\n setDisableOperatingAccount(true)\n } else {\n setDisableOperatingAccount(false)\n }\n }\n\n const meterFields = getMeterFields({\n resource,\n isNewResource,\n withLastValue,\n withPassport,\n meterType,\n tariffFilter,\n disableOperatingAccount,\n withNextCheck,\n handleCompanyChange,\n apartmentId,\n })\n const valueFieldsName = meterFields\n .filter((field) => field.type === \"number\")\n .map((field) => field.name)\n const meterFeaturesFieldsSchema = getMeterFeaturesFieldsSchema(\n valueFieldsName,\n !!maxMeters && Number(replacements?.length) >= Number(maxMeters)\n )\n const form = useMemo(\n () =>\n useForm<MeterFeaturesFormFields>({\n resolver: yupResolver(meterFeaturesFieldsSchema),\n defaultValues: {\n operationalAccountNumber: operatingAccount,\n ...defaultValues,\n },\n values: defaultValues as MeterFeaturesFormFields,\n }),\n [meterFeaturesFieldsSchema]\n )\n\n useEffect(() => {\n if (!replacements || replacements?.length === 0) {\n form.setValue(\"replaceableCounter\", \"\")\n }\n }, [replacements])\n\n return (\n <FormWrapper\n form={form}\n onSubmit={handleSubmit as any}\n label={withLastValue ? \"Next\" : \"Create meter\"}\n endIcon={withLastValue ? <NextArrowIcon /> : <CheckIcon />}\n {...formBottomProps}\n >\n <Grid container spacing={2}>\n {renderMeterType && (\n <Grid item xs={12}>\n {renderMeterType(form)}\n </Grid>\n )}\n\n {replacements && replacements.length > 0 && (\n <Grid item xs={12}>\n <ReplaceableCountersBlock\n form={form}\n counters={replacements}\n setIsReplaceable={setIsReplaceable}\n />\n </Grid>\n )}\n\n {meterFields.map(({ size, ...field }) => (\n <Grid item key={field.name} xs={size || 6}>\n <InputByType form={form} {...field} />\n </Grid>\n ))}\n </Grid>\n </FormWrapper>\n )\n}\n\nexport default MeterFeaturesFields\nexport type {\n MeterFeaturesFormFields,\n MeterFeaturesFieldsProps,\n RenderMeterFieldsSettings,\n} from \"./types\"\nexport { getMeterFields, getMeterFeaturesFieldsSchema }\n","import React from \"react\"\nimport { InputSelectWithController } from \"kui-complex\"\nimport { MeterTypeRadioGroupProps } from \"./types\"\nimport { ElectricityValues, WaterValues } from \"../../content/listOptions\"\n\nfunction MeterTypeRadioGroup(props: MeterTypeRadioGroupProps) {\n const { resource, ...other } = props\n\n return (\n <InputSelectWithController\n label=\"Meter type\"\n options={resource === \"water\" ? WaterValues : ElectricityValues}\n name=\"type\"\n testId=\"type\"\n {...other}\n />\n )\n}\n\nexport default MeterTypeRadioGroup\n","import React, { useEffect, useState } from \"react\"\nimport { UseFormReturn } from \"react-hook-form\"\nimport { MeterFeaturesFormProps } from \"./types\"\nimport { MeterFeaturesFormFields } from \"../MeterFeaturesFields/types\"\nimport MeterFeaturesFields from \"../MeterFeaturesFields\"\nimport { ElectricityMeterTypes, WaterMeterTypes } from \"../../types\"\nimport MeterTypeRadioGroup from \"../MeterTypeRadioGroup\"\n\nfunction MeterFeaturesForm(props: MeterFeaturesFormProps) {\n const {\n formStore,\n handleSubmit,\n resource,\n maxMeters,\n handleMeterTypeChange,\n defaultValues,\n ...other\n } = props\n const [isReplaceable, setIsReplaceable] = useState(false)\n\n const withMeterType =\n (resource === \"water\" && maxMeters !== 1) || resource === \"electricity\"\n const defaultType = resource === \"water\" ? \"cold\" : \"T1\"\n const defaultMeterType = withMeterType ? defaultType : null\n const [meterType, setMeterType] = useState<\n ElectricityMeterTypes | WaterMeterTypes | null\n >(defaultValues?.type || defaultMeterType)\n\n useEffect(() => {\n if (handleMeterTypeChange) {\n handleMeterTypeChange(meterType)\n }\n }, [meterType])\n\n const handleFormSubmit = (data: MeterFeaturesFormFields) => {\n if (isReplaceable) {\n formStore?.updateFormFields(data)\n formStore?.nextStep()\n } else if (handleSubmit) {\n handleSubmit(data)\n }\n }\n\n return (\n <MeterFeaturesFields\n resource={resource}\n handleSubmit={handleFormSubmit}\n meterType={meterType}\n maxMeters={maxMeters}\n withLastValue={isReplaceable}\n setIsReplaceable={setIsReplaceable}\n defaultValues={defaultValues}\n renderMeterType={\n withMeterType\n ? (form: UseFormReturn<MeterFeaturesFormFields>) => (\n <MeterTypeRadioGroup\n form={form}\n resource={resource}\n handleChange={setMeterType}\n />\n )\n : null\n }\n {...other}\n />\n )\n}\n\nexport default MeterFeaturesForm\n","import * as yup from \"yup\"\n\nconst SignInFormSchema = yup.object().shape({\n phone: yup.string().trim().required(\"This field is required\"),\n password: yup.string().trim().required(\"This field is required\"),\n})\n\nexport default SignInFormSchema\n","import React from \"react\"\nimport { useForm } from \"react-hook-form\"\nimport { yupResolver } from \"@hookform/resolvers/yup\"\nimport { Button, Box } from \"kui-basic\"\nimport { InputWithController } from \"kui-complex\"\nimport styled from \"@emotion/styled\"\nimport { SignInFormFields, SignInFormProps } from \"./types\"\nimport SignInFormSchema from \"./schema\"\n\nfunction SignInForm({ onSubmit }: SignInFormProps) {\n const form = useForm<SignInFormFields>({\n resolver: yupResolver(SignInFormSchema),\n })\n\n return (\n <form data-testid=\"sign_in_form\" onSubmit={form.handleSubmit(onSubmit)}>\n <Box mb={4}>\n <InputWithController\n data-testid=\"username\"\n label=\"Login\"\n name=\"phone\"\n form={form}\n />\n </Box>\n <Box mb={5}>\n <InputWithController\n data-testid=\"password\"\n label=\"Password\"\n name=\"password\"\n type=\"password\"\n form={form}\n />\n </Box>\n <StyledButton data-testid=\"submit_btn\" fullWidth type=\"submit\">\n Sign in\n </StyledButton>\n </form>\n )\n}\n\nexport default SignInForm\n\nconst StyledButton = styled(Button)`\n max-width: 120px;\n`\n","export default \"1521f2ef9cc95488.png\"","import * as React from \"react\"\nimport { observer } from \"mobx-react\"\nimport styled from \"@emotion/styled\"\nimport { Caption, Heading, Box, Grid, Container, theme } from \"kui-basic\"\nimport { MaroomIcon } from \"kui-icon\"\nimport { Loading } from \"kui-complex\"\nimport SignInForm from \"../SignInForm\"\nimport { SignInPageProps } from \"./types\"\n// @ts-ignore\nimport bgImage from \"./login_bg.png\"\n\nconst SignInPage = (props: SignInPageProps) => {\n const { handleSubmit, isLoading, err } = props\n\n return (\n <StyledWrapper>\n <StyledBackground src={bgImage} />\n\n <StyledContainer>\n <StyledCardWrapper container alignItems=\"center\">\n <StyledCard>\n <Box mb={4}>\n <MaroomIcon width={143} height={32} />\n </Box>\n <Box mb={1}>\n <Heading>Welcome</Heading>\n </Box>\n {isLoading ? (\n <Loading height=\"65%\" />\n ) : (\n <div>\n <ErrorBlock mb={1}>\n <Caption weight={600}>\n {err && \"Вы ввели неверные данные\"}\n </Caption>\n </ErrorBlock>\n <SignInForm onSubmit={handleSubmit} />\n </div>\n )}\n </StyledCard>\n </StyledCardWrapper>\n </StyledContainer>\n </StyledWrapper>\n )\n}\n\nexport default observer(SignInPage)\n\nconst StyledWrapper = styled.div`\n height: 100vh;\n width: 100vw;\n position: relative;\n`\n\nconst StyledBackground = styled.img`\n height: 100%;\n width: 100%;\n position: absolute;\n top: 0;\n left: 0;\n overflow: hidden;\n object-position: bottom center;\n object-fit: cover;\n`\n\nconst StyledCard = styled.div`\n background: ${theme.palette.grey.zero};\n border-radius: 16px;\n box-shadow: 0px 0px 1px rgba(10, 31, 68, 0.1),\n 0px 26px 26px rgba(10, 31, 68, 0.12);\n width: 496px;\n height: 512px;\n padding: 64px 48px;\n box-sizing: border-box;\n z-index: 1;\n @media (max-width: 960px) {\n width: 100%;\n padding: 32px 24px;\n height: 455px;\n }\n`\n\nconst ErrorBlock = styled(Box)`\n height: 24px;\n p: {\n color: ${theme.palette.red.fiftyP};\n },\n`\n\nconst StyledContainer = styled(Container)`\n height: 100%;\n`\n\nconst StyledCardWrapper = styled(Grid)`\n height: 100%;\n`\n","import { addToArrayByCondition } from \"kui-utils\"\nimport { ApartmentFillingVariants } from \"../types\"\nimport { InputParams } from \"../components/InputByType\"\nimport { FillingInfoFormFields } from \"../types/form/fillingForm\"\nimport { FillingTypeValues } from \"../content/listOptions\"\nimport FillingTagsAutocomplete from \"../components/FillingTagsAutocomplete\"\nimport InputFileWithVisibility from \"../components/InputFileWithVisibility\"\n\nconst getFillingInfoFields = (\n withType: boolean,\n type: ApartmentFillingVariants,\n setType: (fillingType: ApartmentFillingVariants) => void\n): InputParams<FillingInfoFormFields>[] => [\n ...addToArrayByCondition(withType, {\n label: \"Filling type\",\n name: \"type\",\n variant: \"select\",\n options: FillingTypeValues,\n handleChange: setType,\n }),\n {\n label: \"Name (tag)\",\n name: \"tag\",\n type,\n variant: \"custom\",\n CustomInput: FillingTagsAutocomplete,\n },\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Serial code\",\n name: \"serialNumber\",\n size: 6,\n }),\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Amount\",\n name: \"numberOfSubjects\",\n type: \"number\",\n size: 6,\n }),\n { label: \"Description\", name: \"name\", isTextArea: true },\n ...addToArrayByCondition(type !== \"finish\", {\n label: \"Instruction\",\n name: \"instruction\",\n variant: \"custom\",\n CustomInput: InputFileWithVisibility,\n }),\n]\n\nexport default getFillingInfoFields\n","import { InputFileWithVisibilityFields } from \"../components/InputFileWithVisibility/types\"\nimport { matchesAPIVisibilityVariants } from \"./matches\"\n\nexport const setFileFromFileWithVisibility = (\n formData: FormData,\n document: InputFileWithVisibilityFields,\n fileField: string,\n nameField?: string,\n visibilityField?: string,\n withUrl?: boolean\n) => {\n if (document && \"file\" in document && document.file instanceof File) {\n formData.append(fileField, document.file)\n } else if (document && \"url\" in document && withUrl) {\n formData.append(fileField, document.url)\n }\n\n if (document && nameField && \"name\" in document) {\n const name = document.name.split(\".\")\n if (name.length > 1) name.pop()\n formData.append(nameField, name.join(\"\"))\n }\n\n if (visibilityField && document?.visibility) {\n formData.append(\n visibilityField,\n matchesAPIVisibilityVariants[document.visibility]\n )\n }\n}\n","import * as yup from \"yup\"\nimport { isValidWithMaskExp } from \"kui-utils\"\nimport { defaultRequiredMessage } from \"./constants\"\nimport { PhoneParams } from \"../types\"\n\nexport const phoneSchema = yup.object({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n})\n\nexport const positiveNumberSchema = yup\n .number()\n .min(0)\n .required(defaultRequiredMessage)\n\nexport const phoneWithConditionSchema = (condition: string) =>\n yup\n .object({\n phoneNumber: yup.string().nullable(),\n })\n .when(condition, {\n is: (value: string) => value === \"true\",\n then: (rule) =>\n rule.shape({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n }),\n })\n .nullable()\n\nexport const phoneNonRequiredSchema = (name: string) =>\n yup\n .object({ phoneNumber: yup.string().nullable() })\n .when(name, {\n is: (value: PhoneParams) => value?.phoneNumber,\n then: (rule) =>\n rule.shape({\n phoneNumber: yup\n .string()\n .matches(isValidWithMaskExp, \"Enter the correct phone\")\n .required(\"Enter the phone\"),\n }),\n })\n .nullable()\n","import to from \"await-to-js\"\nimport { UploadFileParams } from \"kui-complex/dist/FileItem\"\nimport { Loader, promisesWithCallback } from \"kui-utils\"\nimport {\n FileWithVisibility,\n InputFileWithVisibilityFields,\n} from \"../components/InputFileWithVisibility/types\"\nimport { setFileFromFileWithVisibility } from \"./reqHandler\"\nimport { matchesAPIVisibilityVariants } from \"./matches\"\nimport {\n DocumentVisibilityVariants,\n FileParams,\n UploadDocumentParams,\n} from \"../types\"\nimport {\n DocumentVisibilityAPIVariants,\n FileBodyRequest,\n ImageBodyRequest,\n UploadFileResponse,\n} from \"../types/api/common\"\nimport UploadAgent from \"../agent/Upload\"\n\nconst getBodyForPostImage = (data: Partial<FileParams>) => {\n const formData = new FormData()\n if (data.file) {\n formData.append(\"upload\", data.file, data.name ? data.name : data.file.name)\n }\n\n return formData\n}\n\nconst getBodyForPostFile = (file: InputFileWithVisibilityFields | File) => {\n const formData = new FormData()\n if (file instanceof File) {\n formData.append(\"upload\", file)\n } else {\n setFileFromFileWithVisibility(formData, file, \"upload\")\n }\n return formData\n}\n\nconst getBodyForPostDocument = (file: UploadDocumentParams) => {\n const formData = new FormData()\n if (file) {\n formData.append(\"upload\", file.file as File)\n }\n return formData\n}\n\nconst getBodyForFileRequest = (\n file: FileWithVisibility | UploadDocumentParams,\n res?: UploadFileResponse\n) =>\n res\n ? {\n temp_file_id: res.id,\n name: file?.file?.name?.replace(/\\.[^/.]+$/, \"\") || `file_${res.id}`,\n visibility: matchesAPIVisibilityVariants[\n file.visibility as DocumentVisibilityVariants\n ] as DocumentVisibilityAPIVariants,\n }\n : null\n\nconst getBodyForCleanFileRequest = (file: File, res?: UploadFileResponse) =>\n res ? { temp_file_id: res.id, name: file.name } : null\n\nconst createImage = async (loader: Loader, data: Partial<FileParams>) => {\n loader.cleanError()\n\n const body = getBodyForPostImage(data)\n\n const [err, res] = await to<UploadFileResponse>(UploadAgent.uploadImage(body))\n\n if (err) loader.setError(\"load image\", err)\n\n return res\n}\n\nconst createFile = async (loader: Loader, file: FileWithVisibility | File) => {\n loader.cleanError()\n\n const body = getBodyForPostFile(file)\n\n const [err, res] = await to<UploadFileResponse>(\n UploadAgent.uploadDocument(body)\n )\n\n if (err) loader.setError(\"load document\", err)\n\n return res\n}\n\nconst createDocument = async (loader: Loader, file: UploadDocumentParams) => {\n loader.cleanError()\n\n const body = getBodyForPostDocument(file)\n\n const [err, res] = await to<UploadFileResponse>(\n UploadAgent.uploadDocument(body)\n )\n\n if (err) loader.setError(\"load document\", err)\n\n return res\n}\n\nconst uploadImages = async (\n loader: Loader,\n images: UploadFileParams[],\n callback?: Function\n) => {\n const results = await promisesWithCallback(\n images.map((file) => createImage(loader, file as FileParams)),\n callback\n )\n return results\n .map((result, index) =>\n result.status === \"fulfilled\"\n ? {\n temp_file_id: result.value.id,\n image_name: images[index].name?.replace(/\\.[^/.]+$/, \"\"),\n }\n : null\n )\n .filter((result) => result) as ImageBodyRequest[]\n}\n\nconst uploadFile = async (\n loader: Loader,\n file: FileWithVisibility | File\n): Promise<FileBodyRequest | null> => {\n let res\n if (file) {\n res = await createFile(loader, file)\n }\n\n return file instanceof File\n ? getBodyForCleanFileRequest(file, res)\n : getBodyForFileRequest(file, res)\n}\n\nconst uploadNewFile = async (\n loader: Loader,\n document: InputFileWithVisibilityFields | File\n) => {\n if (\n document &&\n ((\"file\" in document && document.file instanceof File) ||\n document instanceof File)\n ) {\n const res = await uploadFile(loader, document)\n return res\n }\n return null\n}\n\nconst uploadFiles = async (\n loader: Loader,\n files: (InputFileWithVisibilityFields | File)[]\n): Promise<FileBodyRequest[]> => {\n const res = await Promise.allSettled(\n files.map((file) => uploadNewFile(loader, file))\n )\n\n return res\n .map((result) => (result.status === \"fulfilled\" ? result.value : null))\n .filter((result) => result) as FileBodyRequest[]\n}\n\nconst uploadDocuments = async (\n loader: Loader,\n documents: UploadDocumentParams[]\n) => {\n const results = await promisesWithCallback(\n documents.map((file) => createDocument(loader, file))\n )\n return results\n .map((result, index) =>\n result.status === \"fulfilled\"\n ? getBodyForFileRequest(documents[index], result.value)\n : null\n )\n .filter((result) => result) as FileBodyRequest[]\n}\n\nconst uploadDocument = async (\n loader: Loader,\n file: UploadDocumentParams\n): Promise<FileBodyRequest | null> => {\n const res = await createDocument(loader, file)\n\n return getBodyForFileRequest(file, res)\n}\n\nexport {\n uploadImages,\n uploadFile,\n uploadFiles,\n uploadDocuments,\n uploadDocument,\n uploadNewFile,\n}\n"],"names":["axios","KUISettings","deleteCookie","getCookie","to","resHandler","Loader","Paginator","SortingFilter","makeAutoObservable","useEffect","useDebounce","useRef","useState","useWatch","_jsx","InputWithAutocomplete","AutocompleteOption","observer","getVisibilitySettings","getVisibility","_jsxs","InputFile","Box","CheckboxGroupWithTitle","InputWithDatePicker","InputSelectWithController","InputPhoneWithForm","InputWithMask","InputWithController","StyledWrapper","Grid","Caption","styled","theme","StyledImage","Heading","css","templateObject_1","templateObject_2","templateObject_3","templateObject_4","StyledModal","KUIModal","yup","parentClassName","createParentNode","_Fragment","Global","containerCSS","createPortal","CrossWithCircleIcon","CircularProgress","templateObject_5","LoaderState","useForm","MapWrapper","MapComponent","StyledInput","StyledButton","CheckIcon","InputWithAddressAutocomplete","Button","useToggle","ModalWithMap","MapIcon","useAddressAutocomplete","LoupeIcon","CloseIcon","useController","PlusIcon","CompanyInnAutocomplete","Divider","PrevArrowIcon","NextArrowIcon","Loading","yupResolver","useNavigate","runInAction","getPhoneParamsFromString","CompanyCreationModal","FillingTagCreationModal","StyledRadioGroup","InputSelect","RadioGroupWithLabel","MultistepForm","CountryAutocomplete","RegionAutocomplete","CityAutocomplete","DistrictAutocomplete","TariffGroupAutocomplete","useFieldArray","_","ChangeReasonTariffFields","CommonTariffFields","TariffCreationForm","useCallback","addToArrayByCondition","DateTime","CompanyAutocomplete","useMemo","ReplaceableCountersBlock","MaroomIcon","Container","FillingTagsAutocomplete","isValidWithMaskExp","promisesWithCallback"],"mappings":"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"}