@steroidsjs/core 3.0.0-beta.41 → 3.0.0-beta.42
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
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IButtonProps } from 'src/ui/form/Button/Button';
|
|
3
|
+
import { DataProviderItems } from '../../../hooks/useDataProvider';
|
|
4
|
+
export interface IButtonGroupProps extends IUiComponent {
|
|
5
|
+
/**
|
|
6
|
+
* Элементы для группы кнопок
|
|
7
|
+
* @example ['button1', 'button2', 'button3']
|
|
8
|
+
*/
|
|
9
|
+
items: DataProviderItems;
|
|
10
|
+
/**
|
|
11
|
+
* Функция, которая будет вызываться при клике по кнопке
|
|
12
|
+
* @example setActiveTab
|
|
13
|
+
*/
|
|
14
|
+
onClick: (value: number | string | boolean) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Активная кнопка
|
|
17
|
+
* @example 'button1'
|
|
18
|
+
*/
|
|
19
|
+
activeButton?: number | string;
|
|
20
|
+
/**
|
|
21
|
+
* Общие свойства для всех кнопок группы
|
|
22
|
+
* @example {outline: true, color: 'secondary'}
|
|
23
|
+
*/
|
|
24
|
+
buttonProps?: IButtonProps;
|
|
25
|
+
}
|
|
26
|
+
export interface IButtonGroupViewProps extends Omit<IButtonGroupProps, 'items'> {
|
|
27
|
+
items: {
|
|
28
|
+
id: number | string | boolean;
|
|
29
|
+
label?: string;
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
}[];
|
|
32
|
+
size: Size;
|
|
33
|
+
}
|
|
34
|
+
declare function ButtonGroup(props: IButtonGroupProps): JSX.Element;
|
|
35
|
+
export default ButtonGroup;
|
|
@@ -0,0 +1,31 @@
|
|
|
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 react_1 = require("react");
|
|
7
|
+
var hooks_1 = require("../../../hooks");
|
|
8
|
+
var useDataProvider_1 = __importDefault(require("../../../hooks/useDataProvider"));
|
|
9
|
+
var DEFAULT_BUTTON_GROUP_SIZE = 'md';
|
|
10
|
+
function ButtonGroup(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
var components = (0, hooks_1.useComponents)();
|
|
13
|
+
var items = (0, useDataProvider_1["default"])({
|
|
14
|
+
items: props.items
|
|
15
|
+
}).items;
|
|
16
|
+
var _b = (0, react_1.useState)(props.activeButton || items[0].id), activeButton = _b[0], setActiveButton = _b[1];
|
|
17
|
+
var onClick = function (buttonId) {
|
|
18
|
+
setActiveButton(buttonId);
|
|
19
|
+
props.onClick(buttonId);
|
|
20
|
+
};
|
|
21
|
+
return components.ui.renderView(props.view || 'nav.ButtonGroupView', {
|
|
22
|
+
className: props.className,
|
|
23
|
+
style: props.style,
|
|
24
|
+
buttonProps: props.buttonProps,
|
|
25
|
+
size: ((_a = props.buttonProps) === null || _a === void 0 ? void 0 : _a.size) || DEFAULT_BUTTON_GROUP_SIZE,
|
|
26
|
+
activeButton: activeButton,
|
|
27
|
+
items: items,
|
|
28
|
+
onClick: onClick
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
exports["default"] = ButtonGroup;
|
|
@@ -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 ButtonGroup_1 = __importDefault(require("./ButtonGroup"));
|
|
7
|
+
exports["default"] = ButtonGroup_1["default"];
|
package/ui/nav/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import Nav from './Nav';
|
|
|
2
2
|
import Router from './Router';
|
|
3
3
|
import Link from './Link';
|
|
4
4
|
import Breadcrumbs from './Breadcrumbs';
|
|
5
|
-
|
|
5
|
+
import ButtonGroup from './ButtonGroup';
|
|
6
|
+
export { Nav, Router, Link, Breadcrumbs, ButtonGroup };
|
package/ui/nav/index.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
exports.__esModule = true;
|
|
6
|
-
exports.Breadcrumbs = exports.Link = exports.Router = exports.Nav = void 0;
|
|
6
|
+
exports.ButtonGroup = exports.Breadcrumbs = exports.Link = exports.Router = exports.Nav = void 0;
|
|
7
7
|
var Nav_1 = __importDefault(require("./Nav"));
|
|
8
8
|
exports.Nav = Nav_1["default"];
|
|
9
9
|
var Router_1 = __importDefault(require("./Router"));
|
|
@@ -12,3 +12,5 @@ var Link_1 = __importDefault(require("./Link"));
|
|
|
12
12
|
exports.Link = Link_1["default"];
|
|
13
13
|
var Breadcrumbs_1 = __importDefault(require("./Breadcrumbs"));
|
|
14
14
|
exports.Breadcrumbs = Breadcrumbs_1["default"];
|
|
15
|
+
var ButtonGroup_1 = __importDefault(require("./ButtonGroup"));
|
|
16
|
+
exports.ButtonGroup = ButtonGroup_1["default"];
|