@symply.io/basic-components 1.2.6 → 1.2.7
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/FormRadioGroup/index.js +14 -8
- package/FormRadioGroup/types.d.ts +4 -4
- package/README.md +10 -9
- package/package.json +1 -1
package/FormRadioGroup/index.js
CHANGED
@@ -9,6 +9,17 @@ var __assign = (this && this.__assign) || function () {
|
|
9
9
|
};
|
10
10
|
return __assign.apply(this, arguments);
|
11
11
|
};
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
13
|
+
var t = {};
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
15
|
+
t[p] = s[p];
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
19
|
+
t[p[i]] = s[p[i]];
|
20
|
+
}
|
21
|
+
return t;
|
22
|
+
};
|
12
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
13
24
|
import Radio from "@mui/material/Radio";
|
14
25
|
import Tooltip from "@mui/material/Tooltip";
|
@@ -20,18 +31,13 @@ import FormControlLabel from "@mui/material/FormControlLabel";
|
|
20
31
|
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
21
32
|
import useCustomTheme from "../useCustomTheme";
|
22
33
|
function FormRadioGroup(props) {
|
23
|
-
var formLabel = props.formLabel,
|
34
|
+
var formLabel = props.formLabel, value = props.value, options = props.options, disabled = props.disabled, tooltip = props.tooltip, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, radioLabelPlacement = props.radioLabelPlacement, onChange = props.onChange, rest = __rest(props, ["formLabel", "value", "options", "disabled", "tooltip", "primaryColor", "secondaryColor", "radioLabelPlacement", "onChange"]);
|
24
35
|
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
25
|
-
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(FormControl, __assign({
|
36
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(FormControl, __assign({ disabled: disabled }, rest, { children: [tooltip ? (_jsx(Tooltip, __assign({ title: tooltip, placement: "right", disableTouchListener: true }, { children: _jsx(FormLabel, { children: formLabel }) }))) : (_jsx(FormLabel, { children: formLabel })), _jsx(RadioGroup, __assign({ value: value, onChange: function (event) {
|
26
37
|
onChange(event.target.value);
|
27
|
-
}, sx: {
|
28
|
-
my: 1,
|
29
|
-
"& label span:first-of-type span:first-of-type": {
|
30
|
-
margin: "-5px 0 -5px 0"
|
31
|
-
}
|
32
38
|
} }, { children: options.map(function (opt) {
|
33
39
|
var _a;
|
34
|
-
return (_jsx(FormControlLabel, { value: opt.value, control: _jsx(Radio, {
|
40
|
+
return (_jsx(FormControlLabel, { value: opt.value, control: _jsx(Radio, {}), label: _jsx(Typography, { children: opt.label }), labelPlacement: radioLabelPlacement || "end", disabled: ((_a = opt.disabled) !== null && _a !== void 0 ? _a : false) || disabled }, String(opt.value)));
|
35
41
|
}) }))] })) })));
|
36
42
|
}
|
37
43
|
export default FormRadioGroup;
|
@@ -1,19 +1,19 @@
|
|
1
1
|
import { CSSProperties } from "react";
|
2
|
-
import {
|
2
|
+
import { FormControlProps } from "@mui/material/FormControl";
|
3
|
+
import { FormControlLabelProps } from "@mui/material/FormControlLabel";
|
3
4
|
interface IRadioOption {
|
4
5
|
label: string;
|
5
6
|
value: string | boolean | number;
|
6
7
|
disabled?: boolean;
|
7
8
|
}
|
8
|
-
export interface FormRadioGroupProps {
|
9
|
-
color?: RadioProps["color"];
|
9
|
+
export interface FormRadioGroupProps extends Omit<FormControlProps, "onChange"> {
|
10
10
|
formLabel: string;
|
11
11
|
options: Array<IRadioOption>;
|
12
12
|
value: string | boolean | number;
|
13
|
-
disabled?: boolean;
|
14
13
|
tooltip?: string;
|
15
14
|
primaryColor?: CSSProperties["color"];
|
16
15
|
secondaryColor?: CSSProperties["color"];
|
16
|
+
radioLabelPlacement?: FormControlLabelProps["labelPlacement"];
|
17
17
|
onChange: (value: string | boolean | number) => void;
|
18
18
|
}
|
19
19
|
export {};
|
package/README.md
CHANGED
@@ -516,15 +516,16 @@ import FormRadioGroup from '@symply.io/basic-components/FormRadioGroup';
|
|
516
516
|
|
517
517
|
<h5>Props</h5>
|
518
518
|
|
519
|
-
|
520
|
-
|
521
|
-
|
|
522
|
-
|
|
523
|
-
| formLabel
|
524
|
-
| onChange
|
525
|
-
| options
|
526
|
-
|
|
527
|
-
| tooltip
|
519
|
+
It is extended from `@mui/material/FormControl`, so it includes all properties of `@mui/material/FormControl`.
|
520
|
+
|
521
|
+
| Name | Type | Default | Required | Description |
|
522
|
+
| ------------------- | ------------------------------------- | ------- | -------- | ------------------------------------------------------------ |
|
523
|
+
| formLabel | string | | false | The label of the `Radio` element. |
|
524
|
+
| onChange | func | | true | Callback fired when the `Radio` value is changed.<br />**Signature:**<br/>`function(value: string|number|boolean) => void`<br/>*value:* The value of the `Radio` element. |
|
525
|
+
| options | Array\<IRadioOption\> | | true | The radio options. See the **Radio Option Props** above. |
|
526
|
+
| radioLabelPlacement | 'top' \| 'bottom' \| 'start' \| 'end' | 'end' | false | The placement of the radio labe . |
|
527
|
+
| tooltip | string | | false | A tooltip for the `Radio` element. |
|
528
|
+
| value | string \| number \| bool | | true | The value of the `Radio` element. |
|
528
529
|
|
529
530
|
|
530
531
|
|