@popmenu/ordering-ui 0.127.4 → 0.127.5

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.
@@ -602,7 +602,7 @@ const useEndAdornmentStyles = core.makeStyles((theme) => ({
602
602
  },
603
603
  }));
604
604
 
605
- const QuantityPicker = ({ value, onChange, disabled, preventManualChange, disableIncrement, variation, name, min = 1, max = 99, }) => {
605
+ const QuantityPicker = ({ value, onChange, disabled, preventManualChange, disableIncrement, variation, name, min = 0, max = 99, }) => {
606
606
  const fieldClasses = useQuantityPickerStyles();
607
607
  const inputClasses = useQuantityInputStyles({ variation, value });
608
608
  const startAdornmentClasses = useStartAdornmentStyles({ variation, value });
@@ -4,7 +4,7 @@ import { MinusCircle, PlusCircle } from '@popmenu/web-icons';
4
4
  import React__default, { useRef, useState, useEffect } from 'react';
5
5
  import { useQuantityPickerStyles, useQuantityInputStyles, useStartAdornmentStyles, useEndAdornmentStyles } from './QuantityPicker.styles.js';
6
6
 
7
- const QuantityPicker = ({ value, onChange, disabled, preventManualChange, disableIncrement, variation, name, min = 1, max = 99, }) => {
7
+ const QuantityPicker = ({ value, onChange, disabled, preventManualChange, disableIncrement, variation, name, min = 0, max = 99, }) => {
8
8
  const fieldClasses = useQuantityPickerStyles();
9
9
  const inputClasses = useQuantityInputStyles({ variation, value });
10
10
  const startAdornmentClasses = useStartAdornmentStyles({ variation, value });
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityPicker.js","sources":["../../../../src/components/QuantityPicker/QuantityPicker.tsx"],"sourcesContent":["import { TextField } from '@material-ui/core'\nimport { Icon, IconButton } from '@popmenu/common-ui'\nimport { MinusCircle, PlusCircle } from '@popmenu/web-icons'\nimport React, { ChangeEvent, MouseEventHandler, useEffect, useRef, useState } from 'react'\n\nimport {\n useEndAdornmentStyles,\n useQuantityInputStyles,\n useQuantityPickerStyles,\n useStartAdornmentStyles,\n} from './QuantityPicker.styles'\nimport { QuantityPickerProps } from './QuantityPickerProps'\n\nexport const QuantityPicker = ({\n value,\n onChange,\n disabled,\n preventManualChange,\n disableIncrement,\n variation,\n name,\n min = 1,\n max = 99,\n}: QuantityPickerProps): JSX.Element => {\n const fieldClasses = useQuantityPickerStyles()\n const inputClasses = useQuantityInputStyles({ variation, value })\n const startAdornmentClasses = useStartAdornmentStyles({ variation, value })\n const endAdornmentClasses = useEndAdornmentStyles({ variation, value })\n\n const inputRef = useRef<HTMLInputElement>(null)\n const [shouldSelect, setShouldSelect] = useState(false)\n\n const onIncrement: MouseEventHandler<HTMLButtonElement> = (event) => {\n onChange(event, { quantity: value + 1, reason: 'increment' })\n }\n\n const onDecrement: MouseEventHandler<HTMLButtonElement> = (event) => {\n onChange(event, { quantity: value - 1, reason: 'decrement' })\n }\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (preventManualChange) {\n event.preventDefault()\n return\n }\n let newValue = parseInt(event.target.value, 10)\n\n if (isNaN(newValue)) {\n newValue = min\n setShouldSelect(true)\n } else {\n setShouldSelect(false)\n }\n\n // Clamp value between min and max\n if (newValue < min) newValue = min\n if (newValue > max) newValue = max\n\n onChange(event, { quantity: newValue, reason: 'change' })\n }\n\n useEffect(() => {\n if (shouldSelect && inputRef.current) {\n inputRef.current.focus()\n inputRef.current.select()\n setShouldSelect(false)\n }\n }, [shouldSelect, value])\n\n return (\n <TextField\n classes={fieldClasses}\n type=\"number\"\n variant={variation === 'itemCount' ? 'filled' : 'standard'}\n value={value}\n disabled={disabled}\n onChange={handleChange}\n inputRef={inputRef}\n InputProps={{\n classes: inputClasses,\n disableUnderline: true,\n endAdornment: (\n <IconButton\n aria-label={`increase quantity ${name}`}\n className={endAdornmentClasses.root}\n color=\"default\"\n onClick={onIncrement}\n disabled={disabled || value >= max || disableIncrement}\n >\n <Icon icon={PlusCircle} />\n </IconButton>\n ),\n startAdornment: (\n <IconButton\n aria-label={`decrease quantity ${name}`}\n className={startAdornmentClasses.root}\n color=\"default\"\n onClick={onDecrement}\n disabled={disabled || value <= min}\n >\n <Icon icon={MinusCircle} />\n </IconButton>\n ),\n }}\n inputProps={{\n min,\n max,\n }}\n />\n )\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"QuantityPicker.js","sources":["../../../../src/components/QuantityPicker/QuantityPicker.tsx"],"sourcesContent":["import { TextField } from '@material-ui/core'\nimport { Icon, IconButton } from '@popmenu/common-ui'\nimport { MinusCircle, PlusCircle } from '@popmenu/web-icons'\nimport React, { ChangeEvent, MouseEventHandler, useEffect, useRef, useState } from 'react'\n\nimport {\n useEndAdornmentStyles,\n useQuantityInputStyles,\n useQuantityPickerStyles,\n useStartAdornmentStyles,\n} from './QuantityPicker.styles'\nimport { QuantityPickerProps } from './QuantityPickerProps'\n\nexport const QuantityPicker = ({\n value,\n onChange,\n disabled,\n preventManualChange,\n disableIncrement,\n variation,\n name,\n min = 0,\n max = 99,\n}: QuantityPickerProps): JSX.Element => {\n const fieldClasses = useQuantityPickerStyles()\n const inputClasses = useQuantityInputStyles({ variation, value })\n const startAdornmentClasses = useStartAdornmentStyles({ variation, value })\n const endAdornmentClasses = useEndAdornmentStyles({ variation, value })\n\n const inputRef = useRef<HTMLInputElement>(null)\n const [shouldSelect, setShouldSelect] = useState(false)\n\n const onIncrement: MouseEventHandler<HTMLButtonElement> = (event) => {\n onChange(event, { quantity: value + 1, reason: 'increment' })\n }\n\n const onDecrement: MouseEventHandler<HTMLButtonElement> = (event) => {\n onChange(event, { quantity: value - 1, reason: 'decrement' })\n }\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (preventManualChange) {\n event.preventDefault()\n return\n }\n let newValue = parseInt(event.target.value, 10)\n\n if (isNaN(newValue)) {\n newValue = min\n setShouldSelect(true)\n } else {\n setShouldSelect(false)\n }\n\n // Clamp value between min and max\n if (newValue < min) newValue = min\n if (newValue > max) newValue = max\n\n onChange(event, { quantity: newValue, reason: 'change' })\n }\n\n useEffect(() => {\n if (shouldSelect && inputRef.current) {\n inputRef.current.focus()\n inputRef.current.select()\n setShouldSelect(false)\n }\n }, [shouldSelect, value])\n\n return (\n <TextField\n classes={fieldClasses}\n type=\"number\"\n variant={variation === 'itemCount' ? 'filled' : 'standard'}\n value={value}\n disabled={disabled}\n onChange={handleChange}\n inputRef={inputRef}\n InputProps={{\n classes: inputClasses,\n disableUnderline: true,\n endAdornment: (\n <IconButton\n aria-label={`increase quantity ${name}`}\n className={endAdornmentClasses.root}\n color=\"default\"\n onClick={onIncrement}\n disabled={disabled || value >= max || disableIncrement}\n >\n <Icon icon={PlusCircle} />\n </IconButton>\n ),\n startAdornment: (\n <IconButton\n aria-label={`decrease quantity ${name}`}\n className={startAdornmentClasses.root}\n color=\"default\"\n onClick={onDecrement}\n disabled={disabled || value <= min}\n >\n <Icon icon={MinusCircle} />\n </IconButton>\n ),\n }}\n inputProps={{\n min,\n max,\n }}\n />\n )\n}\n"],"names":["React"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popmenu/ordering-ui",
3
- "version": "0.127.4",
3
+ "version": "0.127.5",
4
4
  "license": "MIT",
5
5
  "author": "Popmenu Design System Team",
6
6
  "description": "React components specifically for the popmenu Online Ordering web app.",
@@ -31,5 +31,5 @@
31
31
  "react": "17.x"
32
32
  },
33
33
  "sideEffects": false,
34
- "gitHead": "f22fcdb8658bb954232a90c22866fe118a6faca2"
34
+ "gitHead": "f68309ba0160def80f1b0c471c613438291cd2b0"
35
35
  }