@symply.io/basic-components 1.3.1-beta.1 → 1.3.2-beta.1

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.
@@ -23,6 +23,7 @@ var __rest = (this && this.__rest) || function (s, e) {
23
23
  import { jsx as _jsx } from "react/jsx-runtime";
24
24
  import Tooltip from "@mui/material/Tooltip";
25
25
  import Field from "@mui/material/TextField";
26
+ import useMediaQuery from "@mui/material/useMediaQuery";
26
27
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
27
28
  import useInteractions from "./useInteractions";
28
29
  import useCustomTheme from "../useCustomTheme";
@@ -30,7 +31,8 @@ function DigitInput(props) {
30
31
  var onChange = props.onChange, value = props.value, _a = props.size, size = _a === void 0 ? "small" : _a, tooltip = props.tooltip, _b = props.maxLength, maxLength = _b === void 0 ? 999 : _b, _c = props.minLength, minLength = _c === void 0 ? 0 : _c, endAdornment = props.endAdornment, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, rest = __rest(props, ["onChange", "value", "size", "tooltip", "maxLength", "minLength", "endAdornment", "primaryColor", "secondaryColor"]);
31
32
  var _d = useInteractions({ onChange: onChange }), tooltipOpen = _d.tooltipOpen, handleChange = _d.handleChange, onOpenTooltip = _d.onOpenTooltip, onCloseTooltip = _d.onCloseTooltip;
32
33
  var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
33
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: "text", value: value === undefined || value === null ? "" : value, onFocus: onOpenTooltip, onBlur: onCloseTooltip, inputProps: { maxLength: maxLength, minLength: minLength }, InputProps: {
34
+ var isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
35
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: isNarrowerThanMd ? "top" : "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: "text", value: value === undefined || value === null ? "" : value, onFocus: onOpenTooltip, onBlur: onCloseTooltip, inputProps: { maxLength: maxLength, minLength: minLength }, InputProps: {
34
36
  endAdornment: endAdornment
35
37
  }, onChange: handleChange }, rest)) })) })));
36
38
  }
@@ -13,6 +13,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
13
13
  import Fab from "@mui/material/Fab";
14
14
  import Grid from "@mui/material/Grid";
15
15
  import Button from "@mui/material/Button";
16
+ import IconButton from "@mui/material/IconButton";
16
17
  import useMediaQuery from "@mui/material/useMediaQuery";
17
18
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
18
19
  import MenuButtonGroup from "../MenuButtonGroup";
@@ -28,10 +29,14 @@ function HeaderButtons(props) {
28
29
  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
30
  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
  }
31
- case HeaderButtonCategory.IconButton: {
32
+ case HeaderButtonCategory.FabButton: {
32
33
  var title = button.title, onClick = button.onClick, color = button.color, _b = button.size, size = _b === void 0 ? "medium" : _b, icon = button.icon, disabled = button.disabled, variant = button.variant;
33
34
  return (_jsx(Grid, __assign({ item: true, style: { textAlign: "end" } }, { children: _jsx(Fab, __assign({ onClick: onClick, color: color, title: title, size: isLessThanSm ? "small" : size, disabled: disabled, variant: variant }, { children: icon })) }), title));
34
35
  }
36
+ case HeaderButtonCategory.IconButton: {
37
+ var title = button.title, onClick = button.onClick, color = button.color, _c = button.size, size = _c === void 0 ? "medium" : _c, icon = button.icon, disabled = button.disabled;
38
+ return (_jsx(Grid, __assign({ item: true, style: { textAlign: "end" } }, { children: _jsx(IconButton, __assign({ onClick: onClick, color: color, title: title, size: isLessThanSm ? "small" : size, disabled: disabled }, { children: icon })) }), title));
39
+ }
35
40
  case HeaderButtonCategory.MenuButton: {
36
41
  var btns = button.buttons, buttonText = button.buttonText, disabled = button.disabled, variant = button.variant, size = button.size;
37
42
  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));
@@ -6,7 +6,8 @@ import { MenuButtonGroupProps } from "../MenuButtonGroup";
6
6
  export declare enum HeaderButtonCategory {
7
7
  IconButton = "icon",
8
8
  TextButton = "text",
9
- MenuButton = "menu"
9
+ MenuButton = "menu",
10
+ FabButton = "fab"
10
11
  }
11
12
  interface HeaderTextButtonProps {
12
13
  text: string;
@@ -24,13 +25,22 @@ interface HeaderIconButtonProps {
24
25
  icon: ReactElement;
25
26
  disabled?: boolean;
26
27
  type: HeaderButtonCategory.IconButton;
27
- variant?: FabProps["variant"];
28
28
  color?: IconButtonProps["color"];
29
29
  size?: IconButtonProps["size"];
30
30
  onClick: IconButtonProps["onClick"];
31
31
  }
32
+ interface HeaderFabButtonProps {
33
+ title: string;
34
+ icon: ReactElement;
35
+ disabled?: boolean;
36
+ type: HeaderButtonCategory.FabButton;
37
+ variant?: FabProps["variant"];
38
+ color?: FabProps["color"];
39
+ size?: FabProps["size"];
40
+ onClick: FabProps["onClick"];
41
+ }
32
42
  declare type HeaderMenuButtonProps = {
33
43
  type: HeaderButtonCategory.MenuButton;
34
44
  } & MenuButtonGroupProps;
35
- export declare type HeaderButtonProps = HeaderTextButtonProps | HeaderIconButtonProps | HeaderMenuButtonProps;
45
+ export declare type HeaderButtonProps = HeaderFabButtonProps | HeaderTextButtonProps | HeaderIconButtonProps | HeaderMenuButtonProps;
36
46
  export {};
@@ -3,4 +3,5 @@ export var HeaderButtonCategory;
3
3
  HeaderButtonCategory["IconButton"] = "icon";
4
4
  HeaderButtonCategory["TextButton"] = "text";
5
5
  HeaderButtonCategory["MenuButton"] = "menu";
6
+ HeaderButtonCategory["FabButton"] = "fab";
6
7
  })(HeaderButtonCategory || (HeaderButtonCategory = {}));
@@ -27,14 +27,15 @@ import FormLabel from "@mui/material/FormLabel";
27
27
  import Typography from "@mui/material/Typography";
28
28
  import RadioGroup from "@mui/material/RadioGroup";
29
29
  import FormControl from "@mui/material/FormControl";
30
+ import useMediaQuery from "@mui/material/useMediaQuery";
30
31
  import FormControlLabel from "@mui/material/FormControlLabel";
31
32
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
32
33
  import useCustomTheme from "../useCustomTheme";
33
34
  function FormRadioGroup(props) {
34
35
  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
36
  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({ title: tooltip, placement: "right", disableTouchListener: true }, { children: _jsx(FormLabel, { children: formLabel }) }))) : (_jsx(FormLabel, { children: formLabel })), _jsx(RadioGroup, __assign({ value: value, onChange: function (event) {
37
- event.preventDefault();
37
+ var isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
38
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsxs(FormControl, __assign({ disabled: disabled }, rest, { children: [tooltip ? (_jsx(Tooltip, __assign({ title: tooltip, placement: isNarrowerThanMd ? "top" : "right", disableTouchListener: true }, { children: _jsx(FormLabel, { children: formLabel }) }))) : (_jsx(FormLabel, { children: formLabel })), _jsx(RadioGroup, __assign({ value: value, onChange: function (event) {
38
39
  onChange(event.target.value);
39
40
  } }, { children: options.map(function (opt) {
40
41
  var _a;
@@ -26,6 +26,7 @@ import Tooltip from "@mui/material/Tooltip";
26
26
  import MenuItem from "@mui/material/MenuItem";
27
27
  import InputLabel from "@mui/material/InputLabel";
28
28
  import FormControl from "@mui/material/FormControl";
29
+ import useMediaQuery from "@mui/material/useMediaQuery";
29
30
  import FormHelperText from "@mui/material/FormHelperText";
30
31
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
31
32
  import useInteractions from "./useInteractions";
@@ -33,8 +34,9 @@ import useCustomTheme from "../useCustomTheme";
33
34
  function MultipleSelector(props) {
34
35
  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
36
  var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
37
+ var isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
36
38
  var _g = useInteractions(), tooltipOpen = _g.tooltipOpen, onOpenTooltip = _g.onOpenTooltip, onCloseTooltip = _g.onCloseTooltip;
37
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: "right" }, { 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) {
39
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: isNarrowerThanMd ? "top" : "right" }, { 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
40
  var _a;
39
41
  event.preventDefault();
40
42
  onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
@@ -26,6 +26,7 @@ import Tooltip from "@mui/material/Tooltip";
26
26
  import MenuItem from "@mui/material/MenuItem";
27
27
  import InputLabel from "@mui/material/InputLabel";
28
28
  import FormControl from "@mui/material/FormControl";
29
+ import useMediaQuery from "@mui/material/useMediaQuery";
29
30
  import FormHelperText from "@mui/material/FormHelperText";
30
31
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
31
32
  import useInteractions from "./useInteractions";
@@ -34,7 +35,8 @@ function SimpleSelector(props) {
34
35
  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
36
  var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
36
37
  var _f = useInteractions(), tooltipOpen = _f.tooltipOpen, onOpenTooltip = _f.onOpenTooltip, onCloseTooltip = _f.onCloseTooltip;
37
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: "right" }, { 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 isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
39
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: isNarrowerThanMd ? "top" : "right" }, { 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
40
  var _a;
39
41
  event.preventDefault();
40
42
  onChange((_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value);
@@ -22,6 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import { jsx as _jsx } from "react/jsx-runtime";
24
24
  import Tooltip from "@mui/material/Tooltip";
25
+ import useMediaQuery from "@mui/material/useMediaQuery";
25
26
  import Field from "@mui/material/TextField";
26
27
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
27
28
  import useInteractions from "./useInteractions";
@@ -29,11 +30,12 @@ import useCustomTheme from "../useCustomTheme";
29
30
  function NumberInput(props) {
30
31
  var onChange = props.onChange, value = props.value, _a = props.size, size = _a === void 0 ? "small" : _a, tooltip = props.tooltip, _b = props.integerOnly, integerOnly = _b === void 0 ? false : _b, _c = props.minValue, minValue = _c === void 0 ? Number.MIN_SAFE_INTEGER : _c, _d = props.maxValue, maxValue = _d === void 0 ? Number.MAX_SAFE_INTEGER : _d, error = props.error, helperText = props.helperText, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, rest = __rest(props, ["onChange", "value", "size", "tooltip", "integerOnly", "minValue", "maxValue", "error", "helperText", "primaryColor", "secondaryColor"]);
31
32
  var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
33
+ var isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
32
34
  var EXCEED_ERROR = "Your value exceeds the exceptable input range";
33
35
  if (maxValue < minValue)
34
36
  throw new Error("Max should be bigger than the `miniValue`!");
35
37
  var _e = useInteractions({ maxValue: maxValue, minValue: minValue, value: value, onChange: onChange }), exceedError = _e.exceedError, tooltipOpen = _e.tooltipOpen, handleBlur = _e.handleBlur, handleChange = _e.handleChange, onOpenTooltip = _e.onOpenTooltip, onCloseTooltip = _e.onCloseTooltip;
36
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: "number", value: value === undefined || value === null ? "" : value, onFocus: onOpenTooltip, onBlur: function () {
38
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: isNarrowerThanMd ? "top" : "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: "number", value: value === undefined || value === null ? "" : value, onFocus: onOpenTooltip, onBlur: function () {
37
39
  onCloseTooltip();
38
40
  handleBlur();
39
41
  }, onChange: handleChange, error: error || exceedError, helperText: helperText || (exceedError ? EXCEED_ERROR : "") }, rest)) })) })));
@@ -22,6 +22,7 @@ var __rest = (this && this.__rest) || function (s, e) {
22
22
  };
23
23
  import { jsx as _jsx } from "react/jsx-runtime";
24
24
  import Tooltip from "@mui/material/Tooltip";
25
+ import useMediaQuery from "@mui/material/useMediaQuery";
25
26
  import Field from "@mui/material/TextField";
26
27
  import ThemeProvider from "@mui/material/styles/ThemeProvider";
27
28
  import useInteractions from "./useInteractions";
@@ -29,8 +30,9 @@ import useCustomTheme from "../useCustomTheme";
29
30
  var TextInput = function (props) {
30
31
  var _a = props.type, type = _a === void 0 ? "text" : _a, onChange = props.onChange, value = props.value, _b = props.size, size = _b === void 0 ? "small" : _b, tooltip = props.tooltip, _c = props.maxLength, maxLength = _c === void 0 ? 999 : _c, _d = props.minLength, minLength = _d === void 0 ? 0 : _d, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, onBlur = props.onBlur, onFocus = props.onFocus, rest = __rest(props, ["type", "onChange", "value", "size", "tooltip", "maxLength", "minLength", "primaryColor", "secondaryColor", "onBlur", "onFocus"]);
31
32
  var theme = useCustomTheme({ primaryColor: primaryColor, secondaryColor: secondaryColor });
33
+ var isNarrowerThanMd = useMediaQuery(theme.breakpoints.down("md"));
32
34
  var _e = useInteractions(), tooltipOpen = _e.tooltipOpen, onOpenTooltip = _e.onOpenTooltip, onCloseTooltip = _e.onCloseTooltip;
33
- return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: type, value: value, onFocus: function (event) {
35
+ return (_jsx(ThemeProvider, __assign({ theme: theme }, { children: _jsx(Tooltip, __assign({ title: tooltip !== null && tooltip !== void 0 ? tooltip : "", open: !!tooltip && tooltipOpen, placement: isNarrowerThanMd ? "top" : "right" }, { children: _jsx(Field, __assign({ size: size, margin: "dense", type: type, value: value, onFocus: function (event) {
34
36
  onOpenTooltip();
35
37
  if (onFocus) {
36
38
  onFocus(event);
@@ -41,13 +41,13 @@ var ToastPrompt = function (props) {
41
41
  backgroundColor: green[600]
42
42
  },
43
43
  error: {
44
- backgroundColor: red[700]
44
+ backgroundColor: red["A400"]
45
45
  },
46
46
  info: {
47
47
  backgroundColor: blue[600]
48
48
  },
49
49
  warning: {
50
- backgroundColor: amber[900]
50
+ backgroundColor: amber[500]
51
51
  }
52
52
  };
53
53
  var Transition = function (args) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symply.io/basic-components",
3
- "version": "1.3.1-beta.1",
3
+ "version": "1.3.2-beta.1",
4
4
  "description": "Basic and reusable components for all frontend of Symply apps",
5
5
  "keywords": [
6
6
  "react",