@steroidsjs/core 3.0.0-beta.43 → 3.0.0-beta.44

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/core",
3
- "version": "3.0.0-beta.43",
3
+ "version": "3.0.0-beta.44",
4
4
  "description": "",
5
5
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
6
6
  "repository": {
@@ -0,0 +1,85 @@
1
+ import { ReactNode } from 'react';
2
+ export interface IFlexGridItem {
3
+ /**
4
+ * Содержимое элемента FlexGrid
5
+ */
6
+ content: ReactNode;
7
+ /**
8
+ * Порядок элемента в FlexGrid
9
+ */
10
+ order?: number;
11
+ /**
12
+ * Количество колонок для смещения столбца слева
13
+ */
14
+ offset?: number;
15
+ /**
16
+ * Количество колонок, которое занимает элемент, максимум 12
17
+ */
18
+ col?: number;
19
+ /**
20
+ * Количество колонок, которое занимает элемент на экранах размером lg, максимум 12
21
+ */
22
+ lg?: number;
23
+ /**
24
+ * Количество колонок, которое занимает элемент на экранах размером md, максимум 12
25
+ */
26
+ md?: number;
27
+ /**
28
+ * Количество колонок, которое занимает элемент на экранах размером sm, максимум 12
29
+ */
30
+ sm?: number;
31
+ }
32
+ /**
33
+ * FlexGrid
34
+ * Flex контейнер для элементов и компонентов.
35
+ */
36
+ export interface IFlexGridProps extends IUiComponent {
37
+ /**
38
+ * Элементы FlexGrid
39
+ * @example [{content: 'Block1', col: 4}, {content: 'Block2', col: 6}]
40
+ */
41
+ items?: IFlexGridItem[];
42
+ /**
43
+ * Вложенные элементы
44
+ */
45
+ children?: React.ReactNode;
46
+ /**
47
+ * Дополнительный CSS-класс для элементов FlexGrid
48
+ */
49
+ itemClassName?: CssClassName;
50
+ /**
51
+ * Расстояние между элементами в px.
52
+ * Если передано число, то установится расстояние между строками и между колонками.
53
+ * Если передан массив, то первый элемент - расстояние между колонками, второй - между строками.
54
+ */
55
+ gap?: number | number[];
56
+ /**
57
+ * Значение для css-свойства flex-direction
58
+ */
59
+ direction?: 'column-reverse' | 'column' | 'row-reverse' | 'row';
60
+ /**
61
+ * Автоматический перенос на новую строку
62
+ */
63
+ wrap?: boolean;
64
+ /**
65
+ * Значение для css-свойства justify-content
66
+ */
67
+ justify?: 'center' | 'end' | 'start' | 'stretch' | 'flex-start' | 'flex-end' | 'left' | 'right' | 'space-between' | 'space-around' | 'space-evenly';
68
+ /**
69
+ * Значение для css-свойства align-items
70
+ */
71
+ align?: 'center' | 'end' | 'start' | 'stretch' | 'flex-start' | 'flex-end';
72
+ [key: string]: any;
73
+ }
74
+ export interface IFlexGridViewProps extends IFlexGridProps {
75
+ colGap?: number;
76
+ rowGap?: number;
77
+ }
78
+ declare function FlexGrid(props: IFlexGridProps): JSX.Element;
79
+ declare namespace FlexGrid {
80
+ var defaultProps: {
81
+ wrap: boolean;
82
+ gap: number;
83
+ };
84
+ }
85
+ export default FlexGrid;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ exports.__esModule = true;
28
+ var isArray_1 = __importDefault(require("lodash-es/isArray"));
29
+ var hooks_1 = require("../../../hooks");
30
+ var normalizeGap = function (gap) {
31
+ if ((0, isArray_1["default"])(gap)) {
32
+ return {
33
+ colGap: gap[0],
34
+ rowGap: gap[1]
35
+ };
36
+ }
37
+ return {
38
+ colGap: gap,
39
+ rowGap: gap
40
+ };
41
+ };
42
+ function FlexGrid(props) {
43
+ var components = (0, hooks_1.useComponents)();
44
+ var view = props.view, viewProps = __rest(props, ["view"]);
45
+ return components.ui.renderView(view || 'list.FlexGridView', __assign(__assign({}, viewProps), normalizeGap(props.gap)));
46
+ }
47
+ exports["default"] = FlexGrid;
48
+ FlexGrid.defaultProps = {
49
+ wrap: false,
50
+ gap: 24
51
+ };
@@ -0,0 +1,2 @@
1
+ import FlexGrid from './FlexGrid';
2
+ export default FlexGrid;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var FlexGrid_1 = __importDefault(require("./FlexGrid"));
7
+ exports["default"] = FlexGrid_1["default"];