@megafon/ui-lk-vas 0.7.14 → 0.9.0

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 (41) hide show
  1. package/dist/es/components/Table/Table.css +1 -1
  2. package/dist/es/components/Table/Table.d.ts +12 -1
  3. package/dist/es/components/Table/Table.js +31 -10
  4. package/dist/es/components/Table/components/TableBody/TableBody.d.ts +9 -1
  5. package/dist/es/components/Table/components/TableBody/TableBody.js +8 -5
  6. package/dist/es/components/Table/components/TableHead/TableHead.d.ts +9 -1
  7. package/dist/es/components/Table/components/TableHead/TableHead.js +8 -5
  8. package/dist/es/components/Table/components/TableSettings/TableSettings.d.ts +7 -0
  9. package/dist/es/components/Table/components/TableSettings/TableSettings.js +16 -7
  10. package/dist/es/components/Table/components/TableTd/TableTd.d.ts +8 -0
  11. package/dist/es/components/Table/components/TableTd/TableTd.js +11 -6
  12. package/dist/es/components/Table/components/TableTh/TableTh.d.ts +2 -0
  13. package/dist/es/components/Table/components/TableTh/TableTh.js +4 -3
  14. package/dist/es/components/Table/components/TableTooltip/TableTooltip.js +2 -1
  15. package/dist/es/components/Table/components/TableTr/TableTr.d.ts +9 -1
  16. package/dist/es/components/Table/components/TableTr/TableTr.js +8 -5
  17. package/dist/es/components/Table/contexts/TableContext.js +4 -1
  18. package/dist/es/components/Table/helpers.d.ts +2 -2
  19. package/dist/es/components/Table/helpers.js +4 -4
  20. package/dist/es/components/Table/types.d.ts +5 -1
  21. package/dist/lib/components/Table/Table.css +1 -1
  22. package/dist/lib/components/Table/Table.d.ts +12 -1
  23. package/dist/lib/components/Table/Table.js +30 -9
  24. package/dist/lib/components/Table/components/TableBody/TableBody.d.ts +9 -1
  25. package/dist/lib/components/Table/components/TableBody/TableBody.js +8 -4
  26. package/dist/lib/components/Table/components/TableHead/TableHead.d.ts +9 -1
  27. package/dist/lib/components/Table/components/TableHead/TableHead.js +8 -4
  28. package/dist/lib/components/Table/components/TableSettings/TableSettings.d.ts +7 -0
  29. package/dist/lib/components/Table/components/TableSettings/TableSettings.js +15 -6
  30. package/dist/lib/components/Table/components/TableTd/TableTd.d.ts +8 -0
  31. package/dist/lib/components/Table/components/TableTd/TableTd.js +11 -6
  32. package/dist/lib/components/Table/components/TableTh/TableTh.d.ts +2 -0
  33. package/dist/lib/components/Table/components/TableTh/TableTh.js +4 -3
  34. package/dist/lib/components/Table/components/TableTooltip/TableTooltip.js +2 -1
  35. package/dist/lib/components/Table/components/TableTr/TableTr.d.ts +9 -1
  36. package/dist/lib/components/Table/components/TableTr/TableTr.js +8 -4
  37. package/dist/lib/components/Table/contexts/TableContext.js +4 -1
  38. package/dist/lib/components/Table/helpers.d.ts +2 -2
  39. package/dist/lib/components/Table/helpers.js +4 -4
  40. package/dist/lib/components/Table/types.d.ts +5 -1
  41. package/package.json +3 -3
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-lkvas-table{border-radius:12px 12px 0 0;overflow:auto hidden;position:relative;z-index:1}.mfui-lkvas-table::-webkit-scrollbar{height:12px}.mfui-lkvas-table::-webkit-scrollbar,.mfui-lkvas-table::-webkit-scrollbar-track{background-color:var(--spbSky1);border-radius:100px}.mfui-lkvas-table::-webkit-scrollbar-thumb{background-color:var(--spbSky2);border-radius:100px}.mfui-lkvas-table__table{background-color:var(--base);border-collapse:collapse;border-spacing:0;border-width:0;width:100%}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-lkvas-table{position:relative}.mfui-lkvas-table:after,.mfui-lkvas-table:before{height:18px;left:0;position:absolute;right:0;z-index:2}.mfui-lkvas-table:not(.mfui-lkvas-table_v-scroll_start):not(.mfui-lkvas-table_v-scroll_none):before{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.04)),color-stop(49.5%,rgba(0,0,0,.01)),to(hsla(0,0%,100%,0)));background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.01) 49.5%,hsla(0,0%,100%,0));content:"";top:0}.mfui-lkvas-table_h-scroll_none:not(.mfui-lkvas-table_v-scroll_end):not(.mfui-lkvas-table_v-scroll_none):after{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.04)),color-stop(49.5%,rgba(0,0,0,.01)),to(hsla(0,0%,100%,0)));background:linear-gradient(0deg,rgba(0,0,0,.04),rgba(0,0,0,.01) 49.5%,hsla(0,0%,100%,0));bottom:0;content:""}.mfui-lkvas-table__inner{border-radius:12px 12px 0 0;overflow:auto;position:relative;z-index:1}.mfui-lkvas-table__inner::-webkit-scrollbar{height:12px;width:12px}.mfui-lkvas-table__inner::-webkit-scrollbar,.mfui-lkvas-table__inner::-webkit-scrollbar-track{background-color:var(--spbSky1);border-radius:100px}.mfui-lkvas-table__inner::-webkit-scrollbar-thumb{background-color:var(--spbSky2);border-radius:100px}.mfui-lkvas-table__table{background-color:var(--base);border-collapse:collapse;border-spacing:0;border-width:0;width:100%}
@@ -1,4 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import './Table.scss';
3
- declare const Table: React.FC<React.PropsWithChildren>;
3
+ export interface ITable {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Высота таблицы */
7
+ height?: string;
8
+ /** Дополнительные data атрибуты к внутренним элементам */
9
+ dataAttrs?: {
10
+ root?: Record<string, string>;
11
+ inner?: Record<string, string>;
12
+ };
13
+ }
14
+ declare const Table: React.FC<React.PropsWithChildren<ITable>>;
4
15
  export default Table;
@@ -1,16 +1,23 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import * as React from 'react';
3
- import { cnCreate } from '@megafon/ui-helpers';
4
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
4
5
  import throttle from 'lodash.throttle';
5
6
  import TableContext from "./contexts/TableContext";
6
7
  import { calculateScrollPosition } from "./helpers";
7
8
  import "./Table.css";
8
9
  var cn = cnCreate('mfui-lkvas-table');
9
10
  var Table = function Table(_ref) {
10
- var children = _ref.children;
11
+ var className = _ref.className,
12
+ height = _ref.height,
13
+ dataAttrs = _ref.dataAttrs,
14
+ children = _ref.children;
11
15
  var rootRef = React.useRef(null);
12
16
  var tableRef = React.useRef(null);
13
- var _React$useState = React.useState('none'),
17
+ var _React$useState = React.useState({
18
+ horizontal: 'none',
19
+ vertical: 'none'
20
+ }),
14
21
  _React$useState2 = _slicedToArray(_React$useState, 2),
15
22
  scrollPosition = _React$useState2[0],
16
23
  setScrollPosition = _React$useState2[1];
@@ -20,11 +27,17 @@ var Table = function Table(_ref) {
20
27
  return;
21
28
  }
22
29
  var scrollWidth = rootNode.scrollWidth,
30
+ scrollHeight = rootNode.scrollHeight,
23
31
  clientWidth = rootNode.clientWidth,
24
- scrollLeft = rootNode.scrollLeft;
32
+ clientHeight = rootNode.clientHeight,
33
+ scrollLeft = rootNode.scrollLeft,
34
+ scrollTop = rootNode.scrollTop;
25
35
  var deltaWidth = scrollWidth - clientWidth;
26
- var position = calculateScrollPosition(scrollLeft, deltaWidth);
27
- setScrollPosition(position);
36
+ var deltaHeight = scrollHeight - clientHeight;
37
+ setScrollPosition({
38
+ horizontal: calculateScrollPosition(scrollLeft, deltaWidth),
39
+ vertical: calculateScrollPosition(scrollTop, deltaHeight)
40
+ });
28
41
  }, []);
29
42
  React.useEffect(function () {
30
43
  if (!tableRef.current) {
@@ -39,17 +52,25 @@ var Table = function Table(_ref) {
39
52
  observer.unobserve(tableNode);
40
53
  };
41
54
  }, [handleTableScroll]);
42
- return /*#__PURE__*/React.createElement("div", {
43
- className: cn(),
55
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
56
+ className: cn({
57
+ 'v-scroll': scrollPosition.vertical,
58
+ 'h-scroll': scrollPosition.horizontal
59
+ }, [className])
60
+ }), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.inner), {
61
+ className: cn('inner'),
62
+ style: {
63
+ height: height
64
+ },
44
65
  ref: rootRef,
45
66
  onScroll: handleTableScroll
46
- }, /*#__PURE__*/React.createElement(TableContext.Provider, {
67
+ }), /*#__PURE__*/React.createElement(TableContext.Provider, {
47
68
  value: {
48
69
  scrollPosition: scrollPosition
49
70
  }
50
71
  }, /*#__PURE__*/React.createElement("table", {
51
72
  className: cn('table'),
52
73
  ref: tableRef
53
- }, children)));
74
+ }, children))));
54
75
  };
55
76
  export default Table;
@@ -1,3 +1,11 @@
1
1
  import * as React from 'react';
2
- declare const TableBody: React.FC<React.PropsWithChildren>;
2
+ export interface ITableBody {
3
+ /** Дополнительный класс корневого элемента */
4
+ className?: string;
5
+ /** Дополнительные data атрибуты к внутренним элементам */
6
+ dataAttrs?: {
7
+ root?: Record<string, string>;
8
+ };
9
+ }
10
+ declare const TableBody: React.FC<React.PropsWithChildren<ITableBody>>;
3
11
  export default TableBody;
@@ -1,10 +1,13 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import * as React from 'react';
2
- import { cnCreate } from '@megafon/ui-helpers';
3
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
3
4
  var cn = cnCreate('mfui-lkvas-table-body');
4
5
  var TableBody = function TableBody(_ref) {
5
- var children = _ref.children;
6
- return /*#__PURE__*/React.createElement("tbody", {
7
- className: cn()
8
- }, children);
6
+ var className = _ref.className,
7
+ dataAttrs = _ref.dataAttrs,
8
+ children = _ref.children;
9
+ return /*#__PURE__*/React.createElement("tbody", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
10
+ className: cn([className])
11
+ }), children);
9
12
  };
10
13
  export default TableBody;
@@ -1,3 +1,11 @@
1
1
  import * as React from 'react';
2
- declare const TableHead: React.FC<React.PropsWithChildren>;
2
+ export interface ITableHead {
3
+ /** Дополнительный класс корневого элемента */
4
+ className?: string;
5
+ /** Дополнительные data атрибуты к внутренним элементам */
6
+ dataAttrs?: {
7
+ root?: Record<string, string>;
8
+ };
9
+ }
10
+ declare const TableHead: React.FC<React.PropsWithChildren<ITableHead>>;
3
11
  export default TableHead;
@@ -1,10 +1,13 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import * as React from 'react';
2
- import { cnCreate } from '@megafon/ui-helpers';
3
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
3
4
  var cn = cnCreate('mfui-lkvas-table-head');
4
5
  var TableHead = function TableHead(_ref) {
5
- var children = _ref.children;
6
- return /*#__PURE__*/React.createElement("thead", {
7
- className: cn()
8
- }, children);
6
+ var className = _ref.className,
7
+ dataAttrs = _ref.dataAttrs,
8
+ children = _ref.children;
9
+ return /*#__PURE__*/React.createElement("thead", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
10
+ className: cn([className])
11
+ }), children);
9
12
  };
10
13
  export default TableHead;
@@ -11,6 +11,13 @@ export interface ITableSettingsProps {
11
11
  root?: string;
12
12
  tooltip?: string;
13
13
  };
14
+ /** Дополнительные data атрибуты к внутренним элементам */
15
+ dataAttrs?: {
16
+ root?: Record<string, string>;
17
+ dots?: Record<string, string>;
18
+ tooltip?: Record<string, string>;
19
+ item?: Record<string, string>;
20
+ };
14
21
  }
15
22
  declare const TableSettings: React.FC<React.PropsWithChildren<ITableSettingsProps>>;
16
23
  export default TableSettings;
@@ -2,21 +2,22 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import "core-js/modules/es.array.map.js";
3
3
  import * as React from 'react';
4
4
  import { Tooltip } from '@megafon/ui-core';
5
- import { cnCreate } from '@megafon/ui-helpers';
5
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
6
6
  import DropdownItem from "../../../_DropdownItem/DropdownItem";
7
7
  import "./TableSettings.css";
8
8
  var cn = cnCreate('mfui-lkvas-table-settings');
9
9
  var TableSettings = function TableSettings(_ref) {
10
10
  var className = _ref.className,
11
11
  items = _ref.items,
12
- classes = _ref.classes;
12
+ classes = _ref.classes,
13
+ dataAttrs = _ref.dataAttrs;
13
14
  var triggerRef = React.useRef(null);
14
- return /*#__PURE__*/React.createElement("div", {
15
+ return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
15
16
  className: cn([className, classes === null || classes === void 0 ? void 0 : classes.root])
16
- }, /*#__PURE__*/React.createElement("div", {
17
+ }), /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.dots), {
17
18
  className: cn('dots'),
18
19
  ref: triggerRef
19
- }, /*#__PURE__*/React.createElement("div", {
20
+ }), /*#__PURE__*/React.createElement("div", {
20
21
  className: cn('dots-inner')
21
22
  }, /*#__PURE__*/React.createElement("div", {
22
23
  className: cn('dot')
@@ -30,11 +31,19 @@ var TableSettings = function TableSettings(_ref) {
30
31
  placement: "left",
31
32
  fallbackPlacements: ['right'],
32
33
  triggerEvent: "click",
33
- colorTheme: "blue"
34
+ colorTheme: "blue",
35
+ strategy: "fixed",
36
+ offset: "small",
37
+ dataAttrs: {
38
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tooltip
39
+ }
34
40
  }, items.map(function (item) {
35
41
  return /*#__PURE__*/React.createElement(DropdownItem, _extends({}, item, {
36
42
  key: item.id + item.title,
37
- color: "white"
43
+ color: "white",
44
+ dataAttrs: {
45
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item
46
+ }
38
47
  }));
39
48
  })));
40
49
  };
@@ -1,8 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import './TableTd.scss';
3
3
  export interface ITableTdProps {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Атрибут colSpan для тега td */
7
+ colSpan?: number;
4
8
  /** Фиксация ячейки во время горизонтальной прокрутки (только для первой и последней ячейки в строке) */
5
9
  pinned?: boolean;
10
+ /** Дополнительные data атрибуты к внутренним элементам */
11
+ dataAttrs?: {
12
+ root?: Record<string, string>;
13
+ };
6
14
  }
7
15
  declare const TableTd: React.FC<React.PropsWithChildren<ITableTdProps>>;
8
16
  export default TableTd;
@@ -1,18 +1,23 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import * as React from 'react';
2
- import { cnCreate } from '@megafon/ui-helpers';
3
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
3
4
  import TableContext from "../../contexts/TableContext";
4
5
  import "./TableTd.css";
5
6
  var cn = cnCreate('mfui-lkvas-table-td');
6
7
  var TableTd = function TableTd(_ref) {
7
- var pinned = _ref.pinned,
8
+ var className = _ref.className,
9
+ colSpan = _ref.colSpan,
10
+ pinned = _ref.pinned,
11
+ dataAttrs = _ref.dataAttrs,
8
12
  children = _ref.children;
9
13
  var _React$useContext = React.useContext(TableContext),
10
14
  scrollPosition = _React$useContext.scrollPosition;
11
- return /*#__PURE__*/React.createElement("td", {
15
+ return /*#__PURE__*/React.createElement("td", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
12
16
  className: cn({
13
17
  pinned: pinned,
14
- scroll: pinned && scrollPosition
15
- })
16
- }, children);
18
+ scroll: pinned && scrollPosition.horizontal
19
+ }, [className]),
20
+ colSpan: colSpan
21
+ }), children);
17
22
  };
18
23
  export default TableTd;
@@ -16,6 +16,8 @@ interface ITooltip {
16
16
  onCloseButtonClick?: (e: React.SyntheticEvent<EventTarget, Event>) => void;
17
17
  }
18
18
  export interface ITableThProps {
19
+ /** Дополнительный класс корневого элемента */
20
+ className?: string;
19
21
  /** Фиксация ячейки во время горизонтальной прокрутки (только для первой и последней ячейки в строке) */
20
22
  pinned?: boolean;
21
23
  /** Показать элементы сортировки */
@@ -13,7 +13,8 @@ var InfoIcon = function InfoIcon(props) {
13
13
  };
14
14
  var cn = cnCreate('mfui-lkvas-table-th');
15
15
  var TableTh = function TableTh(_ref) {
16
- var pinned = _ref.pinned,
16
+ var className = _ref.className,
17
+ pinned = _ref.pinned,
17
18
  _ref$showSorting = _ref.showSorting,
18
19
  showSorting = _ref$showSorting === void 0 ? false : _ref$showSorting,
19
20
  minWidth = _ref.minWidth,
@@ -58,8 +59,8 @@ var TableTh = function TableTh(_ref) {
58
59
  return /*#__PURE__*/React.createElement("th", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
59
60
  className: cn({
60
61
  pinned: pinned,
61
- scroll: pinned && scrollPosition
62
- }),
62
+ scroll: pinned && scrollPosition.horizontal
63
+ }, [className]),
63
64
  style: {
64
65
  minWidth: minWidth,
65
66
  width: width
@@ -31,7 +31,8 @@ var TableTooltip = function TableTooltip(_ref) {
31
31
  placement: "bottom",
32
32
  fallbackPlacements: ['top', 'left', 'right'],
33
33
  triggerEvent: "click",
34
- colorTheme: "blue"
34
+ colorTheme: "blue",
35
+ offset: "small"
35
36
  }));
36
37
  };
37
38
  export default TableTooltip;
@@ -1,4 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import './TableTr.scss';
3
- declare const TableTr: React.FC<React.PropsWithChildren>;
3
+ export interface ITableTr {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Дополнительные data атрибуты к внутренним элементам */
7
+ dataAttrs?: {
8
+ root?: Record<string, string>;
9
+ };
10
+ }
11
+ declare const TableTr: React.FC<React.PropsWithChildren<ITableTr>>;
4
12
  export default TableTr;
@@ -1,11 +1,14 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import * as React from 'react';
2
- import { cnCreate } from '@megafon/ui-helpers';
3
+ import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
3
4
  import "./TableTr.css";
4
5
  var cn = cnCreate('mfui-lkvas-table-tr');
5
6
  var TableTr = function TableTr(_ref) {
6
- var children = _ref.children;
7
- return /*#__PURE__*/React.createElement("tr", {
8
- className: cn()
9
- }, children);
7
+ var className = _ref.className,
8
+ dataAttrs = _ref.dataAttrs,
9
+ children = _ref.children;
10
+ return /*#__PURE__*/React.createElement("tr", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
11
+ className: cn([className])
12
+ }), children);
10
13
  };
11
14
  export default TableTr;
@@ -1,5 +1,8 @@
1
1
  import { createContext } from 'react';
2
2
  var TableContext = /*#__PURE__*/createContext({
3
- scrollPosition: 'none'
3
+ scrollPosition: {
4
+ horizontal: 'none',
5
+ vertical: 'none'
6
+ }
4
7
  });
5
8
  export default TableContext;
@@ -1,2 +1,2 @@
1
- import type { ScrollPositionType } from './types';
2
- export declare const calculateScrollPosition: (scrollLeft: number, deltaWidth: number) => ScrollPositionType;
1
+ import type { ScrollPositionValueType } from './types';
2
+ export declare const calculateScrollPosition: (scroll: number, delta: number) => ScrollPositionValueType;
@@ -1,11 +1,11 @@
1
- export var calculateScrollPosition = function calculateScrollPosition(scrollLeft, deltaWidth) {
2
- if (deltaWidth === 0) {
1
+ export var calculateScrollPosition = function calculateScrollPosition(scroll, delta) {
2
+ if (delta === 0) {
3
3
  return 'none';
4
4
  }
5
- if (scrollLeft === 0) {
5
+ if (scroll === 0) {
6
6
  return 'start';
7
7
  }
8
- if (scrollLeft === deltaWidth) {
8
+ if (scroll === delta) {
9
9
  return 'end';
10
10
  }
11
11
  return 'between';
@@ -1 +1,5 @@
1
- export type ScrollPositionType = 'start' | 'between' | 'end' | 'none';
1
+ export type ScrollPositionValueType = 'start' | 'between' | 'end' | 'none';
2
+ export type ScrollPositionType = {
3
+ horizontal: ScrollPositionValueType;
4
+ vertical: ScrollPositionValueType;
5
+ };
@@ -1 +1 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-lkvas-table{border-radius:12px 12px 0 0;overflow:auto hidden;position:relative;z-index:1}.mfui-lkvas-table::-webkit-scrollbar{height:12px}.mfui-lkvas-table::-webkit-scrollbar,.mfui-lkvas-table::-webkit-scrollbar-track{background-color:var(--spbSky1);border-radius:100px}.mfui-lkvas-table::-webkit-scrollbar-thumb{background-color:var(--spbSky2);border-radius:100px}.mfui-lkvas-table__table{background-color:var(--base);border-collapse:collapse;border-spacing:0;border-width:0;width:100%}
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-lkvas-table{position:relative}.mfui-lkvas-table:after,.mfui-lkvas-table:before{height:18px;left:0;position:absolute;right:0;z-index:2}.mfui-lkvas-table:not(.mfui-lkvas-table_v-scroll_start):not(.mfui-lkvas-table_v-scroll_none):before{background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.04)),color-stop(49.5%,rgba(0,0,0,.01)),to(hsla(0,0%,100%,0)));background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.01) 49.5%,hsla(0,0%,100%,0));content:"";top:0}.mfui-lkvas-table_h-scroll_none:not(.mfui-lkvas-table_v-scroll_end):not(.mfui-lkvas-table_v-scroll_none):after{background:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.04)),color-stop(49.5%,rgba(0,0,0,.01)),to(hsla(0,0%,100%,0)));background:linear-gradient(0deg,rgba(0,0,0,.04),rgba(0,0,0,.01) 49.5%,hsla(0,0%,100%,0));bottom:0;content:""}.mfui-lkvas-table__inner{border-radius:12px 12px 0 0;overflow:auto;position:relative;z-index:1}.mfui-lkvas-table__inner::-webkit-scrollbar{height:12px;width:12px}.mfui-lkvas-table__inner::-webkit-scrollbar,.mfui-lkvas-table__inner::-webkit-scrollbar-track{background-color:var(--spbSky1);border-radius:100px}.mfui-lkvas-table__inner::-webkit-scrollbar-thumb{background-color:var(--spbSky2);border-radius:100px}.mfui-lkvas-table__table{background-color:var(--base);border-collapse:collapse;border-spacing:0;border-width:0;width:100%}
@@ -1,4 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import './Table.scss';
3
- declare const Table: React.FC<React.PropsWithChildren>;
3
+ export interface ITable {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Высота таблицы */
7
+ height?: string;
8
+ /** Дополнительные data атрибуты к внутренним элементам */
9
+ dataAttrs?: {
10
+ root?: Record<string, string>;
11
+ inner?: Record<string, string>;
12
+ };
13
+ }
14
+ declare const Table: React.FC<React.PropsWithChildren<ITable>>;
4
15
  export default Table;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
10
  var React = _interopRequireWildcard(require("react"));
10
11
  var _uiHelpers = require("@megafon/ui-helpers");
@@ -16,10 +17,16 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
16
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
17
18
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table');
18
19
  var Table = function Table(_ref) {
19
- var children = _ref.children;
20
+ var className = _ref.className,
21
+ height = _ref.height,
22
+ dataAttrs = _ref.dataAttrs,
23
+ children = _ref.children;
20
24
  var rootRef = React.useRef(null);
21
25
  var tableRef = React.useRef(null);
22
- var _React$useState = React.useState('none'),
26
+ var _React$useState = React.useState({
27
+ horizontal: 'none',
28
+ vertical: 'none'
29
+ }),
23
30
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
24
31
  scrollPosition = _React$useState2[0],
25
32
  setScrollPosition = _React$useState2[1];
@@ -29,11 +36,17 @@ var Table = function Table(_ref) {
29
36
  return;
30
37
  }
31
38
  var scrollWidth = rootNode.scrollWidth,
39
+ scrollHeight = rootNode.scrollHeight,
32
40
  clientWidth = rootNode.clientWidth,
33
- scrollLeft = rootNode.scrollLeft;
41
+ clientHeight = rootNode.clientHeight,
42
+ scrollLeft = rootNode.scrollLeft,
43
+ scrollTop = rootNode.scrollTop;
34
44
  var deltaWidth = scrollWidth - clientWidth;
35
- var position = (0, _helpers.calculateScrollPosition)(scrollLeft, deltaWidth);
36
- setScrollPosition(position);
45
+ var deltaHeight = scrollHeight - clientHeight;
46
+ setScrollPosition({
47
+ horizontal: (0, _helpers.calculateScrollPosition)(scrollLeft, deltaWidth),
48
+ vertical: (0, _helpers.calculateScrollPosition)(scrollTop, deltaHeight)
49
+ });
37
50
  }, []);
38
51
  React.useEffect(function () {
39
52
  if (!tableRef.current) {
@@ -48,17 +61,25 @@ var Table = function Table(_ref) {
48
61
  observer.unobserve(tableNode);
49
62
  };
50
63
  }, [handleTableScroll]);
51
- return /*#__PURE__*/React.createElement("div", {
52
- className: cn(),
64
+ return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
65
+ className: cn({
66
+ 'v-scroll': scrollPosition.vertical,
67
+ 'h-scroll': scrollPosition.horizontal
68
+ }, [className])
69
+ }), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.inner), {
70
+ className: cn('inner'),
71
+ style: {
72
+ height: height
73
+ },
53
74
  ref: rootRef,
54
75
  onScroll: handleTableScroll
55
- }, /*#__PURE__*/React.createElement(_TableContext["default"].Provider, {
76
+ }), /*#__PURE__*/React.createElement(_TableContext["default"].Provider, {
56
77
  value: {
57
78
  scrollPosition: scrollPosition
58
79
  }
59
80
  }, /*#__PURE__*/React.createElement("table", {
60
81
  className: cn('table'),
61
82
  ref: tableRef
62
- }, children)));
83
+ }, children))));
63
84
  };
64
85
  var _default = exports["default"] = Table;
@@ -1,3 +1,11 @@
1
1
  import * as React from 'react';
2
- declare const TableBody: React.FC<React.PropsWithChildren>;
2
+ export interface ITableBody {
3
+ /** Дополнительный класс корневого элемента */
4
+ className?: string;
5
+ /** Дополнительные data атрибуты к внутренним элементам */
6
+ dataAttrs?: {
7
+ root?: Record<string, string>;
8
+ };
9
+ }
10
+ declare const TableBody: React.FC<React.PropsWithChildren<ITableBody>>;
3
11
  export default TableBody;
@@ -5,15 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _uiHelpers = require("@megafon/ui-helpers");
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
14
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-body');
13
15
  var TableBody = function TableBody(_ref) {
14
- var children = _ref.children;
15
- return /*#__PURE__*/React.createElement("tbody", {
16
- className: cn()
17
- }, children);
16
+ var className = _ref.className,
17
+ dataAttrs = _ref.dataAttrs,
18
+ children = _ref.children;
19
+ return /*#__PURE__*/React.createElement("tbody", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
20
+ className: cn([className])
21
+ }), children);
18
22
  };
19
23
  var _default = exports["default"] = TableBody;
@@ -1,3 +1,11 @@
1
1
  import * as React from 'react';
2
- declare const TableHead: React.FC<React.PropsWithChildren>;
2
+ export interface ITableHead {
3
+ /** Дополнительный класс корневого элемента */
4
+ className?: string;
5
+ /** Дополнительные data атрибуты к внутренним элементам */
6
+ dataAttrs?: {
7
+ root?: Record<string, string>;
8
+ };
9
+ }
10
+ declare const TableHead: React.FC<React.PropsWithChildren<ITableHead>>;
3
11
  export default TableHead;
@@ -5,15 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _uiHelpers = require("@megafon/ui-helpers");
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
14
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-head');
13
15
  var TableHead = function TableHead(_ref) {
14
- var children = _ref.children;
15
- return /*#__PURE__*/React.createElement("thead", {
16
- className: cn()
17
- }, children);
16
+ var className = _ref.className,
17
+ dataAttrs = _ref.dataAttrs,
18
+ children = _ref.children;
19
+ return /*#__PURE__*/React.createElement("thead", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
20
+ className: cn([className])
21
+ }), children);
18
22
  };
19
23
  var _default = exports["default"] = TableHead;
@@ -11,6 +11,13 @@ export interface ITableSettingsProps {
11
11
  root?: string;
12
12
  tooltip?: string;
13
13
  };
14
+ /** Дополнительные data атрибуты к внутренним элементам */
15
+ dataAttrs?: {
16
+ root?: Record<string, string>;
17
+ dots?: Record<string, string>;
18
+ tooltip?: Record<string, string>;
19
+ item?: Record<string, string>;
20
+ };
14
21
  }
15
22
  declare const TableSettings: React.FC<React.PropsWithChildren<ITableSettingsProps>>;
16
23
  export default TableSettings;
@@ -18,14 +18,15 @@ var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-settings');
18
18
  var TableSettings = function TableSettings(_ref) {
19
19
  var className = _ref.className,
20
20
  items = _ref.items,
21
- classes = _ref.classes;
21
+ classes = _ref.classes,
22
+ dataAttrs = _ref.dataAttrs;
22
23
  var triggerRef = React.useRef(null);
23
- return /*#__PURE__*/React.createElement("div", {
24
+ return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
24
25
  className: cn([className, classes === null || classes === void 0 ? void 0 : classes.root])
25
- }, /*#__PURE__*/React.createElement("div", {
26
+ }), /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.dots), {
26
27
  className: cn('dots'),
27
28
  ref: triggerRef
28
- }, /*#__PURE__*/React.createElement("div", {
29
+ }), /*#__PURE__*/React.createElement("div", {
29
30
  className: cn('dots-inner')
30
31
  }, /*#__PURE__*/React.createElement("div", {
31
32
  className: cn('dot')
@@ -39,11 +40,19 @@ var TableSettings = function TableSettings(_ref) {
39
40
  placement: "left",
40
41
  fallbackPlacements: ['right'],
41
42
  triggerEvent: "click",
42
- colorTheme: "blue"
43
+ colorTheme: "blue",
44
+ strategy: "fixed",
45
+ offset: "small",
46
+ dataAttrs: {
47
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.tooltip
48
+ }
43
49
  }, items.map(function (item) {
44
50
  return /*#__PURE__*/React.createElement(_DropdownItem["default"], (0, _extends2["default"])({}, item, {
45
51
  key: item.id + item.title,
46
- color: "white"
52
+ color: "white",
53
+ dataAttrs: {
54
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item
55
+ }
47
56
  }));
48
57
  })));
49
58
  };
@@ -1,8 +1,16 @@
1
1
  import * as React from 'react';
2
2
  import './TableTd.scss';
3
3
  export interface ITableTdProps {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Атрибут colSpan для тега td */
7
+ colSpan?: number;
4
8
  /** Фиксация ячейки во время горизонтальной прокрутки (только для первой и последней ячейки в строке) */
5
9
  pinned?: boolean;
10
+ /** Дополнительные data атрибуты к внутренним элементам */
11
+ dataAttrs?: {
12
+ root?: Record<string, string>;
13
+ };
6
14
  }
7
15
  declare const TableTd: React.FC<React.PropsWithChildren<ITableTdProps>>;
8
16
  export default TableTd;
@@ -5,23 +5,28 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _uiHelpers = require("@megafon/ui-helpers");
10
11
  var _TableContext = _interopRequireDefault(require("../../contexts/TableContext"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
15
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-td');
15
16
  var TableTd = function TableTd(_ref) {
16
- var pinned = _ref.pinned,
17
+ var className = _ref.className,
18
+ colSpan = _ref.colSpan,
19
+ pinned = _ref.pinned,
20
+ dataAttrs = _ref.dataAttrs,
17
21
  children = _ref.children;
18
22
  var _React$useContext = React.useContext(_TableContext["default"]),
19
23
  scrollPosition = _React$useContext.scrollPosition;
20
- return /*#__PURE__*/React.createElement("td", {
24
+ return /*#__PURE__*/React.createElement("td", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
21
25
  className: cn({
22
26
  pinned: pinned,
23
- scroll: pinned && scrollPosition
24
- })
25
- }, children);
27
+ scroll: pinned && scrollPosition.horizontal
28
+ }, [className]),
29
+ colSpan: colSpan
30
+ }), children);
26
31
  };
27
32
  var _default = exports["default"] = TableTd;
@@ -16,6 +16,8 @@ interface ITooltip {
16
16
  onCloseButtonClick?: (e: React.SyntheticEvent<EventTarget, Event>) => void;
17
17
  }
18
18
  export interface ITableThProps {
19
+ /** Дополнительный класс корневого элемента */
20
+ className?: string;
19
21
  /** Фиксация ячейки во время горизонтальной прокрутки (только для первой и последней ячейки в строке) */
20
22
  pinned?: boolean;
21
23
  /** Показать элементы сортировки */
@@ -22,7 +22,8 @@ var InfoIcon = function InfoIcon(props) {
22
22
  };
23
23
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-th');
24
24
  var TableTh = function TableTh(_ref) {
25
- var pinned = _ref.pinned,
25
+ var className = _ref.className,
26
+ pinned = _ref.pinned,
26
27
  _ref$showSorting = _ref.showSorting,
27
28
  showSorting = _ref$showSorting === void 0 ? false : _ref$showSorting,
28
29
  minWidth = _ref.minWidth,
@@ -67,8 +68,8 @@ var TableTh = function TableTh(_ref) {
67
68
  return /*#__PURE__*/React.createElement("th", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
68
69
  className: cn({
69
70
  pinned: pinned,
70
- scroll: pinned && scrollPosition
71
- }),
71
+ scroll: pinned && scrollPosition.horizontal
72
+ }, [className]),
72
73
  style: {
73
74
  minWidth: minWidth,
74
75
  width: width
@@ -39,7 +39,8 @@ var TableTooltip = function TableTooltip(_ref) {
39
39
  placement: "bottom",
40
40
  fallbackPlacements: ['top', 'left', 'right'],
41
41
  triggerEvent: "click",
42
- colorTheme: "blue"
42
+ colorTheme: "blue",
43
+ offset: "small"
43
44
  }));
44
45
  };
45
46
  var _default = exports["default"] = TableTooltip;
@@ -1,4 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import './TableTr.scss';
3
- declare const TableTr: React.FC<React.PropsWithChildren>;
3
+ export interface ITableTr {
4
+ /** Дополнительный класс корневого элемента */
5
+ className?: string;
6
+ /** Дополнительные data атрибуты к внутренним элементам */
7
+ dataAttrs?: {
8
+ root?: Record<string, string>;
9
+ };
10
+ }
11
+ declare const TableTr: React.FC<React.PropsWithChildren<ITableTr>>;
4
12
  export default TableTr;
@@ -5,15 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
9
  var React = _interopRequireWildcard(require("react"));
9
10
  var _uiHelpers = require("@megafon/ui-helpers");
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
14
  var cn = (0, _uiHelpers.cnCreate)('mfui-lkvas-table-tr');
13
15
  var TableTr = function TableTr(_ref) {
14
- var children = _ref.children;
15
- return /*#__PURE__*/React.createElement("tr", {
16
- className: cn()
17
- }, children);
16
+ var className = _ref.className,
17
+ dataAttrs = _ref.dataAttrs,
18
+ children = _ref.children;
19
+ return /*#__PURE__*/React.createElement("tr", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
20
+ className: cn([className])
21
+ }), children);
18
22
  };
19
23
  var _default = exports["default"] = TableTr;
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = void 0;
7
7
  var _react = require("react");
8
8
  var TableContext = /*#__PURE__*/(0, _react.createContext)({
9
- scrollPosition: 'none'
9
+ scrollPosition: {
10
+ horizontal: 'none',
11
+ vertical: 'none'
12
+ }
10
13
  });
11
14
  var _default = exports["default"] = TableContext;
@@ -1,2 +1,2 @@
1
- import type { ScrollPositionType } from './types';
2
- export declare const calculateScrollPosition: (scrollLeft: number, deltaWidth: number) => ScrollPositionType;
1
+ import type { ScrollPositionValueType } from './types';
2
+ export declare const calculateScrollPosition: (scroll: number, delta: number) => ScrollPositionValueType;
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.calculateScrollPosition = void 0;
7
- var calculateScrollPosition = exports.calculateScrollPosition = function calculateScrollPosition(scrollLeft, deltaWidth) {
8
- if (deltaWidth === 0) {
7
+ var calculateScrollPosition = exports.calculateScrollPosition = function calculateScrollPosition(scroll, delta) {
8
+ if (delta === 0) {
9
9
  return 'none';
10
10
  }
11
- if (scrollLeft === 0) {
11
+ if (scroll === 0) {
12
12
  return 'start';
13
13
  }
14
- if (scrollLeft === deltaWidth) {
14
+ if (scroll === delta) {
15
15
  return 'end';
16
16
  }
17
17
  return 'between';
@@ -1 +1,5 @@
1
- export type ScrollPositionType = 'start' | 'between' | 'end' | 'none';
1
+ export type ScrollPositionValueType = 'start' | 'between' | 'end' | 'none';
2
+ export type ScrollPositionType = {
3
+ horizontal: ScrollPositionValueType;
4
+ vertical: ScrollPositionValueType;
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-lk-vas",
3
- "version": "0.7.14",
3
+ "version": "0.9.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -77,11 +77,11 @@
77
77
  "typescript": "^5.3.3"
78
78
  },
79
79
  "dependencies": {
80
- "@megafon/ui-core": "^8.13.2",
80
+ "@megafon/ui-core": "^8.14.1",
81
81
  "@megafon/ui-helpers": "^4.0.2",
82
82
  "@megafon/ui-icons": "^3.12.1",
83
83
  "chart.js": "4.0.1",
84
84
  "lodash.throttle": "^4.1.1"
85
85
  },
86
- "gitHead": "4f9585b11b9adfe177e8e56d6030490f6b35b243"
86
+ "gitHead": "2a821bd292e85f988223419cf69b8a86bbc6709f"
87
87
  }