@megafon/ui-core 5.16.0 → 5.17.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 (54) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/es/components/Banner/Banner.css +43 -32
  3. package/dist/es/components/Banner/Banner.d.ts +8 -3
  4. package/dist/es/components/Banner/Banner.js +62 -44
  5. package/dist/es/components/Banner/BannerDot.css +9 -16
  6. package/dist/es/components/Banner/BannerDot.d.ts +0 -7
  7. package/dist/es/components/Banner/BannerDot.js +5 -14
  8. package/dist/es/components/Banner/slidesSettings.d.ts +5 -0
  9. package/dist/es/components/Banner/slidesSettings.js +13 -0
  10. package/dist/es/components/Button/Button.css +3 -0
  11. package/dist/es/components/ListData/ListData.css +162 -0
  12. package/dist/es/components/ListData/ListData.d.ts +94 -0
  13. package/dist/es/components/ListData/ListData.js +203 -0
  14. package/dist/es/components/ListData/ListDataGroup.css +15 -0
  15. package/dist/es/components/ListData/ListDataGroup.d.ts +46 -0
  16. package/dist/es/components/ListData/ListDataGroup.js +195 -0
  17. package/dist/es/components/ListData/components/ListDataSortable.css +79 -0
  18. package/dist/es/components/ListData/components/ListDataSortable.d.ts +34 -0
  19. package/dist/es/components/ListData/components/ListDataSortable.js +102 -0
  20. package/dist/es/components/ListData/doc/i/img.png +0 -0
  21. package/dist/es/components/ListData/helpers.d.ts +6 -0
  22. package/dist/es/components/ListData/helpers.js +40 -0
  23. package/dist/es/components/Search/Search.d.ts +1 -0
  24. package/dist/es/components/Search/Search.js +2 -2
  25. package/dist/es/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -1
  26. package/dist/es/index.d.ts +4 -0
  27. package/dist/es/index.js +4 -0
  28. package/dist/lib/components/Banner/Banner.css +43 -32
  29. package/dist/lib/components/Banner/Banner.d.ts +8 -3
  30. package/dist/lib/components/Banner/Banner.js +63 -44
  31. package/dist/lib/components/Banner/BannerDot.css +9 -16
  32. package/dist/lib/components/Banner/BannerDot.d.ts +0 -7
  33. package/dist/lib/components/Banner/BannerDot.js +6 -17
  34. package/dist/lib/components/Banner/slidesSettings.d.ts +5 -0
  35. package/dist/lib/components/Banner/slidesSettings.js +24 -0
  36. package/dist/lib/components/Button/Button.css +3 -0
  37. package/dist/lib/components/ListData/ListData.css +162 -0
  38. package/dist/lib/components/ListData/ListData.d.ts +94 -0
  39. package/dist/lib/components/ListData/ListData.js +229 -0
  40. package/dist/lib/components/ListData/ListDataGroup.css +15 -0
  41. package/dist/lib/components/ListData/ListDataGroup.d.ts +46 -0
  42. package/dist/lib/components/ListData/ListDataGroup.js +229 -0
  43. package/dist/lib/components/ListData/components/ListDataSortable.css +79 -0
  44. package/dist/lib/components/ListData/components/ListDataSortable.d.ts +34 -0
  45. package/dist/lib/components/ListData/components/ListDataSortable.js +129 -0
  46. package/dist/lib/components/ListData/doc/i/img.png +0 -0
  47. package/dist/lib/components/ListData/helpers.d.ts +6 -0
  48. package/dist/lib/components/ListData/helpers.js +58 -0
  49. package/dist/lib/components/Search/Search.d.ts +1 -0
  50. package/dist/lib/components/Search/Search.js +2 -2
  51. package/dist/lib/components/Snackbar/SnackbarTimer/SnackbarTimer.css +1 -1
  52. package/dist/lib/index.d.ts +4 -0
  53. package/dist/lib/index.js +32 -0
  54. package/package.json +4 -2
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.GapSizes = exports.ActivatorNodes = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ require("core-js/modules/es.date.to-string.js");
13
+
14
+ require("core-js/modules/es.object.to-string.js");
15
+
16
+ require("core-js/modules/es.regexp.to-string.js");
17
+
18
+ require("core-js/modules/es.object.values.js");
19
+
20
+ var _react = _interopRequireDefault(require("react"));
21
+
22
+ var _sortable = require("@dnd-kit/sortable");
23
+
24
+ var _utilities = require("@dnd-kit/utilities");
25
+
26
+ var _uiHelpers = require("@megafon/ui-helpers");
27
+
28
+ var PropTypes = _interopRequireWildcard(require("prop-types"));
29
+
30
+ var _ListData = _interopRequireWildcard(require("../ListData"));
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
37
+
38
+ var DragIcon = function DragIcon(props) {
39
+ return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
40
+ viewBox: "0 0 32 32"
41
+ }, props), /*#__PURE__*/_react["default"].createElement("path", {
42
+ fillRule: "evenodd",
43
+ clipRule: "evenodd",
44
+ d: "M24 14H8v-2h16v2zm0 6H8v-2h16v2z"
45
+ }));
46
+ };
47
+
48
+ var ActivatorNodes = {
49
+ CELL: 'cell',
50
+ CONTROL: 'control'
51
+ };
52
+ exports.ActivatorNodes = ActivatorNodes;
53
+ var GapSizes = {
54
+ NONE: 'none',
55
+ SMALL: 'small',
56
+ MEDIUM: 'medium',
57
+ LARGE: 'large'
58
+ };
59
+ exports.GapSizes = GapSizes;
60
+ var cn = (0, _uiHelpers.cnCreate)('mfui-list-data-sortable');
61
+
62
+ var ListDataSortable = function ListDataSortable(_ref) {
63
+ var id = _ref.id,
64
+ item = _ref.item,
65
+ activatorNode = _ref.activatorNode,
66
+ gap = _ref.gap,
67
+ _ref$disabled = _ref.disabled,
68
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
69
+ isDragOverlay = _ref.isDragOverlay,
70
+ _ref$classes = _ref.classes,
71
+ classes = _ref$classes === void 0 ? {} : _ref$classes,
72
+ dataAttrs = _ref.dataAttrs;
73
+
74
+ var _useSortable = (0, _sortable.useSortable)({
75
+ id: id,
76
+ disabled: disabled
77
+ }),
78
+ attributes = _useSortable.attributes,
79
+ listeners = _useSortable.listeners,
80
+ setNodeRef = _useSortable.setNodeRef,
81
+ setActivatorNodeRef = _useSortable.setActivatorNodeRef,
82
+ transform = _useSortable.transform,
83
+ transition = _useSortable.transition,
84
+ isDragging = _useSortable.isDragging;
85
+
86
+ var isCellActivator = activatorNode === ActivatorNodes.CELL;
87
+ var isControlActivator = activatorNode === ActivatorNodes.CONTROL;
88
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
89
+ className: cn({
90
+ gap: gap,
91
+ disabled: disabled,
92
+ activator: activatorNode,
93
+ dragging: isDragging,
94
+ 'drag-overlay': isDragOverlay
95
+ }, [classes.root])
96
+ }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root, isCellActivator ? listeners : null, isCellActivator ? attributes : null, {
97
+ style: {
98
+ transform: _utilities.CSS.Transform.toString(transform),
99
+ transition: transition
100
+ },
101
+ ref: setNodeRef
102
+ }), /*#__PURE__*/_react["default"].createElement("div", {
103
+ className: cn('wrapper')
104
+ }, /*#__PURE__*/_react["default"].createElement(_ListData["default"], (0, _extends2["default"])({}, item, {
105
+ className: cn('item', [item === null || item === void 0 ? void 0 : item.className])
106
+ })), /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
107
+ className: cn('control', [classes.control])
108
+ }, dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.control, isControlActivator ? listeners : null, isControlActivator ? attributes : null, {
109
+ ref: isControlActivator ? setActivatorNodeRef : undefined
110
+ }), /*#__PURE__*/_react["default"].createElement(DragIcon, {
111
+ className: cn('icon')
112
+ }))));
113
+ };
114
+
115
+ ListDataSortable.propTypes = {
116
+ id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
117
+ item: PropTypes.shape(_ListData.ListDataPropType).isRequired,
118
+ activatorNode: PropTypes.oneOf(Object.values(ActivatorNodes)).isRequired,
119
+ disabled: PropTypes.bool,
120
+ isDragOverlay: PropTypes.bool,
121
+ gap: PropTypes.oneOf(Object.values(GapSizes)),
122
+ classes: PropTypes.shape({
123
+ root: PropTypes.string,
124
+ control: PropTypes.string
125
+ }),
126
+ dataAttrs: PropTypes.objectOf(PropTypes.object)
127
+ };
128
+ var _default = ListDataSortable;
129
+ exports["default"] = _default;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { ClientRect, Modifier } from '@dnd-kit/core';
3
+ import type { Transform } from '@dnd-kit/utilities';
4
+ export declare const restrictToBoundingRect: (transform: Transform, rect: ClientRect, boundingRect: ClientRect) => Transform;
5
+ export declare const restrictToVerticalAxis: Modifier;
6
+ export declare const restrictToElement: (boundaryRef: React.RefObject<HTMLDivElement>) => Modifier;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.restrictToElement = exports.restrictToVerticalAxis = exports.restrictToBoundingRect = void 0;
7
+
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var restrictToBoundingRect = function restrictToBoundingRect(transform, rect, boundingRect) {
13
+ var value = (0, _extends2["default"])({}, transform);
14
+
15
+ if (rect.top + transform.y <= boundingRect.top) {
16
+ value.y = boundingRect.top - rect.top;
17
+ } else if (rect.bottom + transform.y >= boundingRect.top + boundingRect.height) {
18
+ value.y = boundingRect.top + boundingRect.height - rect.bottom;
19
+ }
20
+
21
+ if (rect.left + transform.x <= boundingRect.left) {
22
+ value.x = boundingRect.left - rect.left;
23
+ } else if (rect.right + transform.x >= boundingRect.left + boundingRect.width) {
24
+ value.x = boundingRect.left + boundingRect.width - rect.right;
25
+ }
26
+
27
+ return value;
28
+ };
29
+
30
+ exports.restrictToBoundingRect = restrictToBoundingRect;
31
+
32
+ var restrictToVerticalAxis = function restrictToVerticalAxis(_ref) {
33
+ var transform = _ref.transform;
34
+ return (0, _extends2["default"])((0, _extends2["default"])({}, transform), {
35
+ x: 0
36
+ });
37
+ };
38
+
39
+ exports.restrictToVerticalAxis = restrictToVerticalAxis;
40
+
41
+ var restrictToElement = function restrictToElement(boundaryRef) {
42
+ return function (_ref2) {
43
+ var transform = _ref2.transform,
44
+ draggingNodeRect = _ref2.draggingNodeRect;
45
+
46
+ var _a;
47
+
48
+ var boundaryRect = (_a = boundaryRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
49
+
50
+ if (!draggingNodeRect || !boundaryRect) {
51
+ return transform;
52
+ }
53
+
54
+ return restrictToBoundingRect(transform, draggingNodeRect, boundaryRect);
55
+ };
56
+ };
57
+
58
+ exports.restrictToElement = restrictToElement;
@@ -39,6 +39,7 @@ export interface ISearchProps {
39
39
  itemTitle?: Record<string, string>;
40
40
  notice?: Record<string, string>;
41
41
  popularItem?: Record<string, string>;
42
+ clearButton?: Record<string, string>;
42
43
  };
43
44
  /** Значение */
44
45
  value?: string;
@@ -377,11 +377,11 @@ var Search = function Search(_ref) {
377
377
  };
378
378
 
379
379
  var renderClearButton = function renderClearButton() {
380
- return /*#__PURE__*/_react["default"].createElement("button", {
380
+ return /*#__PURE__*/_react["default"].createElement("button", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.clearButton), {
381
381
  onClick: handleClearClick,
382
382
  type: "button",
383
383
  className: cn('clear')
384
- }, /*#__PURE__*/_react["default"].createElement(ClearIcon, {
384
+ }), /*#__PURE__*/_react["default"].createElement(ClearIcon, {
385
385
  className: cn('clear-icon')
386
386
  }));
387
387
  };
@@ -7,6 +7,7 @@ h5 {
7
7
  }
8
8
  .mfui-snackbar-timer {
9
9
  color: var(--base);
10
+ margin-right: 8px;
10
11
  }
11
12
  @-webkit-keyframes snackbar-progress-bar {
12
13
  0% {
@@ -35,7 +36,6 @@ h5 {
35
36
  -webkit-box-align: center;
36
37
  -ms-flex-align: center;
37
38
  align-items: center;
38
- margin-right: 8px;
39
39
  width: 24px;
40
40
  height: 24px;
41
41
  }
@@ -23,6 +23,9 @@ export { default as GridColumn } from './components/Grid/GridColumn';
23
23
  export { default as Header } from './components/Header/Header';
24
24
  export { default as Link } from './components/Link/Link';
25
25
  export { default as List } from './components/List/List';
26
+ export { default as ListData } from './components/ListData/ListData';
27
+ export { default as ListDataGroup } from './components/ListData/ListDataGroup';
28
+ export { default as ListDataSortable } from './components/ListData/components/ListDataSortable';
26
29
  export { default as ListItem } from './components/List/ListItem';
27
30
  export { default as Logo } from './components/Logo/Logo';
28
31
  export { default as Month } from './components/Calendar/components/Month/Month';
@@ -48,6 +51,7 @@ export { default as SliderDisplayValue } from './components/Sliders/components/S
48
51
  export { default as SliderRange } from './components/Sliders/SliderRange/SliderRange';
49
52
  export { default as SliderRatio } from './components/Sliders/SliderRatio/SliderRatio';
50
53
  export { default as SliderScale } from './components/Sliders/components/SliderScale/SliderScale';
54
+ export { default as slidesSettings } from './components/Banner/slidesSettings';
51
55
  export { default as Snackbar } from './components/Snackbar/Snackbar';
52
56
  export { default as SnackbarTimer } from './components/Snackbar/SnackbarTimer/SnackbarTimer';
53
57
  export { default as Switcher } from './components/Switcher/Switcher';
package/dist/lib/index.js CHANGED
@@ -153,6 +153,24 @@ Object.defineProperty(exports, "List", {
153
153
  return _List["default"];
154
154
  }
155
155
  });
156
+ Object.defineProperty(exports, "ListData", {
157
+ enumerable: true,
158
+ get: function get() {
159
+ return _ListData["default"];
160
+ }
161
+ });
162
+ Object.defineProperty(exports, "ListDataGroup", {
163
+ enumerable: true,
164
+ get: function get() {
165
+ return _ListDataGroup["default"];
166
+ }
167
+ });
168
+ Object.defineProperty(exports, "ListDataSortable", {
169
+ enumerable: true,
170
+ get: function get() {
171
+ return _ListDataSortable["default"];
172
+ }
173
+ });
156
174
  Object.defineProperty(exports, "ListItem", {
157
175
  enumerable: true,
158
176
  get: function get() {
@@ -303,6 +321,12 @@ Object.defineProperty(exports, "SliderScale", {
303
321
  return _SliderScale["default"];
304
322
  }
305
323
  });
324
+ Object.defineProperty(exports, "slidesSettings", {
325
+ enumerable: true,
326
+ get: function get() {
327
+ return _slidesSettings["default"];
328
+ }
329
+ });
306
330
  Object.defineProperty(exports, "Snackbar", {
307
331
  enumerable: true,
308
332
  get: function get() {
@@ -432,6 +456,12 @@ var _Link = _interopRequireDefault(require("./components/Link/Link"));
432
456
 
433
457
  var _List = _interopRequireDefault(require("./components/List/List"));
434
458
 
459
+ var _ListData = _interopRequireDefault(require("./components/ListData/ListData"));
460
+
461
+ var _ListDataGroup = _interopRequireDefault(require("./components/ListData/ListDataGroup"));
462
+
463
+ var _ListDataSortable = _interopRequireDefault(require("./components/ListData/components/ListDataSortable"));
464
+
435
465
  var _ListItem = _interopRequireDefault(require("./components/List/ListItem"));
436
466
 
437
467
  var _Logo = _interopRequireDefault(require("./components/Logo/Logo"));
@@ -482,6 +512,8 @@ var _SliderRatio = _interopRequireDefault(require("./components/Sliders/SliderRa
482
512
 
483
513
  var _SliderScale = _interopRequireDefault(require("./components/Sliders/components/SliderScale/SliderScale"));
484
514
 
515
+ var _slidesSettings = _interopRequireDefault(require("./components/Banner/slidesSettings"));
516
+
485
517
  var _Snackbar = _interopRequireDefault(require("./components/Snackbar/Snackbar"));
486
518
 
487
519
  var _SnackbarTimer = _interopRequireDefault(require("./components/Snackbar/SnackbarTimer/SnackbarTimer"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-core",
3
- "version": "5.16.0",
3
+ "version": "5.17.0",
4
4
  "files": [
5
5
  "dist",
6
6
  "styles"
@@ -86,6 +86,8 @@
86
86
  "dependencies": {
87
87
  "@babel/runtime": "^7.8.4",
88
88
  "@datepicker-react/hooks": "^2.7.0",
89
+ "@dnd-kit/core": "^6.1.0",
90
+ "@dnd-kit/sortable": "^8.0.0",
89
91
  "@megafon/ui-helpers": "^2.6.0",
90
92
  "@popperjs/core": "^2.5.3",
91
93
  "core-js": "^3.6.4",
@@ -97,5 +99,5 @@
97
99
  "react-popper": "^2.2.3",
98
100
  "swiper": "^6.5.6"
99
101
  },
100
- "gitHead": "0d4f96ecbc805db6a1b2200dd9adbb707349d474"
102
+ "gitHead": "426c7d8e65c13746f9cc1c895a2e7e1b4b08316a"
101
103
  }