@mantine/dates 3.6.3 → 3.6.7
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/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +1 -11
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/TimeInput/TimeInput.js +35 -44
- package/cjs/components/TimeInput/TimeInput.js.map +1 -1
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js +8 -6
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
- package/cjs/components/TimeInputBase/TimeField/TimeField.js +19 -5
- package/cjs/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
- package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js +5 -11
- package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -1
- package/cjs/components/TimeInputBase/get-date/get-date.js +7 -1
- package/cjs/components/TimeInputBase/get-date/get-date.js.map +1 -1
- package/cjs/components/TimeInputBase/get-time-values/get-time-value.js +13 -4
- package/cjs/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -1
- package/cjs/components/TimeRangeInput/TimeRangeInput.js +44 -237
- package/cjs/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/cjs/index.js +4 -0
- package/cjs/index.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/esm/components/DateRangePicker/DateRangePicker.js +1 -11
- package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/components/TimeInput/TimeInput.js +37 -46
- package/esm/components/TimeInput/TimeInput.js.map +1 -1
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js +8 -6
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
- package/esm/components/TimeInputBase/TimeField/TimeField.js +20 -6
- package/esm/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
- package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js +5 -11
- package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -1
- package/esm/components/TimeInputBase/get-date/get-date.js +7 -1
- package/esm/components/TimeInputBase/get-date/get-date.js.map +1 -1
- package/esm/components/TimeInputBase/get-time-values/get-time-value.js +13 -4
- package/esm/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -1
- package/esm/components/TimeRangeInput/TimeRangeInput.js +46 -239
- package/esm/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/lib/components/CalendarBase/index.d.ts +3 -0
- package/lib/components/CalendarBase/index.d.ts.map +1 -0
- package/lib/components/DatePicker/DatePicker.d.ts +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/TimeInput/TimeInput.d.ts +4 -2
- package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts +0 -2
- package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts.map +1 -1
- package/lib/components/TimeInputBase/TimeField/TimeField.d.ts +6 -3
- package/lib/components/TimeInputBase/TimeField/TimeField.d.ts.map +1 -1
- package/lib/components/TimeInputBase/create-time-handler/create-time-handler.d.ts +1 -1
- package/lib/components/TimeInputBase/create-time-handler/create-time-handler.d.ts.map +1 -1
- package/lib/components/TimeInputBase/get-date/get-date.d.ts.map +1 -1
- package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts +2 -1
- package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts.map +1 -1
- package/lib/components/TimeRangeInput/TimeRangeInput.d.ts.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeInput.js","sources":["../../../src/components/TimeInput/TimeInput.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef, useEffect } from 'react';\nimport {\n InputBaseProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n DefaultProps,\n Input,\n InputWrapper,\n MantineSize,\n ClassNames,\n CloseButton,\n extractMargins,\n} from '@mantine/core';\nimport { useMergedRef, useUuid } from '@mantine/hooks';\nimport { TimeField } from '../TimeInputBase/TimeField/TimeField';\nimport { createTimeHandler } from '../TimeInputBase/create-time-handler/create-time-handler';\nimport useStyles from './TimeInput.styles';\nimport { padTime } from '../TimeInputBase/pad-time/pad-time';\nimport { AmPmInput } from '../TimeInputBase/AmPmInput/AmPmInput';\nimport { createAmPmHandler } from '../TimeInputBase/create-amPm-handler/create-amPm-handler';\nimport { getDate } from '../TimeInputBase/get-date/get-date';\nimport { getTimeValues } from '../TimeInputBase/get-time-values/get-time-value';\n\nexport type TimeInputStylesNames =\n | ClassNames<typeof useStyles>\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface TimeInputProps\n extends DefaultProps<TimeInputStylesNames>,\n InputBaseProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange' | 'value' | 'defaultValue'> {\n /** Input size */\n size?: MantineSize;\n\n /** Controlled input value */\n value?: Date;\n\n /** Uncontrolled input default value */\n defaultValue?: Date;\n\n /** Controlled input onChange handler */\n onChange?(value: Date): void;\n\n /** Display seconds input */\n withSeconds?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Time format */\n format?: '12' | '24';\n\n /** Uncontrolled input name */\n name?: string;\n\n /** aria-label for hours input */\n hoursLabel?: string;\n\n /** aria-label for minutes input */\n minutesLabel?: string;\n\n /** aria-label for seconds input */\n secondsLabel?: string;\n\n /** aria-label for am/pm input */\n amPmLabel?: string;\n\n /** Placeholder for hours/minutes/seconds inputs*/\n timePlaceholder?: string;\n\n /** Placeholder for am/pm input */\n amPmPlaceholder?: string;\n\n /** Disable field */\n disabled?: boolean;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const TimeInput = forwardRef<HTMLInputElement, TimeInputProps>(\n (\n {\n required,\n label,\n error,\n description,\n className,\n style,\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n id,\n value,\n defaultValue,\n onChange,\n withSeconds = false,\n clearable = false,\n clearButtonLabel,\n format = '24',\n name,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n amPmLabel,\n timePlaceholder = '--',\n amPmPlaceholder = 'am',\n disabled = false,\n sx,\n ...others\n }: TimeInputProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'TimeInput' });\n const { margins, rest } = extractMargins(others);\n const uuid = useUuid(id);\n\n const hoursRef = useRef<HTMLInputElement>();\n const minutesRef = useRef<HTMLInputElement>();\n const secondsRef = useRef<HTMLInputElement>();\n const amPmRef = useRef<HTMLInputElement>();\n const [amPm, setAmPm] = useState('am');\n const [time, setTime] = useState<{ hours: string; minutes: string; seconds: string }>(\n getTimeValues(value || defaultValue)\n );\n const [_value, setValue] = useState<Date>(value || defaultValue);\n\n useEffect(() => {\n setValue(getDate(time.hours, time.minutes, time.seconds, format, amPm));\n }, [time, format, amPm, onChange]);\n\n useEffect(() => {\n if (format === '12' && _value) {\n const _hours = parseInt(time.hours, 10);\n setAmPm(_hours >= 12 ? 'pm' : 'am');\n\n if (_hours >= 12) {\n setTime({ ...time, hours: padTime((_hours - 12).toString()) });\n }\n }\n }, [format]);\n\n const handleHoursChange = createTimeHandler({\n onChange: (val) => {\n const newTime = { ...time, hours: padTime(val) };\n setTime(newTime);\n typeof onChange === 'function' &&\n onChange(getDate(newTime.hours, newTime.minutes, newTime.seconds, format, amPm));\n },\n min: 0,\n max: format === '12' ? 11 : 23,\n maxValue: format === '12' ? 1 : 2,\n nextRef: minutesRef,\n });\n\n const handleMinutesChange = createTimeHandler({\n onChange: (val) => {\n const newTime = { ...time, minutes: padTime(val) };\n setTime(newTime);\n typeof onChange === 'function' &&\n onChange(getDate(newTime.hours, newTime.minutes, newTime.seconds, format, amPm));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: !withSeconds ? amPmRef : secondsRef,\n });\n\n const handleSecondsChange = createTimeHandler({\n onChange: (val) => {\n const newTime = { ...time, seconds: padTime(val) };\n setTime(newTime);\n typeof onChange === 'function' &&\n onChange(getDate(newTime.hours, newTime.minutes, newTime.seconds, format, amPm));\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: amPmRef,\n });\n\n const handleAmPmChange = createAmPmHandler({\n onChange: (val) => {\n setAmPm(val);\n },\n });\n\n const handleClear = () => {\n setTime({ hours: '', minutes: '', seconds: '' });\n setAmPm('');\n hoursRef.current.focus();\n };\n\n const rightSection =\n clearable && _value ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={handleClear}\n size={size}\n />\n ) : null;\n\n return (\n <InputWrapper\n required={required}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector=\"TimeInput\"\n id={uuid}\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n __staticSelector=\"TimeInput\"\n required={required}\n invalid={!!error}\n onClick={() => hoursRef.current.focus()}\n size={size}\n className={cx({ [classes.disabled]: disabled })}\n classNames={classNames}\n styles={styles}\n disabled={disabled}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n {...rest}\n >\n <div className={classes.controls}>\n <TimeField\n ref={useMergedRef(hoursRef, ref)}\n value={time.hours}\n onChange={handleHoursChange}\n setValue={(val) => setTime((current) => ({ ...current, hours: val }))}\n id={uuid}\n className={classes.timeInput}\n withSeparator\n size={size}\n max={format === '12' ? 11 : 23}\n placeholder={timePlaceholder}\n aria-label={hoursLabel}\n disabled={disabled}\n />\n <TimeField\n ref={minutesRef}\n value={time.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setTime((current) => ({ ...current, minutes: val }))}\n className={classes.timeInput}\n withSeparator={withSeconds}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={minutesLabel}\n disabled={disabled}\n />\n {withSeconds && (\n <TimeField\n ref={secondsRef}\n value={time.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setTime((current) => ({ ...current, seconds: val }))}\n className={classes.timeInput}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={secondsLabel}\n disabled={disabled}\n />\n )}\n {format === '12' && (\n <AmPmInput\n ref={amPmRef}\n value={amPm}\n onChange={handleAmPmChange}\n setValue={(val) => {\n setAmPm(val);\n }}\n placeholder={amPmPlaceholder}\n size={size}\n aria-label={amPmLabel}\n disabled={disabled}\n />\n )}\n {name && <input type=\"hidden\" name={name} value={_value.toISOString()} />}\n </div>\n </Input>\n </InputWrapper>\n );\n }\n);\n\nTimeInput.displayName = '@mantine/dates/TimeInput';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimeInput.js","sources":["../../../src/components/TimeInput/TimeInput.tsx"],"sourcesContent":["import React, { useState, useRef, forwardRef } from 'react';\nimport {\n InputBaseProps,\n InputWrapperBaseProps,\n InputStylesNames,\n InputWrapperStylesNames,\n DefaultProps,\n Input,\n InputWrapper,\n MantineSize,\n ClassNames,\n CloseButton,\n extractMargins,\n} from '@mantine/core';\nimport { useDidUpdate, useMergedRef, useUuid } from '@mantine/hooks';\nimport { TimeField } from '../TimeInputBase/TimeField/TimeField';\nimport { createTimeHandler } from '../TimeInputBase/create-time-handler/create-time-handler';\nimport useStyles from './TimeInput.styles';\nimport { AmPmInput } from '../TimeInputBase/AmPmInput/AmPmInput';\nimport { createAmPmHandler } from '../TimeInputBase/create-amPm-handler/create-amPm-handler';\nimport { getDate } from '../TimeInputBase/get-date/get-date';\nimport { getTimeValues } from '../TimeInputBase/get-time-values/get-time-value';\n\nexport type TimeInputStylesNames =\n | ClassNames<typeof useStyles>\n | InputStylesNames\n | InputWrapperStylesNames;\n\nexport interface TimeInputProps\n extends DefaultProps<TimeInputStylesNames>,\n InputBaseProps,\n InputWrapperBaseProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange' | 'value' | 'defaultValue'> {\n /** Input size */\n size?: MantineSize;\n\n /** Controlled input value */\n value?: Date | null;\n\n /** Uncontrolled input default value */\n defaultValue?: Date | null;\n\n /** Controlled input onChange handler */\n onChange?(value: Date): void;\n\n /** Display seconds input */\n withSeconds?: boolean;\n\n /** Allow to clear item */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** Time format */\n format?: '12' | '24';\n\n /** Uncontrolled input name */\n name?: string;\n\n /** aria-label for hours input */\n hoursLabel?: string;\n\n /** aria-label for minutes input */\n minutesLabel?: string;\n\n /** aria-label for seconds input */\n secondsLabel?: string;\n\n /** aria-label for am/pm input */\n amPmLabel?: string;\n\n /** Placeholder for hours/minutes/seconds inputs*/\n timePlaceholder?: string;\n\n /** Placeholder for am/pm input */\n amPmPlaceholder?: string;\n\n /** Disable field */\n disabled?: boolean;\n\n /** Ref to focus after final TimeInput field. Used by TimeRangeInput */\n nextRef?: React.RefObject<HTMLInputElement>;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nexport const TimeInput = forwardRef<HTMLInputElement, TimeInputProps>(\n (\n {\n required,\n label,\n error,\n description,\n className,\n style,\n size = 'sm',\n wrapperProps,\n classNames,\n styles,\n id,\n value,\n defaultValue,\n onChange,\n withSeconds = false,\n clearable = false,\n clearButtonLabel,\n format = '24',\n name,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n amPmLabel,\n timePlaceholder = '--',\n amPmPlaceholder = 'am',\n disabled = false,\n sx,\n nextRef,\n ...others\n }: TimeInputProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'TimeInput' });\n const { margins, rest } = extractMargins(others);\n const uuid = useUuid(id);\n\n const hoursRef = useRef<HTMLInputElement>();\n const minutesRef = useRef<HTMLInputElement>();\n const secondsRef = useRef<HTMLInputElement>();\n const amPmRef = useRef<HTMLInputElement>();\n const [time, setTime] = useState<{\n hours: string;\n minutes: string;\n seconds: string;\n amPm: string;\n }>(getTimeValues(value || defaultValue, format));\n const [_value, setValue] = useState<Date | null>(value || defaultValue);\n\n useDidUpdate(() => {\n setTime(getTimeValues(_value, format));\n }, [_value, format]);\n\n // Allow controlled value prop to override internal _value\n useDidUpdate(() => {\n if (value?.getTime() !== _value?.getTime()) {\n setValue(value);\n }\n }, [value]);\n\n const setDate = (change: Partial<typeof time>) => {\n const timeWithChange = { ...time, ...change };\n const newDate = getDate(\n timeWithChange.hours,\n timeWithChange.minutes,\n timeWithChange.seconds,\n format,\n timeWithChange.amPm\n );\n setValue(newDate);\n typeof onChange === 'function' && onChange(newDate);\n };\n\n const handleHoursChange = createTimeHandler({\n onChange: (val) => {\n setDate({ hours: val });\n },\n min: format === '12' ? 1 : 0,\n max: format === '12' ? 12 : 23,\n maxValue: 2,\n nextRef: minutesRef,\n });\n\n const handleMinutesChange = createTimeHandler({\n onChange: (val) => {\n setDate({ minutes: val });\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: withSeconds ? secondsRef : format === '12' ? amPmRef : nextRef,\n });\n\n const handleSecondsChange = createTimeHandler({\n onChange: (val) => {\n setDate({ seconds: val });\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: format === '12' ? amPmRef : nextRef,\n });\n\n const handleAmPmChange = createAmPmHandler({\n onChange: (val) => {\n setDate({ amPm: val });\n },\n nextRef,\n });\n\n const handleClear = () => {\n setTime({ hours: '', minutes: '', seconds: '', amPm: '' });\n setValue(null);\n hoursRef.current.focus();\n };\n\n const rightSection =\n clearable && _value ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={handleClear}\n size={size}\n />\n ) : null;\n\n return (\n <InputWrapper\n required={required}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector=\"TimeInput\"\n id={uuid}\n sx={sx}\n {...margins}\n {...wrapperProps}\n >\n <Input\n component=\"div\"\n __staticSelector=\"TimeInput\"\n required={required}\n invalid={!!error}\n onClick={() => hoursRef.current.focus()}\n size={size}\n className={cx({ [classes.disabled]: disabled })}\n classNames={classNames}\n styles={styles}\n disabled={disabled}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n {...rest}\n >\n <div className={classes.controls}>\n <TimeField\n ref={useMergedRef(hoursRef, ref)}\n value={time.hours}\n onChange={handleHoursChange}\n setValue={(val) => setTime((current) => ({ ...current, hours: val }))}\n id={uuid}\n className={classes.timeInput}\n withSeparator\n size={size}\n max={format === '12' ? 12 : 23}\n placeholder={timePlaceholder}\n aria-label={hoursLabel}\n disabled={disabled}\n name={name}\n />\n <TimeField\n ref={minutesRef}\n value={time.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setTime((current) => ({ ...current, minutes: val }))}\n className={classes.timeInput}\n withSeparator={withSeconds}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={minutesLabel}\n disabled={disabled}\n />\n {withSeconds && (\n <TimeField\n ref={secondsRef}\n value={time.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setTime((current) => ({ ...current, seconds: val }))}\n className={classes.timeInput}\n size={size}\n max={59}\n placeholder={timePlaceholder}\n aria-label={secondsLabel}\n disabled={disabled}\n />\n )}\n {format === '12' && (\n <AmPmInput\n ref={amPmRef}\n value={time.amPm}\n onChange={handleAmPmChange}\n placeholder={amPmPlaceholder}\n size={size}\n aria-label={amPmLabel}\n disabled={disabled}\n />\n )}\n </div>\n </Input>\n </InputWrapper>\n );\n }\n);\n\nTimeInput.displayName = '@mantine/dates/TimeInput';\n"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ var __objRest = (source, exclude) => {
|
|
|
31
31
|
return target;
|
|
32
32
|
};
|
|
33
33
|
const AmPmInput = forwardRef((_a, ref) => {
|
|
34
|
-
var _b = _a, { className, onChange, onFocus,
|
|
34
|
+
var _b = _a, { className, onChange, onFocus, size = "sm", value } = _b, others = __objRest(_b, ["className", "onChange", "onFocus", "size", "value"]);
|
|
35
35
|
const { classes, cx } = useStyles({ size, hasValue: !!value });
|
|
36
36
|
const inputRef = useRef();
|
|
37
37
|
const handleFocus = (event) => {
|
|
@@ -45,23 +45,25 @@ const AmPmInput = forwardRef((_a, ref) => {
|
|
|
45
45
|
const handleKeyDown = (event) => {
|
|
46
46
|
if (event.nativeEvent.code === "ArrowUp" || event.nativeEvent.code === "ArrowDown") {
|
|
47
47
|
event.preventDefault();
|
|
48
|
-
onChange(value === "am" ? "pm" : "am",
|
|
48
|
+
onChange(value === "am" ? "pm" : "am", true);
|
|
49
49
|
}
|
|
50
50
|
if (event.key === "p" || event.nativeEvent.code === "KeyP") {
|
|
51
|
-
onChange("pm",
|
|
51
|
+
onChange("pm", false);
|
|
52
52
|
}
|
|
53
53
|
if (event.key === "a" || event.nativeEvent.code === "KeyA") {
|
|
54
|
-
onChange("am",
|
|
54
|
+
onChange("am", false);
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
+
const handleChange = () => {
|
|
58
|
+
onChange(value.toString(), true);
|
|
59
|
+
};
|
|
57
60
|
return /* @__PURE__ */ React.createElement("input", __spreadValues({
|
|
58
61
|
type: "text",
|
|
59
62
|
ref: useMergedRef(inputRef, ref),
|
|
60
63
|
onClick: handleClick,
|
|
61
64
|
onFocus: handleFocus,
|
|
62
65
|
onKeyDown: handleKeyDown,
|
|
63
|
-
onChange:
|
|
64
|
-
},
|
|
66
|
+
onChange: handleChange,
|
|
65
67
|
value,
|
|
66
68
|
className: cx(classes.timeInput, className)
|
|
67
69
|
}, others));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmPmInput.js","sources":["../../../../src/components/TimeInputBase/AmPmInput/AmPmInput.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { MantineSize } from '@mantine/core';\nimport useStyles from '../TimeInputBase.styles';\n\ninterface AmPmSelectProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange(value: string, triggerShift: boolean): void;\n\n /**
|
|
1
|
+
{"version":3,"file":"AmPmInput.js","sources":["../../../../src/components/TimeInputBase/AmPmInput/AmPmInput.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { MantineSize } from '@mantine/core';\nimport useStyles from '../TimeInputBase.styles';\n\ninterface AmPmSelectProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange(value: string, triggerShift: boolean): void;\n\n /** Colon text size */\n size?: MantineSize;\n}\n\nexport const AmPmInput = forwardRef<HTMLInputElement, AmPmSelectProps>(\n ({ className, onChange, onFocus, size = 'sm', value, ...others }: AmPmSelectProps, ref) => {\n const { classes, cx } = useStyles({ size, hasValue: !!value });\n const inputRef = useRef<HTMLInputElement>();\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n inputRef.current.select();\n };\n\n const handleClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n event.stopPropagation();\n inputRef.current.select();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.code === 'ArrowUp' || event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n onChange(value === 'am' ? 'pm' : 'am', true);\n }\n\n if (event.key === 'p' || event.nativeEvent.code === 'KeyP') {\n onChange('pm', false);\n }\n\n if (event.key === 'a' || event.nativeEvent.code === 'KeyA') {\n onChange('am', false);\n }\n };\n\n /*\n If the field change is triggered onKeyDown, the keyUp event seems to steal focus back from the nextRef\n This way, all key presses focus nextRef and don't steal it back\n Anything beside a or p will leave the value and just move to the next field\n */\n const handleChange = () => {\n onChange(value.toString(), true);\n };\n\n return (\n <input\n type=\"text\"\n ref={useMergedRef(inputRef, ref)}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n value={value}\n className={cx(classes.timeInput, className)}\n {...others}\n />\n );\n }\n);\n\nAmPmInput.displayName = '@mantine/dates/AmPmInput';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { forwardRef, useRef } from 'react';
|
|
1
|
+
import React, { forwardRef, useState, useRef } from 'react';
|
|
2
2
|
import { useMergedRef, clamp } from '@mantine/hooks';
|
|
3
3
|
import { Text } from '@mantine/core';
|
|
4
4
|
import { padTime } from '../pad-time/pad-time.js';
|
|
@@ -42,6 +42,7 @@ const TimeField = forwardRef((_a, ref) => {
|
|
|
42
42
|
withSeparator = false,
|
|
43
43
|
size = "sm",
|
|
44
44
|
max,
|
|
45
|
+
min = 0,
|
|
45
46
|
value
|
|
46
47
|
} = _b, others = __objRest(_b, [
|
|
47
48
|
"className",
|
|
@@ -52,16 +53,22 @@ const TimeField = forwardRef((_a, ref) => {
|
|
|
52
53
|
"withSeparator",
|
|
53
54
|
"size",
|
|
54
55
|
"max",
|
|
56
|
+
"min",
|
|
55
57
|
"value"
|
|
56
58
|
]);
|
|
59
|
+
const [digitsEntered, setDigitsEntered] = useState(0);
|
|
57
60
|
const { classes, cx, theme } = useStyles({ size, hasValue: !!value });
|
|
58
61
|
const inputRef = useRef();
|
|
59
62
|
const handleFocus = (event) => {
|
|
60
63
|
typeof onFocus === "function" && onFocus(event);
|
|
61
64
|
inputRef.current.select();
|
|
65
|
+
setDigitsEntered(0);
|
|
62
66
|
};
|
|
63
67
|
const handleBlur = (event) => {
|
|
64
68
|
typeof onBlur === "function" && onBlur(event);
|
|
69
|
+
if (digitsEntered === 1) {
|
|
70
|
+
typeof onChange === "function" && onChange(event.currentTarget.value, false);
|
|
71
|
+
}
|
|
65
72
|
};
|
|
66
73
|
const handleClick = (event) => {
|
|
67
74
|
event.stopPropagation();
|
|
@@ -70,25 +77,32 @@ const TimeField = forwardRef((_a, ref) => {
|
|
|
70
77
|
const handleKeyDown = (event) => {
|
|
71
78
|
if (event.nativeEvent.code === "ArrowUp") {
|
|
72
79
|
event.preventDefault();
|
|
73
|
-
const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) + 1, max, min
|
|
80
|
+
const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) + 1, max, min }).toString());
|
|
74
81
|
if (value !== padded) {
|
|
75
|
-
setValue(padded);
|
|
76
82
|
onChange(padded, false);
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
if (event.nativeEvent.code === "ArrowDown") {
|
|
80
86
|
event.preventDefault();
|
|
81
|
-
const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) - 1, max, min
|
|
87
|
+
const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) - 1, max, min }).toString());
|
|
82
88
|
if (value !== padded) {
|
|
83
|
-
setValue(padded);
|
|
84
89
|
onChange(padded, false);
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
92
|
};
|
|
93
|
+
const handleChange = (event) => {
|
|
94
|
+
setDigitsEntered(digitsEntered + 1);
|
|
95
|
+
const _val = parseInt(event.currentTarget.value, 10).toString();
|
|
96
|
+
if (_val === "0" && digitsEntered === 0) {
|
|
97
|
+
setValue("00");
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
onChange(_val, true, digitsEntered > 0);
|
|
101
|
+
};
|
|
88
102
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("input", __spreadValues({
|
|
89
103
|
type: "text",
|
|
90
104
|
ref: useMergedRef(inputRef, ref),
|
|
91
|
-
onChange:
|
|
105
|
+
onChange: handleChange,
|
|
92
106
|
onClick: handleClick,
|
|
93
107
|
onFocus: handleFocus,
|
|
94
108
|
onBlur: handleBlur,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeField.js","sources":["../../../../src/components/TimeInputBase/TimeField/TimeField.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { useMergedRef, clamp } from '@mantine/hooks';\nimport { Text, MantineSize } from '@mantine/core';\nimport { padTime } from '../pad-time/pad-time';\nimport useStyles from '../TimeInputBase.styles';\n\ninterface TimeFieldProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange
|
|
1
|
+
{"version":3,"file":"TimeField.js","sources":["../../../../src/components/TimeInputBase/TimeField/TimeField.tsx"],"sourcesContent":["import React, { useRef, forwardRef, useState } from 'react';\nimport { useMergedRef, clamp } from '@mantine/hooks';\nimport { Text, MantineSize } from '@mantine/core';\nimport { padTime } from '../pad-time/pad-time';\nimport useStyles from '../TimeInputBase.styles';\nimport type { createTimeHandler } from '../create-time-handler/create-time-handler';\n\ninterface TimeFieldProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange: ReturnType<typeof createTimeHandler>;\n\n /** Called to set input value and bypass parent validation/onChange calls */\n setValue(value: string): void;\n\n /** Adds colon after the field */\n withSeparator?: boolean;\n\n /** Colon text size */\n size?: MantineSize;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimum possible value. Default 0 */\n min?: number;\n}\n\nexport const TimeField = forwardRef<HTMLInputElement, TimeFieldProps>(\n (\n {\n className,\n onFocus,\n onBlur,\n onChange,\n setValue,\n withSeparator = false,\n size = 'sm',\n max,\n min = 0,\n value,\n ...others\n }: TimeFieldProps,\n ref\n ) => {\n const [digitsEntered, setDigitsEntered] = useState(0);\n const { classes, cx, theme } = useStyles({ size, hasValue: !!value });\n const inputRef = useRef<HTMLInputElement>();\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n inputRef.current.select();\n setDigitsEntered(0);\n };\n\n const handleBlur = (event: any) => {\n typeof onBlur === 'function' && onBlur(event);\n // Call onChange in case the only digit entered is 0\n if (digitsEntered === 1) {\n typeof onChange === 'function' && onChange(event.currentTarget.value, false);\n }\n };\n\n const handleClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n event.stopPropagation();\n inputRef.current.select();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const padded = padTime(\n clamp({ value: parseInt(event.currentTarget.value, 10) + 1, max, min }).toString()\n );\n\n if (value !== padded) {\n onChange(padded, false);\n }\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const padded = padTime(\n clamp({ value: parseInt(event.currentTarget.value, 10) - 1, max, min }).toString()\n );\n\n if (value !== padded) {\n onChange(padded, false);\n }\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setDigitsEntered(digitsEntered + 1);\n\n const _val = parseInt(event.currentTarget.value, 10).toString();\n\n // In 12-hour format, 0 is not allowed, but it could be the start of 01, 02, etc.\n if (_val === '0' && digitsEntered === 0) {\n setValue('00');\n return;\n }\n onChange(_val, true, digitsEntered > 0);\n };\n\n return (\n <>\n <input\n type=\"text\"\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onClick={handleClick}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n value={value}\n className={cx(classes.timeInput, className)}\n {...others}\n />\n\n {withSeparator && (\n <Text\n size={size}\n style={{\n lineHeight: 1,\n color: value\n ? 'inherit'\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[7],\n }}\n >\n :\n </Text>\n )}\n </>\n );\n }\n);\n\nTimeField.displayName = '@mantine/dates/TimeField';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,22 +2,16 @@ import { clamp } from '@mantine/hooks';
|
|
|
2
2
|
import { padTime } from '../pad-time/pad-time.js';
|
|
3
3
|
|
|
4
4
|
function createTimeHandler({ onChange, nextRef, min, max, maxValue }) {
|
|
5
|
-
return (value, triggerShift) => {
|
|
6
|
-
var _a, _b
|
|
7
|
-
if (value === "00") {
|
|
8
|
-
onChange("00");
|
|
9
|
-
triggerShift && ((_a = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _a.focus());
|
|
10
|
-
triggerShift && ((_b = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _b.select());
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
5
|
+
return (value, triggerShift, forceTriggerShift = false) => {
|
|
6
|
+
var _a, _b;
|
|
13
7
|
const parsed = parseInt(value, 10);
|
|
14
8
|
if (Number.isNaN(parsed)) {
|
|
15
9
|
return;
|
|
16
10
|
}
|
|
17
|
-
if (parsed > maxValue) {
|
|
11
|
+
if (parsed > maxValue || forceTriggerShift) {
|
|
18
12
|
onChange(padTime(clamp({ value: parsed, min, max }).toString()));
|
|
19
|
-
triggerShift && ((
|
|
20
|
-
triggerShift && ((
|
|
13
|
+
triggerShift && ((_a = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _a.focus());
|
|
14
|
+
triggerShift && ((_b = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _b.select());
|
|
21
15
|
return;
|
|
22
16
|
}
|
|
23
17
|
onChange(parsed.toString());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-time-handler.js","sources":["../../../../src/components/TimeInputBase/create-time-handler/create-time-handler.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport { padTime } from '../pad-time/pad-time';\n\ninterface CreateTimeHandler {\n onChange(value: string): void;\n nextRef?: React.RefObject<HTMLInputElement>;\n min: number;\n max: number;\n maxValue: number;\n}\n\nexport function createTimeHandler({ onChange, nextRef, min, max, maxValue }: CreateTimeHandler) {\n return (value: string, triggerShift: boolean
|
|
1
|
+
{"version":3,"file":"create-time-handler.js","sources":["../../../../src/components/TimeInputBase/create-time-handler/create-time-handler.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport { padTime } from '../pad-time/pad-time';\n\ninterface CreateTimeHandler {\n onChange(value: string): void;\n nextRef?: React.RefObject<HTMLInputElement>;\n min: number;\n max: number;\n maxValue: number;\n}\n\nexport function createTimeHandler({ onChange, nextRef, min, max, maxValue }: CreateTimeHandler) {\n return (value: string, triggerShift: boolean, forceTriggerShift = false) => {\n const parsed = parseInt(value, 10);\n\n if (Number.isNaN(parsed)) {\n return;\n }\n\n if (parsed > maxValue || forceTriggerShift) {\n onChange(padTime(clamp({ value: parsed, min, max }).toString()));\n triggerShift && nextRef?.current?.focus();\n triggerShift && nextRef?.current?.select();\n return;\n }\n\n onChange(parsed.toString());\n };\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;AAC7E,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,GAAG,KAAK,KAAK;AAC7D,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC9B,MAAM,OAAO;AACb,KAAK;AACL,IAAI,IAAI,MAAM,GAAG,QAAQ,IAAI,iBAAiB,EAAE;AAChD,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACvE,MAAM,YAAY,KAAK,CAAC,EAAE,GAAG,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AACxG,MAAM,YAAY,KAAK,CAAC,EAAE,GAAG,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AACzG,MAAM,OAAO;AACb,KAAK;AACL,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -8,7 +8,13 @@ function getDate(hours, minutes, seconds, format, amPm) {
|
|
|
8
8
|
if (Number.isNaN(_hours)) {
|
|
9
9
|
_hours = 0;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
if (format === "12") {
|
|
12
|
+
_hours %= 12;
|
|
13
|
+
if (amPm === "pm") {
|
|
14
|
+
_hours += 12;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return date.hour(_hours).minute(Number.isNaN(_minutes) ? 0 : _minutes).second(Number.isNaN(_seconds) ? 0 : _seconds).toDate();
|
|
12
18
|
}
|
|
13
19
|
|
|
14
20
|
export { getDate };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-date.js","sources":["../../../../src/components/TimeInputBase/get-date/get-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nexport function getDate(\n hours: string,\n minutes: string,\n seconds: string,\n format: '12' | '24',\n amPm?: string\n) {\n const date = dayjs();\n let _hours = parseInt(hours, 10);\n const _minutes = parseInt(minutes, 10);\n const _seconds = parseInt(seconds, 10);\n\n if (Number.isNaN(_hours)) {\n _hours = 0;\n }\n\n
|
|
1
|
+
{"version":3,"file":"get-date.js","sources":["../../../../src/components/TimeInputBase/get-date/get-date.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nexport function getDate(\n hours: string,\n minutes: string,\n seconds: string,\n format: '12' | '24',\n amPm?: string\n) {\n const date = dayjs();\n let _hours = parseInt(hours, 10);\n const _minutes = parseInt(minutes, 10);\n const _seconds = parseInt(seconds, 10);\n\n if (Number.isNaN(_hours)) {\n _hours = 0;\n }\n\n if (format === '12') {\n _hours %= 12;\n if (amPm === 'pm') {\n _hours += 12;\n }\n }\n\n return date\n .hour(_hours)\n .minute(Number.isNaN(_minutes) ? 0 : _minutes)\n .second(Number.isNaN(_seconds) ? 0 : _seconds)\n .toDate();\n}\n"],"names":[],"mappings":";;AACO,SAAS,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE;AAC/D,EAAE,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC;AACvB,EAAE,IAAI,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzC,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACzC,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,GAAG;AACH,EAAE,IAAI,MAAM,KAAK,IAAI,EAAE;AACvB,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AACvB,MAAM,MAAM,IAAI,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAChI;;;;"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { padTime } from '../pad-time/pad-time.js';
|
|
2
2
|
|
|
3
|
-
function getTimeValues(value) {
|
|
3
|
+
function getTimeValues(value, format) {
|
|
4
4
|
if (!(value instanceof Date)) {
|
|
5
|
-
return { hours: "", minutes: "", seconds: "" };
|
|
5
|
+
return { hours: "", minutes: "", seconds: "", amPm: "" };
|
|
6
|
+
}
|
|
7
|
+
let _hours = value.getHours();
|
|
8
|
+
const isPm = _hours >= 12;
|
|
9
|
+
if (format === "12") {
|
|
10
|
+
_hours %= 12;
|
|
11
|
+
if (_hours === 0) {
|
|
12
|
+
_hours += 12;
|
|
13
|
+
}
|
|
6
14
|
}
|
|
7
15
|
return {
|
|
8
|
-
hours: padTime(
|
|
16
|
+
hours: padTime(_hours.toString()),
|
|
9
17
|
minutes: padTime(value.getMinutes().toString()),
|
|
10
|
-
seconds: padTime(value.getSeconds().toString())
|
|
18
|
+
seconds: padTime(value.getSeconds().toString()),
|
|
19
|
+
amPm: isPm ? "pm" : "am"
|
|
11
20
|
};
|
|
12
21
|
}
|
|
13
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-time-value.js","sources":["../../../../src/components/TimeInputBase/get-time-values/get-time-value.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function getTimeValues(value: Date) {\n if (!(value instanceof Date)) {\n return { hours: '', minutes: '', seconds: '' };\n }\n\n return {\n hours: padTime(
|
|
1
|
+
{"version":3,"file":"get-time-value.js","sources":["../../../../src/components/TimeInputBase/get-time-values/get-time-value.ts"],"sourcesContent":["import { padTime } from '../pad-time/pad-time';\n\nexport function getTimeValues(value: Date, format: '12' | '24') {\n if (!(value instanceof Date)) {\n return { hours: '', minutes: '', seconds: '', amPm: '' };\n }\n\n let _hours = value.getHours();\n\n const isPm = _hours >= 12;\n if (format === '12') {\n _hours %= 12;\n if (_hours === 0) {\n _hours += 12;\n }\n }\n\n return {\n hours: padTime(_hours.toString()),\n minutes: padTime(value.getMinutes().toString()),\n seconds: padTime(value.getSeconds().toString()),\n amPm: isPm ? 'pm' : 'am',\n };\n}\n"],"names":[],"mappings":";;AACO,SAAS,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE;AAC7C,EAAE,IAAI,EAAE,KAAK,YAAY,IAAI,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAC7D,GAAG;AACH,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,EAAE,CAAC;AAC5B,EAAE,IAAI,MAAM,KAAK,IAAI,EAAE;AACvB,IAAI,MAAM,IAAI,EAAE,CAAC;AACjB,IAAI,IAAI,MAAM,KAAK,CAAC,EAAE;AACtB,MAAM,MAAM,IAAI,EAAE,CAAC;AACnB,KAAK;AACL,GAAG;AACH,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AACrC,IAAI,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;AACnD,IAAI,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;AACnD,IAAI,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;AAC5B,GAAG,CAAC;AACJ;;;;"}
|