{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["import { createContext } from \"react\";\r\nimport { EventBus } from \"../plugins/eventBus\";\r\nimport type { IAppContext, TAppRenderModes } from \"../types/app/index\";\r\nimport type { TBaseSizes } from \"../types/components/index\";\r\nimport type { TLocalisationLanguages, TLocalisationSource } from \"../types/localisation\";\r\n\r\n/**\r\n * Глобальный контекст для приложения\r\n */\r\nconst globalCtx = createContext<IAppContext>({\r\n  isSSR: typeof window === \"undefined\",\r\n  mode: (process.env?.RENDER_MODE as TAppRenderModes) ?? \"CSR\", // for future updates\r\n});\r\n\r\nconst appNSVariable = \"_APP_NAMESPACE\";\r\n\r\n/**\r\n * Корневой класс для библиотеки компонентов\r\n */\r\nconst dsMainClass = \"deUI\";\r\n\r\n/**\r\n * Набор глобальных утилитарных классов по-умолчанию\r\n */\r\nconst stateClasses = {\r\n  domReady: \"isDomReady\",\r\n  pageLoaded: \"isPageLoaded\",\r\n  touchscreen: \"isTouchscreen\",\r\n  mobileDevice: \"isMobileDevice\",\r\n  active: \"isActive\",\r\n  inactive: \"isInactive\",\r\n  disabled: \"isDisabled\",\r\n  show: \"isShow\",\r\n  visible: \"isVisible\",\r\n  invisible: \"isInvisible\",\r\n  hide: \"isHide\",\r\n  error: \"isError\",\r\n  success: \"isSuccess\",\r\n  valid: \"isValid\",\r\n  invalid: \"isInvalid\",\r\n  visuallyHidden: \"isVisuallyHidden\",\r\n  loading: \"isLoading\",\r\n  computed: \"isComputed\",\r\n  translated: \"isTranslated\",\r\n  translationLoading: \"isTranslationLoading\",\r\n  translationError: \"isTranslationError\",\r\n};\r\n\r\n/**\r\n * Всплывающие события форм\r\n */\r\nconst formBubbles = {\r\n  formValid: \"form::valid\",\r\n  formInvalid: \"form::invalid\",\r\n  formSuccess: \"form::successful\",\r\n  formError: \"form::error\",\r\n  formSending: \"form::sending\",\r\n  formNeedsConfirm: \"form::needsConfirm\",\r\n  inputInvalid: \"form::invalidInput\",\r\n  inputValid: \"form::validInput\",\r\n  inputClear: \"form::inputClear\",\r\n};\r\n\r\n/**\r\n * Всплывающие события локализации\r\n */\r\nconst localisationBubbles = {\r\n  localisationReady: \"localisation::ready\",\r\n  localisationError: \"localisation::error\",\r\n  localisationMiss: \"localisation::miss\",\r\n  localisationChange: \"localisation::change\",\r\n};\r\n\r\n/**\r\n * Базовые размеры\r\n */\r\nconst defaultSizes: TBaseSizes[] = [ \"auto\", \"small\", \"medium\", \"large\", \"max\" ];\r\n\r\n/**\r\n * Набор стандартных ключей валидации\r\n */\r\nconst defaultErrorsKeys = {\r\n  empty: \"emptyInput\",\r\n  invalid: \"invalidInput\",\r\n  valid: \"validInput\",\r\n};\r\n\r\n/**\r\n * Наименование события успешной загрузки асинхронного контента\r\n */\r\nconst contentLoadedEventName = \"contentLoaded\";\r\n\r\n/**\r\n * Экземпляр вызова шины событий\r\n */\r\nconst EventBusInstance = new EventBus();\r\n\r\n/**\r\n * Запросы @media\r\n */\r\nconst mediaQueries = {\r\n  mobileMinimum: \"max-width: 375px\",\r\n  mobileSmall: \"max-width: 640px\",\r\n  mobile: \"max-width: 767px\",\r\n  mobileAbove: \"min-width: 768px\",\r\n  tabletMinimum: \"max-width: 768px\",\r\n  tabletSmall: \"max-width: 920px\",\r\n  tabletMedium: \"max-width: 1024px\",\r\n  tablet: \"max-width: 1280px\",\r\n  tabletAbove: \"min-width: 1281px\",\r\n  desktopMinimum: \"max-width: 1320px\",\r\n  desktopSmall: \"max-width: 1366px\",\r\n  desktopAboveSmall: \"min-width: 1367px\",\r\n  desktopMedium: \"max-width: 1480px\",\r\n  desktopAboveMedium: \"min-width: 1481px\",\r\n  desktopLarge: \"max-width: 1820px\",\r\n  desktopAboveLarge: \"min-width: 1821px\",\r\n  desktop: \"max-width: 1920px\",\r\n  desktopAbove: \"min-width: 1921px\",\r\n};\r\n\r\n/**\r\n * Стандартный объект локализации\r\n */\r\nconst defaultLocales: TLocalisationSource = {\r\n  select: {\r\n    loading: [ \"Загрузка...\", \"Loading...\" ],\r\n    noOptions: [ \"Нет доступных опций\", \"No options available\" ],\r\n    noMatches: [ \"Ничего не найдено\", \"Nothing found\" ],\r\n    selectedValues: [\r\n      \"Выбрано {{current, number}} из {{total, number}}\",\r\n      \"Selected {{current, number}} from {{total, number}}\",\r\n    ],\r\n  },\r\n  filesUploader: {\r\n    unknownFile: [ \"Без названия\", \"Unknown file\" ],\r\n    megaByte: [ \"МБ\", \"MB\" ],\r\n    allTypes: [ \"Все типы файлов\", \"All types of file\" ],\r\n    specificTypes: [\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Тип${isMultiple ? \"ы\" : \"\"} файл${isMultiple ? \"ов\" : \"а\"}: {{types, string}}`,\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `File type${isMultiple ? \"s\" : \"\"}: {{types, string}}`,\r\n    ],\r\n    actionText: [\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Перетащите файл${isMultiple ? \"ы\" : \"\"} или загрузите`,\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Drop file${isMultiple ? \"s\" : \"\"} or upload it`,\r\n    ],\r\n    maxSize: [\r\n      ({ isMultiple, maxSizeType }: { isMultiple: boolean; maxSizeType: \"all\" | \"every\"; }) => {\r\n        if (maxSizeType === \"all\") {\r\n          return `Общий размер файл${isMultiple ? \"ов\" : \"а\"}: не более {{maxSize, string}} МБ`;\r\n        }\r\n        return `Размер каждого файла: не более {{maxSize, string}} МБ`;\r\n      },\r\n      ({ isMultiple, maxSizeType }: { isMultiple: boolean; maxSizeType: \"all\" | \"every\"; }) => {\r\n        if (maxSizeType === \"all\") {\r\n          return `Total size of file${isMultiple ? \"s\" : \"\"}: no more than {{maxSize, string}} MB`;\r\n        }\r\n        return `Size of each file: no more than {{maxSize, string}} MB`;\r\n      },\r\n    ],\r\n    maxLength: [\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Максимальное количество файлов: не более {{maxFiles, string}}`,\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Maximum number of files: no more than {{maxFiles, string}}`,\r\n    ],\r\n    errorText: [\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `Файл${isMultiple ? \"ы\" : \"\"} не соответствуют требованиям: некорректное количество, размер или формат`,\r\n      ({ isMultiple }: { isMultiple: boolean; }) => `File${isMultiple ? \"s\" : \"\"} do not meet the requirements: invalid number, size or format`,\r\n    ],\r\n  },\r\n  datePicker: {\r\n    january: [ \"Январь\", \"January\" ],\r\n    february: [ \"Февраль\", \"February\" ],\r\n    march: [ \"Март\", \"March\" ],\r\n    april: [ \"Апрель\", \"April\" ],\r\n    may: [ \"Май\", \"May\" ],\r\n    june: [ \"Июнь\", \"June\" ],\r\n    july: [ \"Июль\", \"July\" ],\r\n    august: [ \"Август\", \"August\" ],\r\n    september: [ \"Сентябрь\", \"September\" ],\r\n    october: [ \"Октябрь\", \"October\" ],\r\n    november: [ \"Ноябрь\", \"November\" ],\r\n    december: [ \"Декабрь\", \"December\" ],\r\n    year: [ \"Год\", \"Year\" ],\r\n    month: [ \"Месяц\", \"Month\" ],\r\n    time: [ \"Время\", \"Time\" ],\r\n  },\r\n  forms: {\r\n    invalidInput: [ \"Неверно\", \"Invalid\" ],\r\n    emptyInput: [ \"Поле не заполнено\", \"Field not filled\" ],\r\n    validInput: [ \"Поле корректно\", \"Field is valid\" ],\r\n    invalidCheckbox: [ \"Не установлен выбор\", \"Choice not set\" ],\r\n    invalidRadio: [ \"Не выбрано значение\", \"No value selected\" ],\r\n    invalidFile: [ \"Не указан файл\", \"No file selected\" ],\r\n    invalidEmail: [ \"Не указан email\", \"Email is invalid\" ],\r\n  },\r\n  modals: {\r\n    successTitle: [ \"Успешно\", \"Success\" ],\r\n    errorTitle: [ \"Что-то пошло не так\", \"Something went wrong\" ],\r\n    confirmTitle: [ \"Подтвердите действие\", \"Please confirm action\" ],\r\n    closeBtn: [ \"Закрыть\", \"Close\" ],\r\n    confirmBtn: [ \"Подтвердить\", \"Submit\" ],\r\n    cancelBtn: [ \"Отменить\", \"Cancel\" ],\r\n    nextBtn: [ \"Далее\", \"Next\" ],\r\n    prevBtn: [ \"Назад\", \"Prev\" ],\r\n    defaultError: [ \"Пожалуйста, попробуйте позже\", \"Please try again later\" ],\r\n    defaultSuccess: [ \"Пожалуйста, ожидайте обратной связи\", \"Please wait for feedback\" ],\r\n  },\r\n};\r\n\r\n/**\r\n * Стандартные ключи языков\r\n */\r\nconst defaultLangKeys: TLocalisationLanguages = [ \"ru\", \"en\" ];\r\n\r\nconst constants = {\r\n  dsMainClass,\r\n  globalCtx,\r\n  defaultLocales,\r\n  defaultLangKeys,\r\n  stateClasses,\r\n  formBubbles,\r\n  localisationBubbles,\r\n  defaultSizes,\r\n  defaultErrorsKeys,\r\n  appNSVariable,\r\n  contentLoadedEventName,\r\n  EventBusInstance,\r\n  mediaQueries,\r\n};\r\n\r\nexport { constants };\r\n"],"names":["globalCtx","createContext","isSSR","window","mode","process","env","RENDER_MODE","appNSVariable","dsMainClass","stateClasses","domReady","pageLoaded","touchscreen","mobileDevice","active","inactive","disabled","show","visible","invisible","hide","error","success","valid","invalid","visuallyHidden","loading","computed","translated","translationLoading","translationError","formBubbles","formValid","formInvalid","formSuccess","formError","formSending","formNeedsConfirm","inputInvalid","inputValid","inputClear","localisationBubbles","localisationReady","localisationError","localisationMiss","localisationChange","defaultSizes","defaultErrorsKeys","empty","contentLoadedEventName","EventBusInstance","EventBus","mediaQueries","mobileMinimum","mobileSmall","mobile","mobileAbove","tabletMinimum","tabletSmall","tabletMedium","tablet","tabletAbove","desktopMinimum","desktopSmall","desktopAboveSmall","desktopMedium","desktopAboveMedium","desktopLarge","desktopAboveLarge","desktop","desktopAbove","defaultLocales","select","noOptions","noMatches","selectedValues","filesUploader","unknownFile","megaByte","allTypes","specificTypes","isMultiple","actionText","maxSize","maxSizeType","maxLength","errorText","datePicker","january","february","march","april","may","june","july","august","september","october","november","december","year","month","time","forms","invalidInput","emptyInput","validInput","invalidCheckbox","invalidRadio","invalidFile","invalidEmail","modals","successTitle","errorTitle","confirmTitle","closeBtn","confirmBtn","cancelBtn","nextBtn","prevBtn","defaultError","defaultSuccess","defaultLangKeys","constants"],"mappings":"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"}