diff --git a/README.md b/README.md index 323ec2f..c6a6461 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,17 @@ 1. Установите сервер приложений "ПАРУС 8 Онлайн" согласно документации (см. "Парус-Онлайн 2. Часть 1. Установка ГГГГ.ММ.docx"), требуется релиз от октября 2023 года и позднее. 2. Разместите на диске сервера приложений библиотеку расширения "P8-Panels-ParusOnlineExt", для этого скопируйте содержимое папки "bin" из [репозитория расширения "P8-Panels-ParusOnlineExt"](https://git.citpb.ru/CITKParus/P8-Panels-ParusOnlineExt), например, в каталог "C:\p8web20\Ext\P8-Panels-ParusOnlineExt". + +> **Внимание:** +> +> - **Для релиза "ПАРУС 8 Онлайн" от 30.08.2024** +> +> Требуется [патч до промежуточной сборки 02.09.2024 или старше](https://cloud.mail.ru/public/nEZb/y4oQa1N6D). Установка расширения на данный релиз не рекомендуется, по возможности - пропустите его. +> +> - **Для релизов "ПАРУС 8 Онлайн" до 30.08.2024** +> +> Содержимое папки "bin" следует брать из специальной сборки расширения - [Для сборок Парус-Онлайн до 30.08.2024](https://git.citpb.ru/CITKParus/P8-Panels-ParusOnlineExt/releases/tag/FOR_PARUS_ONLINE_BEFORE_20240830) + 3. Подключите библиотеку расширения к серверу приложений "ПАРУС 8 Онлайн". Для этого добавьте ссылку на библиотеку в файл "Config\extensions.config" сервера приложений: ``` @@ -235,9 +246,9 @@ WEB-приложение "ПАРУС 8 Онлайн" поддерживает в ``` -### Интеграция в разделы - вызов из действия +### Интеграция в разделы - вызов из КОР-действия -Панель может быть вызвана из действия раздела Системы (только для WEB-клиента). Для это необходимо зарегистрировать в разделе метод с кодом "P8PANELS_OPEN", при этом метод обязательно должен иметь "Тип метода" - "Встроенный", а "Доступность" - "Клиентский". Для метода необходимо настроить параметры: +Панель может быть вызвана из действия раздела Системы (только для WEB-клиента). Для это необходимо зарегистрировать (здесь и далее - настройка выполняется в приложении "Контрусктор отраслевых расширений" для соответствующих классов Системы) в разделе метод с кодом "P8PANELS_OPEN", при этом метод обязательно должен иметь "Тип метода" - "Встроенный", а "Доступность" - "Клиентский". Для метода необходимо настроить параметры: - `SPANEL` - строка, обязательный, уникальное имя (`name`) той панели из "p8panels.config", которая должна быть открыта действием - `SCAPTION` - строка, необязательный, заголовок вкладки WEB-приложения "ПАРУС 8 Онлайн", в которой будет открыта панель, если не задан - будет использовано видимое наименование панели (`caption`) из "p8panels.config" @@ -273,6 +284,119 @@ const MyPanel = () => { - Реализовать в КОР-действии параметр с выпадающим списком (или иным интерфейсным элементом), позволяющим пользователю выбрать какую именно панель ему необходимо открыть сейчас - Определять значение параметра `SPANEL` КОР-метода "P8PANELS_OPEN" из контекста (документа, атрибута, каталога и т.п.), таким образом автоматически определяя открываемую панель +#### Настройка КОР-действия для вызова панели "Выдача сменного задания" из раздела "Сменные задания" + +Входящая в состав поставки фреймворка панель "Выдача сменного задания" доступна для вызова из раздела "Сменные задания" (приложение "Планирование и учёт в дискретном производстве", главное меню > "Документы" > "Сменные задания"). + +Для настройки этой возможности: + +1. Откройте раздел "Классы" приложения "Конструктор отраслевых расширений" (главное меню > "Учёт" > "Классы") +2. В дереве классов выберите "Сменные задания", а в списке классов - класс с кодом "CostJobs" +3. В спецификации "Методы", выбранного класса, зарегистрируйте новый метод со следующими атрибутами: + +- `Мнемокод` - P8PANELS_OPEN +- `Наименование` - P8PANELS_OPEN +- `Тип метода` - Встроенный +- `Доступность` - Клиентский + +4. Для добавленного метода `P8PANELS_OPEN` в спецификации "Параметры" зарегистрируйте следующий набор параметров: + +| Имя | Наименование | Тип | Домен | Обязательный | Тип привязки | Контекст | Параметр действия | +| -------- | ------------------- | ------- | ------- | ------------ | ----------------- | -------------------- | ----------------- | +| NRN | Рег. номер записи | Входной | TRN | Нет | Контекст | Идентификатор записи | | +| SPANEL | Наименование панели | Входной | TSTRING | Да | Параметр действия | | SPANEL | +| SCAPTION | Заголовок вкладки | Входной | TSTRING | Нет | Параметр действия | | SCAPTION | + +5. В спецификации "Действия", выбранного класса, зарегистрируйте новое действие со следующими атрибутами: + +- `Тип` - Нестандартное +- `Код` - FCJOBS_OPEN_JOBS_MANAGE +- `Наименование` - Открытие панели "Выдача сменного задания" +- `Технология производства` - Конструктор +- `Реализующий метод` - P8PANELS_OPEN +- `Обработка записей` - Для одной текущей записи +- `Завершение транзакции` - После каждого вызова действия +- `Обновление выборки` - Не обновлять + +6. Для добавленного действия `FCJOBS_OPEN_JOBS_MANAGE` в спецификации "Параметры" зарегистрируйте следующий набор параметров: + +| Имя | Домен | Тип привязки | Значение | +| -------- | ------- | ------------ | ----------------------- | +| SPANEL | TSTRING | Значение | MechRecCostJobsManage | +| SCAPTION | TSTRING | Значение | Выдача сменного задания | + +7. Откройте редактор формы представления данных класса "CostJobs" ("Сменные задания"). + +Для этого отметьте в списке классов запись с кодом "CostJobs", перейдите на закладку "Методы вызова", укажите метод вызова "main", в его контекстном меню укажите "Формы", в появившемся списке форм выполните действие "Редактор" для формы с наименованием "Форма просмотра". + +В открывшемся редакторе формы перейдите в режим редактирования всплывающего меню заголовка (закладка "Таблицы", таблица "CostJobs", затем кнопка "Редактор источника", установить фокус на форме представления данных щелчком мыши, затем пункт "Всплывающее меню" в "Инспекторе объектов"). Найдите в меню пункт, созданный Системой для действия, зарегистрированного на шаге 5 (как правило имеет метку, совпадающую с наименованием действия). Расположите (перетаскиванием) этот пункт меню сразу после пункта "Отработать исполнение по штрих-кодам". Укажите для этого пункта следующие параметры в "Инспекторе объектов": + +- `Заголовок` - Выдать сменное задание… + +Закройте окна редакторов с сохранением изменений. + +8. Выдайте права но новое действие в "Администраторе", при необходимости - начните новый сеанс в "ПАРУС 8 Онлайн" с очисткой системного кэша. + +#### Настройка КОР-действия для вызова панели "Производственная программа" из раздела "Планы и отчеты производства изделий" + +Входящая в состав поставки фреймворка панель "Производственная программа" доступна для вызова из спецификации "Выпуск" раздела "Планы и отчеты производства изделий" (приложение "Планирование и учёт в дискретном производстве", главное меню > "Документы" > "Планы и отчеты производства изделий"). + +Для настройки этой возможности: + +1. Откройте раздел "Классы" приложения "Конструктор отраслевых расширений" (главное меню > "Учёт" > "Классы") +2. В дереве классов выберите "Планы и отчеты производства изделий (спецификация)", а в списке классов - класс с кодом "CostProductPlansSpecs" +3. В спецификации "Методы", выбранного класса, зарегистрируйте новый метод со следующими атрибутами: + +- `Мнемокод` - P8PANELS_OPEN +- `Наименование` - P8PANELS_OPEN +- `Тип метода` - Встроенный +- `Доступность` - Клиентский + +4. Для добавленного метода `P8PANELS_OPEN` в спецификации "Параметры" зарегистрируйте следующий набор параметров: + +| Имя | Наименование | Тип | Домен | Обязательный | Тип привязки | Контекст | Параметр действия | +| -------- | ------------------- | ------- | ------- | ------------ | ----------------- | -------------------- | ----------------- | +| NSPRN | Рег. номер записи | Входной | TRN | Нет | Контекст | Идентификатор записи | | +| SPANEL | Наименование панели | Входной | TSTRING | Да | Параметр действия | | SPANEL | +| SCAPTION | Заголовок вкладки | Входной | TSTRING | Нет | Параметр действия | | SCAPTION | + +5. В спецификации "Действия", выбранного класса, зарегистрируйте новое действие со следующими атрибутами: + +- `Тип` - Нестандартное +- `Код` - FCPRODPLANSP_OPEN_COST_PROD_PLANS +- `Наименование` - Открытие панели "Производственная программа" +- `Технология производства` - Конструктор +- `Реализующий метод` - P8PANELS_OPEN +- `Обработка записей` - Для одной текущей записи +- `Завершение транзакции` - После каждого вызова действия +- `Обновление выборки` - Не обновлять + +6. Для добавленного действия `FCPRODPLANSP_OPEN_COST_PROD_PLANS` в спецификации "Параметры" зарегистрируйте следующий набор параметров: + +| Имя | Домен | Тип привязки | Значение | +| -------- | ------- | ------------ | -------------------------- | +| SPANEL | TSTRING | Значение | MechRecCostProdPlans | +| SCAPTION | TSTRING | Значение | Производственная программа | + +7. Откройте редактор формы представления данных класса "CostProductPlans" ("Планы и отчеты производства изделий") - родительский для того, в который добавили действие. + +Для этого отметьте в списке классов запись с кодом "CostProductPlans", перейдите на закладку "Методы вызова", укажите метод вызова "main", в его контекстном меню укажите "Формы", в появившемся списке форм выполните действие "Редактор" для формы с наименованием "Форма просмотра". + +В открывшемся редакторе формы перейдите в режим редактирования всплывающего меню спецификации (закладка "Таблицы", таблица "CostProductPlansSpecs", затем кнопка "Редактор источника", установить фокус на форме представления данных щелчком мыши, затем пункт "Всплывающее меню" в "Инспекторе объектов"). Найдите в меню пункт, созданный Системой для действия, зарегистрированного на шаге 5 (как правило имеет метку, совпадающую с наименованием действия). Расположите (перетаскиванием) этот пункт меню сразу после пункта "Формирование". Укажите для этого пункта следующие параметры в "Инспекторе объектов": + +- `Заголовок` - Открыть диаграмму… +- `Правило доступности` - @nCATEGORY = 1 and @nSTATUS = 2 + +Закройте окна редакторов с сохранением изменений. + +8. Выдайте права но новое действие в "Администраторе", при необходимости - начните новый сеанс в "ПАРУС 8 Онлайн" с очисткой системного кэша. + +#### Настройка КОР-действия для вызова панели "Редактор настройки регламентированного отчёта" из раздела "Настройки форм регламентированных отчетов" + +Начиная с релиза Системы "сентябрь 2024" настройка данного действия включена в штатную поставку Системы. Корректная работа панели "Редактор настройки регламентированного отчёта" на релизах до "сентябрь 2024" не обеспечивается. + +Для настройки необходимых метаданных следует выполнить импорт "Управляемых разделов", поставляемых с Системой или импорт метаданных "Сервиса регламентированной и управленческой отчётости" (путь в каталоге релиза "/ЦИТК/Регламентированная отчетность/rrp_units.zip", см. подробнее документацию к сервису - "/ЦИТК/Регламентированная отчетность/Пользовательские инструкции"). + ## VI. Разработка панелей > **Внимание:** данное руководство не является обучающим курсом по WEB-разработке как таковой. Изложенные ниже сведения о порядке реализации пользовательских панелей, даны с учётом приведённых ранее требований к разработчику. @@ -1810,7 +1934,7 @@ const MyPanel = () => { **Свойства** -`height` - обязательный, число, высота области диаграммы на панели (может быть задана в разных единицах измерения - `height="100px"`, `height="50vh"`, `height="500pt"`)\ +`containerStyle` - необязательный, объект, стили, которые будут применены к компонету `div`, являющемуся контейнером диаграммы\ `title` - необязательный, строка, заголовок диаграммы (если не указан - не отображается)\ `titleStyle` - необязательный, объект, стили, которые будут применены к компонету `Typography` заголовка диаграммы\ `onTitleClick` - необязательный, функция, будет вызвана при нажатии пользователем на заголовок (если указана - заголовок формируется в виде гиперссылки), сигнатура функции `f()`, результат функции не интерпретируется\ diff --git a/app.styles.js b/app.styles.js new file mode 100644 index 0000000..9627d6b --- /dev/null +++ b/app.styles.js @@ -0,0 +1,29 @@ +/* + Парус 8 - Панели мониторинга + Типовые стили +*/ + +//---------------- +//Интерфейс модуля +//---------------- + +//Стили +export const APP_STYLES = { + SCROLL: { + "&::-webkit-scrollbar": { + height: "8px", + width: "8px" + }, + "&::-webkit-scrollbar-track": { + borderRadius: "8px", + backgroundColor: "#EBEBEB" + }, + "&::-webkit-scrollbar-thumb": { + borderRadius: "8px", + backgroundColor: "#b4b4b4" + }, + "&::-webkit-scrollbar-thumb:hover": { + backgroundColor: "#808080" + } + } +}; diff --git a/app/components/p8p_app_workspace.js b/app/components/p8p_app_workspace.js index cba6e27..88a37fd 100644 --- a/app/components/p8p_app_workspace.js +++ b/app/components/p8p_app_workspace.js @@ -29,6 +29,9 @@ import { P8PPanelsMenuDrawer, P8P_PANELS_MENU_PANEL_SHAPE } from "./p8p_panels_m //Константы //--------- +//Высота главного меню +const APP_BAR_HEIGHT = "64px"; + //Стили const STYLES = { ROOT_BOX: { display: "flex" }, @@ -125,4 +128,4 @@ P8PAppWorkspace.propTypes = { //Интерфейс модуля //---------------- -export { P8PAppWorkspace }; +export { APP_BAR_HEIGHT, P8PAppWorkspace }; diff --git a/app/components/p8p_data_grid.js b/app/components/p8p_data_grid.js index 46c960e..441aac0 100644 --- a/app/components/p8p_data_grid.js +++ b/app/components/p8p_data_grid.js @@ -9,7 +9,7 @@ import React, { useState, useEffect } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента -import { P8PTable, P8P_TABLE_SIZE, P8P_TABLE_DATA_TYPE, P8P_TABLE_FILTER_SHAPE } from "./p8p_table"; //Таблица +import { P8PTable, P8P_TABLE_SIZE, P8P_TABLE_DATA_TYPE, P8P_TABLE_FILTER_SHAPE, P8P_TABLE_MORE_HEIGHT, P8P_TABLE_FILTERS_HEIGHT } from "./p8p_table"; //Таблица //--------- //Константы @@ -24,6 +24,12 @@ const P8P_DATA_GRID_DATA_TYPE = P8P_TABLE_DATA_TYPE; //Формат фильтра const P8P_DATA_GRID_FILTER_SHAPE = P8P_TABLE_FILTER_SHAPE; +//Высота кнопки догрузки данных +const P8P_DATA_GRID_MORE_HEIGHT = P8P_TABLE_MORE_HEIGHT; + +//Высота фильтров таблицы +const P8P_DATA_GRID_FILTERS_HEIGHT = P8P_TABLE_FILTERS_HEIGHT; + //----------- //Тело модуля //----------- @@ -187,4 +193,11 @@ P8PDataGrid.propTypes = { //Интерфейс модуля //---------------- -export { P8P_DATA_GRID_DATA_TYPE, P8P_DATA_GRID_SIZE, P8P_DATA_GRID_FILTER_SHAPE, P8PDataGrid }; +export { + P8P_DATA_GRID_DATA_TYPE, + P8P_DATA_GRID_SIZE, + P8P_DATA_GRID_FILTER_SHAPE, + P8P_DATA_GRID_MORE_HEIGHT, + P8P_DATA_GRID_FILTERS_HEIGHT, + P8PDataGrid +}; diff --git a/app/components/p8p_gantt.js b/app/components/p8p_gantt.js index 6c562b2..9a4c48e 100644 --- a/app/components/p8p_gantt.js +++ b/app/components/p8p_gantt.js @@ -78,10 +78,22 @@ const P8P_GANTT_TASK_COLOR_SHAPE = PropTypes.shape({ desc: PropTypes.string.isRequired }); +//Высота заголовка +const TITLE_HEIGHT = "44px"; + +//Высота панели масштабирования +const ZOOM_HEIGHT = "56px"; + //Стили const STYLES = { TASK_EDITOR_CONTENT: { minWidth: 400, overflowX: "auto" }, - TASK_EDITOR_LIST: { width: "100%", minWidth: 300, maxWidth: 700, bgcolor: "background.paper" } + TASK_EDITOR_LIST: { width: "100%", minWidth: 300, maxWidth: 700, bgcolor: "background.paper" }, + GANTT_TITLE: { height: TITLE_HEIGHT }, + GANTT_ZOOM: { height: ZOOM_HEIGHT }, + GANTT: (noData, title, zoomBar) => ({ + height: `calc(100% - ${zoomBar ? ZOOM_HEIGHT : "0px"} - ${title ? TITLE_HEIGHT : "0px"})`, + display: noData ? "none" : "" + }) }; //-------------------------------- @@ -318,7 +330,7 @@ P8PGanttTaskEditor.propTypes = { //Диаграмма Ганта const P8PGantt = ({ - height, + containerStyle, title, titleStyle, onTitleClick, @@ -408,10 +420,16 @@ const P8PGantt = ({ //Генерация содержимого return ( -
+
{state.gantt && state.noData ? : null} {state.gantt && !state.noData && title ? ( - + {onTitleClick ? ( onTitleClick()}> {title} @@ -422,7 +440,7 @@ const P8PGantt = ({ ) : null} {state.gantt && !state.noData && zoomBar ? ( - + handleZoomChange(-1)} disabled={state.zoom == 0}> zoom_in @@ -450,7 +468,7 @@ const P8PGantt = ({ cancelBtnCaption={cancelTaskEditorBtnCaption} /> ) : null} -
+
@@ -459,7 +477,7 @@ const P8PGantt = ({ //Контроль свойств - Диаграмма Ганта P8PGantt.propTypes = { - height: PropTypes.string.isRequired, + containerStyle: PropTypes.object, title: PropTypes.string, titleStyle: PropTypes.object, onTitleClick: PropTypes.func, diff --git a/app/components/p8p_panels_menu.js b/app/components/p8p_panels_menu.js index 458e50b..48212d5 100644 --- a/app/components/p8p_panels_menu.js +++ b/app/components/p8p_panels_menu.js @@ -58,7 +58,8 @@ const STYLES = { GRID: { maxWidth: 1200, direction: "row", justifyContent: "left", alignItems: "stretch" }, GRID_PANEL_CARD: { maxWidth: 400, height: "100%", flexDirection: "column", display: "flex" }, GRID_PANEL_CARD_MEDIA: { height: 140 }, - GRID_PANEL_CARD_CONTENT_TITLE: { alignItems: "center" }, + GRID_PANEL_CARD_CONTENT_TITLE: { alignItems: "flex-start" }, + GRID_PANEL_CARD_CONTENT_TITLE_ICON: { paddingTop: "4px" }, GRID_PANEL_CARD_ACTIONS: { marginTop: "auto", display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, DESKTOP_GROUP_HEADER: { fontWeight: "bold", fontFamily: "tahoma, arial, verdana, sans-serif!important", fontSize: "13px!important" }, DESKTOP_ITEM_BUTTON: { fontSize: "12px", textTransform: "none", "&:hover": { backgroundColor: "#c3e1ff" }, maxWidth: "150px" }, @@ -130,7 +131,7 @@ const getPanelsLinks = ({ variant, panels, selectedPanel, group, defaultGroupTyt ) : null} - {panel.icon ? {panel.icon} : null} + {panel.icon ? {panel.icon} : null} {panel.caption} diff --git a/app/components/p8p_table.js b/app/components/p8p_table.js index 04490dc..f5d3c31 100644 --- a/app/components/p8p_table.js +++ b/app/components/p8p_table.js @@ -81,6 +81,12 @@ const P8P_TABLE_FILTER_SHAPE = PropTypes.shape({ to: PropTypes.any }); +//Высота кнопки догрузки данных +const P8P_TABLE_MORE_HEIGHT = "49px"; + +//Высота фильтров таблицы +const P8P_TABLE_FILTERS_HEIGHT = "48px"; + //Стили const STYLES = { TABLE: { @@ -434,7 +440,7 @@ P8PTableColumnFilterDialog.propTypes = { //Сводный фильтр const P8PTableFiltersChips = ({ filters, columnsDef, valueFromCaption, valueToCaption, onFilterChipClick, onFilterChipDelete, valueFormatter }) => { return ( - + {filters.map((filter, i) => { const columnDef = columnsDef.find(columnDef => columnDef.name == filter.name); return ( @@ -956,4 +962,4 @@ P8PTable.propTypes = { //Интерфейс модуля //---------------- -export { P8P_TABLE_DATA_TYPE, P8P_TABLE_SIZE, P8P_TABLE_FILTER_SHAPE, P8PTable }; +export { P8P_TABLE_DATA_TYPE, P8P_TABLE_SIZE, P8P_TABLE_FILTER_SHAPE, P8P_TABLE_MORE_HEIGHT, P8P_TABLE_FILTERS_HEIGHT, P8PTable }; diff --git a/app/panels/eqs_prfrm/eqs_prfrm.js b/app/panels/eqs_prfrm/eqs_prfrm.js index f49142b..01e4014 100644 --- a/app/panels/eqs_prfrm/eqs_prfrm.js +++ b/app/panels/eqs_prfrm/eqs_prfrm.js @@ -8,7 +8,7 @@ //--------------------- import React, { useState, useContext, useCallback, useEffect } from "react"; //Классы React -import { Grid, Paper, Box } from "@mui/material"; //Интерфейсные компоненты +import { Box } from "@mui/material"; //Интерфейсные компоненты import { P8PDataGrid, P8P_DATA_GRID_SIZE } from "../../components/p8p_data_grid"; //Таблица данных import { P8P_DATA_GRID_CONFIG_PROPS } from "../../config_wrapper"; //Подключение компонентов к настройкам приложения import { BackEndСtx } from "../../context/backend"; //Контекст взаимодействия с сервером @@ -18,6 +18,33 @@ import { headCellRender, dataCellRender, groupCellRender, DIGITS_REG_EXP, MONTH_ import { TEXTS } from "../../../app.text"; //Тектовые ресурсы и константы import { Filter } from "./filter"; //Компонент фильтра import { FilterDialog } from "./filter_dialog"; //Компонент диалогового окна фильтра отбора +import { useWindowResize } from "./hooks"; //Пользовательские хуки + +//--------- +//Константы +//--------- + +//Высота меню Парус (пиксели) +const pxOuterMenuH = 53; +//Высота заголовка панели (пиксели) +const pxPanelHeaderH = 64; +//Минимальная ширина таблицы (пиксели) +const minGridW = 800; +//Минимальная высота таблицы (пиксели) +const minGridH = 200; + +//Стили +const STYLES = { + BOX_ROW: { display: "flex", justifyContent: "center", alignItems: "center" }, + GRID_PADDING: { paddingTop: 1, paddingBottom: 1 }, + GRID_SIZES: (width, height) => ({ + padding: "0px", + minWidth: minGridW, + maxWidth: width * 0.975 > minGridW ? width * 0.975 : minGridW, + minHeight: minGridH, + maxHeight: (height - pxOuterMenuH - pxPanelHeaderH) * 0.975 > minGridH ? (height - pxOuterMenuH - pxPanelHeaderH) * 0.975 : minGridH + }) +}; //----------- //Тело модуля @@ -31,6 +58,8 @@ const EqsPrfrm = () => { columnsDef: [], groups: [], rows: [], + fixedHeader: false, + fixedColumns: 0, reload: false }); @@ -39,6 +68,7 @@ const EqsPrfrm = () => { isOpen: false, isDefault: false, isSetByUser: false, + needSave: false, values: { belong: "", prodObj: "", @@ -128,6 +158,8 @@ const EqsPrfrm = () => { ...pv, columnsDef: data.XCOLUMNS_DEF ? [...data.XCOLUMNS_DEF] : pv.columnsDef, rows: [...(data.XROWS || [])], + fixedHeader: data.XDATA_GRID.fixedHeader, + fixedColumns: data.XDATA_GRID.fixedColumns, groups: [...(data.XGROUPS || [])], dataLoaded: true, reload: false @@ -135,7 +167,7 @@ const EqsPrfrm = () => { } }, [dataGrid.reload, filter, executeStored]); - //Загрузка значений фильра по умолчанию + //Загрузка значений фильтра по умолчанию const loadDefaultFilter = useCallback(async () => { const data = await executeStored({ stored: "PKG_P8PANELS_EQUIPSRV.GET_DEFAULT_FP", @@ -148,6 +180,17 @@ const EqsPrfrm = () => { })); }, [executeStored]); + //Загрузка значений фильтра из локального хранилища браузера + const loadLocalFilter = useCallback(async () => { + let vs = filter.values; + Object.keys(vs).map(function (k) { + vs[k] = + k == "fromMonth" || k == "fromYear" || k == "toMonth" || k == "toYear" ? Number(localStorage.getItem(k)) : localStorage.getItem(k); + }); + setFilter(pv => ({ ...pv, isDefault: true, values: { ...vs } })); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + //Отбор документа (ТОиР или Ремонтных ведомостей) по ячейке даты const showEquipSrv = async ({ date, workType, info }) => { const [techName, servKind] = info.split("_"); @@ -180,7 +223,7 @@ const EqsPrfrm = () => { const setFilterOpen = isOpen => setFilter(pv => ({ ...pv, isOpen })); //Установить значение фильтра - const setFilterValues = values => setFilter(pv => ({ ...pv, isSetByUser: true, values: { ...values } })); + const setFilterValues = values => setFilter(pv => ({ ...pv, isSetByUser: true, needSave: true, values: { ...values } })); //Отработка события скрытия/раскрытия ячейки даты const handleClick = (e, ref) => { @@ -223,16 +266,26 @@ const EqsPrfrm = () => { //eslint-disable-next-line react-hooks/exhaustive-deps }, [refIsDeprecated]); + //При закрытии панели + useEffect(() => { + filter.needSave + ? window.addEventListener("beforeunload", function () { + Object.keys(filter.values).map(function (k) { + localStorage.setItem(k, filter.values[k]); + }); + }) + : null; + }, [filter.needSave, filter.values]); + //При загрузке фильтра по умолчанию useEffect(() => { if (filter.isDefault) setFilterOpen(true); }, [filter.isDefault]); - //При подключении к страницк + //При подключении к странице useEffect(() => { - loadDefaultFilter(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + localStorage.getItem("belong") ? loadLocalFilter() : loadDefaultFilter(); + }, [loadDefaultFilter, loadLocalFilter]); //При открытии диалога фильтра const handleFilterClick = () => setFilterOpen(true); @@ -246,32 +299,37 @@ const EqsPrfrm = () => { //При закрытии диалога фильтра const handleFilterCancel = () => setFilterOpen(false); + //Состояние ширины и высоты рабочей области окна + const [width, height] = useWindowResize(); + //Генерация содержимого return (
{filter.isOpen ? : null} {dataGrid.dataLoaded ? ( - - - - - headCellRender({ ...prms }, handleClick)} - dataCellRender={prms => dataCellRender({ ...prms }, showEquipSrv)} - groupCellRender={prms => groupCellRender({ ...prms })} - showCellRightBorder={true} - /> - - - - + + headCellRender({ ...prms }, handleClick)} + dataCellRender={prms => dataCellRender({ ...prms }, width * 0.2, showEquipSrv)} + groupCellRender={prms => groupCellRender({ ...prms })} + showCellRightBorder={true} + /> + ) : null}
); diff --git a/app/panels/eqs_prfrm/hooks.js b/app/panels/eqs_prfrm/hooks.js new file mode 100644 index 0000000..4637885 --- /dev/null +++ b/app/panels/eqs_prfrm/hooks.js @@ -0,0 +1,36 @@ +/* + Парус 8 - Панели мониторинга - ТОиР - Выполнение работ + Пользовательские хуки +*/ + +//--------------------- +//Подключение библиотек +//--------------------- + +import { useState, useLayoutEffect } from "react"; //Классы React + +//----------- +//Тело модуля +//----------- + +//Хук для отработки изменений ширины и высоты рабочей области окна +const useWindowResize = () => { + //Состояние размера рабочей области + const [size, setSize] = useState([0, 0]); + //При изменении размера + useLayoutEffect(() => { + function updateSize() { + setSize([document.documentElement.clientWidth, document.documentElement.clientHeight]); + } + window.addEventListener("resize", updateSize); + updateSize(); + return () => window.removeEventListener("resize", updateSize); + }, []); + return size; +}; + +//-------------- +//Интерфейс хука +//-------------- + +export { useWindowResize }; diff --git a/app/panels/eqs_prfrm/layouts.js b/app/panels/eqs_prfrm/layouts.js index 82b08cb..c854873 100644 --- a/app/panels/eqs_prfrm/layouts.js +++ b/app/panels/eqs_prfrm/layouts.js @@ -20,7 +20,7 @@ export const MONTH_NAME_REG_EXP = /_\d{4}_\d{1,2}/; export const DAY_NAME_REG_EXP = /_\d{4}_\d{1,2}_\d{1,2}/; //Стили -export const STYLES = { +const STYLES = { HIDE_CELL_STYLE: { display: "none" }, HCR_MAIN_STYLE: { border: "1px solid rgba(0, 0, 0)", textAlign: "center" }, HCR_DATE_STYLE: { padding: "5px", minWidth: "25px", maxWidth: "25px" }, @@ -31,7 +31,12 @@ export const STYLES = { DCR_FACT_NOT_RELATED_CELL_STYLE: { cursor: "pointer", backgroundColor: "crimson", border: "1px solid rgba(0, 0, 0) !important" }, DCR_DOUBLE_CELL: { padding: "unset" }, DCR_DOUBLE_CELL_GRID_ITEM: backgroundColor => ({ cursor: "pointer", backgroundColor }), - HIDDEN_PARAGRAPH: { display: "none" } + HIDDEN_PARAGRAPH: { display: "none" }, + STICKY_WIDTH_UNSET: { minWidth: "unset", maxWidth: "unset" }, + FIRST_STICKY_CELL: { left: "0px" }, + OBJINFO_WIDTH: width => ({ minWidth: width, maxWidth: width }), + OBJINFO_WRKNAME_WIDTH: width => ({ minWidth: width * 0.6, maxWidth: width * 0.6 }), + WRKTYPE_WIDTH: width => ({ left: width * 0.6, minWidth: width - width * 0.4, maxWidth: width - width * 0.4 }) }; //----------- @@ -71,7 +76,11 @@ export const headCellRender = ({ columnDef }, hClick) => { //Объединение нужных колонок и строк if (columnDef.name == "SINFO" || columnDef.name == "SWRKTYPE") { cellProps = { colSpan: 2 }; - if (columnDef.name == "SINFO") cellProps = { ...cellProps, rowSpan: 2 }; + cellStyle = { ...cellStyle, ...STYLES.STICKY_WIDTH_UNSET }; + if (columnDef.name == "SINFO") { + cellProps = { ...cellProps, rowSpan: 2 }; + cellStyle = { ...cellStyle, ...STYLES.FIRST_STICKY_CELL }; + } } //Изменения в заголовках с датами if (columnDef.visible && DAY_NAME_REG_EXP.test(columnDef.name)) { @@ -82,7 +91,7 @@ export const headCellRender = ({ columnDef }, hClick) => { }; //Генерация представления ячейки -export const dataCellRender = ({ row, columnDef }, showEquipSrv) => { +export const dataCellRender = ({ row, columnDef }, width, showEquipSrv) => { let curParent = ""; let cellDate; let cellStyle = STYLES.DCR_MAIN_STYLE; @@ -93,10 +102,10 @@ export const dataCellRender = ({ row, columnDef }, showEquipSrv) => { //Ячейка "Информация по объекту ремонта" if (columnDef.name == "SOBJINFO") { cellProps = { colSpan: 2 }; - cellStyle = { ...cellStyle, ...STYLES.DCR_OBJECT_INFO_STYLE }; + cellStyle = { ...cellStyle, ...STYLES.DCR_OBJECT_INFO_STYLE, ...STYLES.OBJINFO_WIDTH(width) }; } //Ячейка "Тип работ" - if (columnDef.name == "SWRKTYPE") cellStyle = STYLES.HIDE_CELL_STYLE; + if (columnDef.name == "SWRKTYPE") cellStyle = { ...STYLES.HIDE_CELL_STYLE }; //Ячейки колонок месяцев if (columnDef.parent == "" && columnDef.expandable == true && columnDef.expanded == false) { curParent = columnDef.name; @@ -118,13 +127,17 @@ export const dataCellRender = ({ row, columnDef }, showEquipSrv) => { } //Строка плана по объекту ремонта if (columnDef.name == "SOBJINFO" && row["SWRKTYPE"] == "План") { - cellStyle = { ...cellStyle }; + cellStyle = { ...cellStyle, ...STYLES.FIRST_STICKY_CELL, ...STYLES.OBJINFO_WRKNAME_WIDTH(width) }; cellProps = { rowSpan: 2 }; } //Строка факта по объекту ремонта if (columnDef.name == "SOBJINFO" && row["SWRKTYPE"] == "Факт") { cellStyle = { display: "none" }; } + //Ячейка план/факт + if (columnDef.name == "SWRKTYPE") { + cellStyle = { ...cellStyle, ...STYLES.WRKTYPE_WIDTH(width) }; + } //Закрашивание ячеек switch (row[columnDef.name]) { case "blue": diff --git a/app/panels/mech_rec_cost_jobs_manage/fcjobssp.js b/app/panels/mech_rec_cost_jobs_manage/fcjobssp.js index 7f6e6c4..6678a69 100644 --- a/app/panels/mech_rec_cost_jobs_manage/fcjobssp.js +++ b/app/panels/mech_rec_cost_jobs_manage/fcjobssp.js @@ -9,26 +9,63 @@ import React, { useState } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента -import { Typography, Box, Checkbox, Grid, Icon, Button, Dialog, DialogContent, TextField, DialogActions, Tooltip } from "@mui/material"; //Интерфейсные элементы -import { P8PDataGrid, P8P_DATA_GRID_SIZE } from "../../components/p8p_data_grid"; //Таблица данных +import { + Typography, + Box, + Checkbox, + Grid, + Icon, + Button, + Dialog, + DialogContent, + TextField, + DialogActions, + Tooltip, + Stack, + DialogTitle +} from "@mui/material"; //Интерфейсные элементы +import { BUTTONS } from "../../../app.text"; //Текстовые ресурсы +import { APP_BAR_HEIGHT } from "../../components/p8p_app_workspace"; //Заголовок страницы +import { P8PDataGrid, P8P_DATA_GRID_SIZE, P8P_DATA_GRID_MORE_HEIGHT } from "../../components/p8p_data_grid"; //Таблица данных +import { APP_STYLES } from "../../../app.styles"; //Типовые стили import { P8P_DATA_GRID_CONFIG_PROPS } from "../../config_wrapper"; //Подключение компонентов к настройкам приложения import { useCostJobsSpecs, useEquipConfiguration } from "./hooks"; //Собственные хуки таблиц +import { MAIN_HEADER_HEIGHT, SUB_HEADER_HEIGHT } from "./mech_rec_cost_jobs_manage"; //Заглавный компонент панели //--------- //Константы //--------- -const sUnitCostJobsSpecs = "CostJobsSpecs"; //Мнемокод раздела операций -const sUnitCostEquipment = "CostEquipment"; //Мнемокод раздела рабочих центров + +//Мнемокод раздела операций +const UNIT_COST_JOBS_SPECS = "CostJobsSpecs"; + +//Мнемокод раздела рабочих центров +const UNIT_COST_EQUIPMENT = "CostEquipment"; + +//Высота заголовка таблицы +const TABLE_HEADER_HEIGHT = "35px"; + +//Высота панели кнопок таблицы +const TABLE_BUTTONS_HEIGHT = "35px"; + +//Отступ таблицы +const TABLE_PADDING_TOP = "15px"; //Стили const STYLES = { CONTAINER: { textAlign: "center" }, - DATA_GRID_CONTAINER: { minHeight: "65vh", maxHeight: "65vh" }, - TABLE: { paddingTop: "15px" }, - TABLE_BUTTONS: { display: "flex", justifyContent: "flex-end" }, + DATA_GRID_CONTAINER: morePages => ({ + height: `calc(100vh - ${APP_BAR_HEIGHT} - ${MAIN_HEADER_HEIGHT} - ${SUB_HEADER_HEIGHT} - ${TABLE_HEADER_HEIGHT} - ${TABLE_BUTTONS_HEIGHT} - ${TABLE_PADDING_TOP} - 32px - ${ + morePages ? P8P_DATA_GRID_MORE_HEIGHT : "0px" + })`, + ...APP_STYLES.SCROLL + }), + TABLE: { paddingTop: TABLE_PADDING_TOP }, + TABLE_HEADER: { height: TABLE_HEADER_HEIGHT, overflow: "hidden" }, + TABLE_BUTTONS: { display: "flex", justifyContent: "flex-end", height: TABLE_BUTTONS_HEIGHT, overflow: "hidden" }, CHECK_BOX: { textAlign: "center" }, - JOBS_INFO: { minWidth: "60%", maxWidth: "60%", textAlign: "center" }, - EQUIPMENT_INFO: { minWidth: "40%", maxWidth: "40%", textAlign: "center" } + JOBS_INFO: { textAlign: "center" }, + EQUIPMENT_INFO: { textAlign: "center" } }; //Цвета @@ -47,7 +84,7 @@ const dataCellRender = ({ row, columnDef, handleSelectChange, sUnit, selectedRow //Стиль let cellStyle = {}; //Если это рабочие центры - if (sUnit === sUnitCostEquipment) { + if (sUnit === UNIT_COST_EQUIPMENT) { //Признак недоступности let disabled = true; //Если в выбранной строке смены указано рабочее место @@ -98,7 +135,7 @@ const dataCellRender = ({ row, columnDef, handleSelectChange, sUnit, selectedRow }; } //Если это сменное задание - if (sUnit === sUnitCostJobsSpecs) { + if (sUnit === UNIT_COST_JOBS_SPECS) { //Если указан станок if (row["SEQCONFIG"]) { //Подсвечиваем сменное задание зеленым @@ -193,6 +230,7 @@ const CostJobsSpecsInclude = ({ includeEquipment, setIncludeEquipment, setCostJo return ( handlePriorEditClose()}> + Включить в задание - - - + - + + ); @@ -247,7 +282,7 @@ CostJobsSpecsInclude.propTypes = { //----------- //Таблица информации о строках сменного задания -const CostJobsSpecsDataGrid = ({ task, haveNote }) => { +const CostJobsSpecsDataGrid = ({ task, haveNote, fromAction }) => { //Собственное состояние - Включение в задание const [includeEquipment, setIncludeEquipment] = useState({ NFCJOBSSP: null, NEQCONFIG: null, NVALUE: 0 }); @@ -255,7 +290,7 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { const [costJobsSpecs, setCostJobsSpecs, issueCostJobsSpecs] = useCostJobsSpecs(task); //Собственное состояние - таблица рабочих центров - const [equipConfiguration, setEquipConfiguration, includeEquipConfiguration, excludeEquipConfiguration] = useEquipConfiguration(task); + const [equipConfiguration, setEquipConfiguration, includeEquipConfiguration, excludeEquipConfiguration] = useEquipConfiguration(task, fromAction); //При изменении состояния сортировки операций const costJobsSpecOrderChanged = ({ orders }) => setCostJobsSpecs(pv => ({ ...pv, orders: [...orders], pageNumber: 1, reload: true })); @@ -314,7 +349,7 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { //Исходим от раздела switch (prms.SUNIT) { //Сменное задание - case sUnitCostJobsSpecs: + case UNIT_COST_JOBS_SPECS: //Определяем это новое отмеченное сменное задание или сброс старого selectedRow = costJobsSpecs.selectedRow.NRN ? (costJobsSpecs.selectedRow.NRN === prms.NRN ? null : prms.NRN) : prms.NRN; //Актуализируем строки @@ -327,7 +362,7 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { //Выходим break; //Рабочие центры - case sUnitCostEquipment: + case UNIT_COST_EQUIPMENT: //Определяем это новое отмеченное сменное задание или сброс старого selectedRow = equipConfiguration.selectedRow.NRN ? (equipConfiguration.selectedRow.NRN === prms.NRN ? null : prms.NRN) : prms.NRN; //Актуализируем строки @@ -356,23 +391,23 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { return (
- - Сменное задание + + + Сменное задание + {costJobsSpecs.dataLoaded ? ( <> - - - + { dataCellRender({ ...prms, handleSelectChange, - sUnit: sUnitCostJobsSpecs, + sUnit: UNIT_COST_JOBS_SPECS, selectedRow: costJobsSpecs.selectedRow.NRN, selectedJobSpec: costJobsSpecs.selectedRow }) @@ -396,24 +431,26 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { ) : null} - - Рабочие центры + + + Рабочие центры + {equipConfiguration.dataLoaded ? ( <> - - + + - + { dataCellRender({ ...prms, handleSelectChange, - sUnit: sUnitCostEquipment, + sUnit: UNIT_COST_EQUIPMENT, selectedRow: equipConfiguration.selectedRow.NRN, selectedJobSpec: costJobsSpecs.selectedRow }) @@ -468,7 +505,8 @@ const CostJobsSpecsDataGrid = ({ task, haveNote }) => { //Контроль свойств - Таблица информации о строках сменного задания CostJobsSpecsDataGrid.propTypes = { task: PropTypes.number.isRequired, - haveNote: PropTypes.bool.isRequired + haveNote: PropTypes.bool.isRequired, + fromAction: PropTypes.bool.isRequired }; //---------------- diff --git a/app/panels/mech_rec_cost_jobs_manage/hooks.js b/app/panels/mech_rec_cost_jobs_manage/hooks.js index 5f49f01..01eab21 100644 --- a/app/panels/mech_rec_cost_jobs_manage/hooks.js +++ b/app/panels/mech_rec_cost_jobs_manage/hooks.js @@ -1,9 +1,15 @@ +/* + Парус 8 - Панели мониторинга - ПУП - Выдача сменного задания + Кастомные хуки +*/ + //--------------------- //Подключение библиотек //--------------------- import React, { useState, useCallback, useEffect, useContext } from "react"; //Классы React import { BackEndСtx } from "../../context/backend"; //Контекст взаимодействия с сервером +import { NavigationCtx } from "../../context/navigation"; //Контекст навигации import { object2Base64XML } from "../../core/utils"; //Вспомогательные функции //--------- @@ -39,18 +45,20 @@ const useCostJobs = () => { jobList: [], jobListLoaded: false, selectedJob: {}, - dataLoaded: false + fromAction: false }); //Подключение к контексту взаимодействия с сервером const { executeStored } = useContext(BackEndСtx); + //Подключение к контексту навигации + const { getNavigationSearch } = useContext(NavigationCtx); //При подключении компонента к странице useEffect(() => { - const initPlans = async () => { + const initPlans = async fcJob => { const data = await executeStored({ stored: "PKG_P8PANELS_MECHREC.FCJOBS_INIT", - args: {}, + args: { NFCJOBS: fcJob ? parseInt(fcJob) : null }, respArg: "COUT", isArray: name => name === "XFCJOBS", attributeValueProcessor: (name, val) => (["NHAVE_NOTE"].includes(name) ? val == 1 : val) @@ -59,11 +67,16 @@ const useCostJobs = () => { ...pv, init: true, jobList: [...(data.XFCJOBS || [])], - jobListLoaded: true + selectedJob: data.XFCJOBS_SELECTED ? data.XFCJOBS_SELECTED : {}, + jobListLoaded: true, + fromAction: fcJob ? true : false })); }; if (!state.init) { - initPlans(); + //Считаем параметры, переданные из действия + const actionPrms = getNavigationSearch(); + //Иницализируем планы + initPlans(actionPrms.NRN); } // eslint-disable-next-line react-hooks/exhaustive-deps }, []); @@ -163,7 +176,7 @@ const useCostJobsSpecs = task => { }; //Хук для таблицы рабочих центров -const useEquipConfiguration = task => { +const useEquipConfiguration = (task, fromAction) => { //Собственное состояние - таблица данных const [equipConfiguration, setEquipConfiguration] = useState({ task: null, @@ -232,6 +245,7 @@ const useEquipConfiguration = task => { stored: "PKG_P8PANELS_MECHREC.EQCONFIG_DG_GET", args: { NFCJOBS: task, + NFROM_ACTION: fromAction ? 1 : 0, CORDERS: { VALUE: object2Base64XML(equipConfiguration.orders, { arrayNodeName: "orders" }), SDATA_TYPE: SERV_DATA_TYPE_CLOB }, NPAGE_NUMBER: equipConfiguration.pageNumber, NPAGE_SIZE: DATA_GRID_PAGE_SIZE, @@ -261,7 +275,8 @@ const useEquipConfiguration = task => { equipConfiguration.selectedRow, equipConfiguration.task, task, - executeStored + executeStored, + fromAction ]); return [equipConfiguration, setEquipConfiguration, includeEquipConfiguration, excludeEquipConfiguration]; diff --git a/app/panels/mech_rec_cost_jobs_manage/mech_rec_cost_jobs_manage.js b/app/panels/mech_rec_cost_jobs_manage/mech_rec_cost_jobs_manage.js index d54167e..5d97e7d 100644 --- a/app/panels/mech_rec_cost_jobs_manage/mech_rec_cost_jobs_manage.js +++ b/app/panels/mech_rec_cost_jobs_manage/mech_rec_cost_jobs_manage.js @@ -18,8 +18,16 @@ import { useCostJobs, useFilteredFcjobs } from "./hooks"; //Вспомогате //Константы //--------- +//Высота основного заголовка +const MAIN_HEADER_HEIGHT = "35px"; + +//Высота подзаголовка +const SUB_HEADER_HEIGHT = "35px"; + //Стили const STYLES = { + MAIN_HEADER: { height: MAIN_HEADER_HEIGHT, overflow: "hidden" }, + SUB_HEADER: { height: SUB_HEADER_HEIGHT, overflow: "hidden" }, JOBS_FINDER: { marginTop: "10px", marginLeft: "10px", width: "93%" }, JOBS_LIST_ITEM_PRIMARY: { wordWrap: "break-word" }, JOBS_BUTTON: { position: "absolute" }, @@ -96,8 +104,7 @@ const MechRecCostJobs = () => { setState(pv => ({ ...pv, selectedJob: job, - showJobList: false, - dataLoaded: false + showJobList: false })); }; @@ -107,8 +114,7 @@ const MechRecCostJobs = () => { setState(pv => ({ ...pv, selectedJob: {}, - showJobList: false, - dataLoaded: false + showJobList: false })); }; @@ -130,9 +136,12 @@ const MechRecCostJobs = () => {
{state.selectedJob.NRN ? ( <> - {`Сменное задание №${state.selectedJob.SDOC_NUMB} на ${state.selectedJob.SPERIOD}`} - {`${state.selectedJob.SSUBDIV}`} - + {`Сменное задание №${state.selectedJob.SDOC_NUMB} на ${state.selectedJob.SPERIOD}`} + {`${state.selectedJob.SSUBDIV}`} + ) : !state.selectedJob.NRN ? ( @@ -146,4 +155,4 @@ const MechRecCostJobs = () => { //Интерфейс модуля //---------------- -export { MechRecCostJobs }; +export { MAIN_HEADER_HEIGHT, SUB_HEADER_HEIGHT, MechRecCostJobs }; diff --git a/app/panels/mech_rec_cost_prod_plans/datagrids/fcdeliverylistsp.js b/app/panels/mech_rec_cost_prod_plans/datagrids/fcdeliverylistsp.js index 75f5021..d02c517 100644 --- a/app/panels/mech_rec_cost_prod_plans/datagrids/fcdeliverylistsp.js +++ b/app/panels/mech_rec_cost_prod_plans/datagrids/fcdeliverylistsp.js @@ -20,7 +20,8 @@ import { useCostDeliveryLists } from "./backend_dg"; //Собственные х //Стили const STYLES = { - CONTAINER: { margin: "5px 0px", textAlign: "center" } + CONTAINER: { margin: "5px 0px", textAlign: "center" }, + DATA_GRID_CELL_COVERED: { backgroundColor: "lightblue" } }; //------------------------------------ @@ -32,7 +33,7 @@ const dataCellRender = ({ row, columnDef }) => { //Если "Количество план" равно или меньше "Остаток" if (row["NQUANT_PLAN"] <= row["NREST"]) { return { - cellStyle: { backgroundColor: "lightblue" }, + cellStyle: { ...STYLES.DATA_GRID_CELL_COVERED }, data: row[columnDef] }; } else { diff --git a/app/panels/mech_rec_cost_prod_plans/datagrids/goodparties.js b/app/panels/mech_rec_cost_prod_plans/datagrids/goodparties.js index be18627..e208026 100644 --- a/app/panels/mech_rec_cost_prod_plans/datagrids/goodparties.js +++ b/app/panels/mech_rec_cost_prod_plans/datagrids/goodparties.js @@ -20,7 +20,8 @@ import { useGoodsParties } from "./backend_dg"; //Собственные хук //Стили const STYLES = { - CONTAINER: { margin: "5px 0px", textAlign: "center" } + CONTAINER: { margin: "5px 0px", textAlign: "center" }, + DATA_GRID_CELL_COVERED: { backgroundColor: "lightblue" } }; //------------------------------------ @@ -32,7 +33,7 @@ const dataCellRender = ({ row, columnDef, quantPlanSum }) => { //Если остаток больше суммы "Выдать по норме" - закрашиваем голубым if (row["NRESTFACT"] >= quantPlanSum) { return { - cellStyle: { backgroundColor: "lightblue" }, + cellStyle: { ...STYLES.DATA_GRID_CELL_COVERED }, data: row[columnDef] }; } else { diff --git a/app/panels/mech_rec_cost_prod_plans/mech_rec_cost_prod_plans.js b/app/panels/mech_rec_cost_prod_plans/mech_rec_cost_prod_plans.js index a6da453..cea0cad 100644 --- a/app/panels/mech_rec_cost_prod_plans/mech_rec_cost_prod_plans.js +++ b/app/panels/mech_rec_cost_prod_plans/mech_rec_cost_prod_plans.js @@ -40,7 +40,9 @@ import { } from "@mui/material"; //Интерфейсные элементы import { BackEndСtx } from "../../context/backend"; //Контекст взаимодействия с сервером import { MessagingСtx } from "../../context/messaging"; //Контекст сообщений +import { NavigationCtx } from "../../context/navigation"; //Контекст навигации import { P8P_GANTT_CONFIG_PROPS } from "../../config_wrapper"; //Подключение компонентов к настройкам приложения +import { APP_BAR_HEIGHT } from "../../components/p8p_app_workspace"; //Заголовок страницы import { P8PGantt, taskLegendDesc } from "../../components/p8p_gantt"; //Диаграмма Ганта import { xml2JSON, formatDateJSONDateOnly, formatDateRF, hasValue } from "../../core/utils"; //Вспомогательные функции import { useFilteredPlanCtlgs } from "./hooks"; //Вспомогательные хуки @@ -58,12 +60,6 @@ const DECLINATIONS = ["план", "плана", "планов"]; const SORT_REP_DATE = "DREP_DATE"; const SORT_REP_DATE_TO = "DREP_DATE_TO"; -//Высота диаграммы Ганта -const GANTT_HEIGHT = "75vh"; - -//Ширина диаграммы Ганта -const GANTT_WIDTH = "98vw"; - //Стили const STYLES = { PLANS_FINDER: { marginTop: "10px", marginLeft: "10px", width: "93%" }, @@ -71,20 +67,23 @@ const STYLES = { PLANS_LIST_ITEM_ZERODOCS: { backgroundColor: "#ebecec" }, PLANS_LIST_ITEM_PRIMARY: { wordWrap: "break-word" }, PLANS_LIST_ITEM_SECONDARY: { wordWrap: "break-word", fontSize: "0.6rem", textTransform: "uppercase" }, - PLANS_BUTTON: { position: "absolute" }, + PLANS_BUTTON: { position: "absolute", top: `calc(${APP_BAR_HEIGHT} + 16px)`, left: "16px" }, PLANS_DRAWER: { width: "350px", display: "inline-block", flexShrink: 0, [`& .MuiDrawer-paper`]: { width: "350px", display: "inline-block", boxSizing: "border-box" } }, - GANTT_CONTAINER: { height: GANTT_HEIGHT, width: GANTT_WIDTH }, - GANTT_TITLE: { paddingLeft: "100px", paddingRight: "120px" }, + GANTT_CONTAINER: { height: `calc(100vh - ${APP_BAR_HEIGHT})`, width: "100vw", paddingTop: "24px" }, + GANTT_TITLE: { paddingLeft: "250px", paddingRight: "250px" }, SECOND_TABLE: { paddingTop: "30px" }, TASK_DIALOG_CARD_CONTAINER: { padding: "0px" }, TASK_DIALOG_LIST_ITEM_ICON: { justifyContent: "center" }, TASK_DIALOG_ICON: { fontSize: "2rem" }, - TASK_DIALOG_ACTION_CONTAINER: { border: 1, borderColor: "text.primary", borderRadius: "5px", width: "100%" } + TASK_DIALOG_ACTION_CONTAINER: { border: 1, borderColor: "text.primary", borderRadius: "5px", width: "100%" }, + FILTERS: { display: "table", float: "right" }, + FILTERS_DATE: { display: "table-cell", verticalAlign: "middle" }, + FILTERS_LEVEL: { display: "table-cell", verticalAlign: "middle", paddingLeft: "15px" } }; //------------------------------------ @@ -148,7 +147,7 @@ const PlanCtlgsList = ({ planCtlgs = [], selectedPlanCtlg, filter, setFilter, on > {p.SNAME}} - secondary={{formatCountDocs(p.NCOUNT_DOCS)}} + secondary={{formatCountDocs(p.NCOUNT_DOCS)}} /> ))} @@ -210,7 +209,9 @@ const taskDialogRenderer = ({ task, taskColors, close, handleTaskDetailOpen }) = {task["detail_list"]} ) : ( - {`Анализ отклонений недоступен: ${task["detail_list"]}`} + {`Анализ отклонений недоступен${ + task["detail_list"] ? `: ${task["detail_list"]}` : "" + }`} )} @@ -239,7 +240,8 @@ const MechRecCostProdPlans = () => { selectedPlanCtlgGanttDef: {}, selectedPlanCtlgSpecs: [], selectedTaskDetail: null, - selectedTaskDetailType: null + selectedTaskDetailType: null, + planSpec: null }); //Состояние для фильтра каталогов const [filter, setFilter] = useState({ ctlgName: "", haveDocs: false }); @@ -253,7 +255,10 @@ const MechRecCostProdPlans = () => { //Подключение к контексту взаимодействия с сервером const { executeStored } = useContext(BackEndСtx); - // Инициализация каталогов планов + //Подключение к контексту навигации + const { getNavigationSearch } = useContext(NavigationCtx); + + //Инициализация каталогов планов const initPlanCtlgs = useCallback(async () => { if (!state.init) { const data = await executeStored({ @@ -307,7 +312,7 @@ const MechRecCostProdPlans = () => { async (level = null, sort = null) => { const data = await executeStored({ stored: "PKG_P8PANELS_MECHREC.FCPRODPLANSP_GET", - args: { NCRN: state.selectedPlanCtlg, NLEVEL: level, SSORT_FIELD: sort } + args: { NCRN: state.selectedPlanCtlg, NLEVEL: level, SSORT_FIELD: sort, NFCPRODPLANSP: state.planSpec } }); let doc = await parseProdPlanSpXML(data.COUT); setState(pv => ({ @@ -324,7 +329,7 @@ const MechRecCostProdPlans = () => { })); }, // eslint-disable-next-line react-hooks/exhaustive-deps - [executeStored, state.ident, state.selectedPlanCtlg] + [executeStored, state.ident, state.selectedPlanCtlg, state.planSpec] ); //Обработка нажатия на элемент в списке каталогов планов @@ -335,14 +340,16 @@ const MechRecCostProdPlans = () => { //При подключении компонента к странице useEffect(() => { - initPlanCtlgs(); + const actionPrms = getNavigationSearch(); + if (actionPrms.NSPRN) setState(pv => ({ ...pv, planSpec: parseInt(actionPrms.NSPRN), init: true })); + else initPlanCtlgs(); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - //При смене выбранного каталога плана + //При смене выбранного каталога плана или при явном указании позиции спецификации плана useEffect(() => { - if (state.selectedPlanCtlg) loadPlanCtglSpecs(null, SORT_REP_DATE_TO); - }, [state.selectedPlanCtlg, loadPlanCtglSpecs]); + if (state.selectedPlanCtlg || state.planSpec) loadPlanCtglSpecs(null, SORT_REP_DATE_TO); + }, [state.selectedPlanCtlg, state.planSpec, loadPlanCtglSpecs]); //Выбор уровня const handleChangeSelectLevel = selectedLevel => { @@ -368,35 +375,48 @@ const MechRecCostProdPlans = () => { //Генерация содержимого return ( - - setState(pv => ({ ...pv, showPlanList: !pv.showPlanList }))}> - Каталоги планов - - setState(pv => ({ ...pv, showPlanList: false }))} - sx={STYLES.PLANS_DRAWER} - > - - + + {!state.planSpec ? ( + <> + setState(pv => ({ ...pv, showPlanList: !pv.showPlanList }))}> + Каталоги планов + + setState(pv => ({ ...pv, showPlanList: false }))} + sx={STYLES.PLANS_DRAWER} + > + + + + ) : null} {state.init == true ? ( - + {state.selectedPlanCtlgSpecsLoaded ? ( state.selectedPlanCtlgSpecs.length === 0 ? ( - + + + ) : ( - + {state.selectedPlanCtlgMaxLevel ? ( - - + + Сортировка - + До уровня \n * We'll never share your email.\n * \n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\nconst FormControl = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControl(inProps, ref) {\n const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n props: inProps,\n name: 'MuiFormControl'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n if (children) {\n react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => {\n if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Input', 'Select'])) {\n return;\n }\n const input = (0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Select']) ? child.props.input : child;\n if (input && (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isAdornedStart)(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n return initialAdornedStart;\n });\n const [filled, setFilled] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n if (children) {\n react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => {\n if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Input', 'Select'])) {\n return;\n }\n if ((0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props, true) || (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props.inputProps, true)) {\n initialFilled = true;\n }\n });\n }\n return initialFilled;\n });\n const [focusedState, setFocused] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false);\n if (disabled && focusedState) {\n setFocused(false);\n }\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n const childContext = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {\n return {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty: () => {\n setFilled(false);\n },\n onFilled: () => {\n setFilled(true);\n },\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_FormControlContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"].Provider, {\n value: childContext,\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormControlRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\n true ? FormControl.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string),\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n * @default 'primary'\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().elementType),\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['dense', 'none', 'normal']),\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['medium', 'small']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['filled', 'outlined', 'standard'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormControl);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormControl/FormControl.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DefaultPropsProvider */ \"./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _InputBase_utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../InputBase/utils */ \"./node_modules/@mui/material/InputBase/utils.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/isMuiElement */ \"./node_modules/@mui/material/utils/isMuiElement.js\");\n/* harmony import */ var _FormControlContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./FormControlContext */ \"./node_modules/@mui/material/FormControl/FormControlContext.js\");\n/* harmony import */ var _formControlClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formControlClasses */ \"./node_modules/@mui/material/FormControl/formControlClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"focused\", \"fullWidth\", \"hiddenLabel\", \"margin\", \"required\", \"size\", \"variant\"];\n\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n margin,\n fullWidth\n } = ownerState;\n const slots = {\n root: ['root', margin !== 'none' && `margin${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(margin)}`, fullWidth && 'fullWidth']\n };\n return (0,_mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _formControlClasses__WEBPACK_IMPORTED_MODULE_7__.getFormControlUtilityClasses, classes);\n};\nconst FormControlRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('div', {\n name: 'MuiFormControl',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styles.root, styles[`margin${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.margin)}`], ownerState.fullWidth && styles.fullWidth);\n }\n})(({\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n display: 'inline-flex',\n flexDirection: 'column',\n position: 'relative',\n // Reset fieldset default style.\n minWidth: 0,\n padding: 0,\n margin: 0,\n border: 0,\n verticalAlign: 'top'\n}, ownerState.margin === 'normal' && {\n marginTop: 16,\n marginBottom: 8\n}, ownerState.margin === 'dense' && {\n marginTop: 8,\n marginBottom: 4\n}, ownerState.fullWidth && {\n width: '100%'\n}));\n\n/**\n * Provides context such as filled/focused/error/required for form inputs.\n * Relying on the context provides high flexibility and ensures that the state always stays\n * consistent across the children of the `FormControl`.\n * This context is used by the following components:\n *\n * - FormLabel\n * - FormHelperText\n * - Input\n * - InputLabel\n *\n * You can find one composition example below and more going to [the demos](/material-ui/react-text-field/#components).\n *\n * ```jsx\n * \n * Email address\n * \n * We'll never share your email.\n * \n * ```\n *\n * ⚠️ Only one `InputBase` can be used within a FormControl because it creates visual inconsistencies.\n * For instance, only one input can be focused at the same time, the state shouldn't be shared.\n */\nconst FormControl = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormControl(inProps, ref) {\n const props = (0,_DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__.useDefaultProps)({\n props: inProps,\n name: 'MuiFormControl'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n error = false,\n focused: visuallyFocused,\n fullWidth = false,\n hiddenLabel = false,\n margin = 'none',\n required = false,\n size = 'medium',\n variant = 'outlined'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n color,\n component,\n disabled,\n error,\n fullWidth,\n hiddenLabel,\n margin,\n required,\n size,\n variant\n });\n const classes = useUtilityClasses(ownerState);\n const [adornedStart, setAdornedStart] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialAdornedStart = false;\n if (children) {\n react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => {\n if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Input', 'Select'])) {\n return;\n }\n const input = (0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Select']) ? child.props.input : child;\n if (input && (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isAdornedStart)(input.props)) {\n initialAdornedStart = true;\n }\n });\n }\n return initialAdornedStart;\n });\n const [filled, setFilled] = react__WEBPACK_IMPORTED_MODULE_2__.useState(() => {\n // We need to iterate through the children and find the Input in order\n // to fully support server-side rendering.\n let initialFilled = false;\n if (children) {\n react__WEBPACK_IMPORTED_MODULE_2__.Children.forEach(children, child => {\n if (!(0,_utils_isMuiElement__WEBPACK_IMPORTED_MODULE_10__[\"default\"])(child, ['Input', 'Select'])) {\n return;\n }\n if ((0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props, true) || (0,_InputBase_utils__WEBPACK_IMPORTED_MODULE_11__.isFilled)(child.props.inputProps, true)) {\n initialFilled = true;\n }\n });\n }\n return initialFilled;\n });\n const [focusedState, setFocused] = react__WEBPACK_IMPORTED_MODULE_2__.useState(false);\n if (disabled && focusedState) {\n setFocused(false);\n }\n const focused = visuallyFocused !== undefined && !disabled ? visuallyFocused : focusedState;\n let registerEffect;\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const registeredInput = react__WEBPACK_IMPORTED_MODULE_2__.useRef(false);\n registerEffect = () => {\n if (registeredInput.current) {\n console.error(['MUI: There are multiple `InputBase` components inside a FormControl.', 'This creates visual inconsistencies, only use one `InputBase`.'].join('\\n'));\n }\n registeredInput.current = true;\n return () => {\n registeredInput.current = false;\n };\n };\n }\n const childContext = react__WEBPACK_IMPORTED_MODULE_2__.useMemo(() => {\n return {\n adornedStart,\n setAdornedStart,\n color,\n disabled,\n error,\n filled,\n focused,\n fullWidth,\n hiddenLabel,\n size,\n onBlur: () => {\n setFocused(false);\n },\n onEmpty: () => {\n setFilled(false);\n },\n onFilled: () => {\n setFilled(true);\n },\n onFocus: () => {\n setFocused(true);\n },\n registerEffect,\n required,\n variant\n };\n }, [adornedStart, color, disabled, error, filled, focused, fullWidth, hiddenLabel, registerEffect, required, size, variant]);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_FormControlContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"].Provider, {\n value: childContext,\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormControlRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: children\n }))\n });\n});\n true ? FormControl.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string),\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().elementType),\n /**\n * If `true`, the label, input and helper text should be displayed in a disabled state.\n * @default false\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the label is displayed in an error state.\n * @default false\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the component is displayed in focused state.\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the component will take up the full width of its container.\n * @default false\n */\n fullWidth: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `true`, the label is hidden.\n * This is used to increase density for a `FilledInput`.\n * Be sure to add `aria-label` to the `input` element.\n * @default false\n */\n hiddenLabel: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If `dense` or `normal`, will adjust vertical spacing of this and contained components.\n * @default 'none'\n */\n margin: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['dense', 'none', 'normal']),\n /**\n * If `true`, the label will indicate that the `input` is required.\n * @default false\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['medium', 'small']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['filled', 'outlined', 'standard'])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormControl);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormControl/FormControl.js?"); /***/ }), @@ -1016,7 +851,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormControlUtilityClasses: () => (/* binding */ getFormControlUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormControlUtilityClasses(slot) {\n return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormControl', slot);\n}\nconst formControlClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formControlClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormControl/formControlClasses.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormControlUtilityClasses: () => (/* binding */ getFormControlUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormControlUtilityClasses(slot) {\n return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormControl', slot);\n}\nconst formControlClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormControl', ['root', 'marginNone', 'marginNormal', 'marginDense', 'fullWidth', 'disabled']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formControlClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormControl/formControlClasses.js?"); /***/ }), @@ -1049,7 +884,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/base/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/useThemeProps */ \"./node_modules/@mui/material/styles/useThemeProps.js\");\n/* harmony import */ var _formGroupClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./formGroupClasses */ \"./node_modules/@mui/material/FormGroup/formGroupClasses.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"className\", \"row\"];\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(slots, _formGroupClasses__WEBPACK_IMPORTED_MODULE_6__.getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__[\"default\"])('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormGroup(inProps, ref) {\n const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_8__[\"default\"])({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_9__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormGroupRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\n true ? FormGroup.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormGroup);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormGroup/FormGroup.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../DefaultPropsProvider */ \"./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js\");\n/* harmony import */ var _formGroupClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./formGroupClasses */ \"./node_modules/@mui/material/FormGroup/formGroupClasses.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"className\", \"row\"];\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return (0,_mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(slots, _formGroupClasses__WEBPACK_IMPORTED_MODULE_6__.getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__[\"default\"])('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})(({\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap'\n}, ownerState.row && {\n flexDirection: 'row'\n}));\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormGroup(inProps, ref) {\n const props = (0,_DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_8__.useDefaultProps)({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_9__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_10__[\"default\"])({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n row,\n error: fcs.error\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormGroupRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ownerState: ownerState,\n ref: ref\n }, other));\n});\n true ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().string),\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_11___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_11___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_11___default().object)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormGroup);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormGroup/FormGroup.js?"); /***/ }), @@ -1060,7 +895,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormGroupUtilityClass: () => (/* binding */ getFormGroupUtilityClass)\n/* harmony export */ });\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormGroupUtilityClass(slot) {\n return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormGroup', slot);\n}\nconst formGroupClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormGroup', ['root', 'row', 'error']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formGroupClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormGroup/formGroupClasses.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormGroupUtilityClass: () => (/* binding */ getFormGroupUtilityClass)\n/* harmony export */ });\n/* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormGroupUtilityClass(slot) {\n return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormGroup', slot);\n}\nconst formGroupClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormGroup', ['root', 'row', 'error']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formGroupClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormGroup/formGroupClasses.js?"); /***/ }), @@ -1071,7 +906,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formHelperTextClasses */ \"./node_modules/@mui/material/FormHelperText/formHelperTextClasses.js\");\n/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ \"./node_modules/@mui/material/styles/useThemeProps.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__.getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${_formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${_formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormHelperText(inProps, ref) {\n const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__[\"default\"])({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormHelperTextRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\n true ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType),\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)]),\n /**\n * The variant to use.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['filled', 'outlined', 'standard']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormHelperText);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormHelperText/FormHelperText.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formHelperTextClasses */ \"./node_modules/@mui/material/FormHelperText/formHelperTextClasses.js\");\n/* harmony import */ var _DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DefaultPropsProvider */ \"./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nvar _span;\nconst _excluded = [\"children\", \"className\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"margin\", \"required\", \"variant\"];\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n contained,\n size,\n disabled,\n error,\n filled,\n focused,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', error && 'error', size && `size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(size)}`, contained && 'contained', focused && 'focused', filled && 'filled', required && 'required']\n };\n return (0,_mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__.getFormHelperTextUtilityClasses, classes);\n};\nconst FormHelperTextRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('p', {\n name: 'MuiFormHelperText',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size && styles[`size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.size)}`], ownerState.contained && styles.contained, ownerState.filled && styles.filled];\n }\n})(({\n theme,\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.caption, {\n textAlign: 'left',\n marginTop: 3,\n marginRight: 0,\n marginBottom: 0,\n marginLeft: 0,\n [`&.${_formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${_formHelperTextClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}, ownerState.size === 'small' && {\n marginTop: 4\n}, ownerState.contained && {\n marginLeft: 14,\n marginRight: 14\n}));\nconst FormHelperText = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormHelperText(inProps, ref) {\n const props = (0,_DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__.useDefaultProps)({\n props: inProps,\n name: 'MuiFormHelperText'\n });\n const {\n children,\n className,\n component = 'p'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__[\"default\"])({\n props,\n muiFormControl,\n states: ['variant', 'size', 'disabled', 'error', 'filled', 'focused', 'required']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n component,\n contained: fcs.variant === 'filled' || fcs.variant === 'outlined',\n variant: fcs.variant,\n size: fcs.size,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(FormHelperTextRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: children === ' ' ? // notranslate needed while Google Translate will not fix zero-width space issue\n _span || (_span = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : children\n }));\n});\n true ? FormHelperText.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n *\n * If `' '` is provided, the component reserves one line height for displaying a future message.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType),\n /**\n * If `true`, the helper text should be displayed in a disabled state.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, helper text should be displayed in an error state.\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the helper text should use filled classes key.\n */\n filled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the helper text should use focused classes key.\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `dense`, will adjust vertical spacing. This is normally obtained via context from\n * FormControl.\n */\n margin: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['dense']),\n /**\n * If `true`, the helper text should use required classes key.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)]),\n /**\n * The variant to use.\n */\n variant: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['filled', 'outlined', 'standard']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormHelperText);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormHelperText/FormHelperText.js?"); /***/ }), @@ -1082,7 +917,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormHelperTextUtilityClasses: () => (/* binding */ getFormHelperTextUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormHelperTextUtilityClasses(slot) {\n return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formHelperTextClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormHelperText/formHelperTextClasses.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormHelperTextUtilityClasses: () => (/* binding */ getFormHelperTextUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormHelperTextUtilityClasses(slot) {\n return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormHelperText', slot);\n}\nconst formHelperTextClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormHelperText', ['root', 'error', 'disabled', 'sizeSmall', 'sizeMedium', 'contained', 'focused', 'filled', 'required']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formHelperTextClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormHelperText/formHelperTextClasses.js?"); /***/ }), @@ -1093,7 +928,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FormLabelRoot: () => (/* binding */ FormLabelRoot),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ \"./node_modules/@mui/material/styles/useThemeProps.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _formLabelClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formLabelClasses */ \"./node_modules/@mui/material/FormLabel/formLabelClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _formLabelClasses__WEBPACK_IMPORTED_MODULE_7__.getFormLabelUtilityClasses, classes);\n};\nconst FormLabelRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormLabel(inProps, ref) {\n const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__[\"default\"])({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(FormLabelRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\n true ? FormLabel.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string),\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#adding-new-colors).\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType),\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormLabel);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormLabel/FormLabel.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FormLabelRoot: () => (/* binding */ FormLabelRoot),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/utils/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../FormControl/formControlState */ \"./node_modules/@mui/material/FormControl/formControlState.js\");\n/* harmony import */ var _FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../FormControl/useFormControl */ \"./node_modules/@mui/material/FormControl/useFormControl.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DefaultPropsProvider */ \"./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _formLabelClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./formLabelClasses */ \"./node_modules/@mui/material/FormLabel/formLabelClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"children\", \"className\", \"color\", \"component\", \"disabled\", \"error\", \"filled\", \"focused\", \"required\"];\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n focused,\n disabled,\n error,\n filled,\n required\n } = ownerState;\n const slots = {\n root: ['root', `color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color)}`, disabled && 'disabled', error && 'error', filled && 'filled', focused && 'focused', required && 'required'],\n asterisk: ['asterisk', error && 'error']\n };\n return (0,_mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _formLabelClasses__WEBPACK_IMPORTED_MODULE_7__.getFormLabelUtilityClasses, classes);\n};\nconst FormLabelRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('label', {\n name: 'MuiFormLabel',\n slot: 'Root',\n overridesResolver: ({\n ownerState\n }, styles) => {\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);\n }\n})(({\n theme,\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n color: (theme.vars || theme).palette.text.secondary\n}, theme.typography.body1, {\n lineHeight: '1.4375em',\n padding: 0,\n position: 'relative',\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].focused}`]: {\n color: (theme.vars || theme).palette[ownerState.color].main\n },\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n },\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst AsteriskComponent = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])('span', {\n name: 'MuiFormLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(({\n theme\n}) => ({\n [`&.${_formLabelClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n}));\nconst FormLabel = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function FormLabel(inProps, ref) {\n const props = (0,_DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__.useDefaultProps)({\n props: inProps,\n name: 'MuiFormLabel'\n });\n const {\n children,\n className,\n component = 'label'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const muiFormControl = (0,_FormControl_useFormControl__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const fcs = (0,_FormControl_formControlState__WEBPACK_IMPORTED_MODULE_11__[\"default\"])({\n props,\n muiFormControl,\n states: ['color', 'required', 'focused', 'disabled', 'error', 'filled']\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n color: fcs.color || 'primary',\n component,\n disabled: fcs.disabled,\n error: fcs.error,\n filled: fcs.filled,\n focused: fcs.focused,\n required: fcs.required\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(FormLabelRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n as: component,\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n ref: ref\n }, other, {\n children: [children, fcs.required && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }));\n});\n true ? FormLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string),\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOf(['error', 'info', 'primary', 'secondary', 'success', 'warning']), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().elementType),\n /**\n * If `true`, the label should be displayed in a disabled state.\n */\n disabled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label is displayed in an error state.\n */\n error: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label should use filled classes key.\n */\n filled: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the input of this label is focused (used by `FormGroup` components).\n */\n focused: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_12___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_12___default().object)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FormLabel);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormLabel/FormLabel.js?"); /***/ }), @@ -1104,7 +939,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormLabelUtilityClasses: () => (/* binding */ getFormLabelUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormLabelUtilityClasses(slot) {\n return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormLabel', slot);\n}\nconst formLabelClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formLabelClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormLabel/formLabelClasses.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getFormLabelUtilityClasses: () => (/* binding */ getFormLabelUtilityClasses)\n/* harmony export */ });\n/* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getFormLabelUtilityClasses(slot) {\n return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiFormLabel', slot);\n}\nconst formLabelClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiFormLabel', ['root', 'colorSecondary', 'focused', 'disabled', 'error', 'filled', 'required', 'asterisk']);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (formLabelClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/FormLabel/formLabelClasses.js?"); /***/ }), @@ -1115,7 +950,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js\");\n/* harmony import */ var _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/defaultTheme */ \"./node_modules/@mui/material/styles/defaultTheme.js\");\n/* harmony import */ var _styles_identifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/identifier */ \"./node_modules/@mui/material/styles/identifier.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\n\n\n\n\n\nfunction GlobalStyles(props) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_mui_system__WEBPACK_IMPORTED_MODULE_3__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n defaultTheme: _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n themeId: _styles_identifier__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n }));\n}\n true ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The styles you want to apply globally.\n */\n styles: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalStyles);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/GlobalStyles/GlobalStyles.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/GlobalStyles/GlobalStyles.js\");\n/* harmony import */ var _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../styles/defaultTheme */ \"./node_modules/@mui/material/styles/defaultTheme.js\");\n/* harmony import */ var _styles_identifier__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/identifier */ \"./node_modules/@mui/material/styles/identifier.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\n\n\n\n\n\nfunction GlobalStyles(props) {\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_mui_system__WEBPACK_IMPORTED_MODULE_3__[\"default\"], (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({}, props, {\n defaultTheme: _styles_defaultTheme__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n themeId: _styles_identifier__WEBPACK_IMPORTED_MODULE_5__[\"default\"]\n }));\n}\n true ? GlobalStyles.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The styles you want to apply globally.\n */\n styles: prop_types__WEBPACK_IMPORTED_MODULE_6___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_6___default().array), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().string), (prop_types__WEBPACK_IMPORTED_MODULE_6___default().bool)])\n} : 0;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (GlobalStyles);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/GlobalStyles/GlobalStyles.js?"); /***/ }), @@ -1126,7 +961,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ generateColumnGap: () => (/* binding */ generateColumnGap),\n/* harmony export */ generateDirection: () => (/* binding */ generateDirection),\n/* harmony export */ generateGrid: () => (/* binding */ generateGrid),\n/* harmony export */ generateRowGap: () => (/* binding */ generateRowGap),\n/* harmony export */ resolveSpacingClasses: () => (/* binding */ resolveSpacingClasses),\n/* harmony export */ resolveSpacingStyles: () => (/* binding */ resolveSpacingStyles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/breakpoints.js\");\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js\");\n/* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/base/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _utils_requirePropFactory__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/requirePropFactory */ \"./node_modules/@mui/material/utils/requirePropFactory.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../styles/useThemeProps */ \"./node_modules/@mui/material/styles/useThemeProps.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@mui/material/styles/useTheme.js\");\n/* harmony import */ var _GridContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./GridContext */ \"./node_modules/@mui/material/Grid/GridContext.js\");\n/* harmony import */ var _gridClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./gridClasses */ \"./node_modules/@mui/material/Grid/gridClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\n\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nfunction generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nfunction generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nfunction generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nfunction generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nfunction resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__[\"default\"])('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nfunction resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(slots, _gridClasses__WEBPACK_IMPORTED_MODULE_6__.getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Grid(inProps, ref) {\n const themeProps = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_9__[\"default\"])({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const props = (0,_mui_system__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_GridContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_GridContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"].Provider, {\n value: columns,\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(GridRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\n true ? Grid.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string),\n /**\n * The number of columns.\n * @default 12\n */\n columns: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_13___default().number)), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().elementType),\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['column-reverse', 'column', 'row-reverse', 'row']), prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)\n} : 0;\nif (true) {\n const requireProp = (0,_utils_requirePropFactory__WEBPACK_IMPORTED_MODULE_14__[\"default\"])('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Grid);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grid/Grid.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ generateColumnGap: () => (/* binding */ generateColumnGap),\n/* harmony export */ generateDirection: () => (/* binding */ generateDirection),\n/* harmony export */ generateGrid: () => (/* binding */ generateGrid),\n/* harmony export */ generateRowGap: () => (/* binding */ generateRowGap),\n/* harmony export */ resolveSpacingClasses: () => (/* binding */ resolveSpacingClasses),\n/* harmony export */ resolveSpacingStyles: () => (/* binding */ resolveSpacingStyles)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/breakpoints.js\");\n/* harmony import */ var _mui_system_styleFunctionSx__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @mui/system/styleFunctionSx */ \"./node_modules/@mui/system/esm/styleFunctionSx/extendSxProp.js\");\n/* harmony import */ var _mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/utils/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _utils_requirePropFactory__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/requirePropFactory */ \"./node_modules/@mui/material/utils/requirePropFactory.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DefaultPropsProvider */ \"./node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@mui/material/styles/useTheme.js\");\n/* harmony import */ var _GridContext__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./GridContext */ \"./node_modules/@mui/material/Grid/GridContext.js\");\n/* harmony import */ var _gridClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./gridClasses */ \"./node_modules/@mui/material/Grid/gridClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n// A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\n\nconst _excluded = [\"className\", \"columns\", \"columnSpacing\", \"component\", \"container\", \"direction\", \"item\", \"rowSpacing\", \"spacing\", \"wrap\", \"zeroMinWidth\"];\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getOffset(val) {\n const parse = parseFloat(val);\n return `${parse}${String(val).replace(String(parse), '') || 'px'}`;\n}\nfunction generateGrid({\n theme,\n ownerState\n}) {\n let size;\n return theme.breakpoints.keys.reduce((globalStyles, breakpoint) => {\n // Use side effect over immutability for better performance.\n let styles = {};\n if (ownerState[breakpoint]) {\n size = ownerState[breakpoint];\n }\n if (!size) {\n return globalStyles;\n }\n if (size === true) {\n // For the auto layouting\n styles = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n } else if (size === 'auto') {\n styles = {\n flexBasis: 'auto',\n flexGrow: 0,\n flexShrink: 0,\n maxWidth: 'none',\n width: 'auto'\n };\n } else {\n const columnsBreakpointValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: ownerState.columns,\n breakpoints: theme.breakpoints.values\n });\n const columnValue = typeof columnsBreakpointValues === 'object' ? columnsBreakpointValues[breakpoint] : columnsBreakpointValues;\n if (columnValue === undefined || columnValue === null) {\n return globalStyles;\n }\n // Keep 7 significant numbers.\n const width = `${Math.round(size / columnValue * 10e7) / 10e5}%`;\n let more = {};\n if (ownerState.container && ownerState.item && ownerState.columnSpacing !== 0) {\n const themeSpacing = theme.spacing(ownerState.columnSpacing);\n if (themeSpacing !== '0px') {\n const fullWidth = `calc(${width} + ${getOffset(themeSpacing)})`;\n more = {\n flexBasis: fullWidth,\n maxWidth: fullWidth\n };\n }\n }\n\n // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n styles = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n }, more);\n }\n\n // No need for a media query for the first size.\n if (theme.breakpoints.values[breakpoint] === 0) {\n Object.assign(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n return globalStyles;\n }, {});\n}\nfunction generateDirection({\n theme,\n ownerState\n}) {\n const directionValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n });\n return (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, directionValues, propValue => {\n const output = {\n flexDirection: propValue\n };\n if (propValue.indexOf('column') === 0) {\n output[`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`] = {\n maxWidth: 'none'\n };\n }\n return output;\n });\n}\n\n/**\n * Extracts zero value breakpoint keys before a non-zero value breakpoint key.\n * @example { xs: 0, sm: 0, md: 2, lg: 0, xl: 0 } or [0, 0, 2, 0, 0]\n * @returns [xs, sm]\n */\nfunction extractZeroValueBreakpointKeys({\n breakpoints,\n values\n}) {\n let nonZeroKey = '';\n Object.keys(values).forEach(key => {\n if (nonZeroKey !== '') {\n return;\n }\n if (values[key] !== 0) {\n nonZeroKey = key;\n }\n });\n const sortedBreakpointKeysByValue = Object.keys(breakpoints).sort((a, b) => {\n return breakpoints[a] - breakpoints[b];\n });\n return sortedBreakpointKeysByValue.slice(0, sortedBreakpointKeysByValue.indexOf(nonZeroKey));\n}\nfunction generateRowGap({\n theme,\n ownerState\n}) {\n const {\n container,\n rowSpacing\n } = ownerState;\n let styles = {};\n if (container && rowSpacing !== 0) {\n const rowSpacingValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: rowSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof rowSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: rowSpacingValues\n });\n }\n styles = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, rowSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n marginTop: `-${getOffset(themeSpacing)}`,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingTop: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK.includes(breakpoint)) {\n return {};\n }\n return {\n marginTop: 0,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingTop: 0\n }\n };\n });\n }\n return styles;\n}\nfunction generateColumnGap({\n theme,\n ownerState\n}) {\n const {\n container,\n columnSpacing\n } = ownerState;\n let styles = {};\n if (container && columnSpacing !== 0) {\n const columnSpacingValues = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.resolveBreakpointValues)({\n values: columnSpacing,\n breakpoints: theme.breakpoints.values\n });\n let zeroValueBreakpointKeys;\n if (typeof columnSpacingValues === 'object') {\n zeroValueBreakpointKeys = extractZeroValueBreakpointKeys({\n breakpoints: theme.breakpoints.values,\n values: columnSpacingValues\n });\n }\n styles = (0,_mui_system__WEBPACK_IMPORTED_MODULE_5__.handleBreakpoints)({\n theme\n }, columnSpacingValues, (propValue, breakpoint) => {\n var _zeroValueBreakpointK2;\n const themeSpacing = theme.spacing(propValue);\n if (themeSpacing !== '0px') {\n return {\n width: `calc(100% + ${getOffset(themeSpacing)})`,\n marginLeft: `-${getOffset(themeSpacing)}`,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingLeft: getOffset(themeSpacing)\n }\n };\n }\n if ((_zeroValueBreakpointK2 = zeroValueBreakpointKeys) != null && _zeroValueBreakpointK2.includes(breakpoint)) {\n return {};\n }\n return {\n width: '100%',\n marginLeft: 0,\n [`& > .${_gridClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"].item}`]: {\n paddingLeft: 0\n }\n };\n });\n }\n return styles;\n}\nfunction resolveSpacingStyles(spacing, breakpoints, styles = {}) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [styles[`spacing-xs-${String(spacing)}`]];\n }\n // in case of object `spacing`\n const spacingStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);\n }\n });\n return spacingStyles;\n}\n\n// Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\nconst GridRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_7__[\"default\"])('div', {\n name: 'MuiGrid',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingStyles = [];\n\n // in case of grid item\n if (container) {\n spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);\n }\n const breakpointsStyles = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);\n }\n });\n return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];\n }\n})(({\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n boxSizing: 'border-box'\n}, ownerState.container && {\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n}, ownerState.item && {\n margin: 0 // For instance, it's useful when used with a `figure` element.\n}, ownerState.zeroMinWidth && {\n minWidth: 0\n}, ownerState.wrap !== 'wrap' && {\n flexWrap: ownerState.wrap\n}), generateDirection, generateRowGap, generateColumnGap, generateGrid);\nfunction resolveSpacingClasses(spacing, breakpoints) {\n // undefined/null or `spacing` <= 0\n if (!spacing || spacing <= 0) {\n return [];\n }\n // in case of string/number `spacing`\n if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {\n return [`spacing-xs-${String(spacing)}`];\n }\n // in case of object `spacing`\n const classes = [];\n breakpoints.forEach(breakpoint => {\n const value = spacing[breakpoint];\n if (Number(value) > 0) {\n const className = `spacing-${breakpoint}-${String(value)}`;\n classes.push(className);\n }\n });\n return classes;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n container,\n direction,\n item,\n spacing,\n wrap,\n zeroMinWidth,\n breakpoints\n } = ownerState;\n let spacingClasses = [];\n\n // in case of grid item\n if (container) {\n spacingClasses = resolveSpacingClasses(spacing, breakpoints);\n }\n const breakpointsClasses = [];\n breakpoints.forEach(breakpoint => {\n const value = ownerState[breakpoint];\n if (value) {\n breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);\n }\n });\n const slots = {\n root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]\n };\n return (0,_mui_utils_composeClasses__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(slots, _gridClasses__WEBPACK_IMPORTED_MODULE_6__.getGridUtilityClass, classes);\n};\nconst Grid = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Grid(inProps, ref) {\n const themeProps = (0,_DefaultPropsProvider__WEBPACK_IMPORTED_MODULE_9__.useDefaultProps)({\n props: inProps,\n name: 'MuiGrid'\n });\n const {\n breakpoints\n } = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_10__[\"default\"])();\n const props = (0,_mui_system_styleFunctionSx__WEBPACK_IMPORTED_MODULE_11__[\"default\"])(themeProps);\n const {\n className,\n columns: columnsProp,\n columnSpacing: columnSpacingProp,\n component = 'div',\n container = false,\n direction = 'row',\n item = false,\n rowSpacing: rowSpacingProp,\n spacing = 0,\n wrap = 'wrap',\n zeroMinWidth = false\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const rowSpacing = rowSpacingProp || spacing;\n const columnSpacing = columnSpacingProp || spacing;\n const columnsContext = react__WEBPACK_IMPORTED_MODULE_2__.useContext(_GridContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\n\n // columns set with default breakpoint unit of 12\n const columns = container ? columnsProp || 12 : columnsContext;\n const breakpointsValues = {};\n const otherFiltered = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, other);\n breakpoints.keys.forEach(breakpoint => {\n if (other[breakpoint] != null) {\n breakpointsValues[breakpoint] = other[breakpoint];\n delete otherFiltered[breakpoint];\n }\n });\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n columns,\n container,\n direction,\n item,\n rowSpacing,\n columnSpacing,\n wrap,\n zeroMinWidth,\n spacing\n }, breakpointsValues, {\n breakpoints: breakpoints.keys\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_GridContext__WEBPACK_IMPORTED_MODULE_12__[\"default\"].Provider, {\n value: columns,\n children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(GridRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n ownerState: ownerState,\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n as: component,\n ref: ref\n }, otherFiltered))\n });\n});\n true ? Grid.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().node),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object),\n /**\n * @ignore\n */\n className: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string),\n /**\n * The number of columns.\n * @default 12\n */\n columns: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf((prop_types__WEBPACK_IMPORTED_MODULE_13___default().number)), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().elementType),\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['column-reverse', 'column', 'row-reverse', 'row']), prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * If `true`, the component will have the flex *item* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n item: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `lg` breakpoint and wider screens if not overridden.\n * @default false\n */\n lg: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `md` breakpoint and wider screens if not overridden.\n * @default false\n */\n md: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `sm` breakpoint and wider screens if not overridden.\n * @default false\n */\n sm: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().string)]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().arrayOf(prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([(prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)])), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().func), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().object)]),\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['nowrap', 'wrap-reverse', 'wrap']),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for the `xl` breakpoint and wider screens if not overridden.\n * @default false\n */\n xl: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If a number, it sets the number of columns the grid item uses.\n * It can't be greater than the total number of columns of the container (12 by default).\n * If 'auto', the grid item's width matches its content.\n * If false, the prop is ignored.\n * If true, the grid item's width grows to use the space available in the grid container.\n * The value is applied for all the screen sizes with the lowest priority.\n * @default false\n */\n xs: prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_13___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().number), (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)]),\n /**\n * If `true`, it sets `min-width: 0` on the item.\n * Refer to the limitations section of the documentation to better understand the use case.\n * @default false\n */\n zeroMinWidth: (prop_types__WEBPACK_IMPORTED_MODULE_13___default().bool)\n} : 0;\nif (true) {\n const requireProp = (0,_utils_requirePropFactory__WEBPACK_IMPORTED_MODULE_14__[\"default\"])('Grid', Grid);\n // eslint-disable-next-line no-useless-concat\n Grid['propTypes' + ''] = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, Grid.propTypes, {\n direction: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Grid);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grid/Grid.js?"); /***/ }), @@ -1148,7 +983,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getGridUtilityClass: () => (/* binding */ getGridUtilityClass)\n/* harmony export */ });\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getGridUtilityClass(slot) {\n return (0,_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = (0,_mui_utils__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (gridClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grid/gridClasses.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ getGridUtilityClass: () => (/* binding */ getGridUtilityClass)\n/* harmony export */ });\n/* harmony import */ var _mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @mui/utils/generateUtilityClasses */ \"./node_modules/@mui/utils/esm/generateUtilityClasses/generateUtilityClasses.js\");\n/* harmony import */ var _mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @mui/utils/generateUtilityClass */ \"./node_modules/@mui/utils/esm/generateUtilityClass/generateUtilityClass.js\");\n\n\nfunction getGridUtilityClass(slot) {\n return (0,_mui_utils_generateUtilityClass__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('MuiGrid', slot);\n}\nconst SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nconst DIRECTIONS = ['column-reverse', 'column', 'row-reverse', 'row'];\nconst WRAPS = ['nowrap', 'wrap-reverse', 'wrap'];\nconst GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\nconst gridClasses = (0,_mui_utils_generateUtilityClasses__WEBPACK_IMPORTED_MODULE_1__[\"default\"])('MuiGrid', ['root', 'container', 'item', 'zeroMinWidth',\n// spacings\n...SPACINGS.map(spacing => `spacing-xs-${spacing}`),\n// direction values\n...DIRECTIONS.map(direction => `direction-xs-${direction}`),\n// wrap values\n...WRAPS.map(wrap => `wrap-xs-${wrap}`),\n// grid sizes for all breakpoints\n...GRID_SIZES.map(size => `grid-xs-${size}`), ...GRID_SIZES.map(size => `grid-sm-${size}`), ...GRID_SIZES.map(size => `grid-md-${size}`), ...GRID_SIZES.map(size => `grid-lg-${size}`), ...GRID_SIZES.map(size => `grid-xl-${size}`)]);\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (gridClasses);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grid/gridClasses.js?"); /***/ }), @@ -1159,7 +994,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/elementAcceptingRef.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/Transition.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@mui/material/styles/useTheme.js\");\n/* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../transitions/utils */ \"./node_modules/@mui/material/transitions/utils.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@mui/material/utils/useForkRef.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\n\n\n\n\n\n\n\n\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = react_transition_group__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, _excluded);\n const timer = react__WEBPACK_IMPORTED_MODULE_2__.useRef();\n const autoTimeout = react__WEBPACK_IMPORTED_MODULE_2__.useRef();\n const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\n const nodeRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.reflow)(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.getTransitionProps)({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_7__.getTransitionProps)({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.current = setTimeout(next, autoTimeout.current || 0);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n react__WEBPACK_IMPORTED_MODULE_2__.useEffect(() => {\n return () => {\n clearTimeout(timer.current);\n };\n }, []);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\n true ? Grow.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * A single child content element.\n */\n children: _mui_utils__WEBPACK_IMPORTED_MODULE_9__[\"default\"].isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string),\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)\n }), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().string)]),\n /**\n * If `true`, the component will transition in.\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().bool),\n /**\n * @ignore\n */\n onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n onExit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().func),\n /**\n * @ignore\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().object),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_8___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number), prop_types__WEBPACK_IMPORTED_MODULE_8___default().shape({\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number),\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_8___default().number)\n })])\n} : 0;\nGrow.muiSupportAuto = true;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Grow);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grow/Grow.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _mui_utils_useTimeout__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/utils/useTimeout */ \"./node_modules/@mui/utils/esm/useTimeout/useTimeout.js\");\n/* harmony import */ var _mui_utils_elementAcceptingRef__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/utils/elementAcceptingRef */ \"./node_modules/@mui/utils/esm/elementAcceptingRef/elementAcceptingRef.js\");\n/* harmony import */ var react_transition_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-transition-group */ \"./node_modules/react-transition-group/esm/Transition.js\");\n/* harmony import */ var _styles_useTheme__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../styles/useTheme */ \"./node_modules/@mui/material/styles/useTheme.js\");\n/* harmony import */ var _transitions_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../transitions/utils */ \"./node_modules/@mui/material/transitions/utils.js\");\n/* harmony import */ var _utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/useForkRef */ \"./node_modules/@mui/material/utils/useForkRef.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"addEndListener\", \"appear\", \"children\", \"easing\", \"in\", \"onEnter\", \"onEntered\", \"onEntering\", \"onExit\", \"onExited\", \"onExiting\", \"style\", \"timeout\", \"TransitionComponent\"];\n\n\n\n\n\n\n\n\n\nfunction getScale(value) {\n return `scale(${value}, ${value ** 2})`;\n}\nconst styles = {\n entering: {\n opacity: 1,\n transform: getScale(1)\n },\n entered: {\n opacity: 1,\n transform: 'none'\n }\n};\n\n/*\n TODO v6: remove\n Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.\n */\nconst isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\\/)15(.|_)4/i.test(navigator.userAgent);\n\n/**\n * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and\n * [Popover](/material-ui/react-popover/) components.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Grow = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function Grow(props, ref) {\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = 'auto',\n // eslint-disable-next-line react/prop-types\n TransitionComponent = react_transition_group__WEBPACK_IMPORTED_MODULE_4__[\"default\"]\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(props, _excluded);\n const timer = (0,_mui_utils_useTimeout__WEBPACK_IMPORTED_MODULE_5__[\"default\"])();\n const autoTimeout = react__WEBPACK_IMPORTED_MODULE_2__.useRef();\n const theme = (0,_styles_useTheme__WEBPACK_IMPORTED_MODULE_6__[\"default\"])();\n const nodeRef = react__WEBPACK_IMPORTED_MODULE_2__.useRef(null);\n const handleRef = (0,_utils_useForkRef__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(nodeRef, children.ref, ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.reflow)(node); // So the animation always start from the start.\n\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.getTransitionProps)({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay,\n easing: transitionTimingFunction\n })].join(',');\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const {\n duration: transitionDuration,\n delay,\n easing: transitionTimingFunction\n } = (0,_transitions_utils__WEBPACK_IMPORTED_MODULE_8__.getTransitionProps)({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n let duration;\n if (timeout === 'auto') {\n duration = theme.transitions.getAutoHeightDuration(node.clientHeight);\n autoTimeout.current = duration;\n } else {\n duration = transitionDuration;\n }\n node.style.transition = [theme.transitions.create('opacity', {\n duration,\n delay\n }), theme.transitions.create('transform', {\n duration: isWebKit154 ? duration : duration * 0.666,\n delay: isWebKit154 ? delay : delay || duration * 0.333,\n easing: transitionTimingFunction\n })].join(',');\n node.style.opacity = 0;\n node.style.transform = getScale(0.75);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (timeout === 'auto') {\n timer.start(autoTimeout.current || 0, next);\n }\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(TransitionComponent, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout === 'auto' ? null : timeout\n }, other, {\n children: (state, childProps) => {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.cloneElement(children, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n style: (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[\"default\"])({\n opacity: 0,\n transform: getScale(0.75),\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined\n }, styles[state], style, children.props.style),\n ref: handleRef\n }, childProps));\n }\n }));\n});\n true ? Grow.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool),\n /**\n * A single child content element.\n */\n children: _mui_utils_elementAcceptingRef__WEBPACK_IMPORTED_MODULE_10__[\"default\"].isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default().shape({\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string),\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)\n }), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().string)]),\n /**\n * If `true`, the component will transition in.\n */\n in: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().bool),\n /**\n * @ignore\n */\n onEnter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n onEntered: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n onEntering: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n onExit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n onExited: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n onExiting: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().func),\n /**\n * @ignore\n */\n style: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().object),\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n *\n * Set to 'auto' to automatically calculate transition time based on height.\n * @default 'auto'\n */\n timeout: prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_9___default().oneOf(['auto']), (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number), prop_types__WEBPACK_IMPORTED_MODULE_9___default().shape({\n appear: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number),\n enter: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number),\n exit: (prop_types__WEBPACK_IMPORTED_MODULE_9___default().number)\n })])\n} : 0;\nGrow.muiSupportAuto = true;\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Grow);\n\n//# sourceURL=webpack://parus_8_panels_plugin/./node_modules/@mui/material/Grow/Grow.js?"); /***/ }), @@ -1170,7 +1005,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ \"./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\");\n/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ \"./node_modules/@babel/runtime/helpers/esm/extends.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ \"./node_modules/clsx/dist/clsx.mjs\");\n/* harmony import */ var _mui_utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @mui/utils */ \"./node_modules/@mui/utils/esm/chainPropTypes/chainPropTypes.js\");\n/* harmony import */ var _mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/base/composeClasses */ \"./node_modules/@mui/utils/esm/composeClasses/composeClasses.js\");\n/* harmony import */ var _mui_system__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @mui/system */ \"./node_modules/@mui/system/esm/colorManipulator.js\");\n/* harmony import */ var _styles_styled__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../styles/styled */ \"./node_modules/@mui/material/styles/styled.js\");\n/* harmony import */ var _styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../styles/useThemeProps */ \"./node_modules/@mui/material/styles/useThemeProps.js\");\n/* harmony import */ var _ButtonBase__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../ButtonBase */ \"./node_modules/@mui/material/ButtonBase/ButtonBase.js\");\n/* harmony import */ var _utils_capitalize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/capitalize */ \"./node_modules/@mui/material/utils/capitalize.js\");\n/* harmony import */ var _iconButtonClasses__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./iconButtonClasses */ \"./node_modules/@mui/material/IconButton/iconButtonClasses.js\");\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ \"./node_modules/react/jsx-runtime.js\");\n'use client';\n\n\n\nconst _excluded = [\"edge\", \"children\", \"className\", \"color\", \"disabled\", \"disableFocusRipple\", \"size\"];\n\n\n\n\n\n\n\n\n\n\n\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n color,\n edge,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', color !== 'default' && `color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(color)}`, edge && `edge${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(edge)}`, `size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(size)}`]\n };\n return (0,_mui_base_composeClasses__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(slots, _iconButtonClasses__WEBPACK_IMPORTED_MODULE_7__.getIconButtonUtilityClass, classes);\n};\nconst IconButtonRoot = (0,_styles_styled__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_ButtonBase__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n name: 'MuiIconButton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.color)}`], ownerState.edge && styles[`edge${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.edge)}`], styles[`size${(0,_utils_capitalize__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(ownerState.size)}`]];\n }\n})(({\n theme,\n ownerState\n}) => (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n textAlign: 'center',\n flex: '0 0 auto',\n fontSize: theme.typography.pxToRem(24),\n padding: 8,\n borderRadius: '50%',\n overflow: 'visible',\n // Explicitly set the default value to solve a bug on IE11.\n color: (theme.vars || theme).palette.action.active,\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n })\n}, !ownerState.disableRipple && {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_10__.alpha)(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}), ({\n theme,\n ownerState\n}) => {\n var _palette;\n const palette = (_palette = (theme.vars || theme).palette) == null ? void 0 : _palette[ownerState.color];\n return (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, ownerState.color === 'inherit' && {\n color: 'inherit'\n }, ownerState.color !== 'inherit' && ownerState.color !== 'default' && (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n color: palette == null ? void 0 : palette.main\n }, !ownerState.disableRipple && {\n '&:hover': (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, palette && {\n backgroundColor: theme.vars ? `rgba(${palette.mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : (0,_mui_system__WEBPACK_IMPORTED_MODULE_10__.alpha)(palette.main, theme.palette.action.hoverOpacity)\n }, {\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n })\n }), ownerState.size === 'small' && {\n padding: 5,\n fontSize: theme.typography.pxToRem(18)\n }, ownerState.size === 'large' && {\n padding: 12,\n fontSize: theme.typography.pxToRem(28)\n }, {\n [`&.${_iconButtonClasses__WEBPACK_IMPORTED_MODULE_7__[\"default\"].disabled}`]: {\n backgroundColor: 'transparent',\n color: (theme.vars || theme).palette.action.disabled\n }\n });\n});\n\n/**\n * Refer to the [Icons](/material-ui/icons/) section of the documentation\n * regarding the available icon options.\n */\nconst IconButton = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.forwardRef(function IconButton(inProps, ref) {\n const props = (0,_styles_useThemeProps__WEBPACK_IMPORTED_MODULE_11__[\"default\"])({\n props: inProps,\n name: 'MuiIconButton'\n });\n const {\n edge = false,\n children,\n className,\n color = 'default',\n disabled = false,\n disableFocusRipple = false,\n size = 'medium'\n } = props,\n other = (0,_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(props, _excluded);\n const ownerState = (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({}, props, {\n edge,\n color,\n disabled,\n disableFocusRipple,\n size\n });\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(IconButtonRoot, (0,_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n ref: ref,\n ownerState: ownerState\n }, other, {\n children: children\n }));\n});\n true ? IconButton.propTypes /* remove-proptypes */ = {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n /**\n * The icon to display.\n */\n children: (0,_mui_utils__WEBPACK_IMPORTED_MODULE_12__[\"default\"])((prop_types__WEBPACK_IMPORTED_MODULE_13___default().node), props => {\n const found = react__WEBPACK_IMPORTED_MODULE_2__.Children.toArray(props.children).some(child => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2__.isValidElement(child) && child.props.onClick);\n if (found) {\n return new Error(['MUI: You are providing an onClick event listener to a child of a button element.', 'Prefer applying it to the IconButton directly.', 'This guarantees that the whole