@popmenu/common-ui 0.21.0 → 0.22.0

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.
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { NumberFieldProps } from './NumberFieldProps';
3
+ export declare const NumberField: (props: NumberFieldProps) => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { FilledTextFieldProps } from '@material-ui/core';
2
+ export interface NumberFieldProps extends Omit<FilledTextFieldProps, 'variant'> {
3
+ /** Callback invoked when the plus sign is clicked. */
4
+ onIncrement: () => void;
5
+ /** Callback invoked when the minus sign is clicked. */
6
+ onDecrement: () => void;
7
+ }
@@ -0,0 +1,2 @@
1
+ export declare const useNumberFieldStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"root">;
2
+ export declare const useNumberInputStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"root" | "input" | "adornedStart" | "adornedEnd">;
@@ -0,0 +1,2 @@
1
+ export { NumberField } from './NumberField';
2
+ export { NumberFieldProps } from './NumberFieldProps';
@@ -72,3 +72,4 @@ export { default as ToggleButtonGroup, ToggleButtonGroupProps } from './ToggleBu
72
72
  export { default as Toolbar, ToolbarProps } from './Toolbar';
73
73
  export { default as Tooltip, TooltipProps } from './Tooltip';
74
74
  export { default as Typography, TypographyProps } from './Typography';
75
+ export { NumberField, NumberFieldProps } from './NumberField';
package/build/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { default as Alert } from '@material-ui/lab/Alert';
2
- import { makeStyles, Paper as Paper$1, useTheme, Box, Popper, Grow, Slider, Link as Link$1 } from '@material-ui/core';
2
+ import { makeStyles, Paper as Paper$1, useTheme, Box, Popper, Grow, Slider, Link as Link$1, TextField as TextField$1 } from '@material-ui/core';
3
3
  export { Accordion, AccordionActions, AccordionDetails, AccordionSummary, Box, Breadcrumbs, ButtonBase, ClickAwayListener, Fab, GridList, Hidden, Modal, Popover, Popper, Step, StepButton, StepConnector, StepContent, StepIcon, StepLabel, Stepper, ThemeProvider, Toolbar, alpha, createTheme, darken, decomposeColor, getLuminance, hexToRgb, lighten, makeStyles, recomposeColor, rgbToHex } from '@material-ui/core';
4
4
  export { default as AppBar } from '@material-ui/core/AppBar';
5
5
  import * as React from 'react';
@@ -90,6 +90,42 @@ function __rest(s, e) {
90
90
  return t;
91
91
  }
92
92
 
93
+ var _path$3M;
94
+
95
+ function _extends$41() { _extends$41 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$41.apply(this, arguments); }
96
+
97
+ function SvgMinusCircle(props) {
98
+ return /*#__PURE__*/React.createElement("svg", _extends$41({
99
+ viewBox: "0 0 16 16",
100
+ strokeLinecap: "round",
101
+ strokeLinejoin: "round",
102
+ stroke: "currentColor",
103
+ width: "1em",
104
+ height: "1em",
105
+ fill: "none"
106
+ }, props), _path$3M || (_path$3M = /*#__PURE__*/React.createElement("path", {
107
+ d: "M8 14.667A6.667 6.667 0 108 1.333a6.667 6.667 0 000 13.334zM5.333 8h5.334"
108
+ })));
109
+ }
110
+
111
+ var _path$3E;
112
+
113
+ function _extends$3V() { _extends$3V = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3V.apply(this, arguments); }
114
+
115
+ function SvgPlusCircle(props) {
116
+ return /*#__PURE__*/React.createElement("svg", _extends$3V({
117
+ viewBox: "0 0 16 16",
118
+ strokeLinecap: "round",
119
+ strokeLinejoin: "round",
120
+ stroke: "currentColor",
121
+ width: "1em",
122
+ height: "1em",
123
+ fill: "none"
124
+ }, props), _path$3E || (_path$3E = /*#__PURE__*/React.createElement("path", {
125
+ d: "M8 14.667A6.667 6.667 0 108 1.333a6.667 6.667 0 000 13.334zm0-9.334v5.334M5.333 8h5.334"
126
+ })));
127
+ }
128
+
93
129
  var _path$3k;
94
130
 
95
131
  function _extends$3B() { _extends$3B = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3B.apply(this, arguments); }
@@ -995,6 +1031,44 @@ var Tooltip = forwardRef(function (props, ref) {
995
1031
  });
996
1032
  Tooltip.displayName = 'Tooltip';
997
1033
 
1034
+ var useNumberFieldStyles = makeStyles(function () { return ({
1035
+ root: {
1036
+ height: 56,
1037
+ },
1038
+ }); });
1039
+ var useNumberInputStyles = makeStyles(function (theme) { return ({
1040
+ root: {
1041
+ height: '100%',
1042
+ width: 'min-content',
1043
+ borderRadius: theme.spacing(1),
1044
+ },
1045
+ input: {
1046
+ '&::-webkit-clear-button, &::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {
1047
+ display: 'none',
1048
+ },
1049
+ '-moz-appearance': 'textfield',
1050
+ minWidth: 40,
1051
+ padding: 0,
1052
+ textAlign: 'center',
1053
+ },
1054
+ adornedStart: {
1055
+ padding: 0,
1056
+ },
1057
+ adornedEnd: {
1058
+ padding: 0,
1059
+ },
1060
+ }); });
1061
+
1062
+ var NumberField = function (props) {
1063
+ var onIncrement = props.onIncrement, onDecrement = props.onDecrement, _a = props.InputProps, InputProps = _a === void 0 ? {} : _a, classes = props.classes, restProps = __rest(props, ["onIncrement", "onDecrement", "InputProps", "classes"]);
1064
+ var _b = InputProps, inputClassesOverride = _b.classes, restInputProps = __rest(_b, ["classes"]);
1065
+ var fieldClasses = useNumberFieldStyles(props);
1066
+ var inputClasses = useNumberInputStyles(props);
1067
+ return (React__default.createElement(TextField$1, __assign({ classes: __assign(__assign({}, fieldClasses), classes), variant: "filled", type: "number", defaultValue: 0, InputProps: __assign({ classes: __assign(__assign({}, inputClasses), inputClassesOverride), disableUnderline: true, endAdornment: (React__default.createElement(IconButton, { style: { fontSize: 20 }, onClick: onIncrement },
1068
+ React__default.createElement(Icon, { icon: SvgPlusCircle }))), startAdornment: (React__default.createElement(IconButton, { style: { fontSize: 20 }, onClick: onDecrement },
1069
+ React__default.createElement(Icon, { icon: SvgMinusCircle }))) }, restInputProps) }, restProps)));
1070
+ };
1071
+
998
1072
  var useCollapsibleText = function () {
999
1073
  var _a = useState(false), open = _a[0], setOpen = _a[1];
1000
1074
  var collapseState = useState(false);
@@ -1008,5 +1082,5 @@ var useCollapsibleText = function () {
1008
1082
  };
1009
1083
  };
1010
1084
 
1011
- export { AudioPlayer, Avatar, Button, Checkbox, CollapsibleText, Divider, Icon, IconButton, Link, Paper, PaperContent, Radio, SplitInput, Switch, ToggleButton, ToggleButtonGroup, Tooltip, Typography, useCollapsibleText };
1085
+ export { AudioPlayer, Avatar, Button, Checkbox, CollapsibleText, Divider, Icon, IconButton, Link, NumberField, Paper, PaperContent, Radio, SplitInput, Switch, ToggleButton, ToggleButtonGroup, Tooltip, Typography, useCollapsibleText };
1012
1086
  //# sourceMappingURL=index.es.js.map