@danikokonn/yarik-frontend-lib 2.0.2-test3 → 2.0.3-3.legacy.test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/components/ActionDialog/ActionDialog.d.ts +0 -19
  2. package/dist/components/ActionDialog/ActionDialog.d.ts.map +1 -1
  3. package/dist/components/ActionDialog/ActionDialog.js +0 -19
  4. package/dist/components/ActionDialog/ActionDialogProps.d.ts +0 -15
  5. package/dist/components/ActionDialog/ActionDialogProps.d.ts.map +1 -1
  6. package/dist/components/ColumnSearchInput/ColumnSearchInput.d.ts +0 -12
  7. package/dist/components/ColumnSearchInput/ColumnSearchInput.d.ts.map +1 -1
  8. package/dist/components/ColumnSearchInput/ColumnSearchInput.js +0 -12
  9. package/dist/components/ColumnSearchInput/ColumnSearchInputProps.d.ts +0 -9
  10. package/dist/components/ColumnSearchInput/ColumnSearchInputProps.d.ts.map +1 -1
  11. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -1
  12. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  13. package/dist/components/DateTimeRangePicker/DateTimeRangePicker.js +3 -3
  14. package/dist/components/DateTimeRangePicker/DateTimeRangePickerProps.d.ts +0 -1
  15. package/dist/components/DateTimeRangePicker/DateTimeRangePickerProps.d.ts.map +1 -1
  16. package/dist/components/DatetimeRangeInput/DatetimeRangeInput.d.ts +2 -20
  17. package/dist/components/DatetimeRangeInput/DatetimeRangeInput.d.ts.map +1 -1
  18. package/dist/components/DatetimeRangeInput/DatetimeRangeInput.js +0 -19
  19. package/dist/components/DatetimeRangeInput/DatetimeRangeInputProps.d.ts +0 -30
  20. package/dist/components/DatetimeRangeInput/DatetimeRangeInputProps.d.ts.map +1 -1
  21. package/dist/components/RichFilterTextField/RichFilterTextField.d.ts +1 -1
  22. package/dist/components/RichFilterTextField/RichFilterTextField.d.ts.map +1 -1
  23. package/dist/components/RichFilterTextField/RichFilterTextField.js +44 -26
  24. package/dist/components/RichFilterTextField/RichFilterTextFieldProps.d.ts +0 -4
  25. package/dist/components/RichFilterTextField/RichFilterTextFieldProps.d.ts.map +1 -1
  26. package/dist/components/SmartTable/RowContent.d.ts +9 -5
  27. package/dist/components/SmartTable/RowContent.d.ts.map +1 -1
  28. package/dist/components/SmartTable/RowContent.js +29 -3
  29. package/dist/components/SmartTable/RuleRow.d.ts.map +1 -1
  30. package/dist/components/SmartTable/RuleRow.js +6 -1
  31. package/dist/components/SmartTable/SmartTable.d.ts +1 -1
  32. package/dist/components/SmartTable/SmartTable.d.ts.map +1 -1
  33. package/dist/components/SmartTable/SmartTable.js +31 -97
  34. package/dist/components/SmartTable/SmartTableProps.d.ts +0 -2
  35. package/dist/components/SmartTable/SmartTableProps.d.ts.map +1 -1
  36. package/dist/components/SortBtn/SortBtn.d.ts.map +1 -1
  37. package/dist/components/SortBtn/SortBtn.js +1 -2
  38. package/dist/components/SubtaskItem/SubtaskItemProps.d.ts +1 -1
  39. package/dist/components/SubtaskItem/SubtaskItemProps.d.ts.map +1 -1
  40. package/dist/providers/AirflowProvider.d.ts.map +1 -1
  41. package/dist/providers/AirflowProvider.js +0 -1
  42. package/dist/utils.d.ts +1 -1
  43. package/dist/utils.d.ts.map +1 -1
  44. package/dist/utils.js +0 -1
  45. package/package.json +1 -2
@@ -1,23 +1,4 @@
1
1
  import React from "react";
2
2
  import ActionDialogProps from "./ActionDialogProps";
3
- /**
4
- * Диалоговое окно с подтверждением действия.
5
- *
6
- * Отображает заголовок, основной текст (или массив строк), опциональную форму/элемент ввода,
7
- * а также кнопки отмены и подтверждения. Кнопка подтверждения может быть отключена и снабжена подсказкой.
8
- *
9
- * @param open Открыт ли диалог
10
- * @param fullWidth Растягивать ли диалог на всю ширину
11
- * @param maxWidth Максимальная ширина диалога
12
- * @param title Заголовок диалога
13
- * @param contentText Основной текст (строка или массив строк)
14
- * @param contentInputForm Необязательная форма/элемент ввода
15
- * @param cancelText Текст кнопки отмены
16
- * @param confirmText Текст кнопки подтверждения
17
- * @param confirmAllowed Разрешено ли подтверждение
18
- * @param confirmTooltipTitle Подсказка для кнопки подтверждения при отключении
19
- * @param onClose Обработчик закрытия диалога
20
- * @param onConfirm Обработчик подтверждения
21
- */
22
3
  export default function ActionDialog({ open, fullWidth, maxWidth, title, contentText, contentInputForm, cancelText, confirmText, confirmAllowed, confirmTooltipTitle, onClose, onConfirm, }: ActionDialogProps): React.JSX.Element;
23
4
  //# sourceMappingURL=ActionDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ActionDialog/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,qBAiDnB"}
1
+ {"version":3,"file":"ActionDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ActionDialog/ActionDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,qBAiDnB"}
@@ -8,25 +8,6 @@ import DialogContentText from "@mui/material/DialogContentText";
8
8
  import DialogTitle from "@mui/material/DialogTitle";
9
9
  import IconButton from "@mui/material/IconButton";
10
10
  import Tooltip from "@mui/material/Tooltip";
11
- /**
12
- * Диалоговое окно с подтверждением действия.
13
- *
14
- * Отображает заголовок, основной текст (или массив строк), опциональную форму/элемент ввода,
15
- * а также кнопки отмены и подтверждения. Кнопка подтверждения может быть отключена и снабжена подсказкой.
16
- *
17
- * @param open Открыт ли диалог
18
- * @param fullWidth Растягивать ли диалог на всю ширину
19
- * @param maxWidth Максимальная ширина диалога
20
- * @param title Заголовок диалога
21
- * @param contentText Основной текст (строка или массив строк)
22
- * @param contentInputForm Необязательная форма/элемент ввода
23
- * @param cancelText Текст кнопки отмены
24
- * @param confirmText Текст кнопки подтверждения
25
- * @param confirmAllowed Разрешено ли подтверждение
26
- * @param confirmTooltipTitle Подсказка для кнопки подтверждения при отключении
27
- * @param onClose Обработчик закрытия диалога
28
- * @param onConfirm Обработчик подтверждения
29
- */
30
11
  export default function ActionDialog({ open, fullWidth, maxWidth, title, contentText, contentInputForm, cancelText, confirmText, confirmAllowed, confirmTooltipTitle, onClose, onConfirm, }) {
31
12
  return (React.createElement(Dialog, { open: open, onClose: onClose, maxWidth: maxWidth, fullWidth: fullWidth },
32
13
  React.createElement(DialogTitle, null, title),
@@ -1,32 +1,17 @@
1
1
  import { ReactNode } from "react";
2
2
  import { Breakpoint } from "@mui/material";
3
- /**
4
- * Пропсы для компонента ActionDialog.
5
- */
6
3
  export default interface ActionDialogProps {
7
- /** Открыт ли диалог */
8
4
  open: boolean;
9
- /** Растягивать ли диалог на всю ширину */
10
5
  fullWidth?: boolean;
11
- /** Максимальная ширина диалога (MUI Breakpoint) */
12
6
  maxWidth?: Breakpoint;
13
- /** Заголовок диалога */
14
7
  title: string;
15
- /** Основной текст диалога (строка или массив строк) */
16
8
  contentText: string | string[];
17
- /** Необязательная форма или элемент ввода для отображения в диалоге */
18
9
  contentInputForm?: ReactNode;
19
- /** Текст для кнопки отмены */
20
10
  cancelText: string;
21
- /** Текст для кнопки подтверждения */
22
11
  confirmText: string;
23
- /** Разрешено ли подтверждение (включает/отключает кнопку подтверждения) */
24
12
  confirmAllowed: boolean;
25
- /** Необязательная подсказка для кнопки подтверждения при отключении */
26
13
  confirmTooltipTitle?: string;
27
- /** Обработчик подтверждения */
28
14
  onConfirm(): void;
29
- /** Обработчик закрытия диалога */
30
15
  onClose(): void;
31
16
  }
32
17
  //# sourceMappingURL=ActionDialogProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionDialogProps.d.ts","sourceRoot":"","sources":["../../../src/components/ActionDialog/ActionDialogProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mDAAmD;IACnD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,cAAc,EAAE,OAAO,CAAC;IACxB,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,+BAA+B;IAC/B,SAAS,IAAI,IAAI,CAAC;IAClB,kCAAkC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB"}
1
+ {"version":3,"file":"ActionDialogProps.d.ts","sourceRoot":"","sources":["../../../src/components/ActionDialog/ActionDialogProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,IAAI,IAAI,CAAC;IAClB,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -1,16 +1,4 @@
1
1
  import React from "react";
2
2
  import ColumnSearchInputProps from "./ColumnSearchInputProps";
3
- /**
4
- * Компонент поля поиска для таблицы или списка.
5
- *
6
- * Позволяет пользователю вводить строку поиска для определённого поля с отображением иконки поиска.
7
- *
8
- * @param {Object} props - Свойства компонента
9
- * @param {string} props.field - Имя поля, по которому осуществляется поиск
10
- * @param {string|function} [props.searchStr] - Начальное значение строки поиска или функция, возвращающая строку
11
- * @param {function} props.onInputSearch - Колбэк, вызываемый при изменении строки поиска. Получает массив объектов с полем и строкой поиска
12
- *
13
- * @returns {JSX.Element} Элемент поля поиска
14
- */
15
3
  export default function ColumnSearchInput({ field, searchStr, onInputSearch, }: ColumnSearchInputProps): React.JSX.Element;
16
4
  //# sourceMappingURL=ColumnSearchInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnSearchInput/ColumnSearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAE9D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,KAAK,EACL,SAAS,EACT,aAAa,GACd,EAAE,sBAAsB,qBA4BxB"}
1
+ {"version":3,"file":"ColumnSearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnSearchInput/ColumnSearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAMrD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAE9D,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,KAAK,EACL,SAAS,EACT,aAAa,GACd,EAAE,sBAAsB,qBA4BxB"}
@@ -2,18 +2,6 @@ import React, { useState } from "react";
2
2
  import InputAdornment from "@mui/material/InputAdornment";
3
3
  import TextField from "@mui/material/TextField";
4
4
  import SearchIcon from "@mui/icons-material/Search";
5
- /**
6
- * Компонент поля поиска для таблицы или списка.
7
- *
8
- * Позволяет пользователю вводить строку поиска для определённого поля с отображением иконки поиска.
9
- *
10
- * @param {Object} props - Свойства компонента
11
- * @param {string} props.field - Имя поля, по которому осуществляется поиск
12
- * @param {string|function} [props.searchStr] - Начальное значение строки поиска или функция, возвращающая строку
13
- * @param {function} props.onInputSearch - Колбэк, вызываемый при изменении строки поиска. Получает массив объектов с полем и строкой поиска
14
- *
15
- * @returns {JSX.Element} Элемент поля поиска
16
- */
17
5
  export default function ColumnSearchInput({ field, searchStr, onInputSearch, }) {
18
6
  const [search, setSearch] = useState(searchStr || "");
19
7
  function handleChange(event) {
@@ -1,15 +1,6 @@
1
1
  export default interface ColumnSearchInputProps {
2
- /**
3
- * Имя поля, по которому будет производиться поиск.
4
- */
5
2
  field: string;
6
- /**
7
- * Начальная строка поиска или функция, возвращающая строку поиска (опционально).
8
- */
9
3
  searchStr?: string | (() => string);
10
- /**
11
- * Колбэк, вызываемый при изменении строки поиска. Получает массив объектов с полем и строкой поиска.
12
- */
13
4
  onInputSearch(options: {
14
5
  field: string;
15
6
  search: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSearchInputProps.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnSearchInput/ColumnSearchInputProps.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,sBAAsB;IAC7C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACpC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CACnE"}
1
+ {"version":3,"file":"ColumnSearchInputProps.d.ts","sourceRoot":"","sources":["../../../src/components/ColumnSearchInput/ColumnSearchInputProps.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,sBAAsB;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACpC,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;CACnE"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import DateTimeRangePickerProps from "./DateTimeRangePickerProps";
3
3
  import "moment/locale/ru";
4
- export default function DateTimeRangePicker({ disableFuture, disabled, fromDatetime, toDateTime, required, error, onStartDateSet, onEndDateSet, }: DateTimeRangePickerProps): React.JSX.Element;
4
+ export default function DateTimeRangePicker({ disableFuture, disabled, fromDatetime, toDateTime, required, onStartDateSet, onEndDateSet, }: DateTimeRangePickerProps): React.JSX.Element;
5
5
  //# sourceMappingURL=DateTimeRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DateTimeRangePicker/DateTimeRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,OAAO,kBAAkB,CAAC;AAU1B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,KAAK,EACL,cAAc,EACd,YAAY,GACb,EAAE,wBAAwB,qBAmF1B"}
1
+ {"version":3,"file":"DateTimeRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DateTimeRangePicker/DateTimeRangePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,OAAO,kBAAkB,CAAC;AAU1B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,YAAY,GACb,EAAE,wBAAwB,qBAmF1B"}
@@ -5,7 +5,7 @@ import Stack from "@mui/material/Stack";
5
5
  import { DesktopDateTimePicker, LocalizationProvider, } from "@mui/x-date-pickers";
6
6
  import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment";
7
7
  import { useDebounce } from "../../utils";
8
- export default function DateTimeRangePicker({ disableFuture, disabled, fromDatetime, toDateTime, required, error, onStartDateSet, onEndDateSet, }) {
8
+ export default function DateTimeRangePicker({ disableFuture, disabled, fromDatetime, toDateTime, required, onStartDateSet, onEndDateSet, }) {
9
9
  const [fromDatetimePickerOpen, setFromDatetimePickerOpen] = useState(false);
10
10
  const [toDatetimePickerOpen, setToDatetimePickerOpen] = useState(false);
11
11
  const fromDttm = fromDatetime.length > 0 ? moment(fromDatetime) : null;
@@ -23,7 +23,7 @@ export default function DateTimeRangePicker({ disableFuture, disabled, fromDatet
23
23
  variant: "standard",
24
24
  required: required,
25
25
  helperText: required && fromDttm == null && "Введите дату начала интервала",
26
- error: error || (required && toDttm == null),
26
+ error: required ? fromDttm == null : false,
27
27
  },
28
28
  inputAdornment: {
29
29
  position: "start",
@@ -41,7 +41,7 @@ export default function DateTimeRangePicker({ disableFuture, disabled, fromDatet
41
41
  variant: "standard",
42
42
  required: required,
43
43
  helperText: required && toDttm == null && "Введите дату конца интервала",
44
- error: error || (required && toDttm == null),
44
+ error: required ? toDttm == null : false,
45
45
  },
46
46
  inputAdornment: {
47
47
  onClick: () => setToDatetimePickerOpen(true),
@@ -4,7 +4,6 @@ export default interface DateTimeRangePickerProps {
4
4
  fromDatetime: string;
5
5
  toDateTime: string;
6
6
  required?: boolean;
7
- error?: boolean;
8
7
  onStartDateSet(startDate: string): void;
9
8
  onEndDateSet(endDate: string): void;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeRangePickerProps.d.ts","sourceRoot":"","sources":["../../../src/components/DateTimeRangePicker/DateTimeRangePickerProps.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
1
+ {"version":3,"file":"DateTimeRangePickerProps.d.ts","sourceRoot":"","sources":["../../../src/components/DateTimeRangePicker/DateTimeRangePickerProps.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC"}
@@ -1,23 +1,5 @@
1
+ import React from "react";
1
2
  import "moment/locale/ru";
2
3
  import DatetimeRangeInputProps from "./DatetimeRangeInputProps";
3
- /**
4
- * Компонент выбора диапазона дат и времени.
5
- *
6
- * Позволяет пользователю выбрать начальную и конечную дату/время с помощью всплывающего календаря.
7
- * Поддерживает очистку выбранного диапазона и отображение выбранных дат в текстовом поле.
8
- *
9
- * @param {Object} props - Свойства компонента
10
- * @param {string} [props.from] - Начальная дата диапазона
11
- * @param {string} [props.to] - Конечная дата диапазона
12
- * @param {SxProps} [props.sx] - Стили оформления
13
- * @param {boolean} [props.required] - Обязательное ли поле
14
- * @param {boolean} [props.disabled] - Отключение компонента
15
- * @param {('outlined'|'standard'|'filled')} [props.variant] - Вариант оформления поля
16
- * @param {string} [props.placeholder] - Текст-подсказка
17
- * @param {('small'|'medium')} [props.size] - Размер поля
18
- * @param {(start: string, end: string) => void} props.onDateRangeSet - Колбэк при выборе диапазона дат
19
- *
20
- * @returns {JSX.Element} Элемент выбора диапазона дат и времени
21
- */
22
- export default function DatetimeRangeInput({ onDateRangeSet, from, to, variant, sx, placeholder, size, disabled, required, }: DatetimeRangeInputProps): JSX.Element;
4
+ export default function DatetimeRangeInput({ onDateRangeSet, from, to, variant, sx, placeholder, size, disabled, required, }: DatetimeRangeInputProps): React.JSX.Element;
23
5
  //# sourceMappingURL=DatetimeRangeInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatetimeRangeInput.d.ts","sourceRoot":"","sources":["../../../src/components/DatetimeRangeInput/DatetimeRangeInput.tsx"],"names":[],"mappings":"AAGA,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAQhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,cAAc,EACd,IAAI,EACJ,EAAE,EACF,OAAO,EACP,EAAE,EACF,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAiHvC"}
1
+ {"version":3,"file":"DatetimeRangeInput.d.ts","sourceRoot":"","sources":["../../../src/components/DatetimeRangeInput/DatetimeRangeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAMhE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,cAAc,EACd,IAAI,EACJ,EAAE,EACF,OAAO,EACP,EAAE,EACF,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,uBAAuB,qBAiHzB"}
@@ -9,25 +9,6 @@ import ClearIcon from "@mui/icons-material/Clear";
9
9
  const DateTimeRangePicker = lazy(() => import("../DateTimeRangePicker/DateTimeRangePicker"));
10
10
  import { prettyDatetime } from "../../utils";
11
11
  import { Skeleton, Stack } from "@mui/material";
12
- /**
13
- * Компонент выбора диапазона дат и времени.
14
- *
15
- * Позволяет пользователю выбрать начальную и конечную дату/время с помощью всплывающего календаря.
16
- * Поддерживает очистку выбранного диапазона и отображение выбранных дат в текстовом поле.
17
- *
18
- * @param {Object} props - Свойства компонента
19
- * @param {string} [props.from] - Начальная дата диапазона
20
- * @param {string} [props.to] - Конечная дата диапазона
21
- * @param {SxProps} [props.sx] - Стили оформления
22
- * @param {boolean} [props.required] - Обязательное ли поле
23
- * @param {boolean} [props.disabled] - Отключение компонента
24
- * @param {('outlined'|'standard'|'filled')} [props.variant] - Вариант оформления поля
25
- * @param {string} [props.placeholder] - Текст-подсказка
26
- * @param {('small'|'medium')} [props.size] - Размер поля
27
- * @param {(start: string, end: string) => void} props.onDateRangeSet - Колбэк при выборе диапазона дат
28
- *
29
- * @returns {JSX.Element} Элемент выбора диапазона дат и времени
30
- */
31
12
  export default function DatetimeRangeInput({ onDateRangeSet, from, to, variant, sx, placeholder, size, disabled, required, }) {
32
13
  const [datetimeRangePickerOpen, setDatetimeRangePickerOpen] = useState(false);
33
14
  const [fromDatetime, setFromDatetime] = useState(from || "");
@@ -1,43 +1,13 @@
1
1
  import { SxProps } from "@mui/material";
2
- /**
3
- * Интерфейс для пропсов компонента выбора диапазона дат.
4
- */
5
2
  export default interface DatetimeRangeInputProps {
6
- /**
7
- * Начальная дата диапазона (опционально).
8
- */
9
3
  from?: string;
10
- /**
11
- * Конечная дата диапазона (опционально).
12
- */
13
4
  to?: string;
14
- /**
15
- * Стили оформления компонента (опционально).
16
- */
17
5
  sx?: SxProps;
18
- /**
19
- * Обязательное ли заполнение поля (опционально).
20
- */
21
6
  required?: boolean;
22
- /**
23
- * Отключение компонента (опционально).
24
- */
25
7
  disabled?: boolean;
26
- /**
27
- * Вариант оформления поля: outlined, standard или filled (опционально).
28
- */
29
8
  variant?: "outlined" | "standard" | "filled";
30
- /**
31
- * Текст-подсказка (placeholder) (опционально).
32
- */
33
9
  placeholder?: string;
34
- /**
35
- * Размер поля: small или medium (опционально).
36
- */
37
10
  size?: "small" | "medium";
38
- /**
39
- * Колбэк, вызываемый при выборе диапазона дат. Принимает начальную и конечную дату.
40
- */
41
11
  onDateRangeSet(start: string, end: string): void;
42
12
  }
43
13
  //# sourceMappingURL=DatetimeRangeInputProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatetimeRangeInputProps.d.ts","sourceRoot":"","sources":["../../../src/components/DatetimeRangeInput/DatetimeRangeInputProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC7C;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
1
+ {"version":3,"file":"DatetimeRangeInputProps.d.ts","sourceRoot":"","sources":["../../../src/components/DatetimeRangeInput/DatetimeRangeInputProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import RichFilterTextFieldProps from "./RichFilterTextFieldProps";
3
- declare const RichFilterTextField: ({ filterExpr, filterExprHist, fields, operators, additionalComponents, instant: _instant, onChange, onSelectFromHistory, }: RichFilterTextFieldProps) => React.JSX.Element;
3
+ declare const RichFilterTextField: ({ filterExpr, filterExprHist, fields, operators, onChange, }: RichFilterTextFieldProps) => React.JSX.Element;
4
4
  export default RichFilterTextField;
5
5
  //# sourceMappingURL=RichFilterTextField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichFilterTextField.d.ts","sourceRoot":"","sources":["../../../src/components/RichFilterTextField/RichFilterTextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAMlE,QAAA,MAAM,mBAAmB,GAAI,4HAS1B,wBAAwB,sBA0O1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"RichFilterTextField.d.ts","sourceRoot":"","sources":["../../../src/components/RichFilterTextField/RichFilterTextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAoBf,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAIlE,QAAA,MAAM,mBAAmB,GAAI,8DAM1B,wBAAwB,sBA+P1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,21 +1,27 @@
1
1
  import React, { useEffect, useRef, useState, } from "react";
2
+ import Stack from "@mui/material/Stack";
2
3
  import IconButton from "@mui/material/IconButton";
3
4
  import InputAdornment from "@mui/material/InputAdornment";
4
5
  import TextField from "@mui/material/TextField";
5
6
  import ClearIcon from "@mui/icons-material/Clear";
6
- import SearchRoundedIcon from "@mui/icons-material/SearchRounded";
7
+ import FilterListIcon from "@mui/icons-material/FilterList";
8
+ import HistoryIcon from "@mui/icons-material/History";
9
+ import ContentCopy from "@mui/icons-material/ContentCopy";
10
+ import Divider from "@mui/material/Divider";
11
+ import ListItemIcon from "@mui/material/ListItemIcon";
12
+ import ListItemText from "@mui/material/ListItemText";
13
+ import Menu from "@mui/material/Menu";
14
+ import MenuItem from "@mui/material/MenuItem";
15
+ import Typography from "@mui/material/Typography";
7
16
  import HintOptionsMenu from "./HintOptionsMenu";
8
17
  import { getHints, insertInStrPos } from "./utils";
9
18
  import { useSnackbarContext } from "../../providers";
10
19
  import { useDebounce } from "../../utils";
11
- import FilterHistoryMenu from "./FilterHistoryMenu";
12
- import { Stack } from "@mui/material";
13
- const RichFilterTextField = ({ filterExpr, filterExprHist, fields, operators, additionalComponents, instant: _instant, onChange, onSelectFromHistory, }) => {
20
+ const RichFilterTextField = ({ filterExpr, filterExprHist, fields, operators, onChange, }) => {
14
21
  const { enqueueSnackbar } = useSnackbarContext();
15
22
  const [search, setSearch] = useState(filterExpr);
16
- const instant = _instant ?? true;
17
- useEffect(() => setSearch(filterExpr), [filterExpr]);
18
23
  const [searchHist, setSearchHist] = useState(filterExprHist);
24
+ const [searchHistMenuAnchor, setSearchHistMenuAnchor] = useState(null);
19
25
  const [inputAnchor, setInputAnchor] = useState(null);
20
26
  const [cursorPos, setCursorPos] = useState(null);
21
27
  const [currentHintOptions, setCurrentHintOptions] = useState(() => new Map());
@@ -39,7 +45,7 @@ const RichFilterTextField = ({ filterExpr, filterExprHist, fields, operators, ad
39
45
  }
40
46
  updateHints();
41
47
  }, [cursorPos]);
42
- const handleChange = (value, _idx) => {
48
+ const handleChange = (value) => {
43
49
  setSearch(value);
44
50
  onChange(value, (v) => setSearchHist(v));
45
51
  };
@@ -80,9 +86,6 @@ const RichFilterTextField = ({ filterExpr, filterExprHist, fields, operators, ad
80
86
  const focusedHint = currentHintOptions.entries().toArray()[focusIdx][0];
81
87
  insertHint(focusedHint);
82
88
  }
83
- else {
84
- onChange(search, (v) => setSearchHist(v));
85
- }
86
89
  break;
87
90
  }
88
91
  case "Escape":
@@ -146,32 +149,47 @@ const RichFilterTextField = ({ filterExpr, filterExprHist, fields, operators, ad
146
149
  }
147
150
  };
148
151
  return (React.createElement(React.Fragment, null,
149
- React.createElement(TextField, { ref: textFieldRef, inputRef: inputRef, fullWidth: true, size: "small", value: search, title: search, multiline: true, maxRows: 1, onChange: (e) => (instant ? handleChange : setSearch)(e.target.value), onClick: (e) => {
150
- if (e.target !== e.currentTarget)
151
- return;
152
- setCursorPos(inputRef.current?.selectionStart ?? null);
153
- }, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, slotProps: {
152
+ React.createElement(TextField, { ref: textFieldRef, inputRef: inputRef, fullWidth: true, size: "small", value: search, title: search, multiline: true, maxRows: 1, onChange: (e) => handleChange(e.target.value), onClick: () => setCursorPos(inputRef.current?.selectionStart ?? null), onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, slotProps: {
154
153
  input: {
155
- startAdornment: (React.createElement(InputAdornment, { position: "start" },
156
- React.createElement(Stack, { direction: "row", sx: { alignItems: "center" } },
157
- !instant && (React.createElement(IconButton, { onClick: (e) => {
158
- onChange(search, (v) => setSearchHist(v));
159
- e.stopPropagation();
160
- }, title: "\u041F\u043E\u0438\u0441\u043A" },
161
- React.createElement(SearchRoundedIcon, null))),
162
- React.createElement(FilterHistoryMenu, { searchHist: searchHist, onChange: onSelectFromHistory || handleChange, onCopy: () => enqueueSnackbar("Предустановка фильтра скопирована в буфер обмена", "default") }),
163
- additionalComponents))),
164
154
  endAdornment: (React.createElement(InputAdornment, { position: "end" },
165
155
  React.createElement(IconButton, { title: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440\u044B", disabled: !search, onClick: (e) => {
166
- handleChange("");
156
+ setSearch("");
157
+ onChange("", (v) => setSearchHist(v));
167
158
  e.stopPropagation();
168
159
  } },
169
160
  React.createElement(ClearIcon, null)))),
161
+ startAdornment: (React.createElement(InputAdornment, { position: "start" },
162
+ React.createElement(IconButton, { color: "secondary", title: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432", disabled: searchHist.length === 0, onClick: (e) => {
163
+ setSearchHistMenuAnchor(e.currentTarget);
164
+ e.stopPropagation();
165
+ } },
166
+ React.createElement(FilterListIcon, null)))),
170
167
  },
171
168
  } }),
172
169
  React.createElement(HintOptionsMenu, { inputAnchor: inputAnchor, inputRef: inputRef, textFieldRef: textFieldRef, options: currentHintOptions, focusIdx: focusIdx, onSelectHint: insertHint, onClose: () => {
173
170
  setInputAnchor(null);
174
171
  setCursorPos(null);
175
- } })));
172
+ } }),
173
+ React.createElement(Menu, { anchorEl: searchHistMenuAnchor, open: Boolean(searchHistMenuAnchor), onClose: () => setSearchHistMenuAnchor(null), onClick: () => setSearchHistMenuAnchor(null) },
174
+ React.createElement(Stack, { direction: "row", spacing: 1, sx: {
175
+ px: 2,
176
+ py: 1,
177
+ alignItems: "center",
178
+ } },
179
+ React.createElement(HistoryIcon, null),
180
+ React.createElement(Typography, { variant: "h5" }, "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432")),
181
+ React.createElement(Divider, null),
182
+ searchHist.map((el, idx) => (React.createElement(MenuItem, { key: idx + 1, onClick: () => handleChange(el), title: el },
183
+ React.createElement(ListItemText, { sx: { overflow: "hidden" } },
184
+ idx + 1,
185
+ ". ",
186
+ el),
187
+ React.createElement(ListItemIcon, null,
188
+ React.createElement(IconButton, { onClick: (e) => {
189
+ navigator.clipboard.writeText(el);
190
+ e.stopPropagation();
191
+ enqueueSnackbar("Предустановка фильтра скопирована в буфер обмена", "default");
192
+ } },
193
+ React.createElement(ContentCopy, { fontSize: "small" })))))))));
176
194
  };
177
195
  export default RichFilterTextField;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  export interface FilterField {
3
2
  /**
4
3
  * Название поля. Используется при подстановке. Должно оканчиваться двоеточием
@@ -63,9 +62,6 @@ export default interface RichFilterTextFieldProps {
63
62
  * Список операторов фильтрации
64
63
  */
65
64
  operators: FilterOperator[];
66
- instant?: boolean;
67
- additionalComponents?: React.JSX.Element[];
68
65
  onChange(value: string, onSuccess?: (v: unknown) => void): void;
69
- onSelectFromHistory?(value: string, idx: number): void;
70
66
  }
71
67
  //# sourceMappingURL=RichFilterTextFieldProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichFilterTextFieldProps.d.ts","sourceRoot":"","sources":["../../../src/components/RichFilterTextField/RichFilterTextFieldProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oBAAoB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,mBAAmB,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACxD"}
1
+ {"version":3,"file":"RichFilterTextFieldProps.d.ts","sourceRoot":"","sources":["../../../src/components/RichFilterTextField/RichFilterTextFieldProps.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,CAAC,OAAO,WAAW,wBAAwB;IAC/C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;CACjE"}
@@ -1,14 +1,18 @@
1
1
  import React, { ReactNode } from "react";
2
- import { Column } from "../../types";
3
2
  import { SxProps, Theme } from "@mui/material";
4
- interface RowContentProps<T> {
3
+ import { Column } from "../../types";
4
+ interface RowContentProps<T extends {
5
+ id: string | number;
6
+ }> {
5
7
  row: T;
6
8
  columns: Column<T>[];
7
- onDoubleClick?(rowId: string | null): void;
8
- onSelectRow(rowId: string | null): void;
9
+ onDoubleClick?(rowId: string | number | null): void;
10
+ onSelectRow(rowId: string | number | null): void;
9
11
  controlComponent?(row: T): ReactNode;
10
12
  controlComponentColSx?: SxProps<Theme>;
11
13
  }
12
- export default function RowContent<T>({ row, columns, onSelectRow, onDoubleClick, controlComponent, controlComponentColSx, }: RowContentProps<T>): React.JSX.Element;
14
+ export default function RowContent<T>({ row, columns, onSelectRow, onDoubleClick, controlComponent, controlComponentColSx, }: RowContentProps<T & {
15
+ id: string | number;
16
+ }>): React.JSX.Element;
13
17
  export {};
14
18
  //# sourceMappingURL=RowContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RowContent.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/RowContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU,eAAe,CAAC,CAAC;IACzB,GAAG,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC;AAUD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,EACpC,GAAG,EACH,OAAO,EACP,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,EAAE,eAAe,CAAC,CAAC,CAAC,qBAoCpB"}
1
+ {"version":3,"file":"RowContent.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/RowContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAY,MAAM,eAAe,CAAC;AAGzD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,UAAU,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAAE;IAC1D,GAAG,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACjD,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC;AAUD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,EACpC,GAAG,EACH,OAAO,EACP,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,EAAE,eAAe,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAAE,CAAC,qBAiE/C"}
@@ -1,5 +1,7 @@
1
1
  import React from "react";
2
+ import { useTheme } from "@mui/material";
2
3
  import TableCell from "@mui/material/TableCell";
4
+ import { JSONTree } from 'react-json-tree';
3
5
  const hiddenTextStyle = {
4
6
  whiteSpace: "nowrap",
5
7
  overflow: "hidden",
@@ -8,18 +10,42 @@ const hiddenTextStyle = {
8
10
  paddingBottom: "0.25rem",
9
11
  };
10
12
  export default function RowContent({ row, columns, onSelectRow, onDoubleClick, controlComponent, controlComponentColSx, }) {
13
+ const theme = useTheme();
14
+ const treeTheme = {
15
+ scheme: 'google',
16
+ author: 'seth wright (http://sethawright.com)',
17
+ base00: theme.palette.background.paper, // background
18
+ base01: theme.palette.background.default, // lighter background
19
+ base02: "#e0e0e0", // selection (можно взять divider)
20
+ base03: theme.palette.text.disabled || "#9e9e9e",
21
+ base04: theme.palette.text.secondary,
22
+ base05: theme.palette.text.primary,
23
+ base06: "#eeeeee",
24
+ base07: "#ffffff",
25
+ base08: theme.palette.error.main,
26
+ base09: theme.palette.warning.main,
27
+ base0A: theme.palette.info.main,
28
+ base0B: theme.palette.success.main,
29
+ base0C: theme.palette.secondary.main,
30
+ base0D: theme.palette.primary.main,
31
+ base0E: theme.palette.secondary.main,
32
+ base0F: "#8d6e63" // обычно brown / deprecated
33
+ };
11
34
  return (React.createElement(React.Fragment, null,
12
35
  columns.map((col, idx) => (React.createElement(TableCell, { sx: {
13
36
  ...hiddenTextStyle,
14
37
  ...col.colSx,
38
+ "& > ul": {
39
+ overflowX: "auto"
40
+ }
15
41
  }, key: idx, onClick: (_) => {
16
42
  const selection = window.getSelection();
17
43
  if (selection && selection.toString().length > 0)
18
44
  return;
19
- onSelectRow(Object(row).id);
20
- }, onDoubleClick: (_) => (onDoubleClick || (() => { }))(Object(row).id) }, col.cellContentComponent
45
+ onSelectRow(row.id);
46
+ }, onDoubleClick: (_) => (onDoubleClick || (() => { }))(row.id) }, col.cellContentComponent
21
47
  ? col.cellContentComponent(row)
22
- : Object(row)[col.name] || "N/A"))),
48
+ : typeof Object(row)[col.name] === "object" && Object(row)[col.name] != null ? (React.createElement(JSONTree /*invertTheme={invertTheme}*/, { theme: treeTheme, shouldExpandNodeInitially: () => false, data: Object(row)[col.name] })) : Object(row)[col.name] || "N/A"))),
23
49
  controlComponent && (React.createElement(TableCell, { sx: {
24
50
  textAlign: "center",
25
51
  cursor: "default",
@@ -1 +1 @@
1
- {"version":3,"file":"RuleRow.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/RuleRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU,QAAQ,CAAC,CAAC;IAClB,GAAG,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,CAAC,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;QACD,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC;KACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC;AAgDD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,EAAE,EACjC,GAAG,EACH,OAAO,EACP,EAAE,EACF,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,EAAE,QAAQ,CAAC,CAAC,CAAC,qBAoCb"}
1
+ {"version":3,"file":"RuleRow.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/RuleRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,OAAiB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE/C,UAAU,QAAQ,CAAC,CAAC;IAClB,GAAG,EAAE,CAAC,CAAC;IACP,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,CAAC,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;QACD,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC;KACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC;AAgDD,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,EAAE,EACjC,GAAG,EACH,OAAO,EACP,EAAE,EACF,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,qBAAqB,GACtB,EAAE,QAAQ,CAAC,CAAC,CAAC,qBA8Cb"}
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import TableCell from "@mui/material/TableCell";
3
+ import TableRow from "@mui/material/TableRow";
3
4
  const hiddenTextStyle = {
4
5
  whiteSpace: "nowrap",
5
6
  overflow: "hidden",
@@ -31,5 +32,9 @@ export default function RuleRow({ row, columns, sx, selectedRow, onSelectRow, on
31
32
  } }, controlComponent(row)))));
32
33
  return ContentWrapper ? (React.createElement(ContentWrapper, { dagId: Object(row).id, rowProps: {
33
34
  selected: Object(row).id === selectedRow,
34
- } }, content)) : (content);
35
+ } }, content)) : (React.createElement(TableRow, { hover: true, sx: {
36
+ height: "3rem",
37
+ overflowY: "hidden",
38
+ ...sx,
39
+ }, selected: Object(row).id === selectedRow }, content));
35
40
  }
@@ -1,4 +1,4 @@
1
1
  import React from "react";
2
2
  import SmartTableProps from "./SmartTableProps";
3
- export default function SmartTable<T>({ rows, columns, pageN, numPages, perPage, loading, minWidth, width, rowStyles, selectable, selectedRow, sx, disablePerPageSelector, globalSearch, columnAutoWidth, error, globalSearchComponent, ContentWrapper, onRowDoubleClick, onSelectRow, controlComponent: ControlComponent, onToggleSort, onInputSearch, onPageSelect, onChangePerPage, controlComponentColSx, perPageOptions, }: SmartTableProps<T>): React.JSX.Element;
3
+ export default function SmartTable<T>({ rows, columns, pageN, numPages, perPage, loading, minWidth, width, rowStyles, selectable, selectedRow, sx, disablePerPageSelector, globalSearch, columnAutoWidth, globalSearchComponent, ContentWrapper, onRowDoubleClick, onSelectRow, controlComponent: ControlComponent, onToggleSort, onInputSearch, onPageSelect, onChangePerPage, controlComponentColSx, }: SmartTableProps<T>): React.JSX.Element;
4
4
  //# sourceMappingURL=SmartTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartTable.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/SmartTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAsBlD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAiHhD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,EACpC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,EAAE,EACF,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,KAAK,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,cAAc,GACf,EAAE,eAAe,CAAC,CAAC,CAAC,qBA4TpB"}
1
+ {"version":3,"file":"SmartTable.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/SmartTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAiBxD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAMhD,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,EAAE,EACpC,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,EAAE,EACF,sBAAsB,EACtB,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,EACf,qBAAqB,GACtB,EAAE,eAAe,CAAC,CAAC,CAAC,qBAgQpB"}
@@ -1,4 +1,4 @@
1
- import React, { Fragment, Suspense } from "react";
1
+ import React, { lazy, Suspense } from "react";
2
2
  import FormControl from "@mui/material/FormControl";
3
3
  import InputLabel from "@mui/material/InputLabel";
4
4
  import MenuItem from "@mui/material/MenuItem";
@@ -9,58 +9,14 @@ import Table from "@mui/material/Table";
9
9
  import TableBody from "@mui/material/TableBody";
10
10
  import TableCell from "@mui/material/TableCell";
11
11
  import TableFooter from "@mui/material/TableFooter";
12
+ import TableHead from "@mui/material/TableHead";
12
13
  import TableRow from "@mui/material/TableRow";
13
14
  import TableContainer from "@mui/material/TableContainer";
14
- import { useTheme, Stack, CircularProgress, Typography, Skeleton, } from "@mui/material";
15
+ import { useTheme, Stack, CircularProgress } from "@mui/material";
15
16
  import SortBtn from "../SortBtn/SortBtn";
16
17
  import ColumnSearchInput from "../ColumnSearchInput/ColumnSearchInput";
17
- import { TableVirtuoso } from "react-virtuoso";
18
- import TableHeader from "./TableHeader";
19
- import RowContent from "./RowContent";
20
- // eslint-disable-next-line react/display-name
21
- const Scroller = React.forwardRef((props, ref) => (React.createElement(TableContainer, { component: Paper, ...props, ref: ref, sx: {
22
- minWidth: Object(props).context.minWidth || "100%",
23
- flexGrow: 1,
24
- overflowX: "auto",
25
- } },
26
- Object(props).children,
27
- Object(props).context.placeholder)));
28
- const TableHead =
29
- // eslint-disable-next-line react/display-name
30
- React.forwardRef((props, ref) => (React.createElement(TableHeader, { ...props, ref: ref })));
31
- const TableBodyWrapper =
32
- // eslint-disable-next-line react/display-name
33
- React.forwardRef((props, ref) => (React.createElement(TableBody, { ...props, ref: ref })));
34
- const Row = (props) => {
35
- const ContentWrapper = Object(props).context.ContentWrapper;
36
- const selectedRow = Object(props).context.selectedRow;
37
- const rowStyles = Object(props).context.rowStyles;
38
- const selectable = Object(props).context.selectable;
39
- return ContentWrapper ? (React.createElement(ContentWrapper, { dagId: Object(props).item.id, rowProps: {
40
- selected: Object(props).item.id === selectedRow,
41
- ...props,
42
- }, ...props })) : (React.createElement(TableRow, { hover: true, sx: {
43
- height: "3rem",
44
- overflowY: "hidden",
45
- ...rowStyles,
46
- cursor: selectable ? "pointer" : "default",
47
- }, selected: Object(props).item.id === selectedRow, ...props }));
48
- };
49
- const TableWrapper = (props) => (React.createElement(Table, { ...props, stickyHeader: true, sx: {
50
- ...Object(props).context.tableStyle,
51
- minWidth: Object(props).context.minWidth || "100%",
52
- } }));
53
- const ItemContent = (_index, row, context) => (React.createElement(RowContent, { key: Object(row).id, row: row, columns: Object(context).columns, controlComponent: Object(context).ControlComponent, onDoubleClick: Object(context).onRowDoubleClick, onSelectRow: Object(context).selectable ? Object(context).handleSelectRow : () => { } }));
54
- const ScrollSeekPlaceholder = (props) => (
55
- // eslint-disable-next-line react/prop-types
56
- React.createElement(TableRow, { sx: { height: Object(props).height } }, Object(props).context.columns.map((col, i) => (React.createElement(TableCell, { sx: {
57
- paddingTop: "0.25rem",
58
- paddingBottom: "0.25rem",
59
- py: 0,
60
- ...col.colSx,
61
- }, key: i },
62
- React.createElement(Skeleton, { variant: "rectangular", width: "100%" }))))));
63
- export default function SmartTable({ rows, columns, pageN, numPages, perPage, loading, minWidth, width, rowStyles, selectable, selectedRow, sx, disablePerPageSelector, globalSearch, columnAutoWidth, error, globalSearchComponent, ContentWrapper, onRowDoubleClick, onSelectRow, controlComponent: ControlComponent, onToggleSort, onInputSearch, onPageSelect, onChangePerPage, controlComponentColSx, perPageOptions, }) {
18
+ const RuleRow = lazy(() => import("./RuleRow"));
19
+ export default function SmartTable({ rows, columns, pageN, numPages, perPage, loading, minWidth, width, rowStyles, selectable, selectedRow, sx, disablePerPageSelector, globalSearch, columnAutoWidth, globalSearchComponent, ContentWrapper, onRowDoubleClick, onSelectRow, controlComponent: ControlComponent, onToggleSort, onInputSearch, onPageSelect, onChangePerPage, controlComponentColSx, }) {
64
20
  const theme = useTheme();
65
21
  const tableStyle = {
66
22
  width: columnAutoWidth ? "auto" : "100%",
@@ -86,45 +42,13 @@ export default function SmartTable({ rows, columns, pageN, numPages, perPage, lo
86
42
  const headerSearchRow = (React.createElement(TableRow, { key: 1 }, globalSearch && globalSearchComponent ? (React.createElement(TableCell, { scope: "col", colSpan: columns.length + 1 }, globalSearchComponent())) : (React.createElement(React.Fragment, null,
87
43
  hasSearchableColumns ? searchCols() : React.createElement(React.Fragment, null),
88
44
  ControlComponent && (React.createElement(TableCell, { sx: { ...controlComponentColSx }, scope: "col" }))))));
89
- const centerStyle = {
90
- position: "absolute",
91
- left: "50%",
92
- top: "50%",
93
- transform: "translate(-50%, -50%)",
94
- };
45
+ const tableHeader = (rows) => (React.createElement(TableHead, { sx: {
46
+ top: "0",
47
+ zIndex: 600,
48
+ position: "sticky",
49
+ backgroundColor: theme.palette.background.default,
50
+ } }, rows));
95
51
  const headerRows = [headerTitleRow, headerSearchRow];
96
- let placeholder = React.createElement(React.Fragment, null);
97
- if (error && rows.length === 0) {
98
- placeholder = (React.createElement(Typography, { variant: "h6", color: "textSecondary", sx: centerStyle }, "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435"));
99
- }
100
- else if (loading) {
101
- placeholder = React.createElement(CircularProgress, { sx: centerStyle });
102
- }
103
- else if (rows.length === 0) {
104
- placeholder = (React.createElement(Typography, { variant: "h6", color: "textSecondary", sx: centerStyle }, "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E"));
105
- }
106
- const fixedHeaderContent = () => (React.createElement(Fragment, null, hasGlobalSearch ? headerRows[0] : headerRows));
107
- const tableContext = {
108
- columns: columns,
109
- minWidth: minWidth,
110
- rowStyles: rowStyles,
111
- selectable: selectable,
112
- tableStyle: tableStyle,
113
- placeholder: placeholder,
114
- selectedRow: selectedRow,
115
- ContentWrapper: ContentWrapper,
116
- ControlComponent: ControlComponent,
117
- onRowDoubleClick: onRowDoubleClick,
118
- handleSelectRow: handleSelectRow,
119
- };
120
- const VirtuosoTableComponents = {
121
- Scroller: Scroller,
122
- Table: TableWrapper,
123
- TableRow: Row,
124
- TableHead: TableHead,
125
- TableBody: TableBodyWrapper,
126
- ScrollSeekPlaceholder: ScrollSeekPlaceholder,
127
- };
128
52
  return (React.createElement(Paper, { sx: {
129
53
  height: "74vh",
130
54
  position: "relative",
@@ -139,15 +63,18 @@ export default function SmartTable({ rows, columns, pageN, numPages, perPage, lo
139
63
  overflowX: "auto",
140
64
  width: "100%",
141
65
  } },
142
- hasGlobalSearch && (React.createElement(Table, { size: "small", className: "rulesTable", stickyHeader: true, sx: { ...tableStyle, minWidth: minWidth || "100%", height: "auto" } },
143
- React.createElement(TableHeader, null, headerRows[1]))),
144
- React.createElement(Suspense, { fallback: React.createElement(CircularProgress, { sx: { position: "absolute", left: "50%", top: "50%" } }) },
145
- React.createElement(TableVirtuoso, { style: { height: "100%" }, totalCount: rows.length, data: rows, components: VirtuosoTableComponents, fixedHeaderContent: fixedHeaderContent, itemContent: (ItemContent), context: tableContext, scrollSeekConfiguration: {
146
- // «входим» в режим плейсхолдеров при скорости >200px/фрейм
147
- enter: (velocity) => Math.abs(velocity) > 50,
148
- // «выходим» обратно, когда скорость опустилась ниже 30px/фрейм
149
- exit: (velocity) => Math.abs(velocity) < 10,
150
- }, increaseViewportBy: { top: 800, bottom: 800 } }))),
66
+ hasGlobalSearch && (React.createElement(Table, { size: "small", className: "rulesTable", stickyHeader: true, sx: { ...tableStyle, minWidth: minWidth || "100%", height: "auto" } }, tableHeader(headerRows[1]))),
67
+ React.createElement(TableContainer, { sx: { minWidth: minWidth || "100%", flexGrow: 1, overflowX: "unset" } },
68
+ React.createElement(Suspense, { fallback: React.createElement(CircularProgress, { sx: { position: "absolute", left: "50%", top: "50%" } }) },
69
+ React.createElement(Table, { sx: { ...tableStyle, minWidth: minWidth || "100%" }, stickyHeader: true },
70
+ tableHeader(hasGlobalSearch ? headerRows[0] : headerRows),
71
+ React.createElement(TableBody, null, rows.map((row, idx) => {
72
+ return (React.createElement(RuleRow, { ContentWrapper: ContentWrapper, key: idx, row: row, columns: columns, controlComponent: ControlComponent, onDoubleClick: onRowDoubleClick, sx: {
73
+ ...rowStyles,
74
+ cursor: selectable ? "pointer" : "default",
75
+ }, selectedRow: selectedRow, onSelectRow: selectable ? handleSelectRow : () => { } }));
76
+ })))),
77
+ loading ? (React.createElement(CircularProgress, { sx: { position: "absolute", left: "50%", top: "50%" } })) : (React.createElement(React.Fragment, null)))),
151
78
  React.createElement(Table, { sx: { ...tableStyle, height: "auto", minWidth: minWidth || "100%" } },
152
79
  React.createElement(TableFooter, { sx: {
153
80
  bottom: "0%",
@@ -171,5 +98,12 @@ export default function SmartTable({ rows, columns, pageN, numPages, perPage, lo
171
98
  disablePerPageSelector ? (React.createElement(React.Fragment, null)) : (React.createElement(FormControl, { size: "small" },
172
99
  React.createElement(InputLabel, { id: "perPageInputLabel" }, "\u0421\u0442\u0440\u043E\u043A"),
173
100
  React.createElement(Select, { label: "\u0421\u0442\u0440\u043E\u043A", labelId: "perPageInputLabel", value: String(perPage), autoWidth: true, onChange: (e) => onChangePerPage &&
174
- onChangePerPage(Number(e.target.value)), sx: { minWidth: "2rem" } }, (perPageOptions || [5, 10, 15, 20, 25, 50, 100]).map((v, idx) => (React.createElement(MenuItem, { key: idx, value: v }, v)))))))))))));
101
+ onChangePerPage(Number(e.target.value)), sx: { minWidth: "2rem" } },
102
+ React.createElement(MenuItem, { value: 5 }, "5"),
103
+ React.createElement(MenuItem, { value: 10 }, "10"),
104
+ React.createElement(MenuItem, { value: 15 }, "15"),
105
+ React.createElement(MenuItem, { value: 20 }, "20"),
106
+ React.createElement(MenuItem, { value: 25 }, "25"),
107
+ React.createElement(MenuItem, { value: 50 }, "50"),
108
+ React.createElement(MenuItem, { value: 100 }, "100")))))))))));
175
109
  }
@@ -34,7 +34,5 @@ export default interface SmartTableProps<T> {
34
34
  onPageSelect(pageN: number): void;
35
35
  onChangePerPage?(perPage: number): void;
36
36
  controlComponentColSx?: SxProps<Theme>;
37
- error?: boolean;
38
- perPageOptions?: number[];
39
37
  }
40
38
  //# sourceMappingURL=SmartTableProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SmartTableProps.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/SmartTableProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,IAAI,SAAS,CAAC;IACpC,cAAc,CAAC,CAAC,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;QACD,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC;KACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClE,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAClE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"SmartTableProps.d.ts","sourceRoot":"","sources":["../../../src/components/SmartTable/SmartTableProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,OAAO,WAAW,eAAe,CAAC,CAAC;IACxC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,IAAI,SAAS,CAAC;IACpC,cAAc,CAAC,CAAC,EACd,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;QACD,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,aAAa,CAAC;KACzB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACtB,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC;IACrC,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClE,aAAa,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,IAAI,CAAC;IAClE,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SortBtn.d.ts","sourceRoot":"","sources":["../../../src/components/SortBtn/SortBtn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,KAAK,EAAE,MAAM,EACb,YAAY,GACb,EAAE,YAAY,qBAgCd"}
1
+ {"version":3,"file":"SortBtn.d.ts","sourceRoot":"","sources":["../../../src/components/SortBtn/SortBtn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,QAAQ,EACR,KAAK,EACL,KAAK,EAAE,MAAM,EACb,YAAY,GACb,EAAE,YAAY,qBA4Bd"}
@@ -1,8 +1,7 @@
1
- import React, { useEffect, useState } from "react";
1
+ import React, { useState } from "react";
2
2
  import { TableSortLabel } from "@mui/material";
3
3
  export default function SortBtn({ children, field, order: _order, onToggleSort, }) {
4
4
  const [order, setOrder] = useState(_order || "none");
5
- useEffect(() => setOrder(_order), [_order]);
6
5
  function handleToggleSort() {
7
6
  let newOrder;
8
7
  switch (order) {
@@ -4,7 +4,7 @@ export default interface SubtaskItemProps {
4
4
  taskInstance: TaskInstance;
5
5
  logs: string;
6
6
  expanded: boolean;
7
- expandedLogContainerRef?: RefObject<HTMLDivElement>;
7
+ expandedLogContainerRef?: RefObject<HTMLDivElement | null>;
8
8
  onShowLogs(taskId: string, tryNum: number): void;
9
9
  }
10
10
  //# sourceMappingURL=SubtaskItemProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubtaskItemProps.d.ts","sourceRoot":"","sources":["../../../src/components/SubtaskItem/SubtaskItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACpD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
1
+ {"version":3,"file":"SubtaskItemProps.d.ts","sourceRoot":"","sources":["../../../src/components/SubtaskItem/SubtaskItemProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACvC,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AirflowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AirflowProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAgBf,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,GAAI,8BAG7B,oBAAoB,sBAuFtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;sBA5GV,OAAO;WAClB,MAAM;yBACQ,MAAM,GAAG,IAAI;wBACd,IAAI;CA2GzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"AirflowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/AirflowProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAgBf,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,GAAI,8BAG7B,oBAAoB,sBAsFtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;sBA3GV,OAAO;WAClB,MAAM;yBACQ,MAAM,GAAG,IAAI;wBACd,IAAI;CA0GzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -26,7 +26,6 @@ export const AirflowProvider = ({ children, dagId: _dagId, }) => {
26
26
  setAirflowAvailable(true);
27
27
  if (firstRun) {
28
28
  setFirstRun(false);
29
- setChannelBusy(false);
30
29
  return;
31
30
  }
32
31
  enqueueSnackbar("Соединение с Airflow установлено!", "info");
package/dist/utils.d.ts CHANGED
@@ -12,7 +12,7 @@ export declare const getSlugTableName: (name: string) => string;
12
12
  export declare const getShiftedColor: (colorHex: string, shift: number) => string;
13
13
  export declare const getSQLLabHref: (supersetURL: string, tableName: string, schema: string, dbName: string, autorun?: boolean, queryLimit?: number) => string;
14
14
  export declare const getDashboardHref: (supersetURL: string, tableName: string) => string;
15
- export declare function useDebounce<Args extends unknown[]>(callback: (...args: Args) => void, delay: number): (...args: Args) => void;
15
+ export declare function useDebounce(callback: CallableFunction, delay: number): (...args: unknown[]) => void;
16
16
  export declare const getResponsiveAnchorOrigin: (anchorEl: HTMLElement, elementHeight: number) => PopoverOrigin;
17
17
  export declare const getResponsiveTransformOrigin: (anchorEl: HTMLElement, elementHeight: number) => PopoverOrigin;
18
18
  export declare const gettextTS: (msgid: string) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,wBAAgB,YAAY,WAI3B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,QAI5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAM9C;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,2EAc5D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAWtC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,WAK9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAyC5C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,WAkB9D,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,UAAU,OAAO,EACjB,aAAa,MAAM,WAWpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,WAAW,MAAM,WACR,CAAC;AAEhE,wBAAgB,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,EAChD,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,EACjC,KAAK,EAAE,MAAM,aAKD,IAAI,UAUjB;AAED,eAAO,MAAM,yBAAyB,GACpC,UAAU,WAAW,EACrB,eAAe,MAAM,KAOhB,aACN,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,WAAW,EACrB,eAAe,MAAM,KAOhB,aACN,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,OAAO,MAAM,KACZ,MAMF,CAAC;AACF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,KAAG,MAM3D,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,OAAO,MAAM,KACZ,MAMF,CAAC;AACF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAM7C,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,QAAQ,OAAO,KACd,MAKF,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,YAAY,MAAM,KAAG,MAKhD,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAK3C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,wBAAwB,CAAC;AAChC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,wBAAgB,YAAY,WAI3B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,QAI5C;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAM9C;AAED,eAAO,MAAM,aAAa,GACxB,WAAW,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,2EAc5D,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAUtC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,WAK9C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,WAyC5C,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,MAAM,EAAE,OAAO,MAAM,WAkB9D,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,QAAQ,MAAM,EACd,QAAQ,MAAM,EACd,UAAU,OAAO,EACjB,aAAa,MAAM,WAWpB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,WAAW,MAAM,WACR,CAAC;AAEhE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,aAIvD,OAAO,EAAE,UAUtB;AAED,eAAO,MAAM,yBAAyB,GACpC,UAAU,WAAW,EACrB,eAAe,MAAM,KAOhB,aACN,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,UAAU,WAAW,EACrB,eAAe,MAAM,KAOhB,aACN,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,GACrB,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,OAAO,MAAM,KACZ,MAMF,CAAC;AACF,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,EAAE,OAAO,MAAM,KAAG,MAM3D,CAAC;AACF,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,QAAQ,MAAM,EACd,OAAO,MAAM,KACZ,MAMF,CAAC;AACF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAM7C,CAAC;AACF,eAAO,MAAM,aAAa,GACxB,KAAK,MAAM,EAEX,KAAK,GAAG,EACR,QAAQ,OAAO,KACd,MAKF,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,YAAY,MAAM,KAAG,MAKhD,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAK3C,CAAC"}
package/dist/utils.js CHANGED
@@ -41,7 +41,6 @@ export const formatDate = (date) => {
41
41
  hour: "2-digit",
42
42
  minute: "2-digit",
43
43
  second: "2-digit",
44
- timeZone: "Europe/Moscow",
45
44
  });
46
45
  };
47
46
  export const formatDuration = (duration) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danikokonn/yarik-frontend-lib",
3
- "version": "2.0.2-test3",
3
+ "version": "2.0.33.legacy.test",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "author": "",
@@ -41,7 +41,6 @@
41
41
  "react": "^18.3.1",
42
42
  "react-dom": "^18.3.1",
43
43
  "react-imask": "^7.6.1",
44
- "react-virtuoso": "^4.13.0",
45
44
  "style-loader": "^4.0.0",
46
45
  "transliteration": "^2.3.5"
47
46
  },