@symply.io/basic-components 1.0.0-alpha.2 → 1.0.0-alpha.20
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/AlertDialog/index.d.ts +0 -1
- package/AlertDialog/index.js +10 -9
- package/AlertDialog/types.d.ts +3 -1
- package/Autocomplete/index.d.ts +4 -0
- package/Autocomplete/index.js +38 -0
- package/Autocomplete/types.d.ts +15 -0
- package/Autocomplete/types.js +1 -0
- package/Autocomplete/useInteractions.d.ts +5 -0
- package/Autocomplete/useInteractions.js +9 -0
- package/AutocompleteWithFilter/index.d.ts +4 -0
- package/AutocompleteWithFilter/index.js +54 -0
- package/AutocompleteWithFilter/types.d.ts +16 -0
- package/AutocompleteWithFilter/types.js +1 -0
- package/BasicModal/Content.d.ts +0 -1
- package/BasicModal/Content.js +1 -1
- package/BasicModal/index.d.ts +0 -1
- package/BasicModal/index.js +16 -18
- package/BasicModal/types.d.ts +3 -1
- package/BreadCrumbs/index.d.ts +4 -0
- package/BreadCrumbs/index.js +37 -0
- package/BreadCrumbs/types.d.ts +9 -0
- package/BreadCrumbs/types.js +1 -0
- package/CheckBox/CheckBox.d.ts +3 -0
- package/CheckBox/CheckBox.js +36 -0
- package/CheckBox/CheckBoxGroup.d.ts +3 -0
- package/CheckBox/CheckBoxGroup.js +30 -0
- package/CheckBox/index.d.ts +3 -0
- package/CheckBox/index.js +3 -0
- package/CheckBox/types.d.ts +12 -0
- package/CheckBox/types.js +1 -0
- package/Copyright/index.d.ts +4 -0
- package/Copyright/index.js +25 -0
- package/Copyright/types.d.ts +5 -0
- package/Copyright/types.js +1 -0
- package/DigitInput/index.d.ts +1 -4
- package/DigitInput/index.js +7 -4
- package/DigitInput/types.d.ts +5 -1
- package/DynamicHeaderBar/HeaderBar.d.ts +2 -0
- package/DynamicHeaderBar/HeaderBar.js +7 -6
- package/DynamicHeaderBar/HeaderButtons.d.ts +0 -1
- package/DynamicHeaderBar/HeaderButtons.js +20 -19
- package/DynamicHeaderBar/HeaderLine.js +4 -4
- package/DynamicHeaderBar/index.js +2 -2
- package/FeinInput/index.d.ts +6 -0
- package/FeinInput/index.js +73 -0
- package/FeinInput/types.d.ts +9 -0
- package/FeinInput/types.js +1 -0
- package/FeinInput/useInteractions.d.ts +8 -0
- package/FeinInput/useInteractions.js +16 -0
- package/FormRadioGroup/index.d.ts +0 -1
- package/FormRadioGroup/index.js +15 -12
- package/FormRadioGroup/types.d.ts +3 -0
- package/FormSelector/MultipleSelector.d.ts +0 -1
- package/FormSelector/MultipleSelector.js +25 -11
- package/FormSelector/SimpleSelector.d.ts +0 -1
- package/FormSelector/SimpleSelector.js +25 -11
- package/FormSelector/types.d.ts +7 -8
- package/HelpCaption/index.d.ts +3 -1
- package/HelpCaption/index.js +15 -14
- package/LoadingModal/index.d.ts +0 -1
- package/LoadingModal/index.js +8 -5
- package/LoadingModal/types.d.ts +3 -0
- package/MenuButtonGroup/MenuItem.d.ts +1 -3
- package/MenuButtonGroup/MenuItem.js +5 -3
- package/MenuButtonGroup/index.d.ts +3 -1
- package/MenuButtonGroup/index.js +9 -6
- package/NumberInput/index.d.ts +5 -4
- package/NumberInput/index.js +8 -5
- package/PasswordInput/ConfirmPassword.d.ts +5 -4
- package/PasswordInput/ConfirmPassword.js +10 -7
- package/PasswordInput/Password.d.ts +5 -4
- package/PasswordInput/Password.js +18 -10
- package/PhoneNumberInput/index.d.ts +6 -4
- package/PhoneNumberInput/index.js +25 -7
- package/PhoneNumberInput/useInteractions.d.ts +0 -1
- package/PhoneNumberInput/useInteractions.js +1 -14
- package/README.md +261 -45
- package/TabGroup/index.js +26 -20
- package/TabGroup/types.d.ts +3 -0
- package/TablePagination/Actions.d.ts +3 -0
- package/TablePagination/Actions.js +27 -0
- package/TablePagination/index.d.ts +4 -0
- package/TablePagination/index.js +30 -0
- package/TablePagination/types.d.ts +14 -0
- package/TablePagination/types.js +1 -0
- package/TablePagination/useInteractions.d.ts +14 -0
- package/TablePagination/useInteractions.js +23 -0
- package/TextInput/index.d.ts +5 -4
- package/TextInput/index.js +18 -5
- package/ToastPrompt/Presentation.js +28 -27
- package/ToastPrompt/index.js +1 -1
- package/VideoPlayerModal/index.d.ts +1 -3
- package/VideoPlayerModal/index.js +8 -7
- package/VideoPlayerModal/types.d.ts +5 -1
- package/index.d.ts +13 -0
- package/index.js +13 -0
- package/package.json +9 -2
- package/useCustomTheme.d.ts +6 -0
- package/useCustomTheme.js +51 -0
@@ -14,30 +14,31 @@ import Fab from "@mui/material/Fab";
|
|
14
14
|
import Grid from "@mui/material/Grid";
|
15
15
|
import Button from "@mui/material/Button";
|
16
16
|
import useMediaQuery from "@mui/material/useMediaQuery";
|
17
|
-
import
|
17
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
18
18
|
import MenuButtonGroup from "../MenuButtonGroup";
|
19
19
|
import { HeaderButtonCategory } from "./types";
|
20
|
+
import useCustomTheme from "../useCustomTheme";
|
20
21
|
function HeaderButtons(props) {
|
21
22
|
var buttons = props.buttons;
|
22
|
-
var theme =
|
23
|
+
var theme = useCustomTheme();
|
23
24
|
var isLessThanSm = useMediaQuery(theme.breakpoints.down("sm"));
|
24
|
-
return (_jsx(Grid, __assign({ container: true, spacing: 1, direction: "row", justifyContent: "flex-end", alignItems: "center" }, { children: buttons.map(function (button) {
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Grid, __assign({ container: true, spacing: 1, direction: "row", justifyContent: "flex-end", alignItems: "center" }, { children: buttons.map(function (button) {
|
26
|
+
switch (button.type) {
|
27
|
+
case HeaderButtonCategory.TextButton: {
|
28
|
+
var _a = button.variant, variant = _a === void 0 ? "contained" : _a, text = button.text, onClick = button.onClick, color = button.color, size = button.size, startIcon = button.startIcon, endIcon = button.endIcon, disabled = button.disabled;
|
29
|
+
return (_jsx(Grid, __assign({ item: true, xs: isLessThanSm ? 12 : undefined, style: { textAlign: "end" } }, { children: _jsx(Button, __assign({ fullWidth: isLessThanSm, variant: variant, onClick: onClick, color: color, size: isLessThanSm ? "small" : size, startIcon: startIcon, endIcon: endIcon, disabled: disabled }, { children: text })) }), text));
|
30
|
+
}
|
31
|
+
case HeaderButtonCategory.IconButton: {
|
32
|
+
var title = button.title, onClick = button.onClick, color = button.color, _b = button.size, size = _b === void 0 ? "medium" : _b, icon = button.icon;
|
33
|
+
return (_jsx(Grid, __assign({ item: true, style: { textAlign: "end" } }, { children: _jsx(Fab, __assign({ onClick: onClick, color: color, title: title, size: isLessThanSm ? "small" : size }, { children: icon })) }), title));
|
34
|
+
}
|
35
|
+
case HeaderButtonCategory.MenuButton: {
|
36
|
+
var btns = button.buttons, buttonText = button.buttonText, disabled = button.disabled, variant = button.variant, size = button.size;
|
37
|
+
return (_jsx(Grid, __assign({ item: true, xs: isLessThanSm ? 12 : undefined, style: { textAlign: "end" } }, { children: _jsx(MenuButtonGroup, { size: isLessThanSm ? "small" : size, variant: variant, buttons: btns, buttonText: buttonText, disabled: disabled }) }), buttonText));
|
38
|
+
}
|
39
|
+
default:
|
40
|
+
return _jsx(_Fragment, {});
|
29
41
|
}
|
30
|
-
|
31
|
-
var title = button.title, onClick = button.onClick, color = button.color, _b = button.size, size = _b === void 0 ? "medium" : _b, icon = button.icon;
|
32
|
-
return (_jsx(Grid, __assign({ item: true, style: { textAlign: "end" } }, { children: _jsx(Fab, __assign({ onClick: onClick, color: color, title: title, size: isLessThanSm ? "small" : size }, { children: icon }), void 0) }), title));
|
33
|
-
}
|
34
|
-
case HeaderButtonCategory.MenuButton: {
|
35
|
-
var btns = button.buttons, buttonText = button.buttonText, disabled = button.disabled, variant = button.variant, size = button.size;
|
36
|
-
return (_jsx(Grid, __assign({ item: true, xs: isLessThanSm ? 12 : undefined, style: { textAlign: "end" } }, { children: _jsx(MenuButtonGroup, { size: isLessThanSm ? "small" : size, variant: variant, buttons: btns, buttonText: buttonText, disabled: disabled }, void 0) }), buttonText));
|
37
|
-
}
|
38
|
-
default:
|
39
|
-
return _jsx(_Fragment, {}, void 0);
|
40
|
-
}
|
41
|
-
}) }), void 0));
|
42
|
+
}) })) })));
|
42
43
|
}
|
43
44
|
export default HeaderButtons;
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import Divider from "@mui/material/Divider";
|
3
|
-
import
|
3
|
+
import useCustomTheme from "../useCustomTheme";
|
4
4
|
function HeaderLine(props) {
|
5
5
|
var color = props.color;
|
6
|
-
var theme =
|
6
|
+
var theme = useCustomTheme();
|
7
7
|
return (_jsx(Divider, { sx: {
|
8
8
|
height: "3px",
|
9
|
-
backgroundColor: color || theme.palette.primary.main
|
10
|
-
} }
|
9
|
+
backgroundColor: color || theme.palette.primary.main
|
10
|
+
} }));
|
11
11
|
}
|
12
12
|
export default HeaderLine;
|
@@ -37,13 +37,13 @@ export function HeaderProvider(props) {
|
|
37
37
|
setHeight(node.getBoundingClientRect().height);
|
38
38
|
}
|
39
39
|
}, [headerProps]);
|
40
|
-
return (_jsx(HeaderContext.Provider, __assign({ value: { onInit: onInit, onHide: onHide, onShow: onShow } }, { children: _jsxs(_Fragment, { children: [visible ? (_jsx(Grid, __assign({ container: true, direction: "row", sx: __assign({}, sx), ref: measureRef }, { children: _jsx(Grid, __assign({ item: true, xs: 12 }, { children: _jsx(HeaderBar, __assign({}, headerProps)
|
40
|
+
return (_jsx(HeaderContext.Provider, __assign({ value: { onInit: onInit, onHide: onHide, onShow: onShow } }, { children: _jsxs(_Fragment, { children: [visible ? (_jsx(Grid, __assign({ container: true, direction: "row", sx: __assign({}, sx), ref: measureRef }, { children: _jsx(Grid, __assign({ item: true, xs: 12 }, { children: _jsx(HeaderBar, __assign({}, headerProps)) })) }))) : (_jsx(_Fragment, {})), cloneElement(children, {
|
41
41
|
sx: {
|
42
42
|
p: 3,
|
43
43
|
py: 1,
|
44
44
|
pt: height ? "calc(".concat(height, "px)") : undefined,
|
45
45
|
},
|
46
|
-
})] }
|
46
|
+
})] }) })));
|
47
47
|
}
|
48
48
|
export function useHeaderBar() {
|
49
49
|
return useContext(HeaderContext);
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { FeinInputProps } from "./types";
|
2
|
+
export declare function FeinInputFormat(str: string): string;
|
3
|
+
export declare function verifyFein(feinString: string): boolean;
|
4
|
+
declare function FeinInput(props: FeinInputProps): JSX.Element;
|
5
|
+
export default FeinInput;
|
6
|
+
export * from "./types";
|
@@ -0,0 +1,73 @@
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
2
|
+
__assign = Object.assign || function(t) {
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
4
|
+
s = arguments[i];
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
6
|
+
t[p] = s[p];
|
7
|
+
}
|
8
|
+
return t;
|
9
|
+
};
|
10
|
+
return __assign.apply(this, arguments);
|
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
|
+
};
|
23
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
24
|
+
import { useRifm } from "rifm";
|
25
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
26
|
+
import TextField from "@mui/material/TextField";
|
27
|
+
import useInteractions from "./useInteractions";
|
28
|
+
import useCustomTheme from "../useCustomTheme";
|
29
|
+
export function FeinInputFormat(str) {
|
30
|
+
var digits = (str.match(/\d+/g) || []).join("");
|
31
|
+
var chars = digits.split("");
|
32
|
+
return chars.reduce(function (prev, curr, index) {
|
33
|
+
if (index === 2) {
|
34
|
+
return "".concat(prev, " - ").concat(curr);
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
return "".concat(prev).concat(curr);
|
38
|
+
}
|
39
|
+
}, "");
|
40
|
+
}
|
41
|
+
export function verifyFein(feinString) {
|
42
|
+
var reg = /^\d{2}\s?-\s?\d{7}$/g;
|
43
|
+
return reg.test(feinString);
|
44
|
+
}
|
45
|
+
function FeinInput(props) {
|
46
|
+
var value = props.value, _a = props.error, error = _a === void 0 ? false : _a, _b = props.helperText, helperText = _b === void 0 ? "Please enter a valid FEIN" : _b, onChange = props.onChange, verifyFn = props.verifyFn, onFocus = props.onFocus, onBlur = props.onBlur, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, rest = __rest(props, ["value", "error", "helperText", "onChange", "verifyFn", "onFocus", "onBlur", "primaryColor", "secondaryColor"]);
|
47
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
48
|
+
var _c = useInteractions({ value: value }), valLength = _c.valLength, addMask = _c.addMask;
|
49
|
+
var rifm = useRifm({
|
50
|
+
mask: true,
|
51
|
+
value: String(value),
|
52
|
+
onChange: onChange,
|
53
|
+
replace: addMask,
|
54
|
+
format: FeinInputFormat
|
55
|
+
});
|
56
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(TextField, __assign({ value: rifm.value, onChange: rifm.onChange, error: error ||
|
57
|
+
(valLength > 0 && (verifyFn ? !verifyFn(value) : verifyFein(value))), helperText: valLength > 0 && (verifyFn ? !verifyFn(value) : verifyFein(value))
|
58
|
+
? helperText
|
59
|
+
: "", onFocus: function (event) {
|
60
|
+
if (onFocus) {
|
61
|
+
onFocus(event);
|
62
|
+
}
|
63
|
+
}, onBlur: function (event) {
|
64
|
+
onChange(value.trim());
|
65
|
+
if (onBlur) {
|
66
|
+
onBlur(event);
|
67
|
+
}
|
68
|
+
}, InputLabelProps: {
|
69
|
+
shrink: true
|
70
|
+
} }, rest)) })));
|
71
|
+
}
|
72
|
+
export default FeinInput;
|
73
|
+
export * from "./types";
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { CSSProperties } from "react";
|
2
|
+
import { TextFieldProps } from "@mui/material/TextField";
|
3
|
+
export interface FeinInputProps extends Omit<TextFieldProps, "onChange"> {
|
4
|
+
onChange: (value: string) => void;
|
5
|
+
verifyFn?: (value?: string) => boolean;
|
6
|
+
value: string;
|
7
|
+
primaryColor?: CSSProperties["color"];
|
8
|
+
secondaryColor?: CSSProperties["color"];
|
9
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { useCallback, useMemo } from "react";
|
2
|
+
function useInteractions(props) {
|
3
|
+
var value = props.value;
|
4
|
+
var addMask = useCallback(function (str) {
|
5
|
+
var digits = (str.match(/\d+/g) || []).join("");
|
6
|
+
var areaCode = digits.slice(0, 2).padEnd(2, "_");
|
7
|
+
var prefixCode = digits.slice(2, 9).padEnd(7, "_");
|
8
|
+
return "".concat(areaCode, " - ").concat(prefixCode);
|
9
|
+
}, []);
|
10
|
+
var valLength = useMemo(function () {
|
11
|
+
var digitsArr = String(value).match(/\d/g);
|
12
|
+
return digitsArr ? digitsArr.length : 0;
|
13
|
+
}, [value]);
|
14
|
+
return { valLength: valLength, addMask: addMask };
|
15
|
+
}
|
16
|
+
export default useInteractions;
|
package/FormRadioGroup/index.js
CHANGED
@@ -17,19 +17,22 @@ import Typography from "@mui/material/Typography";
|
|
17
17
|
import RadioGroup from "@mui/material/RadioGroup";
|
18
18
|
import FormControl from "@mui/material/FormControl";
|
19
19
|
import FormControlLabel from "@mui/material/FormControlLabel";
|
20
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
21
|
+
import useCustomTheme from "../useCustomTheme";
|
20
22
|
function FormRadioGroup(props) {
|
21
|
-
var formLabel = props.formLabel, color = props.color, value = props.value, options = props.options, disabled = props.disabled, tooltip = props.tooltip, onChange = props.onChange;
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
23
|
+
var formLabel = props.formLabel, color = props.color, value = props.value, options = props.options, disabled = props.disabled, tooltip = props.tooltip, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, onChange = props.onChange;
|
24
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
25
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(FormControl, __assign({ sx: { mt: 3 }, component: "fieldset", disabled: disabled }, { children: [tooltip ? (_jsx(Tooltip, __assign({ title: tooltip, placement: "right", disableTouchListener: true }, { children: _jsx(FormLabel, __assign({ sx: { lineHeight: "24px" }, component: "legend" }, { children: formLabel })) }))) : (_jsx(FormLabel, __assign({ sx: { lineHeight: "24px" }, component: "legend" }, { children: formLabel }))), _jsx(RadioGroup, __assign({ value: value, onChange: function (event) {
|
26
|
+
onChange(event.target.value);
|
27
|
+
}, sx: {
|
28
|
+
my: 1,
|
29
|
+
"& label span:first-child span:first-child": {
|
30
|
+
margin: "-5px 0 -5px 0"
|
31
|
+
}
|
32
|
+
} }, { children: options.map(function (opt) {
|
33
|
+
var _a;
|
34
|
+
return (_jsx(FormControlLabel, { value: opt.value, control: _jsx(Radio, { color: color || "primary" }), label: _jsx(Typography, { children: opt.label }), disabled: ((_a = opt.disabled) !== null && _a !== void 0 ? _a : false) || disabled }, String(opt.value)));
|
35
|
+
}) }))] })) })));
|
33
36
|
}
|
34
37
|
export default FormRadioGroup;
|
35
38
|
export * from "./types";
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { CSSProperties } from "react";
|
1
2
|
import { RadioProps } from "@mui/material/Radio";
|
2
3
|
interface IRadioOption {
|
3
4
|
label: string;
|
@@ -11,6 +12,8 @@ export interface FormRadioGroupProps {
|
|
11
12
|
value: string | boolean | number;
|
12
13
|
disabled?: boolean;
|
13
14
|
tooltip?: string;
|
15
|
+
primaryColor?: CSSProperties["color"];
|
16
|
+
secondaryColor?: CSSProperties["color"];
|
14
17
|
onChange: (value: string | boolean | number) => void;
|
15
18
|
}
|
16
19
|
export {};
|
@@ -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 Select from "@mui/material/Select";
|
14
25
|
import Tooltip from "@mui/material/Tooltip";
|
@@ -16,19 +27,22 @@ import MenuItem from "@mui/material/MenuItem";
|
|
16
27
|
import InputLabel from "@mui/material/InputLabel";
|
17
28
|
import FormControl from "@mui/material/FormControl";
|
18
29
|
import FormHelperText from "@mui/material/FormHelperText";
|
30
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
19
31
|
import useInteractions from "./useInteractions";
|
32
|
+
import useCustomTheme from "../useCustomTheme";
|
20
33
|
function MultipleSelector(props) {
|
21
|
-
var
|
34
|
+
var label = props.label, _a = props.variant, variant = _a === void 0 ? "outlined" : _a, value = props.value, tooltip = props.tooltip, _b = props.required, required = _b === void 0 ? false : _b, _c = props.disabled, disabled = _c === void 0 ? false : _c, _d = props.multiple, multiple = _d === void 0 ? false : _d, _e = props.showHelperText, showHelperText = _e === void 0 ? false : _e, helperText = props.helperText, _f = props.options, options = _f === void 0 ? [] : _f, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, onChange = props.onChange, rest = __rest(props, ["label", "variant", "value", "tooltip", "required", "disabled", "multiple", "showHelperText", "helperText", "options", "primaryColor", "secondaryColor", "onChange"]);
|
35
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
22
36
|
var _g = useInteractions(), tooltipOpen = _g.tooltipOpen, onOpenTooltip = _g.onOpenTooltip, onCloseTooltip = _g.onCloseTooltip;
|
23
|
-
return (_jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen }, { children: _jsxs(FormControl, __assign({ variant: variant, disabled: disabled,
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
37
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen }, { children: _jsxs(FormControl, __assign({ variant: variant, disabled: disabled, required: required }, rest, { children: [label && (_jsx(InputLabel, __assign({ id: "symply-multiple-select" }, { children: label }))), _jsx(Select, __assign({ disabled: disabled, required: required, value: value, multiple: true, onChange: function (event) {
|
38
|
+
var _a;
|
39
|
+
onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
|
40
|
+
}, inputProps: {
|
41
|
+
onFocus: onOpenTooltip,
|
42
|
+
onBlur: onCloseTooltip
|
43
|
+
}, label: label, renderValue: multiple ? function (selected) { return selected.join("; "); } : undefined }, { children: (options === null || options === void 0 ? void 0 : options.length) > 0 ? (options.map(function (option) {
|
44
|
+
var _a = option, label = _a.label, value = _a.value;
|
45
|
+
return (_jsx(MenuItem, __assign({ value: value }, { children: label }), value));
|
46
|
+
})) : (_jsx(MenuItem, __assign({ value: "", disabled: true }, { children: "No Options" }))) })), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] })) })) })));
|
33
47
|
}
|
34
48
|
export default MultipleSelector;
|
@@ -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 Select from "@mui/material/Select";
|
14
25
|
import Tooltip from "@mui/material/Tooltip";
|
@@ -16,19 +27,22 @@ import MenuItem from "@mui/material/MenuItem";
|
|
16
27
|
import InputLabel from "@mui/material/InputLabel";
|
17
28
|
import FormControl from "@mui/material/FormControl";
|
18
29
|
import FormHelperText from "@mui/material/FormHelperText";
|
30
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
19
31
|
import useInteractions from "./useInteractions";
|
32
|
+
import useCustomTheme from "../useCustomTheme";
|
20
33
|
function SimpleSelector(props) {
|
21
|
-
var
|
34
|
+
var label = props.label, _a = props.variant, variant = _a === void 0 ? "outlined" : _a, value = props.value, tooltip = props.tooltip, _b = props.disabled, disabled = _b === void 0 ? false : _b, _c = props.required, required = _c === void 0 ? false : _c, _d = props.showHelperText, showHelperText = _d === void 0 ? false : _d, helperText = props.helperText, _e = props.options, options = _e === void 0 ? [] : _e, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, onChange = props.onChange, rest = __rest(props, ["label", "variant", "value", "tooltip", "disabled", "required", "showHelperText", "helperText", "options", "primaryColor", "secondaryColor", "onChange"]);
|
35
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
22
36
|
var _f = useInteractions(), tooltipOpen = _f.tooltipOpen, onOpenTooltip = _f.onOpenTooltip, onCloseTooltip = _f.onCloseTooltip;
|
23
|
-
return (_jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen }, { children: _jsxs(FormControl, __assign({ variant: variant, disabled: disabled,
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
37
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen }, { children: _jsxs(FormControl, __assign({ variant: variant, disabled: disabled, required: required }, rest, { children: [label && (_jsx(InputLabel, __assign({ id: "symply-simple-selector" }, { children: label }))), _jsx(Select, __assign({ value: value, required: required, disabled: disabled, onChange: function (event) {
|
38
|
+
var _a;
|
39
|
+
onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
|
40
|
+
}, inputProps: {
|
41
|
+
onFocus: onOpenTooltip,
|
42
|
+
onBlur: onCloseTooltip
|
43
|
+
}, label: label }, { children: (options === null || options === void 0 ? void 0 : options.length) > 0 ? (options.map(function (option) {
|
44
|
+
var label = option.label, value = option.value, disabled = option.disabled;
|
45
|
+
return (_jsx(MenuItem, __assign({ value: value, disabled: disabled }, { children: label }), value));
|
46
|
+
})) : (_jsx(MenuItem, __assign({ value: "", disabled: true }, { children: "No Options" }))) })), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] })) })) })));
|
33
47
|
}
|
34
48
|
export default SimpleSelector;
|
package/FormSelector/types.d.ts
CHANGED
@@ -1,15 +1,14 @@
|
|
1
|
-
import { ReactNode } from "react";
|
1
|
+
import { ReactNode, CSSProperties } from "react";
|
2
2
|
import { SelectProps } from "@mui/material/Select";
|
3
|
-
|
4
|
-
|
3
|
+
import { FormControlProps } from "@mui/material/FormControl";
|
4
|
+
interface SelectorBaseProps extends Omit<FormControlProps, "onChange"> {
|
5
5
|
label?: string;
|
6
6
|
tooltip?: ReactNode;
|
7
|
-
variant?: SelectProps["variant"];
|
8
|
-
disabled?: SelectProps["disabled"];
|
9
7
|
showHelperText?: boolean;
|
10
8
|
helperText?: string;
|
11
|
-
error?: boolean;
|
12
9
|
multiple?: SelectProps["multiple"];
|
10
|
+
primaryColor?: CSSProperties["color"];
|
11
|
+
secondaryColor?: CSSProperties["color"];
|
13
12
|
options: Array<{
|
14
13
|
label: string;
|
15
14
|
value: string | number;
|
@@ -18,10 +17,10 @@ interface SelectorBaseProps {
|
|
18
17
|
}
|
19
18
|
export interface SimpleSelectorProps extends SelectorBaseProps {
|
20
19
|
value: number | string;
|
21
|
-
onChange: (value
|
20
|
+
onChange: (value?: string | number) => void;
|
22
21
|
}
|
23
22
|
export interface MultipleSelectorProps extends SelectorBaseProps {
|
24
23
|
value: Array<number> | Array<string>;
|
25
|
-
onChange: (value
|
24
|
+
onChange: (value?: string | Array<number> | Array<string>) => void;
|
26
25
|
}
|
27
26
|
export {};
|
package/HelpCaption/index.d.ts
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
|
1
|
+
import { CSSProperties } from "react";
|
2
2
|
export interface HelpCaptionProps {
|
3
3
|
mainCaption: string;
|
4
4
|
subCaption?: string;
|
5
5
|
linkUrl?: string;
|
6
6
|
linkText?: string;
|
7
7
|
linkType?: "WEBPAGE" | "VIDEO";
|
8
|
+
primaryColor?: CSSProperties["color"];
|
9
|
+
secondaryColor?: CSSProperties["color"];
|
8
10
|
}
|
9
11
|
declare function HelpCaption(props: HelpCaptionProps): JSX.Element;
|
10
12
|
export default HelpCaption;
|
package/HelpCaption/index.js
CHANGED
@@ -12,23 +12,24 @@ var __assign = (this && this.__assign) || function () {
|
|
12
12
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
13
13
|
import Grid from "@mui/material/Grid";
|
14
14
|
import Typography from "@mui/material/Typography";
|
15
|
-
import
|
15
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
16
16
|
import VideoPlayerModal from "../VideoPlayerModal";
|
17
17
|
import useInteractions from "./useInteractions";
|
18
|
+
import useCustomTheme from "../useCustomTheme";
|
18
19
|
function HelpCaption(props) {
|
19
|
-
var mainCaption = props.mainCaption, subCaption = props.subCaption, linkUrl = props.linkUrl, _a = props.linkText, linkText = _a === void 0 ? "Watch Demo" : _a, _b = props.linkType, linkType = _b === void 0 ? "WEBPAGE" : _b;
|
20
|
-
var theme =
|
20
|
+
var mainCaption = props.mainCaption, subCaption = props.subCaption, linkUrl = props.linkUrl, _a = props.linkText, linkText = _a === void 0 ? "Watch Demo" : _a, _b = props.linkType, linkType = _b === void 0 ? "WEBPAGE" : _b, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor;
|
21
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
21
22
|
var _c = useInteractions(), videoModalOpen = _c.videoModalOpen, onOpenVideoModal = _c.onOpenVideoModal, onCloseVideoModal = _c.onCloseVideoModal;
|
22
|
-
return (_jsxs(Grid, __assign({ container: true, spacing: 1, direction: subCaption ? "column" : "row" }, { children: [_jsx(Grid, __assign({ item: true }, { children: _jsx(Typography, __assign({ align: "left", component: "span" }, { children: mainCaption })
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
23
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(Grid, __assign({ container: true, spacing: 1, direction: subCaption ? "column" : "row" }, { children: [_jsx(Grid, __assign({ item: true }, { children: _jsx(Typography, __assign({ align: "left", component: "span" }, { children: mainCaption })) })), _jsxs(Grid, __assign({ item: true }, { children: [subCaption && (_jsxs(_Fragment, { children: [_jsx(Typography, __assign({ align: "left", component: "span" }, { children: subCaption })), "\u00A0"] })), linkUrl && (_jsx(Typography, __assign({ onClick: linkType === "WEBPAGE"
|
24
|
+
? function () {
|
25
|
+
window.open(linkUrl);
|
26
|
+
}
|
27
|
+
: onOpenVideoModal, align: "left", color: "primary", component: "span", sx: {
|
28
|
+
cursor: "pointer",
|
29
|
+
"&:hover": {
|
30
|
+
color: theme.palette.primary.dark,
|
31
|
+
textDecoration: "underline"
|
32
|
+
}
|
33
|
+
} }, { children: _jsx("b", { children: linkText }) })))] })), linkUrl && (_jsx(VideoPlayerModal, { open: videoModalOpen, url: linkUrl, onClose: onCloseVideoModal }))] })) })));
|
33
34
|
}
|
34
35
|
export default HelpCaption;
|
package/LoadingModal/index.d.ts
CHANGED
package/LoadingModal/index.js
CHANGED
@@ -16,12 +16,15 @@ import Dialog from "@mui/material/Dialog";
|
|
16
16
|
import DialogContent from "@mui/material/DialogContent";
|
17
17
|
import Typography from "@mui/material/Typography";
|
18
18
|
import CircularProgress from "@mui/material/CircularProgress";
|
19
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
20
|
+
import useCustomTheme from "../useCustomTheme";
|
19
21
|
function LoadingModal(props) {
|
20
|
-
var open = props.open, _a = props.text, text = _a === void 0 ? "Loading..." : _a, _b = props.direction, direction = _b === void 0 ? "column" : _b, _c = props.showProgess, showProgess = _c === void 0 ? false : _c, _d = props.percent, percent = _d === void 0 ? 0 : _d;
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
var open = props.open, _a = props.text, text = _a === void 0 ? "Loading..." : _a, _b = props.direction, direction = _b === void 0 ? "column" : _b, _c = props.showProgess, showProgess = _c === void 0 ? false : _c, _d = props.percent, percent = _d === void 0 ? 0 : _d, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor;
|
23
|
+
var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
|
24
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Dialog, __assign({ maxWidth: "xs", open: open, sx: { backgroundColor: "#7A7A7A97" }, PaperProps: { sx: { backgroundColor: "#F2F2F2CF" } }, onClose: function (_, reason) {
|
25
|
+
if (reason === "backdropClick")
|
26
|
+
return;
|
27
|
+
}, disableEscapeKeyDown: true }, { children: _jsx(DialogContent, { children: _jsxs(Grid, __assign({ container: true, direction: direction, justifyContent: "space-between", alignItems: "center", "data-testid": "loading-grid" }, { children: [_jsxs(Box, __assign({ position: "relative", display: "inline-flex", sx: { mt: 1.25 } }, { children: [_jsx(CircularProgress, { size: showProgess ? 56 : 40, value: percent, variant: showProgess ? "determinate" : "indeterminate" }), showProgess && percent >= 0 && (_jsx(Box, __assign({ top: 0, left: 0, bottom: 0, right: 0, position: "absolute", display: "flex", alignItems: "center", justifyContent: "center" }, { children: _jsxs(Typography, __assign({ variant: "caption" }, { children: [Math.round(percent), "%"] })) })))] })), _jsx(Typography, __assign({ variant: "subtitle1", component: "span", sx: { mt: 1 } }, { children: text }))] })) }) })) })));
|
25
28
|
}
|
26
29
|
export default LoadingModal;
|
27
30
|
export * from "./types";
|
package/LoadingModal/types.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { CSSProperties } from "react";
|
1
2
|
import { GridProps } from "@mui/material/Grid";
|
2
3
|
export interface LoadingModalProps {
|
3
4
|
open: boolean;
|
@@ -5,4 +6,6 @@ export interface LoadingModalProps {
|
|
5
6
|
direction?: GridProps["direction"];
|
6
7
|
showProgess?: boolean;
|
7
8
|
percent?: number;
|
9
|
+
primaryColor?: CSSProperties["color"];
|
10
|
+
secondaryColor?: CSSProperties["color"];
|
8
11
|
}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
/// <reference types="react" />
|
2
1
|
import { MenuItemProps } from "@mui/material/MenuItem";
|
3
2
|
import { ListItemIconProps } from "@mui/material/ListItemIcon";
|
4
3
|
export interface ButtonItemProps {
|
@@ -8,5 +7,4 @@ export interface ButtonItemProps {
|
|
8
7
|
onClick: MenuItemProps["onClick"];
|
9
8
|
}
|
10
9
|
declare function ButtonMenuItem(props: ButtonItemProps): JSX.Element;
|
11
|
-
|
12
|
-
export default _default;
|
10
|
+
export default ButtonMenuItem;
|
@@ -10,12 +10,14 @@ var __assign = (this && this.__assign) || function () {
|
|
10
10
|
return __assign.apply(this, arguments);
|
11
11
|
};
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
13
|
-
import { memo } from "react";
|
14
13
|
import MenuItem from "@mui/material/MenuItem";
|
15
14
|
import ListItemIcon from "@mui/material/ListItemIcon";
|
16
15
|
import ListItemText from "@mui/material/ListItemText";
|
16
|
+
import ThemeProvider from "@mui/material/styles/ThemeProvider";
|
17
|
+
import useCustomTheme from "../useCustomTheme";
|
17
18
|
function ButtonMenuItem(props) {
|
18
19
|
var buttonText = props.buttonText, buttonIcon = props.buttonIcon, _a = props.disabled, disabled = _a === void 0 ? false : _a, onClick = props.onClick;
|
19
|
-
|
20
|
+
var theme = useCustomTheme();
|
21
|
+
return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(MenuItem, __assign({ onClick: onClick, disabled: disabled }, { children: [buttonIcon && _jsx(ListItemIcon, { children: buttonIcon }), _jsx(ListItemText, { primary: buttonText })] })) })));
|
20
22
|
}
|
21
|
-
export default
|
23
|
+
export default ButtonMenuItem;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
import { CSSProperties } from "react";
|
2
2
|
import { ButtonProps } from "@mui/material/Button";
|
3
3
|
import { ButtonItemProps } from "./MenuItem";
|
4
4
|
export interface MenuButtonGroupProps {
|
@@ -8,6 +8,8 @@ export interface MenuButtonGroupProps {
|
|
8
8
|
variant?: ButtonProps["variant"];
|
9
9
|
color?: ButtonProps["color"];
|
10
10
|
buttons: Array<ButtonItemProps>;
|
11
|
+
primaryColor?: CSSProperties["color"];
|
12
|
+
secondaryColor?: CSSProperties["color"];
|
11
13
|
}
|
12
14
|
declare function MenuButtonGroup(props: MenuButtonGroupProps): JSX.Element;
|
13
15
|
export default MenuButtonGroup;
|