@mantine/dates 3.5.2 → 3.6.0-alpha.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.
Files changed (78) hide show
  1. package/cjs/components/TimeInput/TimeInput.js +88 -32
  2. package/cjs/components/TimeInput/TimeInput.js.map +1 -1
  3. package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js +80 -0
  4. package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -0
  5. package/cjs/components/{TimeInput → TimeInputBase}/TimeField/TimeField.js +8 -5
  6. package/cjs/components/TimeInputBase/TimeField/TimeField.js.map +1 -0
  7. package/cjs/components/{TimeInput/TimeField/TimeField.styles.js → TimeInputBase/TimeInputBase.styles.js} +8 -2
  8. package/cjs/components/TimeInputBase/TimeInputBase.styles.js.map +1 -0
  9. package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +24 -0
  10. package/cjs/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -0
  11. package/cjs/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.js +1 -1
  12. package/cjs/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -0
  13. package/cjs/components/TimeInputBase/get-date/get-date.js +23 -0
  14. package/cjs/components/TimeInputBase/get-date/get-date.js.map +1 -0
  15. package/cjs/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.js +3 -3
  16. package/cjs/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -0
  17. package/cjs/components/{TimeInput → TimeInputBase}/pad-time/pad-time.js +2 -1
  18. package/cjs/components/TimeInputBase/pad-time/pad-time.js.map +1 -0
  19. package/cjs/components/TimeRangeInput/TimeRangeInput.js +147 -46
  20. package/cjs/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
  21. package/esm/components/TimeInput/TimeInput.js +91 -34
  22. package/esm/components/TimeInput/TimeInput.js.map +1 -1
  23. package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js +72 -0
  24. package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -0
  25. package/esm/components/{TimeInput → TimeInputBase}/TimeField/TimeField.js +8 -5
  26. package/esm/components/TimeInputBase/TimeField/TimeField.js.map +1 -0
  27. package/esm/components/{TimeInput/TimeField/TimeField.styles.js → TimeInputBase/TimeInputBase.styles.js} +8 -2
  28. package/esm/components/TimeInputBase/TimeInputBase.styles.js.map +1 -0
  29. package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js +20 -0
  30. package/esm/components/TimeInputBase/create-amPm-handler/create-amPm-handler.js.map +1 -0
  31. package/esm/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.js +1 -1
  32. package/esm/components/TimeInputBase/create-time-handler/create-time-handler.js.map +1 -0
  33. package/esm/components/TimeInputBase/get-date/get-date.js +15 -0
  34. package/esm/components/TimeInputBase/get-date/get-date.js.map +1 -0
  35. package/esm/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.js +3 -3
  36. package/esm/components/TimeInputBase/get-time-values/get-time-value.js.map +1 -0
  37. package/esm/components/TimeInputBase/pad-time/pad-time.js +7 -0
  38. package/esm/components/TimeInputBase/pad-time/pad-time.js.map +1 -0
  39. package/esm/components/TimeRangeInput/TimeRangeInput.js +150 -48
  40. package/esm/components/TimeRangeInput/TimeRangeInput.js.map +1 -1
  41. package/lib/components/TimeInput/TimeInput.d.ts +12 -0
  42. package/lib/components/TimeInput/TimeInput.d.ts.map +1 -1
  43. package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts +13 -0
  44. package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts.map +1 -0
  45. package/lib/components/{TimeInput → TimeInputBase}/TimeField/TimeField.d.ts +0 -0
  46. package/lib/components/TimeInputBase/TimeField/TimeField.d.ts.map +1 -0
  47. package/lib/components/{TimeInput/TimeField/TimeField.styles.d.ts → TimeInputBase/TimeInputBase.styles.d.ts} +4 -3
  48. package/lib/components/TimeInputBase/TimeInputBase.styles.d.ts.map +1 -0
  49. package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts +8 -0
  50. package/lib/components/TimeInputBase/create-amPm-handler/create-amPm-handler.d.ts.map +1 -0
  51. package/lib/components/{TimeInput → TimeInputBase}/create-time-handler/create-time-handler.d.ts +0 -0
  52. package/lib/components/TimeInputBase/create-time-handler/create-time-handler.d.ts.map +1 -0
  53. package/lib/components/TimeInputBase/get-date/get-date.d.ts +2 -0
  54. package/lib/components/TimeInputBase/get-date/get-date.d.ts.map +1 -0
  55. package/lib/components/{TimeInput → TimeInputBase}/get-time-values/get-time-value.d.ts +0 -0
  56. package/lib/components/TimeInputBase/get-time-values/get-time-value.d.ts.map +1 -0
  57. package/lib/components/TimeInputBase/pad-time/pad-time.d.ts +2 -0
  58. package/lib/components/TimeInputBase/pad-time/pad-time.d.ts.map +1 -0
  59. package/lib/components/TimeRangeInput/TimeRangeInput.d.ts +12 -0
  60. package/lib/components/TimeRangeInput/TimeRangeInput.d.ts.map +1 -1
  61. package/package.json +3 -3
  62. package/cjs/components/TimeInput/TimeField/TimeField.js.map +0 -1
  63. package/cjs/components/TimeInput/TimeField/TimeField.styles.js.map +0 -1
  64. package/cjs/components/TimeInput/create-time-handler/create-time-handler.js.map +0 -1
  65. package/cjs/components/TimeInput/get-time-values/get-time-value.js.map +0 -1
  66. package/cjs/components/TimeInput/pad-time/pad-time.js.map +0 -1
  67. package/esm/components/TimeInput/TimeField/TimeField.js.map +0 -1
  68. package/esm/components/TimeInput/TimeField/TimeField.styles.js.map +0 -1
  69. package/esm/components/TimeInput/create-time-handler/create-time-handler.js.map +0 -1
  70. package/esm/components/TimeInput/get-time-values/get-time-value.js.map +0 -1
  71. package/esm/components/TimeInput/pad-time/pad-time.js +0 -6
  72. package/esm/components/TimeInput/pad-time/pad-time.js.map +0 -1
  73. package/lib/components/TimeInput/TimeField/TimeField.d.ts.map +0 -1
  74. package/lib/components/TimeInput/TimeField/TimeField.styles.d.ts.map +0 -1
  75. package/lib/components/TimeInput/create-time-handler/create-time-handler.d.ts.map +0 -1
  76. package/lib/components/TimeInput/get-time-values/get-time-value.d.ts.map +0 -1
  77. package/lib/components/TimeInput/pad-time/pad-time.d.ts +0 -2
  78. package/lib/components/TimeInput/pad-time/pad-time.d.ts.map +0 -1
@@ -1,11 +1,14 @@
1
- import React, { forwardRef, useRef, useState } from 'react';
2
- import { extractMargins, InputWrapper, Input } from '@mantine/core';
3
- import { useUuid, useUncontrolled, useDidUpdate, useMergedRef } from '@mantine/hooks';
4
- import dayjs from 'dayjs';
5
- import { TimeField } from './TimeField/TimeField.js';
6
- import { createTimeHandler } from './create-time-handler/create-time-handler.js';
7
- import { getTimeValues } from './get-time-values/get-time-value.js';
1
+ import React, { forwardRef, useRef, useState, useEffect } from 'react';
2
+ import { extractMargins, InputWrapper, Input, CloseButton } from '@mantine/core';
3
+ import { useUuid, useMergedRef } from '@mantine/hooks';
4
+ import { TimeField } from '../TimeInputBase/TimeField/TimeField.js';
5
+ import { createTimeHandler } from '../TimeInputBase/create-time-handler/create-time-handler.js';
8
6
  import useStyles from './TimeInput.styles.js';
7
+ import { padTime } from '../TimeInputBase/pad-time/pad-time.js';
8
+ import { AmPmInput } from '../TimeInputBase/AmPmInput/AmPmInput.js';
9
+ import { createAmPmHandler } from '../TimeInputBase/create-amPm-handler/create-amPm-handler.js';
10
+ import { getDate } from '../TimeInputBase/get-date/get-date.js';
11
+ import { getTimeValues } from '../TimeInputBase/get-time-values/get-time-value.js';
9
12
 
10
13
  var __defProp = Object.defineProperty;
11
14
  var __defProps = Object.defineProperties;
@@ -38,6 +41,13 @@ var __objRest = (source, exclude) => {
38
41
  }
39
42
  return target;
40
43
  };
44
+ const RIGHT_SECTION_WIDTH = {
45
+ xs: 24,
46
+ sm: 30,
47
+ md: 34,
48
+ lg: 40,
49
+ xl: 44
50
+ };
41
51
  const TimeInput = forwardRef((_a, ref) => {
42
52
  var _b = _a, {
43
53
  required,
@@ -55,10 +65,16 @@ const TimeInput = forwardRef((_a, ref) => {
55
65
  defaultValue,
56
66
  onChange,
57
67
  withSeconds = false,
68
+ clearable = false,
69
+ clearButtonLabel,
70
+ format = "24",
58
71
  name,
59
72
  hoursLabel,
60
73
  minutesLabel,
61
74
  secondsLabel,
75
+ amPmLabel,
76
+ timePlaceholder = "--",
77
+ amPmPlaceholder = "am",
62
78
  disabled = false,
63
79
  sx
64
80
  } = _b, others = __objRest(_b, [
@@ -77,59 +93,84 @@ const TimeInput = forwardRef((_a, ref) => {
77
93
  "defaultValue",
78
94
  "onChange",
79
95
  "withSeconds",
96
+ "clearable",
97
+ "clearButtonLabel",
98
+ "format",
80
99
  "name",
81
100
  "hoursLabel",
82
101
  "minutesLabel",
83
102
  "secondsLabel",
103
+ "amPmLabel",
104
+ "timePlaceholder",
105
+ "amPmPlaceholder",
84
106
  "disabled",
85
107
  "sx"
86
108
  ]);
87
- const { classes, cx } = useStyles({ size }, { classNames, styles, name: "TimeInput" });
109
+ const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: "TimeInput" });
88
110
  const { margins, rest } = extractMargins(others);
89
111
  const uuid = useUuid(id);
90
- const [_value, handleChange] = useUncontrolled({
91
- value,
92
- defaultValue,
93
- finalValue: new Date(),
94
- rule: (val) => val instanceof Date,
95
- onChange
96
- });
97
112
  const hoursRef = useRef();
98
113
  const minutesRef = useRef();
99
114
  const secondsRef = useRef();
100
- const [time, setTime] = useState(getTimeValues(_value));
101
- useDidUpdate(() => {
102
- setTime(getTimeValues(_value));
103
- }, [_value]);
115
+ const amPmRef = useRef();
116
+ const [amPm, setAmPm] = useState("am");
117
+ const [time, setTime] = useState(getTimeValues(value || defaultValue));
118
+ const [_value, setValue] = useState(value != null ? value : defaultValue);
119
+ useEffect(() => {
120
+ setValue(getDate(time.hours, time.minutes, time.seconds, format, amPm));
121
+ }, [time, format, amPm]);
122
+ useEffect(() => {
123
+ if (format === "12" && _value) {
124
+ const _hours = parseInt(time.hours, 10);
125
+ setAmPm(_hours >= 12 ? "pm" : "am");
126
+ if (_hours >= 12) {
127
+ setTime(__spreadProps(__spreadValues({}, time), { hours: padTime((_hours - 12).toString()) }));
128
+ }
129
+ }
130
+ }, [format]);
104
131
  const handleHoursChange = createTimeHandler({
105
132
  onChange: (val) => {
106
- setTime((c) => __spreadProps(__spreadValues({}, c), { hours: val }));
107
- handleChange(dayjs(_value).set("hours", parseInt(val, 10)).toDate());
133
+ setTime((current) => __spreadProps(__spreadValues({}, current), { hours: padTime(val) }));
108
134
  },
109
135
  min: 0,
110
- max: 23,
111
- maxValue: 2,
136
+ max: format === "12" ? 11 : 23,
137
+ maxValue: format === "12" ? 1 : 2,
112
138
  nextRef: minutesRef
113
139
  });
114
140
  const handleMinutesChange = createTimeHandler({
115
141
  onChange: (val) => {
116
- setTime((c) => __spreadProps(__spreadValues({}, c), { minutes: val }));
117
- handleChange(dayjs(_value).set("minutes", parseInt(val, 10)).toDate());
142
+ setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: padTime(val) }));
118
143
  },
119
144
  min: 0,
120
145
  max: 59,
121
146
  maxValue: 5,
122
- nextRef: secondsRef
147
+ nextRef: !withSeconds ? amPmRef : secondsRef
123
148
  });
124
149
  const handleSecondsChange = createTimeHandler({
125
150
  onChange: (val) => {
126
- setTime((c) => __spreadProps(__spreadValues({}, c), { seconds: val }));
127
- handleChange(dayjs(_value).set("seconds", parseInt(val, 10)).toDate());
151
+ setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: padTime(val) }));
128
152
  },
129
153
  min: 0,
130
154
  max: 59,
131
- maxValue: 5
155
+ maxValue: 5,
156
+ nextRef: amPmRef
132
157
  });
158
+ const handleAmPmChange = createAmPmHandler({
159
+ onChange: (val) => {
160
+ setAmPm(val);
161
+ }
162
+ });
163
+ const handleClear = () => {
164
+ setTime({ hours: "", minutes: "", seconds: "" });
165
+ setAmPm("");
166
+ hoursRef.current.focus();
167
+ };
168
+ const rightSection = clearable && _value ? /* @__PURE__ */ React.createElement(CloseButton, {
169
+ variant: "transparent",
170
+ "aria-label": clearButtonLabel,
171
+ onClick: handleClear,
172
+ size
173
+ }) : null;
133
174
  return /* @__PURE__ */ React.createElement(InputWrapper, __spreadValues(__spreadValues({
134
175
  required,
135
176
  label,
@@ -153,42 +194,58 @@ const TimeInput = forwardRef((_a, ref) => {
153
194
  className: cx({ [classes.disabled]: disabled }),
154
195
  classNames,
155
196
  styles,
156
- disabled
197
+ disabled,
198
+ rightSection,
199
+ rightSectionWidth: theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })
157
200
  }, rest), /* @__PURE__ */ React.createElement("div", {
158
201
  className: classes.controls
159
202
  }, /* @__PURE__ */ React.createElement(TimeField, {
160
203
  ref: useMergedRef(hoursRef, ref),
161
204
  value: time.hours,
162
205
  onChange: handleHoursChange,
163
- setValue: (val) => setTime((c) => __spreadProps(__spreadValues({}, c), { hours: val })),
206
+ setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { hours: val })),
164
207
  id: uuid,
165
208
  className: classes.timeInput,
166
209
  withSeparator: true,
167
210
  size,
168
- max: 23,
211
+ max: format === "12" ? 11 : 23,
212
+ placeholder: timePlaceholder,
169
213
  "aria-label": hoursLabel,
170
214
  disabled
171
215
  }), /* @__PURE__ */ React.createElement(TimeField, {
172
216
  ref: minutesRef,
173
217
  value: time.minutes,
174
218
  onChange: handleMinutesChange,
175
- setValue: (val) => setTime((c) => __spreadProps(__spreadValues({}, c), { minutes: val })),
219
+ setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { minutes: val })),
176
220
  className: classes.timeInput,
177
221
  withSeparator: withSeconds,
178
222
  size,
179
223
  max: 59,
224
+ placeholder: timePlaceholder,
180
225
  "aria-label": minutesLabel,
181
226
  disabled
182
227
  }), withSeconds && /* @__PURE__ */ React.createElement(TimeField, {
183
228
  ref: secondsRef,
184
229
  value: time.seconds,
185
230
  onChange: handleSecondsChange,
186
- setValue: (val) => setTime((c) => __spreadProps(__spreadValues({}, c), { seconds: val })),
231
+ setValue: (val) => setTime((current) => __spreadProps(__spreadValues({}, current), { seconds: val })),
187
232
  className: classes.timeInput,
188
233
  size,
189
234
  max: 59,
235
+ placeholder: timePlaceholder,
190
236
  "aria-label": secondsLabel,
191
237
  disabled
238
+ }), format === "12" && /* @__PURE__ */ React.createElement(AmPmInput, {
239
+ ref: amPmRef,
240
+ value: amPm,
241
+ onChange: handleAmPmChange,
242
+ setValue: (val) => {
243
+ setAmPm(val);
244
+ },
245
+ placeholder: amPmPlaceholder,
246
+ size,
247
+ "aria-label": amPmLabel,
248
+ disabled
192
249
  }), name && /* @__PURE__ */ React.createElement("input", {
193
250
  type: "hidden",
194
251
  name,
@@ -1 +1 @@
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 extractMargins,\n} from '@mantine/core';\nimport { useMergedRef, useUncontrolled, useDidUpdate, useUuid } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { TimeField } from './TimeField/TimeField';\nimport { createTimeHandler } from './create-time-handler/create-time-handler';\nimport { getTimeValues } from './get-time-values/get-time-value';\nimport useStyles from './TimeInput.styles';\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 /** 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 /** Disable field */\n disabled?: boolean;\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 name,\n hoursLabel,\n minutesLabel,\n secondsLabel,\n disabled = false,\n sx,\n ...others\n }: TimeInputProps,\n ref\n ) => {\n const { classes, cx } = useStyles({ size }, { classNames, styles, name: 'TimeInput' });\n const { margins, rest } = extractMargins(others);\n const uuid = useUuid(id);\n\n const [_value, handleChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: new Date(),\n rule: (val) => val instanceof Date,\n onChange,\n });\n\n const hoursRef = useRef<HTMLInputElement>();\n const minutesRef = useRef<HTMLInputElement>();\n const secondsRef = useRef<HTMLInputElement>();\n const [time, setTime] = useState(getTimeValues(_value));\n\n useDidUpdate(() => {\n setTime(getTimeValues(_value));\n }, [_value]);\n\n const handleHoursChange = createTimeHandler({\n onChange: (val) => {\n setTime((c) => ({ ...c, hours: val }));\n handleChange(dayjs(_value).set('hours', parseInt(val, 10)).toDate());\n },\n min: 0,\n max: 23,\n maxValue: 2,\n nextRef: minutesRef,\n });\n\n const handleMinutesChange = createTimeHandler({\n onChange: (val) => {\n setTime((c) => ({ ...c, minutes: val }));\n handleChange(dayjs(_value).set('minutes', parseInt(val, 10)).toDate());\n },\n min: 0,\n max: 59,\n maxValue: 5,\n nextRef: secondsRef,\n });\n\n const handleSecondsChange = createTimeHandler({\n onChange: (val) => {\n setTime((c) => ({ ...c, seconds: val }));\n handleChange(dayjs(_value).set('seconds', parseInt(val, 10)).toDate());\n },\n min: 0,\n max: 59,\n maxValue: 5,\n });\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 {...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((c) => ({ ...c, hours: val }))}\n id={uuid}\n className={classes.timeInput}\n withSeparator\n size={size}\n max={23}\n aria-label={hoursLabel}\n disabled={disabled}\n />\n\n <TimeField\n ref={minutesRef}\n value={time.minutes}\n onChange={handleMinutesChange}\n setValue={(val) => setTime((c) => ({ ...c, minutes: val }))}\n className={classes.timeInput}\n withSeparator={withSeconds}\n size={size}\n max={59}\n aria-label={minutesLabel}\n disabled={disabled}\n />\n\n {withSeconds && (\n <TimeField\n ref={secondsRef}\n value={time.seconds}\n onChange={handleSecondsChange}\n setValue={(val) => setTime((c) => ({ ...c, seconds: val }))}\n className={classes.timeInput}\n size={size}\n max={59}\n aria-label={secondsLabel}\n disabled={disabled}\n />\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, 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]);\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 setTime((current) => ({ ...current, hours: padTime(val) }));\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 setTime((current) => ({ ...current, minutes: padTime(val) }));\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 setTime((current) => ({ ...current, seconds: padTime(val) }));\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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"}
@@ -0,0 +1,72 @@
1
+ import React, { forwardRef, useRef } from 'react';
2
+ import { useMergedRef } from '@mantine/hooks';
3
+ import useStyles from '../TimeInputBase.styles.js';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ const AmPmInput = forwardRef((_a, ref) => {
34
+ var _b = _a, { className, onChange, onFocus, setValue, size = "sm", value } = _b, others = __objRest(_b, ["className", "onChange", "onFocus", "setValue", "size", "value"]);
35
+ const { classes, cx } = useStyles({ size, hasValue: !!value });
36
+ const inputRef = useRef();
37
+ const handleFocus = (event) => {
38
+ typeof onFocus === "function" && onFocus(event);
39
+ inputRef.current.select();
40
+ };
41
+ const handleClick = (event) => {
42
+ event.stopPropagation();
43
+ inputRef.current.select();
44
+ };
45
+ const handleKeyDown = (event) => {
46
+ if (event.nativeEvent.code === "ArrowUp" || event.nativeEvent.code === "ArrowDown") {
47
+ event.preventDefault();
48
+ onChange(value === "am" ? "pm" : "am", false);
49
+ }
50
+ if (event.nativeEvent.code === "KeyP") {
51
+ onChange("pm", true);
52
+ }
53
+ if (event.nativeEvent.code === "KeyA") {
54
+ onChange("am", true);
55
+ }
56
+ };
57
+ return /* @__PURE__ */ React.createElement("input", __spreadValues({
58
+ type: "text",
59
+ ref: useMergedRef(inputRef, ref),
60
+ onClick: handleClick,
61
+ onFocus: handleFocus,
62
+ onKeyDown: handleKeyDown,
63
+ onChange: () => {
64
+ },
65
+ value,
66
+ className: cx(classes.timeInput, className)
67
+ }, others));
68
+ });
69
+ AmPmInput.displayName = "@mantine/dates/AmPmInput";
70
+
71
+ export { AmPmInput };
72
+ //# sourceMappingURL=AmPmInput.js.map
@@ -0,0 +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 /** Called when input loses focus, used to format value */\n setValue(value: string): void;\n\n /** Colon text size */\n size?: MantineSize;\n}\n\nexport const AmPmInput = forwardRef<HTMLInputElement, AmPmSelectProps>(\n (\n { className, onChange, onFocus, setValue, size = 'sm', value, ...others }: AmPmSelectProps,\n ref\n ) => {\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', false);\n }\n\n if (event.nativeEvent.code === 'KeyP') {\n onChange('pm', true);\n }\n\n if (event.nativeEvent.code === 'KeyA') {\n onChange('am', true);\n }\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={() => {}}\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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"}
@@ -2,7 +2,7 @@ import React, { forwardRef, 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';
5
- import useStyles from './TimeField.styles.js';
5
+ import useStyles from '../TimeInputBase.styles.js';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
8
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -54,7 +54,7 @@ const TimeField = forwardRef((_a, ref) => {
54
54
  "max",
55
55
  "value"
56
56
  ]);
57
- const { classes, cx } = useStyles({ size });
57
+ const { classes, cx, theme } = useStyles({ size, hasValue: !!value });
58
58
  const inputRef = useRef();
59
59
  const handleFocus = (event) => {
60
60
  typeof onFocus === "function" && onFocus(event);
@@ -70,7 +70,7 @@ const TimeField = forwardRef((_a, ref) => {
70
70
  const handleKeyDown = (event) => {
71
71
  if (event.nativeEvent.code === "ArrowUp") {
72
72
  event.preventDefault();
73
- const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) + 1, max, min: 0 }));
73
+ const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) + 1, max, min: 0 }).toString());
74
74
  if (value !== padded) {
75
75
  setValue(padded);
76
76
  onChange(padded, false);
@@ -78,7 +78,7 @@ const TimeField = forwardRef((_a, ref) => {
78
78
  }
79
79
  if (event.nativeEvent.code === "ArrowDown") {
80
80
  event.preventDefault();
81
- const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) - 1, max, min: 0 }));
81
+ const padded = padTime(clamp({ value: parseInt(event.currentTarget.value, 10) - 1, max, min: 0 }).toString());
82
82
  if (value !== padded) {
83
83
  setValue(padded);
84
84
  onChange(padded, false);
@@ -97,7 +97,10 @@ const TimeField = forwardRef((_a, ref) => {
97
97
  className: cx(classes.timeInput, className)
98
98
  }, others)), withSeparator && /* @__PURE__ */ React.createElement(Text, {
99
99
  size,
100
- style: { lineHeight: 1, color: "inherit" }
100
+ style: {
101
+ lineHeight: 1,
102
+ color: value ? "inherit" : theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[7]
103
+ }
101
104
  }, ":"));
102
105
  });
103
106
  TimeField.displayName = "@mantine/dates/TimeField";
@@ -0,0 +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(value: string, triggerShift: boolean): void;\n\n /** Called when input loses focus, used to format value */\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, min value is always 0 */\n max?: 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 value,\n ...others\n }: TimeFieldProps,\n ref\n ) => {\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 };\n\n const handleBlur = (event: any) => {\n typeof onBlur === 'function' && onBlur(event);\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: 0 }).toString()\n );\n\n if (value !== padded) {\n setValue(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: 0 }).toString()\n );\n\n if (value !== padded) {\n setValue(padded);\n onChange(padded, false);\n }\n }\n };\n\n return (\n <>\n <input\n type=\"text\"\n ref={useMergedRef(inputRef, ref)}\n onChange={(event) => onChange(event.currentTarget.value, true)}\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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"}
@@ -26,7 +26,7 @@ const inputSizes = {
26
26
  lg: 27,
27
27
  xl: 29
28
28
  };
29
- var useStyles = createStyles((theme, { size }) => ({
29
+ var useStyles = createStyles((theme, { size, hasValue }) => ({
30
30
  timeInput: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
31
31
  width: theme.fn.size({ size, sizes: inputSizes }),
32
32
  appearance: "none",
@@ -38,6 +38,12 @@ var useStyles = createStyles((theme, { size }) => ({
38
38
  fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
39
39
  lineHeight: 1,
40
40
  outline: 0,
41
+ "&:focus": {
42
+ textAlign: hasValue ? void 0 : "start"
43
+ },
44
+ "&::placeholder": {
45
+ textAlign: "center"
46
+ },
41
47
  "&[disabled]": {
42
48
  color: theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[7],
43
49
  cursor: "not-allowed"
@@ -47,4 +53,4 @@ var useStyles = createStyles((theme, { size }) => ({
47
53
 
48
54
  export default useStyles;
49
55
  export { inputSizes };
50
- //# sourceMappingURL=TimeField.styles.js.map
56
+ //# sourceMappingURL=TimeInputBase.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeInputBase.styles.js","sources":["../../../src/components/TimeInputBase/TimeInputBase.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\nexport const inputSizes = {\n xs: 20,\n sm: 23,\n md: 25,\n lg: 27,\n xl: 29,\n};\n\ninterface TimeInputBaseStyles {\n size: MantineSize;\n hasValue: boolean;\n}\n\nexport default createStyles((theme, { size, hasValue }: TimeInputBaseStyles) => ({\n timeInput: {\n ...theme.fn.fontStyles(),\n width: theme.fn.size({ size, sizes: inputSizes }),\n appearance: 'none',\n backgroundColor: 'transparent',\n color: 'inherit',\n padding: 0,\n textAlign: 'center',\n border: '1px solid transparent',\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n lineHeight: 1,\n outline: 0,\n\n '&:focus': {\n textAlign: hasValue ? undefined : 'start',\n },\n\n '&::placeholder': {\n textAlign: 'center',\n },\n\n '&[disabled]': {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[7],\n cursor: 'not-allowed',\n },\n },\n}));\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ const testRegex = /(^(a|p)m?$)|(^$)/;
2
+ function createAmPmHandler({ onChange, nextRef }) {
3
+ return (value, triggerShift) => {
4
+ var _a, _b;
5
+ const valLower = value.toLowerCase();
6
+ if (valLower === "am" || valLower === "pm") {
7
+ onChange(valLower);
8
+ triggerShift && ((_a = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _a.focus());
9
+ triggerShift && ((_b = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _b.select());
10
+ return;
11
+ }
12
+ if (!testRegex.test(valLower)) {
13
+ return;
14
+ }
15
+ onChange(valLower);
16
+ };
17
+ }
18
+
19
+ export { createAmPmHandler };
20
+ //# sourceMappingURL=create-amPm-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-amPm-handler.js","sources":["../../../../src/components/TimeInputBase/create-amPm-handler/create-amPm-handler.tsx"],"sourcesContent":["interface CreateAmPmHandler {\n onChange(value: string): void;\n nextRef?: React.RefObject<HTMLInputElement>;\n}\n\nconst testRegex = /(^(a|p)m?$)|(^$)/;\n\nexport function createAmPmHandler({ onChange, nextRef }: CreateAmPmHandler) {\n return (value: string, triggerShift: boolean) => {\n const valLower = value.toLowerCase();\n\n if (valLower === 'am' || valLower === 'pm') {\n onChange(valLower);\n triggerShift && nextRef?.current?.focus();\n triggerShift && nextRef?.current?.select();\n return;\n }\n\n if (!testRegex.test(valLower)) {\n return;\n }\n\n onChange(valLower);\n };\n}\n"],"names":[],"mappings":"AAAA,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAC9B,SAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;AACzD,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,KAAK;AAClC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACzC,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;AAChD,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzB,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,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,GAAG,CAAC;AACJ;;;;"}
@@ -15,7 +15,7 @@ function createTimeHandler({ onChange, nextRef, min, max, maxValue }) {
15
15
  return;
16
16
  }
17
17
  if (parsed > maxValue) {
18
- onChange(padTime(clamp({ value: parsed, min, max })));
18
+ onChange(padTime(clamp({ value: parsed, min, max }).toString()));
19
19
  triggerShift && ((_c = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _c.focus());
20
20
  triggerShift && ((_d = nextRef == null ? void 0 : nextRef.current) == null ? void 0 : _d.select());
21
21
  return;
@@ -0,0 +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) => {\n if (value === '00') {\n onChange('00');\n triggerShift && nextRef?.current?.focus();\n triggerShift && nextRef?.current?.select();\n return;\n }\n\n const parsed = parseInt(value, 10);\n\n if (Number.isNaN(parsed)) {\n return;\n }\n\n if (parsed > maxValue) {\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,KAAK;AAClC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACvB,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrB,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,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,EAAE;AAC3B,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;;;;"}
@@ -0,0 +1,15 @@
1
+ import dayjs from 'dayjs';
2
+
3
+ function getDate(hours, minutes, seconds, format, amPm) {
4
+ const date = dayjs();
5
+ let _hours = parseInt(hours, 10);
6
+ const _minutes = parseInt(minutes, 10);
7
+ const _seconds = parseInt(seconds, 10);
8
+ if (Number.isNaN(_hours)) {
9
+ _hours = 0;
10
+ }
11
+ return date.hour(format === "12" && amPm === "pm" ? _hours < 12 ? _hours - 12 : _hours : _hours).minute(Number.isNaN(_minutes) ? 0 : _minutes).second(Number.isNaN(_seconds) ? 0 : _seconds).toDate();
12
+ }
13
+
14
+ export { getDate };
15
+ //# sourceMappingURL=get-date.js.map
@@ -0,0 +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 return date\n .hour(format === '12' && amPm === 'pm' ? (_hours < 12 ? _hours - 12 : _hours) : _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,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,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;AACxM;;;;"}
@@ -5,9 +5,9 @@ function getTimeValues(value) {
5
5
  return { hours: "", minutes: "", seconds: "" };
6
6
  }
7
7
  return {
8
- hours: padTime(value.getHours()),
9
- minutes: padTime(value.getMinutes()),
10
- seconds: padTime(value.getSeconds())
8
+ hours: padTime(value.getHours().toString()),
9
+ minutes: padTime(value.getMinutes().toString()),
10
+ seconds: padTime(value.getSeconds().toString())
11
11
  };
12
12
  }
13
13
 
@@ -0,0 +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(value.getHours().toString()),\n minutes: padTime(value.getMinutes().toString()),\n seconds: padTime(value.getSeconds().toString()),\n };\n}\n"],"names":[],"mappings":";;AACO,SAAS,aAAa,CAAC,KAAK,EAAE;AACrC,EAAE,IAAI,EAAE,KAAK,YAAY,IAAI,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACnD,GAAG;AACH,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC/C,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,GAAG,CAAC;AACJ;;;;"}
@@ -0,0 +1,7 @@
1
+ function padTime(value) {
2
+ const _val = parseInt(value, 10);
3
+ return _val >= 10 ? _val.toString() : `0${_val}`;
4
+ }
5
+
6
+ export { padTime };
7
+ //# sourceMappingURL=pad-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pad-time.js","sources":["../../../../src/components/TimeInputBase/pad-time/pad-time.ts"],"sourcesContent":["export function padTime(value: string) {\n const _val = parseInt(value, 10);\n\n return _val >= 10 ? _val.toString() : `0${_val}`;\n}\n"],"names":[],"mappings":"AAAO,SAAS,OAAO,CAAC,KAAK,EAAE;AAC/B,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,EAAE,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD;;;;"}