@symply.io/basic-components 1.3.11-alpha.9 → 1.4.0-beta.2

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 (70) hide show
  1. package/AlertDialog/index.js +30 -8
  2. package/Autocomplete/index.js +32 -10
  3. package/Autocomplete/useInteractions.js +3 -3
  4. package/AutocompleteWithFilter/index.js +35 -12
  5. package/BasicModal/Content.js +16 -5
  6. package/BasicModal/index.js +31 -9
  7. package/BreadCrumbs/index.js +19 -8
  8. package/CheckBox/CheckBox.js +26 -4
  9. package/CheckBox/CheckBoxGroup.js +24 -2
  10. package/Copyright/index.js +14 -3
  11. package/DataTable/TableBody.js +24 -2
  12. package/DataTable/TableBodyRow.js +52 -41
  13. package/DataTable/TableFooter.js +41 -30
  14. package/DataTable/TableHeader.js +47 -36
  15. package/DataTable/index.js +28 -17
  16. package/DataTable/useTable.js +54 -46
  17. package/DateInput/FullDateInput/index.js +42 -20
  18. package/DateInput/FullDateInput/useInteractions.js +10 -10
  19. package/DateInput/MonthDayInput/index.js +36 -14
  20. package/DateInput/MonthDayInput/useInteractions.js +9 -9
  21. package/DateInput/MonthYearInput/index.js +36 -14
  22. package/DateInput/MonthYearInput/useInteractions.js +9 -9
  23. package/DigitInput/index.js +28 -6
  24. package/DigitInput/useInteractions.js +9 -9
  25. package/DynamicHeaderBar/HeaderBar.js +17 -6
  26. package/DynamicHeaderBar/HeaderButtons.js +24 -13
  27. package/DynamicHeaderBar/HeaderLine.js +2 -2
  28. package/DynamicHeaderBar/index.js +26 -15
  29. package/FeinInput/index.js +38 -16
  30. package/FeinInput/useInteractions.js +9 -9
  31. package/FileUploader/index.js +33 -11
  32. package/FileUploader/useInteractions.js +44 -29
  33. package/FormRadioGroup/index.js +29 -4
  34. package/FormSelector/MultipleSelector.js +32 -9
  35. package/FormSelector/SimpleSelector.js +32 -9
  36. package/FormSelector/useInteractions.js +7 -7
  37. package/HelpCaption/index.js +17 -6
  38. package/HelpCaption/useInteractions.js +2 -2
  39. package/LoadingModal/Modal.js +15 -4
  40. package/LoadingModal/useLoadingModal.js +33 -15
  41. package/MenuButtonGroup/MenuItem.js +14 -3
  42. package/MenuButtonGroup/index.js +82 -14
  43. package/NumberInput/index.js +27 -5
  44. package/NumberInput/useInteractions.js +17 -17
  45. package/PasswordInput/ConfirmPassword.js +28 -6
  46. package/PasswordInput/Password.js +37 -15
  47. package/PhoneNumberInput/index.js +39 -17
  48. package/PhoneNumberInput/useInteractions.js +10 -10
  49. package/Sidebar/SidebarItem.js +17 -6
  50. package/Sidebar/SidebarItemsGroup.js +21 -10
  51. package/Sidebar/SidebarLink.js +27 -5
  52. package/Sidebar/index.js +17 -6
  53. package/SocialInput/index.js +40 -18
  54. package/SocialInput/useInteractions.js +14 -14
  55. package/TabGroup/index.js +25 -14
  56. package/TablePagination/Actions.js +15 -4
  57. package/TablePagination/index.js +14 -3
  58. package/TablePagination/useInteractions.js +9 -9
  59. package/TextInput/index.js +30 -8
  60. package/TextInput/useInteractions.js +4 -4
  61. package/ToastPrompt/Prompt.d.ts +2 -1
  62. package/ToastPrompt/Prompt.js +20 -55
  63. package/ToastPrompt/index.js +18 -7
  64. package/ToastPrompt/types.d.ts +2 -8
  65. package/ToastPrompt/useInteractions.d.ts +2 -1
  66. package/ToastPrompt/useInteractions.js +21 -10
  67. package/VideoPlayerModal/index.js +27 -5
  68. package/package.json +1 -1
  69. package/useCustomTheme.js +16 -11
  70. package/utils/uuid.js +11 -10
@@ -1,3 +1,25 @@
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
+ };
1
23
  import { jsx as _jsx } from "react/jsx-runtime";
2
24
  import { useRifm } from "rifm";
3
25
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
@@ -5,49 +27,49 @@ import TextField from "@mui/material/TextField";
5
27
  import useInteractions from "./useInteractions";
6
28
  import useCustomTheme from "../useCustomTheme";
7
29
  export function FeinInputFormat(str) {
8
- const digits = (str.match(/\d+/g) || []).join("");
9
- const chars = digits.split("");
10
- return chars.reduce((prev, curr, index) => {
30
+ var digits = (str.match(/\d+/g) || []).join("");
31
+ var chars = digits.split("");
32
+ return chars.reduce(function (prev, curr, index) {
11
33
  if (index === 2) {
12
- return `${prev} - ${curr}`;
34
+ return "".concat(prev, " - ").concat(curr);
13
35
  }
14
36
  else {
15
- return `${prev}${curr}`;
37
+ return "".concat(prev).concat(curr);
16
38
  }
17
- }, ``);
39
+ }, "");
18
40
  }
19
41
  export function onValidateFein(feinString) {
20
- const reg = /^\d{2}\s?-\s?\d{7}$/g;
42
+ var reg = /^\d{2}\s?-\s?\d{7}$/g;
21
43
  return reg.test(feinString);
22
44
  }
23
45
  function FeinInput(props) {
24
- const { value, error = false, helperText = "Please enter a valid FEIN", onBlur, onFocus, onChange, onValidate, primaryColor, secondaryColor, ...rest } = props;
25
- const theme = useCustomTheme({ primaryColor, secondaryColor });
26
- const { valLength, addMask } = useInteractions({ value });
27
- const rifm = useRifm({
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, onBlur = props.onBlur, onFocus = props.onFocus, onChange = props.onChange, onValidate = props.onValidate, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, rest = __rest(props, ["value", "error", "helperText", "onBlur", "onFocus", "onChange", "onValidate", "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({
28
50
  mask: true,
29
51
  value: String(value),
30
- onChange,
52
+ onChange: onChange,
31
53
  replace: addMask,
32
54
  format: FeinInputFormat
33
55
  });
34
- return (_jsx(ThemeProvider, { theme: theme, children: _jsx(TextField, { value: rifm.value, onChange: rifm.onChange, error: error ||
56
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(TextField, __assign({ value: rifm.value, onChange: rifm.onChange, error: error ||
35
57
  (valLength > 0 &&
36
58
  (onValidate ? !onValidate(value) : !onValidateFein(value))), helperText: valLength > 0 &&
37
59
  (onValidate ? !onValidate(value) : !onValidateFein(value))
38
60
  ? helperText
39
- : "", onFocus: event => {
61
+ : "", onFocus: function (event) {
40
62
  if (onFocus) {
41
63
  onFocus(event);
42
64
  }
43
- }, onBlur: event => {
65
+ }, onBlur: function (event) {
44
66
  onChange(value.trim());
45
67
  if (onBlur) {
46
68
  onBlur(event);
47
69
  }
48
70
  }, InputLabelProps: {
49
71
  shrink: true
50
- }, ...rest }) }));
72
+ } }, rest)) })));
51
73
  }
52
74
  export default FeinInput;
53
75
  export * from "./types";
@@ -1,16 +1,16 @@
1
1
  import { useCallback, useMemo } from "react";
2
2
  function useInteractions(props) {
3
- const { value } = props;
4
- const addMask = useCallback((str) => {
5
- const digits = (str.match(/\d+/g) || []).join("");
6
- const areaCode = digits.slice(0, 2).padEnd(2, "_");
7
- const prefixCode = digits.slice(2, 9).padEnd(7, "_");
8
- return `${areaCode} - ${prefixCode}`;
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
9
  }, []);
10
- const valLength = useMemo(() => {
11
- const digitsArr = String(value).match(/\d/g);
10
+ var valLength = useMemo(function () {
11
+ var digitsArr = String(value).match(/\d/g);
12
12
  return digitsArr ? digitsArr.length : 0;
13
13
  }, [value]);
14
- return { valLength, addMask };
14
+ return { valLength: valLength, addMask: addMask };
15
15
  }
16
16
  export default useInteractions;
@@ -1,3 +1,25 @@
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
+ };
1
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
24
  import Link from "@mui/material/Link";
3
25
  import Grid from "@mui/material/Grid";
@@ -10,32 +32,32 @@ import AlertDialog from "../AlertDialog";
10
32
  import useInteractions from "./useInteractions";
11
33
  import useCustomTheme from "../useCustomTheme";
12
34
  function FileUploader(props) {
13
- const { height = "150px", maxWidth = "430px", loading = false, disabled = false, dropFileText, chooseFileText, primaryColor, secondaryColor, ...rest } = props;
14
- const theme = useCustomTheme({ primaryColor, secondaryColor });
15
- const lessThanSm = useMediaQuery(theme.breakpoints.down("sm"));
16
- const { alertArgs, rootProps, onCloseAlert, onSelectFile, getRootProps, getInputProps } = useInteractions({ ...rest, disabled });
17
- return (_jsxs(ThemeProvider, { theme: theme, children: [lessThanSm ? (_jsxs("div", { ...getRootProps(), children: [_jsx("input", { ...getInputProps() }), _jsx(Link, { color: disabled ? theme.palette.grey[400] : theme.palette.primary.main, sx: {
35
+ var _a = props.height, height = _a === void 0 ? "150px" : _a, _b = props.maxWidth, maxWidth = _b === void 0 ? "430px" : _b, _c = props.loading, loading = _c === void 0 ? false : _c, _d = props.disabled, disabled = _d === void 0 ? false : _d, dropFileText = props.dropFileText, chooseFileText = props.chooseFileText, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, rest = __rest(props, ["height", "maxWidth", "loading", "disabled", "dropFileText", "chooseFileText", "primaryColor", "secondaryColor"]);
36
+ var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
37
+ var lessThanSm = useMediaQuery(theme.breakpoints.down("sm"));
38
+ var _e = useInteractions(__assign(__assign({}, rest), { disabled: disabled })), alertArgs = _e.alertArgs, rootProps = _e.rootProps, onCloseAlert = _e.onCloseAlert, onSelectFile = _e.onSelectFile, getRootProps = _e.getRootProps, getInputProps = _e.getInputProps;
39
+ return (_jsxs(ThemeProvider, __assign({ theme: theme }, { children: [lessThanSm ? (_jsxs("div", __assign({}, getRootProps(), { children: [_jsx("input", __assign({}, getInputProps())), _jsx(Link, __assign({ color: disabled ? theme.palette.grey[400] : theme.palette.primary.main, sx: {
18
40
  fontFamily: "Roboto, Helvetica, Arial, sans-serif",
19
41
  cursor: disabled ? "not-allowed" : "pointer"
20
- }, children: loading ? (_jsx(CircularProgress, { sx: { height: "25px", width: "25px" } })) : (chooseFileText || "Choose a file") })] })) : (_jsx(Grid, { container: true, direction: "column", justifyContent: "center", alignItems: "center", sx: {
42
+ } }, { children: loading ? (_jsx(CircularProgress, { sx: { height: "25px", width: "25px" } })) : (chooseFileText || "Choose a file") }))] }))) : (_jsx(Grid, __assign({ container: true, direction: "column", justifyContent: "center", alignItems: "center", sx: {
21
43
  border: "1px dashed #0099a7",
22
44
  borderRadius: "5px",
23
45
  outline: "none",
24
46
  backgroundColor: "#F2F2F2",
25
- maxWidth,
26
- height,
47
+ maxWidth: maxWidth,
48
+ height: height,
27
49
  width: "100%"
28
- }, ...rootProps, children: loading ? (_jsx(CircularProgress, { style: { height: "30px", width: "30px" } })) : (_jsxs("div", { children: [_jsx("input", { ...getInputProps() }), _jsx(Typography, { component: "p", variant: "caption", sx: {
50
+ } }, rootProps, { children: loading ? (_jsx(CircularProgress, { style: { height: "30px", width: "30px" } })) : (_jsxs("div", { children: [_jsx("input", __assign({}, getInputProps())), _jsx(Typography, __assign({ component: "p", variant: "caption", sx: {
29
51
  fontSize: ".875rem",
30
52
  textAlign: "center"
31
- }, children: dropFileText || "Drop files here" }), _jsx(Button, { variant: "contained", onClick: onSelectFile, sx: {
53
+ } }, { children: dropFileText || "Drop files here" })), _jsx(Button, __assign({ variant: "contained", onClick: onSelectFile, sx: {
32
54
  backgroundColor: "white !important",
33
55
  color: disabled
34
56
  ? theme.palette.grey[400]
35
57
  : theme.palette.primary.main,
36
58
  fontFamily: "Roboto, Helvetica, Arial, sans-serif",
37
59
  cursor: disabled ? "not-allowed" : "pointer"
38
- }, disabled: disabled, children: _jsx(Typography, { children: chooseFileText || "Choose a file" }) })] })) })), _jsx(AlertDialog, { open: alertArgs.open, primaryColor: primaryColor, secondaryColor: secondaryColor, onClose: onCloseAlert, children: alertArgs.message })] }));
60
+ }, disabled: disabled }, { children: _jsx(Typography, { children: chooseFileText || "Choose a file" }) }))] })) }))), _jsx(AlertDialog, __assign({ open: alertArgs.open, primaryColor: primaryColor, secondaryColor: secondaryColor, onClose: onCloseAlert }, { children: alertArgs.message }))] })));
39
61
  }
40
62
  export default FileUploader;
41
63
  export * from "./types";
@@ -1,22 +1,37 @@
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
+ };
1
12
  import { useState, useCallback, useMemo } from "react";
2
13
  import { useDropzone } from "react-dropzone";
3
14
  function useInteractions(props) {
4
- const { multiple = false, disabled = false, maxFiles, maxSize = 1024 * 1024 * 5, accept, onUpload, sizeExceededErrorText, wrongFileTypeErrorText } = props;
5
- const ERROR_TYPE_MSG = useMemo(() => wrongFileTypeErrorText ||
6
- "The type of the file you uploaded is not accepted, please reupload!", [wrongFileTypeErrorText]);
7
- const ERROR_SIZE_MSG = useMemo(() => sizeExceededErrorText ||
8
- `Your file exceed the max size of ${maxSize / 1024 / 1024}MB.`, [sizeExceededErrorText, maxSize]);
9
- const [alertArgs, setAlertArgs] = useState({ open: false, message: "" });
10
- const onOpenAlert = useCallback((message) => {
11
- setAlertArgs(args => ({ ...args, open: true, message }));
15
+ var _a = props.multiple, multiple = _a === void 0 ? false : _a, _b = props.disabled, disabled = _b === void 0 ? false : _b, maxFiles = props.maxFiles, _c = props.maxSize, maxSize = _c === void 0 ? 1024 * 1024 * 5 : _c, accept = props.accept, onUpload = props.onUpload, sizeExceededErrorText = props.sizeExceededErrorText, wrongFileTypeErrorText = props.wrongFileTypeErrorText;
16
+ var ERROR_TYPE_MSG = useMemo(function () {
17
+ return wrongFileTypeErrorText ||
18
+ "The type of the file you uploaded is not accepted, please reupload!";
19
+ }, [wrongFileTypeErrorText]);
20
+ var ERROR_SIZE_MSG = useMemo(function () {
21
+ return sizeExceededErrorText ||
22
+ "Your file exceed the max size of ".concat(maxSize / 1024 / 1024, "MB.");
23
+ }, [sizeExceededErrorText, maxSize]);
24
+ var _d = useState({ open: false, message: "" }), alertArgs = _d[0], setAlertArgs = _d[1];
25
+ var onOpenAlert = useCallback(function (message) {
26
+ setAlertArgs(function (args) { return (__assign(__assign({}, args), { open: true, message: message })); });
12
27
  }, []);
13
- const onCloseAlert = useCallback(() => {
28
+ var onCloseAlert = useCallback(function () {
14
29
  setAlertArgs({ open: false, message: "" });
15
30
  }, []);
16
- const onDrop = useCallback((acceptedFiles, rejectedFiles) => {
31
+ var onDrop = useCallback(function (acceptedFiles, rejectedFiles) {
17
32
  if (rejectedFiles && rejectedFiles.length > 0) {
18
- rejectedFiles.some((rejectedFile) => {
19
- const { file, errors } = rejectedFile;
33
+ rejectedFiles.some(function (rejectedFile) {
34
+ var file = rejectedFile.file, errors = rejectedFile.errors;
20
35
  if (accept && !Object.keys(accept).includes(file.type)) {
21
36
  onOpenAlert(ERROR_TYPE_MSG);
22
37
  return true;
@@ -36,29 +51,29 @@ function useInteractions(props) {
36
51
  onUpload(acceptedFiles);
37
52
  }
38
53
  }, [accept, onUpload]);
39
- const { getRootProps, getInputProps, open: onSelectFile } = useDropzone({
40
- onDrop,
41
- accept,
42
- multiple,
43
- disabled,
44
- maxSize,
45
- maxFiles
46
- });
47
- const rootProps = getRootProps({
48
- onClick: e => e.stopPropagation(),
49
- onKeyDown: e => {
54
+ var _e = useDropzone({
55
+ onDrop: onDrop,
56
+ accept: accept,
57
+ multiple: multiple,
58
+ disabled: disabled,
59
+ maxSize: maxSize,
60
+ maxFiles: maxFiles
61
+ }), getRootProps = _e.getRootProps, getInputProps = _e.getInputProps, onSelectFile = _e.open;
62
+ var rootProps = getRootProps({
63
+ onClick: function (e) { return e.stopPropagation(); },
64
+ onKeyDown: function (e) {
50
65
  if (e.key === "Space" || e.key === "Enter") {
51
66
  e.stopPropagation();
52
67
  }
53
68
  }
54
69
  });
55
70
  return {
56
- alertArgs,
57
- rootProps,
58
- onCloseAlert,
59
- onSelectFile,
60
- getRootProps,
61
- getInputProps
71
+ alertArgs: alertArgs,
72
+ rootProps: rootProps,
73
+ onCloseAlert: onCloseAlert,
74
+ onSelectFile: onSelectFile,
75
+ getRootProps: getRootProps,
76
+ getInputProps: getInputProps
62
77
  };
63
78
  }
64
79
  export default useInteractions;
@@ -1,3 +1,25 @@
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
+ };
1
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
24
  import Radio from "@mui/material/Radio";
3
25
  import Tooltip from "@mui/material/Tooltip";
@@ -9,11 +31,14 @@ import FormControlLabel from "@mui/material/FormControlLabel";
9
31
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
10
32
  import useCustomTheme from "../useCustomTheme";
11
33
  function FormRadioGroup(props) {
12
- const { formLabel, value, options, disabled, tooltip, primaryColor, secondaryColor, radioLabelPlacement, onChange, ...rest } = props;
13
- const theme = useCustomTheme({ primaryColor, secondaryColor });
14
- return (_jsx(ThemeProvider, { theme: theme, children: _jsxs(FormControl, { disabled: disabled, ...rest, children: [tooltip ? (_jsx(Tooltip, { arrow: true, placement: "top", title: tooltip, disableTouchListener: true, children: _jsx(FormLabel, { children: formLabel }) })) : (_jsx(FormLabel, { children: formLabel })), _jsx(RadioGroup, { value: value, onChange: event => {
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"]);
35
+ var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
36
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(FormControl, __assign({ disabled: disabled }, rest, { children: [tooltip ? (_jsx(Tooltip, __assign({ arrow: true, placement: "top", title: tooltip, disableTouchListener: true }, { children: _jsx(FormLabel, { children: formLabel }) }))) : (_jsx(FormLabel, { children: formLabel })), _jsx(RadioGroup, __assign({ value: value, onChange: function (event) {
15
37
  onChange(event.target.value);
16
- }, children: options.map(opt => (_jsx(FormControlLabel, { value: opt.value, control: _jsx(Radio, {}), label: _jsx(Typography, { children: opt.label }), labelPlacement: radioLabelPlacement || "end", disabled: (opt.disabled ?? false) || disabled }, String(opt.value)))) })] }) }));
38
+ } }, { children: options.map(function (opt) {
39
+ var _a;
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)));
41
+ }) }))] })) })));
17
42
  }
18
43
  export default FormRadioGroup;
19
44
  export * from "./types";
@@ -1,3 +1,25 @@
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
+ };
1
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
24
  import Select from "@mui/material/Select";
3
25
  import Tooltip from "@mui/material/Tooltip";
@@ -9,18 +31,19 @@ import ThemeProvider from "@mui/material/styles/ThemeProvider";
9
31
  import useInteractions from "./useInteractions";
10
32
  import useCustomTheme from "../useCustomTheme";
11
33
  function MultipleSelector(props) {
12
- const { label, variant = "outlined", value, tooltip, required = false, disabled = false, multiple = false, showHelperText = false, helperText, options = [], primaryColor, secondaryColor, onChange, ...rest } = props;
13
- const theme = useCustomTheme({ primaryColor, secondaryColor });
14
- const { tooltipOpen, onOpenTooltip, onCloseTooltip } = useInteractions();
15
- return (_jsx(ThemeProvider, { theme: theme, children: _jsx(Tooltip, { arrow: true, placement: "top", title: tooltip ?? "", open: !!tooltip && tooltipOpen, children: _jsxs(FormControl, { variant: variant, disabled: disabled, required: required, ...rest, children: [label && (_jsx(InputLabel, { id: "symply-multiple-select", children: label })), _jsx(Select, { disabled: disabled, required: required, value: value, multiple: true, onChange: event => {
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 });
36
+ var _g = useInteractions(), tooltipOpen = _g.tooltipOpen, onOpenTooltip = _g.onOpenTooltip, onCloseTooltip = _g.onCloseTooltip;
37
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ arrow: true, placement: "top", 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;
16
39
  event.preventDefault();
17
- onChange(event?.target?.value);
40
+ onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
18
41
  }, inputProps: {
19
42
  onFocus: onOpenTooltip,
20
43
  onBlur: onCloseTooltip
21
- }, label: label, renderValue: multiple ? selected => selected.join("; ") : undefined, children: options?.length > 0 ? (options.map(option => {
22
- const { label, value } = option;
23
- return (_jsx(MenuItem, { value: value, children: label }, value));
24
- })) : (_jsx(MenuItem, { value: "", disabled: true, children: "No Options" })) }), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] }) }) }));
44
+ }, 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) {
45
+ var _a = option, label = _a.label, value = _a.value;
46
+ return (_jsx(MenuItem, __assign({ value: value }, { children: label }), value));
47
+ })) : (_jsx(MenuItem, __assign({ value: "", disabled: true }, { children: "No Options" }))) })), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] })) })) })));
25
48
  }
26
49
  export default MultipleSelector;
@@ -1,3 +1,25 @@
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
+ };
1
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
24
  import Select from "@mui/material/Select";
3
25
  import Tooltip from "@mui/material/Tooltip";
@@ -9,18 +31,19 @@ import ThemeProvider from "@mui/material/styles/ThemeProvider";
9
31
  import useInteractions from "./useInteractions";
10
32
  import useCustomTheme from "../useCustomTheme";
11
33
  function SimpleSelector(props) {
12
- const { label, variant = "outlined", value, tooltip, disabled = false, required = false, showHelperText = false, helperText, options = [], primaryColor, secondaryColor, onChange, ...rest } = props;
13
- const theme = useCustomTheme({ primaryColor, secondaryColor });
14
- const { tooltipOpen, onOpenTooltip, onCloseTooltip } = useInteractions();
15
- return (_jsx(ThemeProvider, { theme: theme, children: _jsx(Tooltip, { arrow: true, placement: "top", title: tooltip ?? "", open: !!tooltip && tooltipOpen, children: _jsxs(FormControl, { variant: variant, disabled: disabled, required: required, ...rest, children: [label && (_jsx(InputLabel, { id: "symply-simple-selector", children: label })), _jsx(Select, { value: value, required: required, disabled: disabled, onChange: event => {
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 });
36
+ var _f = useInteractions(), tooltipOpen = _f.tooltipOpen, onOpenTooltip = _f.onOpenTooltip, onCloseTooltip = _f.onCloseTooltip;
37
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ arrow: true, placement: "top", 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;
16
39
  event.preventDefault();
17
- onChange(event?.target?.value);
40
+ onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
18
41
  }, inputProps: {
19
42
  onFocus: onOpenTooltip,
20
43
  onBlur: onCloseTooltip
21
- }, label: label, children: options?.length > 0 ? (options.map(option => {
22
- const { label, value, disabled } = option;
23
- return (_jsx(MenuItem, { value: value, disabled: disabled, children: label }, value));
24
- })) : (_jsx(MenuItem, { value: "", disabled: true, children: "No Options" })) }), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] }) }) }));
44
+ }, label: label }, { children: (options === null || options === void 0 ? void 0 : options.length) > 0 ? (options.map(function (option) {
45
+ var label = option.label, value = option.value, disabled = option.disabled;
46
+ return (_jsx(MenuItem, __assign({ value: value, disabled: disabled }, { children: label }), value));
47
+ })) : (_jsx(MenuItem, __assign({ value: "", disabled: true }, { children: "No Options" }))) })), !!helperText && showHelperText && (_jsx(FormHelperText, { children: showHelperText }))] })) })) })));
25
48
  }
26
49
  export default SimpleSelector;
@@ -1,20 +1,20 @@
1
1
  import { useState, useEffect, useCallback } from "react";
2
2
  function useInteractions() {
3
- const [tooltipOpen, setTooltipOpen] = useState(false);
4
- const onOpenTooltip = useCallback(() => {
3
+ var _a = useState(false), tooltipOpen = _a[0], setTooltipOpen = _a[1];
4
+ var onOpenTooltip = useCallback(function () {
5
5
  setTooltipOpen(true);
6
6
  }, []);
7
- const onCloseTooltip = useCallback(() => {
7
+ var onCloseTooltip = useCallback(function () {
8
8
  setTooltipOpen(false);
9
9
  }, []);
10
- useEffect(() => {
10
+ useEffect(function () {
11
11
  window.addEventListener("scroll", onCloseTooltip);
12
12
  window.addEventListener("resize", onCloseTooltip);
13
13
  }, [onCloseTooltip]);
14
- useEffect(() => () => {
14
+ useEffect(function () { return function () {
15
15
  window.removeEventListener("resize", onCloseTooltip);
16
16
  window.removeEventListener("scroll", onCloseTooltip);
17
- }, [onCloseTooltip]);
18
- return { tooltipOpen, onOpenTooltip, onCloseTooltip };
17
+ }; }, [onCloseTooltip]);
18
+ return { tooltipOpen: tooltipOpen, onOpenTooltip: onOpenTooltip, onCloseTooltip: onCloseTooltip };
19
19
  }
20
20
  export default useInteractions;
@@ -1,3 +1,14 @@
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
+ };
1
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
13
  import Grid from "@mui/material/Grid";
3
14
  import Typography from "@mui/material/Typography";
@@ -6,11 +17,11 @@ import VideoPlayerModal from "../VideoPlayerModal";
6
17
  import useInteractions from "./useInteractions";
7
18
  import useCustomTheme from "../useCustomTheme";
8
19
  function HelpCaption(props) {
9
- const { mainCaption, subCaption, linkUrl, linkText = "Watch Demo", linkType = "WEBPAGE", primaryColor, secondaryColor } = props;
10
- const theme = useCustomTheme({ primaryColor, secondaryColor });
11
- const { videoModalOpen, onOpenVideoModal, onCloseVideoModal } = useInteractions();
12
- return (_jsx(ThemeProvider, { theme: theme, children: _jsxs(Grid, { container: true, spacing: 1, direction: subCaption ? "column" : "row", children: [_jsx(Grid, { item: true, children: _jsx(Typography, { align: "left", component: "span", children: mainCaption }) }), _jsxs(Grid, { item: true, children: [subCaption && (_jsxs(_Fragment, { children: [_jsx(Typography, { align: "left", component: "span", children: subCaption }), "\u00A0"] })), linkUrl && (_jsx(Typography, { onClick: linkType === "WEBPAGE"
13
- ? () => {
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 });
22
+ var _c = useInteractions(), videoModalOpen = _c.videoModalOpen, onOpenVideoModal = _c.onOpenVideoModal, onCloseVideoModal = _c.onCloseVideoModal;
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 () {
14
25
  window.open(linkUrl);
15
26
  }
16
27
  : onOpenVideoModal, align: "left", color: "primary", component: "span", sx: {
@@ -19,6 +30,6 @@ function HelpCaption(props) {
19
30
  color: theme.palette.primary.dark,
20
31
  textDecoration: "underline"
21
32
  }
22
- }, children: _jsx("b", { children: linkText }) }))] }), linkUrl && (_jsx(VideoPlayerModal, { open: videoModalOpen, url: linkUrl, onClose: onCloseVideoModal }))] }) }));
33
+ } }, { children: _jsx("b", { children: linkText }) })))] })), linkUrl && (_jsx(VideoPlayerModal, { open: videoModalOpen, url: linkUrl, onClose: onCloseVideoModal }))] })) })));
23
34
  }
24
35
  export default HelpCaption;
@@ -1,12 +1,12 @@
1
1
  import { useState } from 'react';
2
2
  function useInteractions() {
3
- const [videoModalOpen, setVideoModalOpen] = useState(false);
3
+ var _a = useState(false), videoModalOpen = _a[0], setVideoModalOpen = _a[1];
4
4
  function onOpenVideoModal() {
5
5
  setVideoModalOpen(true);
6
6
  }
7
7
  function onCloseVideoModal() {
8
8
  setVideoModalOpen(false);
9
9
  }
10
- return { videoModalOpen, onOpenVideoModal, onCloseVideoModal };
10
+ return { videoModalOpen: videoModalOpen, onOpenVideoModal: onOpenVideoModal, onCloseVideoModal: onCloseVideoModal };
11
11
  }
12
12
  export default useInteractions;
@@ -1,3 +1,14 @@
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
+ };
1
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
13
  import Box from "@mui/material/Box";
3
14
  import Grid from "@mui/material/Grid";
@@ -8,11 +19,11 @@ import CircularProgress from "@mui/material/CircularProgress";
8
19
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
9
20
  import useCustomTheme from "../useCustomTheme";
10
21
  function LoadingModal(props) {
11
- const { open, text = "Loading...", direction = "column", showProgess = false, percent = 0, primaryColor, secondaryColor } = props;
12
- const theme = useCustomTheme({ primaryColor, secondaryColor });
13
- return (_jsx(ThemeProvider, { theme: theme, children: _jsx(Dialog, { maxWidth: "xs", open: open, sx: { backgroundColor: "#7A7A7A97" }, PaperProps: { sx: { backgroundColor: "#F2F2F2CF" } }, onClose: (_, reason) => {
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) {
14
25
  if (reason === "backdropClick")
15
26
  return;
16
- }, disableScrollLock: true, disableAutoFocus: true, disableEnforceFocus: true, disableEscapeKeyDown: true, children: _jsx(DialogContent, { children: _jsxs(Grid, { container: true, direction: direction, justifyContent: "space-between", alignItems: "center", "data-testid": "loading-grid", children: [_jsxs(Box, { 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, { top: 0, left: 0, bottom: 0, right: 0, position: "absolute", display: "flex", alignItems: "center", justifyContent: "center", children: _jsxs(Typography, { variant: "caption", children: [Math.round(percent), "%"] }) }))] }), _jsx(Typography, { component: "span", sx: { mt: 1, fontSize: 16, fontWeight: 400 }, children: text })] }) }) }) }));
27
+ }, disableScrollLock: true, disableAutoFocus: true, disableEnforceFocus: true, 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({ component: "span", sx: { mt: 1, fontSize: 16, fontWeight: 400 } }, { children: text }))] })) }) })) })));
17
28
  }
18
29
  export default LoadingModal;