@mantine/dates 8.3.15 → 9.0.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.
- package/cjs/components/Calendar/Calendar.cjs +119 -112
- package/cjs/components/Calendar/Calendar.cjs.map +1 -1
- package/cjs/components/CalendarHeader/CalendarHeader.cjs +4 -2
- package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
- package/cjs/components/DateInput/DateInput.cjs +3 -2
- package/cjs/components/DateInput/DateInput.cjs.map +1 -1
- package/cjs/components/DatePicker/DatePicker.cjs +4 -3
- package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/cjs/components/DatePickerInput/DatePickerInput.cjs +1 -2
- package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
- package/cjs/components/DateTimePicker/DateTimePicker.cjs +1 -2
- package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
- package/cjs/components/DatesProvider/DatesProvider.cjs +1 -1
- package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
- package/cjs/components/DatesProvider/use-dates-context.cjs +1 -1
- package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
- package/cjs/components/Day/Day.cjs +4 -2
- package/cjs/components/Day/Day.cjs.map +1 -1
- package/cjs/components/DecadeLevel/DecadeLevel.cjs +5 -2
- package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +4 -2
- package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
- package/cjs/components/LevelsGroup/LevelsGroup.cjs +3 -2
- package/cjs/components/LevelsGroup/LevelsGroup.cjs.map +1 -1
- package/cjs/components/MaskedDateInput/MaskedDateInput.cjs +632 -0
- package/cjs/components/MaskedDateInput/MaskedDateInput.cjs.map +1 -0
- package/cjs/components/MaskedDateInput/MaskedDateInput.context.cjs +12 -0
- package/cjs/components/MaskedDateInput/MaskedDateInput.context.cjs.map +1 -0
- package/cjs/components/MaskedDateInput/MaskedDateInput.module.css.cjs +7 -0
- package/cjs/components/MaskedDateInput/MaskedDateInput.module.css.cjs.map +1 -0
- package/cjs/components/MaskedDateInput/use-masked-date-input.cjs +447 -0
- package/cjs/components/MaskedDateInput/use-masked-date-input.cjs.map +1 -0
- package/cjs/components/MiniCalendar/MiniCalendar.cjs +6 -3
- package/cjs/components/MiniCalendar/MiniCalendar.cjs.map +1 -1
- package/cjs/components/Month/Month.cjs +33 -18
- package/cjs/components/Month/Month.cjs.map +1 -1
- package/cjs/components/MonthLevel/MonthLevel.cjs +5 -2
- package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +4 -2
- package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
- package/cjs/components/MonthPicker/MonthPicker.cjs +1 -2
- package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +1 -2
- package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
- package/cjs/components/MonthsList/MonthsList.cjs +14 -2
- package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
- package/cjs/components/PickerControl/PickerControl.cjs +4 -2
- package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
- package/cjs/components/PickerInputBase/PickerInputBase.cjs +3 -2
- package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
- package/cjs/components/SpinInput/SpinInput.cjs +97 -101
- package/cjs/components/SpinInput/SpinInput.cjs.map +1 -1
- package/cjs/components/TimeGrid/TimeGrid.cjs +3 -2
- package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -1
- package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -1
- package/cjs/components/TimeInput/TimeInput.cjs +1 -2
- package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +79 -86
- package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -1
- package/cjs/components/TimePicker/TimePicker.cjs +8 -3
- package/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
- package/cjs/components/TimeValue/TimeValue.cjs.map +1 -1
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs +3 -2
- package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
- package/cjs/components/YearLevel/YearLevel.cjs +5 -2
- package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +4 -2
- package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
- package/cjs/components/YearPicker/YearPicker.cjs +1 -2
- package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
- package/cjs/components/YearPickerInput/YearPickerInput.cjs +1 -2
- package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
- package/cjs/components/YearsList/YearsList.cjs +14 -2
- package/cjs/components/YearsList/YearsList.cjs.map +1 -1
- package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
- package/esm/components/Calendar/Calendar.mjs +120 -113
- package/esm/components/Calendar/Calendar.mjs.map +1 -1
- package/esm/components/CalendarHeader/CalendarHeader.mjs +4 -2
- package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
- package/esm/components/DateInput/DateInput.mjs +3 -2
- package/esm/components/DateInput/DateInput.mjs.map +1 -1
- package/esm/components/DatePicker/DatePicker.mjs +4 -3
- package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
- package/esm/components/DatePickerInput/DatePickerInput.mjs +1 -2
- package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
- package/esm/components/DateTimePicker/DateTimePicker.mjs +1 -2
- package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
- package/esm/components/DatesProvider/DatesProvider.mjs +1 -1
- package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
- package/esm/components/DatesProvider/use-dates-context.mjs +2 -2
- package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
- package/esm/components/Day/Day.mjs +4 -2
- package/esm/components/Day/Day.mjs.map +1 -1
- package/esm/components/DecadeLevel/DecadeLevel.mjs +5 -2
- package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +4 -2
- package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
- package/esm/components/LevelsGroup/LevelsGroup.mjs +3 -2
- package/esm/components/LevelsGroup/LevelsGroup.mjs.map +1 -1
- package/esm/components/MaskedDateInput/MaskedDateInput.context.mjs +9 -0
- package/esm/components/MaskedDateInput/MaskedDateInput.context.mjs.map +1 -0
- package/esm/components/MaskedDateInput/MaskedDateInput.mjs +626 -0
- package/esm/components/MaskedDateInput/MaskedDateInput.mjs.map +1 -0
- package/esm/components/MaskedDateInput/MaskedDateInput.module.css.mjs +5 -0
- package/esm/components/MaskedDateInput/MaskedDateInput.module.css.mjs.map +1 -0
- package/esm/components/MaskedDateInput/use-masked-date-input.mjs +441 -0
- package/esm/components/MaskedDateInput/use-masked-date-input.mjs.map +1 -0
- package/esm/components/MiniCalendar/MiniCalendar.mjs +6 -3
- package/esm/components/MiniCalendar/MiniCalendar.mjs.map +1 -1
- package/esm/components/Month/Month.mjs +33 -18
- package/esm/components/Month/Month.mjs.map +1 -1
- package/esm/components/MonthLevel/MonthLevel.mjs +5 -2
- package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +4 -2
- package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
- package/esm/components/MonthPicker/MonthPicker.mjs +1 -2
- package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs +1 -2
- package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
- package/esm/components/MonthsList/MonthsList.mjs +14 -2
- package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
- package/esm/components/PickerControl/PickerControl.mjs +4 -2
- package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
- package/esm/components/PickerInputBase/PickerInputBase.mjs +3 -2
- package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
- package/esm/components/SpinInput/SpinInput.mjs +97 -101
- package/esm/components/SpinInput/SpinInput.mjs.map +1 -1
- package/esm/components/TimeGrid/TimeGrid.mjs +3 -2
- package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -1
- package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -1
- package/esm/components/TimeInput/TimeInput.mjs +1 -2
- package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +79 -86
- package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -1
- package/esm/components/TimePicker/TimePicker.mjs +8 -3
- package/esm/components/TimePicker/TimePicker.mjs.map +1 -1
- package/esm/components/TimeValue/TimeValue.mjs.map +1 -1
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs +3 -2
- package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
- package/esm/components/YearLevel/YearLevel.mjs +5 -2
- package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs +4 -2
- package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
- package/esm/components/YearPicker/YearPicker.mjs +1 -2
- package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
- package/esm/components/YearPickerInput/YearPickerInput.mjs +1 -2
- package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
- package/esm/components/YearsList/YearsList.mjs +14 -2
- package/esm/components/YearsList/YearsList.mjs.map +1 -1
- package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
- package/lib/components/Calendar/Calendar.d.ts +5 -3
- package/lib/components/Calendar/index.d.ts +10 -1
- package/lib/components/CalendarHeader/CalendarHeader.d.ts +6 -4
- package/lib/components/CalendarHeader/index.d.ts +9 -1
- package/lib/components/DateInput/DateInput.d.ts +6 -4
- package/lib/components/DateInput/index.d.ts +7 -1
- package/lib/components/DatePicker/DatePicker.d.ts +2 -1
- package/lib/components/DatePicker/index.d.ts +11 -1
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +2 -2
- package/lib/components/DatePickerInput/index.d.ts +7 -1
- package/lib/components/DateTimePicker/DateTimePicker.d.ts +5 -5
- package/lib/components/DateTimePicker/index.d.ts +7 -1
- package/lib/components/DatesProvider/index.d.ts +6 -1
- package/lib/components/Day/Day.d.ts +11 -9
- package/lib/components/Day/index.d.ts +8 -1
- package/lib/components/DecadeLevel/DecadeLevel.d.ts +3 -1
- package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +2 -0
- package/lib/components/LevelsGroup/LevelsGroup.d.ts +2 -0
- package/lib/components/MaskedDateInput/MaskedDateInput.context.d.ts +7 -0
- package/lib/components/MaskedDateInput/MaskedDateInput.d.ts +123 -0
- package/lib/components/MaskedDateInput/MaskedDateInput.types.d.ts +19 -0
- package/lib/components/MaskedDateInput/index.d.ts +12 -0
- package/lib/components/MaskedDateInput/use-masked-date-input.d.ts +56 -0
- package/lib/components/MiniCalendar/MiniCalendar.d.ts +3 -3
- package/lib/components/MiniCalendar/index.d.ts +8 -1
- package/lib/components/Month/Month.d.ts +15 -8
- package/lib/components/Month/index.d.ts +8 -1
- package/lib/components/MonthLevel/MonthLevel.d.ts +3 -1
- package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +2 -0
- package/lib/components/MonthPicker/MonthPicker.d.ts +2 -2
- package/lib/components/MonthPicker/index.d.ts +8 -1
- package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +2 -2
- package/lib/components/MonthPickerInput/index.d.ts +8 -1
- package/lib/components/MonthsList/MonthsList.d.ts +3 -1
- package/lib/components/PickerControl/PickerControl.d.ts +2 -0
- package/lib/components/PickerInputBase/PickerInputBase.d.ts +8 -6
- package/lib/components/SpinInput/SpinInput.d.ts +5 -2
- package/lib/components/TimeGrid/TimeGrid.context.d.ts +1 -4
- package/lib/components/TimeGrid/TimeGrid.d.ts +8 -8
- package/lib/components/TimeGrid/TimeGridControl.d.ts +1 -1
- package/lib/components/TimeGrid/index.d.ts +8 -1
- package/lib/components/TimeInput/TimeInput.d.ts +1 -1
- package/lib/components/TimeInput/index.d.ts +6 -1
- package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +5 -3
- package/lib/components/TimePicker/TimePicker.context.d.ts +1 -4
- package/lib/components/TimePicker/TimePicker.d.ts +20 -18
- package/lib/components/TimePicker/index.d.ts +13 -2
- package/lib/components/TimeValue/TimeValue.d.ts +6 -3
- package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +3 -3
- package/lib/components/YearLevel/YearLevel.d.ts +3 -1
- package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +2 -0
- package/lib/components/YearPicker/YearPicker.d.ts +1 -1
- package/lib/components/YearPicker/index.d.ts +9 -1
- package/lib/components/YearPickerInput/YearPickerInput.d.ts +2 -2
- package/lib/components/YearPickerInput/index.d.ts +8 -1
- package/lib/components/YearsList/YearsList.d.ts +4 -2
- package/package.json +5 -5
- package/styles.css +42 -6
- package/styles.layer.css +42 -6
|
@@ -25,16 +25,18 @@ export interface CalendarHeaderSettings {
|
|
|
25
25
|
nextDisabled?: boolean;
|
|
26
26
|
/** Disables previous control */
|
|
27
27
|
previousDisabled?: boolean;
|
|
28
|
-
/** Determines whether next level button should be enabled @default
|
|
28
|
+
/** Determines whether next level button should be enabled @default true */
|
|
29
29
|
hasNextLevel?: boolean;
|
|
30
|
-
/** Determines whether next control should be rendered @default
|
|
30
|
+
/** Determines whether next control should be rendered @default true */
|
|
31
31
|
withNext?: boolean;
|
|
32
|
-
/** Determines whether previous control should be rendered @default
|
|
32
|
+
/** Determines whether previous control should be rendered @default true */
|
|
33
33
|
withPrevious?: boolean;
|
|
34
34
|
/** Component size */
|
|
35
35
|
size?: MantineSize;
|
|
36
|
-
/** Controls order @default
|
|
36
|
+
/** Controls order @default ['previous', 'level', 'next'] */
|
|
37
37
|
headerControlsOrder?: ('previous' | 'next' | 'level')[];
|
|
38
|
+
/** Determines whether the header should take the full width of its container @default false */
|
|
39
|
+
fullWidth?: boolean;
|
|
38
40
|
}
|
|
39
41
|
export interface CalendarHeaderProps extends BoxProps, CalendarHeaderSettings, StylesApiProps<CalendarHeaderFactory>, ElementProps<'div'> {
|
|
40
42
|
__staticSelector?: string;
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import type { CalendarHeaderCssVariables, CalendarHeaderFactory, CalendarHeaderProps, CalendarHeaderSettings, CalendarHeaderStylesNames } from './CalendarHeader';
|
|
1
2
|
export { CalendarHeader } from './CalendarHeader';
|
|
2
|
-
export type { CalendarHeaderProps, CalendarHeaderCssVariables, CalendarHeaderSettings, CalendarHeaderFactory,
|
|
3
|
+
export type { CalendarHeaderProps, CalendarHeaderStylesNames, CalendarHeaderCssVariables, CalendarHeaderSettings, CalendarHeaderFactory, };
|
|
4
|
+
export declare namespace CalendarHeader {
|
|
5
|
+
type Props = CalendarHeaderProps;
|
|
6
|
+
type StylesNames = CalendarHeaderStylesNames;
|
|
7
|
+
type CssVariables = CalendarHeaderCssVariables;
|
|
8
|
+
type Settings = CalendarHeaderSettings;
|
|
9
|
+
type Factory = CalendarHeaderFactory;
|
|
10
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { __BaseInputProps, __InputStylesNames, BoxProps, ElementProps, Factory, InputVariant, PopoverProps, StylesApiProps } from '@mantine/core';
|
|
1
|
+
import { __BaseInputProps, __InputStylesNames, BoxProps, ClearSectionMode, ElementProps, Factory, InputVariant, PopoverProps, StylesApiProps } from '@mantine/core';
|
|
2
2
|
import { CalendarLevel, DateStringValue, DateValue } from '../../types';
|
|
3
3
|
import { CalendarBaseProps, CalendarStylesNames } from '../Calendar';
|
|
4
4
|
import { DecadeLevelSettings } from '../DecadeLevel';
|
|
@@ -16,17 +16,19 @@ export interface DateInputProps extends BoxProps, Omit<__BaseInputProps, 'size'>
|
|
|
16
16
|
onChange?: (value: DateStringValue | null) => void;
|
|
17
17
|
/** Props passed down to the `Popover` component */
|
|
18
18
|
popoverProps?: Partial<Omit<PopoverProps, 'children'>>;
|
|
19
|
-
/** If set, clear button is displayed in the `rightSection` when the component has value. Ignored if `rightSection` prop is set. @default
|
|
19
|
+
/** If set, clear button is displayed in the `rightSection` when the component has value. Ignored if `rightSection` prop is set. @default false */
|
|
20
20
|
clearable?: boolean;
|
|
21
|
+
/** Determines how the clear button and rightSection are rendered @default 'both' */
|
|
22
|
+
clearSectionMode?: ClearSectionMode;
|
|
21
23
|
/** Props passed down to the clear button */
|
|
22
|
-
clearButtonProps?: React.
|
|
24
|
+
clearButtonProps?: React.ComponentProps<'button'>;
|
|
23
25
|
/** `dayjs` format to display input value, `"MMMM D, YYYY"` by default */
|
|
24
26
|
valueFormat?: string;
|
|
25
27
|
/** If set to `false`, invalid user input is preserved and is not corrected on blur */
|
|
26
28
|
fixOnBlur?: boolean;
|
|
27
29
|
/** If set, the value can be deselected by deleting everything from the input or by clicking the selected date in the dropdown. By default, `true` if `clearable` prop is set, `false` otherwise. */
|
|
28
30
|
allowDeselect?: boolean;
|
|
29
|
-
/** Max level that user can go up to @default
|
|
31
|
+
/** Max level that user can go up to @default 'decade' */
|
|
30
32
|
maxLevel?: CalendarLevel;
|
|
31
33
|
/** Initial displayed level (uncontrolled) */
|
|
32
34
|
defaultLevel?: CalendarLevel;
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
import type { DateInputFactory, DateInputProps, DateInputStylesNames } from './DateInput';
|
|
1
2
|
export { DateInput } from './DateInput';
|
|
2
|
-
export type { DateInputProps, DateInputStylesNames, DateInputFactory }
|
|
3
|
+
export type { DateInputProps, DateInputStylesNames, DateInputFactory };
|
|
4
|
+
export declare namespace DateInput {
|
|
5
|
+
type Props = DateInputProps;
|
|
6
|
+
type StylesNames = DateInputStylesNames;
|
|
7
|
+
type Factory = DateInputFactory;
|
|
8
|
+
}
|
|
@@ -31,9 +31,10 @@ export type DatePickerFactory = Factory<{
|
|
|
31
31
|
props: DatePickerProps;
|
|
32
32
|
ref: HTMLDivElement;
|
|
33
33
|
stylesNames: DatePickerStylesNames;
|
|
34
|
+
vars: DatePickerCssVariables;
|
|
34
35
|
}>;
|
|
35
36
|
type DatePickerComponent = (<Type extends DatePickerType = 'default'>(props: DatePickerProps<Type> & {
|
|
36
|
-
ref?: React.
|
|
37
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
37
38
|
}) => React.JSX.Element) & {
|
|
38
39
|
displayName?: string;
|
|
39
40
|
} & MantineComponentStaticProperties<DatePickerFactory>;
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
import { DatePickerType } from '../../types';
|
|
2
|
+
import type { DatePickerBaseProps, DatePickerCssVariables, DatePickerFactory, DatePickerPreset, DatePickerProps, DatePickerStylesNames } from './DatePicker';
|
|
1
3
|
export { DatePicker } from './DatePicker';
|
|
2
|
-
export type { DatePickerBaseProps,
|
|
4
|
+
export type { DatePickerProps, DatePickerBaseProps, DatePickerStylesNames, DatePickerFactory, DatePickerPreset, DatePickerCssVariables, };
|
|
5
|
+
export declare namespace DatePicker {
|
|
6
|
+
type Props<Type extends DatePickerType> = DatePickerProps<Type>;
|
|
7
|
+
type BaseProps = DatePickerBaseProps;
|
|
8
|
+
type StylesNames = DatePickerStylesNames;
|
|
9
|
+
type Factory = DatePickerFactory;
|
|
10
|
+
type Preset<Type extends DatePickerType> = DatePickerPreset<Type>;
|
|
11
|
+
type CssVariables = DatePickerCssVariables;
|
|
12
|
+
}
|
|
@@ -4,7 +4,7 @@ import { DatePickerBaseProps, DatePickerStylesNames } from '../DatePicker';
|
|
|
4
4
|
import { DateInputSharedProps } from '../PickerInputBase';
|
|
5
5
|
export type DatePickerInputStylesNames = __InputStylesNames | 'placeholder' | DatePickerStylesNames;
|
|
6
6
|
export interface DatePickerInputProps<Type extends DatePickerType = 'default'> extends BoxProps, DateInputSharedProps, DatePickerBaseProps<Type>, StylesApiProps<DatePickerInputFactory> {
|
|
7
|
-
/** `dayjs` format for input value @default
|
|
7
|
+
/** `dayjs` format for input value @default "MMMM D, YYYY" */
|
|
8
8
|
valueFormat?: string;
|
|
9
9
|
}
|
|
10
10
|
export type DatePickerInputFactory = Factory<{
|
|
@@ -14,7 +14,7 @@ export type DatePickerInputFactory = Factory<{
|
|
|
14
14
|
variant: InputVariant;
|
|
15
15
|
}>;
|
|
16
16
|
type DatePickerInputComponent = (<Type extends DatePickerType = 'default'>(props: DatePickerInputProps<Type> & {
|
|
17
|
-
ref?: React.
|
|
17
|
+
ref?: React.Ref<HTMLButtonElement>;
|
|
18
18
|
}) => React.JSX.Element) & {
|
|
19
19
|
displayName?: string;
|
|
20
20
|
} & MantineComponentStaticProperties<DatePickerInputFactory>;
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
import type { DatePickerInputFactory, DatePickerInputProps, DatePickerInputStylesNames } from './DatePickerInput';
|
|
1
2
|
export { DatePickerInput } from './DatePickerInput';
|
|
2
|
-
export type { DatePickerInputProps, DatePickerInputStylesNames, DatePickerInputFactory
|
|
3
|
+
export type { DatePickerInputProps, DatePickerInputStylesNames, DatePickerInputFactory };
|
|
4
|
+
export declare namespace DatePickerInput {
|
|
5
|
+
type Props = DatePickerInputProps;
|
|
6
|
+
type StylesNames = DatePickerInputStylesNames;
|
|
7
|
+
type Factory = DatePickerInputFactory;
|
|
8
|
+
}
|
|
@@ -6,7 +6,7 @@ import { DateInputSharedProps, PickerInputBaseStylesNames } from '../PickerInput
|
|
|
6
6
|
import { TimePickerProps } from '../TimePicker/TimePicker';
|
|
7
7
|
export type DateTimePickerStylesNames = 'timeWrapper' | 'timeInput' | 'submitButton' | 'placeholder' | PickerInputBaseStylesNames | CalendarStylesNames;
|
|
8
8
|
export interface DateTimePickerProps extends BoxProps, Omit<DateInputSharedProps, 'classNames' | 'styles' | 'closeOnChange' | 'size' | 'valueFormatter'>, CalendarBaseProps, Omit<CalendarSettings, 'onYearMouseEnter' | 'onMonthMouseEnter' | 'hasNextLevel'>, StylesApiProps<DateTimePickerFactory> {
|
|
9
|
-
/** `dayjs` format for input value @default
|
|
9
|
+
/** `dayjs` format for input value @default "DD/MM/YYYY HH:mm" */
|
|
10
10
|
valueFormat?: string;
|
|
11
11
|
/** Controlled component value */
|
|
12
12
|
value?: DateValue;
|
|
@@ -14,15 +14,15 @@ export interface DateTimePickerProps extends BoxProps, Omit<DateInputSharedProps
|
|
|
14
14
|
defaultValue?: DateValue;
|
|
15
15
|
/** Called when value changes */
|
|
16
16
|
onChange?: (value: DateStringValue | null) => void;
|
|
17
|
-
/** Default time value in
|
|
17
|
+
/** Default time value in HH:mm` or `HH:mm:ss` format. Assigned to time when date is selected. */
|
|
18
18
|
defaultTimeValue?: string;
|
|
19
19
|
/** Props passed down to `TimePicker` component */
|
|
20
20
|
timePickerProps?: Omit<TimePickerProps, 'defaultValue' | 'value'>;
|
|
21
21
|
/** Props passed down to the submit button */
|
|
22
|
-
submitButtonProps?: ActionIconProps & React.
|
|
23
|
-
/** Determines whether the seconds input should be displayed @default
|
|
22
|
+
submitButtonProps?: ActionIconProps & React.ComponentProps<'button'>;
|
|
23
|
+
/** Determines whether the seconds input should be displayed @default false */
|
|
24
24
|
withSeconds?: boolean;
|
|
25
|
-
/** Max level that user can go up to @default
|
|
25
|
+
/** Max level that user can go up to @default 'decade' */
|
|
26
26
|
maxLevel?: CalendarLevel;
|
|
27
27
|
/** Presets values */
|
|
28
28
|
presets?: DatePickerPreset<'default'>[];
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
+
import type { DateTimePickerFactory, DateTimePickerProps, DateTimePickerStylesNames } from './DateTimePicker';
|
|
1
2
|
export { DateTimePicker } from './DateTimePicker';
|
|
2
|
-
export type { DateTimePickerProps, DateTimePickerStylesNames, DateTimePickerFactory
|
|
3
|
+
export type { DateTimePickerProps, DateTimePickerStylesNames, DateTimePickerFactory };
|
|
4
|
+
export declare namespace DateTimePicker {
|
|
5
|
+
type Props = DateTimePickerProps;
|
|
6
|
+
type StylesNames = DateTimePickerStylesNames;
|
|
7
|
+
type Factory = DateTimePickerFactory;
|
|
8
|
+
}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import type { DatesProviderProps, DatesProviderSettings } from './DatesProvider';
|
|
1
2
|
export { DATES_PROVIDER_DEFAULT_SETTINGS, DatesProvider } from './DatesProvider';
|
|
2
3
|
export { useDatesContext } from './use-dates-context';
|
|
3
|
-
export type { DatesProviderProps, DatesProviderSettings }
|
|
4
|
+
export type { DatesProviderProps, DatesProviderSettings };
|
|
5
|
+
export declare namespace DatesProvider {
|
|
6
|
+
type Props = DatesProviderProps;
|
|
7
|
+
type Settings = DatesProviderSettings;
|
|
8
|
+
}
|
|
@@ -11,26 +11,28 @@ export interface DayProps extends BoxProps, StylesApiProps<DayFactory>, ElementP
|
|
|
11
11
|
static?: boolean;
|
|
12
12
|
/** Date that is displayed in `YYYY-MM-DD` format */
|
|
13
13
|
date: DateStringValue;
|
|
14
|
-
/** Control width and height of the day @default
|
|
14
|
+
/** Control width and height of the day @default 'sm' */
|
|
15
15
|
size?: MantineSize;
|
|
16
|
-
/** Determines whether the day is considered to be a weekend @default
|
|
16
|
+
/** Determines whether the day is considered to be a weekend @default false */
|
|
17
17
|
weekend?: boolean;
|
|
18
|
-
/** Determines whether the day is outside of the current month @default
|
|
18
|
+
/** Determines whether the day is outside of the current month @default false */
|
|
19
19
|
outside?: boolean;
|
|
20
|
-
/** Determines whether the day is selected @default
|
|
20
|
+
/** Determines whether the day is selected @default false */
|
|
21
21
|
selected?: boolean;
|
|
22
|
-
/** Determines whether the day should not be displayed @default
|
|
22
|
+
/** Determines whether the day should not be displayed @default false */
|
|
23
23
|
hidden?: boolean;
|
|
24
|
-
/** Determines whether the day is selected in range @default
|
|
24
|
+
/** Determines whether the day is selected in range @default false */
|
|
25
25
|
inRange?: boolean;
|
|
26
|
-
/** Determines whether the day is first in range selection @default
|
|
26
|
+
/** Determines whether the day is first in range selection @default false */
|
|
27
27
|
firstInRange?: boolean;
|
|
28
|
-
/** Determines whether the day is last in range selection @default
|
|
28
|
+
/** Determines whether the day is last in range selection @default false */
|
|
29
29
|
lastInRange?: boolean;
|
|
30
30
|
/** Controls day value rendering */
|
|
31
31
|
renderDay?: RenderDay;
|
|
32
|
-
/** Determines whether today should be highlighted with a border @default
|
|
32
|
+
/** Determines whether today should be highlighted with a border @default false */
|
|
33
33
|
highlightToday?: boolean;
|
|
34
|
+
/** Determines whether the day should take the full width of its cell @default false */
|
|
35
|
+
fullWidth?: boolean;
|
|
34
36
|
}
|
|
35
37
|
export type DayFactory = Factory<{
|
|
36
38
|
props: DayProps;
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
import type { DayCssVariables, DayFactory, DayProps, DayStylesNames, RenderDay } from './Day';
|
|
1
2
|
export { Day } from './Day';
|
|
2
|
-
export type {
|
|
3
|
+
export type { DayProps, DayStylesNames, DayFactory, DayCssVariables, RenderDay };
|
|
4
|
+
export declare namespace Day {
|
|
5
|
+
type Props = DayProps;
|
|
6
|
+
type StylesNames = DayStylesNames;
|
|
7
|
+
type Factory = DayFactory;
|
|
8
|
+
type CssVariables = DayCssVariables;
|
|
9
|
+
}
|
|
@@ -4,7 +4,7 @@ import { CalendarHeaderSettings, CalendarHeaderStylesNames } from '../CalendarHe
|
|
|
4
4
|
import { YearsListSettings, YearsListStylesNames } from '../YearsList';
|
|
5
5
|
export type DecadeLevelStylesNames = YearsListStylesNames | CalendarHeaderStylesNames;
|
|
6
6
|
export interface DecadeLevelBaseSettings extends YearsListSettings {
|
|
7
|
-
/** `dayjs` format for decade label or a function that returns decade label based on the date value @default
|
|
7
|
+
/** `dayjs` format for decade label or a function that returns decade label based on the date value @default "YYYY" */
|
|
8
8
|
decadeLabelFormat?: string | ((startOfDecade: DateStringValue, endOfDecade: DateStringValue) => React.ReactNode);
|
|
9
9
|
}
|
|
10
10
|
export interface DecadeLevelSettings extends DecadeLevelBaseSettings, Omit<CalendarHeaderSettings, 'onLevelClick' | 'hasNextLevel'> {
|
|
@@ -17,6 +17,8 @@ export interface DecadeLevelProps extends BoxProps, DecadeLevelSettings, Omit<St
|
|
|
17
17
|
decade: DateStringValue;
|
|
18
18
|
/** Level control `aria-label` */
|
|
19
19
|
levelControlAriaLabel?: string;
|
|
20
|
+
/** Determines whether the calendar should take the full width of its container @default false */
|
|
21
|
+
fullWidth?: boolean;
|
|
20
22
|
}
|
|
21
23
|
export type DecadeLevelFactory = Factory<{
|
|
22
24
|
props: DecadeLevelProps;
|
|
@@ -13,6 +13,8 @@ export interface DecadeLevelGroupProps extends BoxProps, Omit<StylesApiProps<Dec
|
|
|
13
13
|
decade: DateStringValue;
|
|
14
14
|
/** Function that returns level control `aria-label` based on year date */
|
|
15
15
|
levelControlAriaLabel?: ((decade: DateStringValue) => string) | string;
|
|
16
|
+
/** Determines whether the calendar should take the full width of its container @default false */
|
|
17
|
+
fullWidth?: boolean;
|
|
16
18
|
}
|
|
17
19
|
export type DecadeLevelGroupFactory = Factory<{
|
|
18
20
|
props: DecadeLevelGroupProps;
|
|
@@ -3,6 +3,8 @@ export type LevelsGroupStylesNames = 'levelsGroup';
|
|
|
3
3
|
export interface LevelsGroupProps extends BoxProps, StylesApiProps<LevelsGroupFactory>, ElementProps<'div'> {
|
|
4
4
|
__staticSelector?: string;
|
|
5
5
|
size?: MantineSize;
|
|
6
|
+
/** Determines whether the group should take the full width of its container @default false */
|
|
7
|
+
fullWidth?: boolean;
|
|
6
8
|
}
|
|
7
9
|
export type LevelsGroupFactory = Factory<{
|
|
8
10
|
props: LevelsGroupProps;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type GetStylesApi } from '@mantine/core';
|
|
2
|
+
import type { MaskedDateInputFactory } from './MaskedDateInput';
|
|
3
|
+
interface MaskedDateInputContextValue {
|
|
4
|
+
getStyles: GetStylesApi<MaskedDateInputFactory>;
|
|
5
|
+
}
|
|
6
|
+
export declare const MaskedDateInputProvider: import("react").Context<MaskedDateInputContextValue | null>, useMaskedDateInputContext: () => MaskedDateInputContextValue;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { __BaseInputProps, __InputStylesNames, BoxProps, CloseButtonProps, DataAttributes, ElementProps, Factory, InputVariant, MantineSize, PopoverProps, StylesApiProps } from '@mantine/core';
|
|
2
|
+
import { DateStringValue } from '../../types';
|
|
3
|
+
import { CalendarBaseProps, CalendarStylesNames } from '../Calendar';
|
|
4
|
+
import { DecadeLevelSettings } from '../DecadeLevel';
|
|
5
|
+
import { MonthLevelSettings } from '../MonthLevel';
|
|
6
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker/TimePicker.types';
|
|
7
|
+
import { YearLevelSettings } from '../YearLevel';
|
|
8
|
+
import type { MaskedDateInputOrder, MaskedDateInputPasteSplit } from './MaskedDateInput.types';
|
|
9
|
+
export type MaskedDateInputStylesNames = 'fieldsRoot' | 'fieldsGroup' | 'field' | 'yearField' | 'separator' | 'dropdown' | CalendarStylesNames | __InputStylesNames;
|
|
10
|
+
export interface MaskedDateInputProps extends BoxProps, Omit<__BaseInputProps, 'size'>, CalendarBaseProps, Omit<DecadeLevelSettings, 'size'>, Omit<YearLevelSettings, 'size'>, Omit<MonthLevelSettings, 'size'>, StylesApiProps<MaskedDateInputFactory>, ElementProps<'div', 'onChange' | 'defaultValue' | 'size'> {
|
|
11
|
+
/** Component size */
|
|
12
|
+
size?: MantineSize;
|
|
13
|
+
/** Controlled component value in YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS format */
|
|
14
|
+
value?: DateStringValue | null;
|
|
15
|
+
/** Uncontrolled component default value */
|
|
16
|
+
defaultValue?: DateStringValue | null;
|
|
17
|
+
/** Called when value changes */
|
|
18
|
+
onChange?: (value: DateStringValue | null) => void;
|
|
19
|
+
/** Order of date fields, @default ['day', 'month', 'year'] */
|
|
20
|
+
dateFieldsOrder?: MaskedDateInputOrder;
|
|
21
|
+
/** Separator between date fields, @default '/' */
|
|
22
|
+
dateSeparator?: string;
|
|
23
|
+
/** Separator between time fields, @default ':' */
|
|
24
|
+
timeSeparator?: string;
|
|
25
|
+
/** Separator between date and time fields, @default ' ' */
|
|
26
|
+
dateTimeSeparator?: string;
|
|
27
|
+
/** Determines whether to show time inputs, @default false */
|
|
28
|
+
withTime?: boolean;
|
|
29
|
+
/** Determines whether to show seconds input, @default false */
|
|
30
|
+
withSeconds?: boolean;
|
|
31
|
+
/** Time format, @default '24h' */
|
|
32
|
+
timeFormat?: TimePickerFormat;
|
|
33
|
+
/** Labels used for am/pm values, @default { am: 'AM', pm: 'PM' } */
|
|
34
|
+
amPmLabels?: TimePickerAmPmLabels;
|
|
35
|
+
/** Props passed down to the `Popover` component */
|
|
36
|
+
popoverProps?: PopoverProps;
|
|
37
|
+
/** Determines whether the clear button should be displayed, @default false */
|
|
38
|
+
clearable?: boolean;
|
|
39
|
+
/** Props passed down to clear button */
|
|
40
|
+
clearButtonProps?: CloseButtonProps & ElementProps<'button'> & DataAttributes;
|
|
41
|
+
/** `name` prop passed down to the hidden input */
|
|
42
|
+
name?: string;
|
|
43
|
+
/** `form` prop passed down to the hidden input */
|
|
44
|
+
form?: string;
|
|
45
|
+
/** Called once when one of the inputs is focused */
|
|
46
|
+
onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
|
|
47
|
+
/** Called once when the focus is no longer on any of the inputs */
|
|
48
|
+
onBlur?: (event: React.FocusEvent<HTMLDivElement>) => void;
|
|
49
|
+
/** If set, the value cannot be updated */
|
|
50
|
+
readOnly?: boolean;
|
|
51
|
+
/** If set, the component becomes disabled */
|
|
52
|
+
disabled?: boolean;
|
|
53
|
+
/** Props passed down to day input */
|
|
54
|
+
dayInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
55
|
+
/** Props passed down to month input */
|
|
56
|
+
monthInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
57
|
+
/** Props passed down to year input */
|
|
58
|
+
yearInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
59
|
+
/** Props passed down to hours input */
|
|
60
|
+
hoursInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
61
|
+
/** Props passed down to minutes input */
|
|
62
|
+
minutesInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
63
|
+
/** Props passed down to seconds input */
|
|
64
|
+
secondsInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
65
|
+
/** Props passed down to am/pm select */
|
|
66
|
+
amPmSelectProps?: React.ComponentProps<'select'> & DataAttributes;
|
|
67
|
+
/** Props passed down to the hidden input */
|
|
68
|
+
hiddenInputProps?: React.ComponentProps<'input'> & DataAttributes;
|
|
69
|
+
/** A function to transform paste values */
|
|
70
|
+
pasteSplit?: MaskedDateInputPasteSplit;
|
|
71
|
+
/** A ref object to get node reference of the day input */
|
|
72
|
+
dayRef?: React.Ref<HTMLInputElement>;
|
|
73
|
+
/** A ref object to get node reference of the month input */
|
|
74
|
+
monthRef?: React.Ref<HTMLInputElement>;
|
|
75
|
+
/** A ref object to get node reference of the year input */
|
|
76
|
+
yearRef?: React.Ref<HTMLInputElement>;
|
|
77
|
+
/** A ref object to get node reference of the hours input */
|
|
78
|
+
hoursRef?: React.Ref<HTMLInputElement>;
|
|
79
|
+
/** A ref object to get node reference of the minutes input */
|
|
80
|
+
minutesRef?: React.Ref<HTMLInputElement>;
|
|
81
|
+
/** A ref object to get node reference of the seconds input */
|
|
82
|
+
secondsRef?: React.Ref<HTMLInputElement>;
|
|
83
|
+
/** A ref object to get node reference of the am/pm select */
|
|
84
|
+
amPmRef?: React.Ref<HTMLSelectElement>;
|
|
85
|
+
/** Day input placeholder, @default 'DD' */
|
|
86
|
+
dayPlaceholder?: string;
|
|
87
|
+
/** Month input placeholder, @default 'MM' */
|
|
88
|
+
monthPlaceholder?: string;
|
|
89
|
+
/** Year input placeholder, @default 'YYYY' */
|
|
90
|
+
yearPlaceholder?: string;
|
|
91
|
+
/** Hours input placeholder, @default '--' */
|
|
92
|
+
hoursPlaceholder?: string;
|
|
93
|
+
/** Minutes input placeholder, @default '--' */
|
|
94
|
+
minutesPlaceholder?: string;
|
|
95
|
+
/** Seconds input placeholder, @default '--' */
|
|
96
|
+
secondsPlaceholder?: string;
|
|
97
|
+
/** `aria-label` for day input */
|
|
98
|
+
dayInputLabel?: string;
|
|
99
|
+
/** `aria-label` for month input */
|
|
100
|
+
monthInputLabel?: string;
|
|
101
|
+
/** `aria-label` for year input */
|
|
102
|
+
yearInputLabel?: string;
|
|
103
|
+
/** `aria-label` for hours input */
|
|
104
|
+
hoursInputLabel?: string;
|
|
105
|
+
/** `aria-label` for minutes input */
|
|
106
|
+
minutesInputLabel?: string;
|
|
107
|
+
/** `aria-label` for seconds input */
|
|
108
|
+
secondsInputLabel?: string;
|
|
109
|
+
/** `aria-label` of am/pm input */
|
|
110
|
+
amPmInputLabel?: string;
|
|
111
|
+
}
|
|
112
|
+
export type MaskedDateInputFactory = Factory<{
|
|
113
|
+
props: MaskedDateInputProps;
|
|
114
|
+
ref: HTMLDivElement;
|
|
115
|
+
stylesNames: MaskedDateInputStylesNames;
|
|
116
|
+
variant: InputVariant;
|
|
117
|
+
}>;
|
|
118
|
+
export declare const MaskedDateInput: import("@mantine/core").MantineComponent<{
|
|
119
|
+
props: MaskedDateInputProps;
|
|
120
|
+
ref: HTMLDivElement;
|
|
121
|
+
stylesNames: MaskedDateInputStylesNames;
|
|
122
|
+
variant: InputVariant;
|
|
123
|
+
}>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker/TimePicker.types';
|
|
2
|
+
export type MaskedDateInputField = 'day' | 'month' | 'year';
|
|
3
|
+
export type MaskedDateInputOrder = MaskedDateInputField[];
|
|
4
|
+
export interface MaskedDateInputParsedValue {
|
|
5
|
+
day: number | null;
|
|
6
|
+
month: number | null;
|
|
7
|
+
year: number | null;
|
|
8
|
+
hours: number | null;
|
|
9
|
+
minutes: number | null;
|
|
10
|
+
seconds: number | null;
|
|
11
|
+
amPm: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface MaskedDateInputPasteSplit {
|
|
14
|
+
(input: {
|
|
15
|
+
value: string;
|
|
16
|
+
format: TimePickerFormat;
|
|
17
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
18
|
+
}): MaskedDateInputParsedValue;
|
|
19
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { MaskedDateInputFactory, MaskedDateInputProps, MaskedDateInputStylesNames } from './MaskedDateInput';
|
|
2
|
+
import type { MaskedDateInputField, MaskedDateInputOrder, MaskedDateInputPasteSplit } from './MaskedDateInput.types';
|
|
3
|
+
export { MaskedDateInput } from './MaskedDateInput';
|
|
4
|
+
export type { MaskedDateInputProps, MaskedDateInputStylesNames, MaskedDateInputFactory, MaskedDateInputField, MaskedDateInputOrder, MaskedDateInputPasteSplit, };
|
|
5
|
+
export declare namespace MaskedDateInput {
|
|
6
|
+
type Props = MaskedDateInputProps;
|
|
7
|
+
type StylesNames = MaskedDateInputStylesNames;
|
|
8
|
+
type Factory = MaskedDateInputFactory;
|
|
9
|
+
type Field = MaskedDateInputField;
|
|
10
|
+
type Order = MaskedDateInputOrder;
|
|
11
|
+
type PasteSplit = MaskedDateInputPasteSplit;
|
|
12
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DateStringValue } from '../../types';
|
|
2
|
+
import { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker/TimePicker.types';
|
|
3
|
+
import type { MaskedDateInputPasteSplit } from './MaskedDateInput.types';
|
|
4
|
+
interface UseMaskedDateInputInput {
|
|
5
|
+
value: DateStringValue | undefined;
|
|
6
|
+
defaultValue: DateStringValue | undefined;
|
|
7
|
+
onChange: ((value: DateStringValue | null) => void) | undefined;
|
|
8
|
+
withTime: boolean | undefined;
|
|
9
|
+
withSeconds: boolean | undefined;
|
|
10
|
+
format: TimePickerFormat;
|
|
11
|
+
amPmLabels: TimePickerAmPmLabels;
|
|
12
|
+
min: string | undefined;
|
|
13
|
+
max: string | undefined;
|
|
14
|
+
minDate: DateStringValue | Date | undefined;
|
|
15
|
+
maxDate: DateStringValue | Date | undefined;
|
|
16
|
+
readOnly: boolean | undefined;
|
|
17
|
+
disabled: boolean | undefined;
|
|
18
|
+
clearable: boolean | undefined;
|
|
19
|
+
pasteSplit: MaskedDateInputPasteSplit | undefined;
|
|
20
|
+
}
|
|
21
|
+
export declare function useMaskedDateInput({ value, defaultValue, onChange, withTime, withSeconds, format, amPmLabels, min, max, minDate, maxDate, clearable, readOnly, disabled, pasteSplit, }: UseMaskedDateInputInput): {
|
|
22
|
+
values: {
|
|
23
|
+
day: number | null;
|
|
24
|
+
month: number | null;
|
|
25
|
+
year: number | null;
|
|
26
|
+
hours: number | null;
|
|
27
|
+
minutes: number | null;
|
|
28
|
+
seconds: number | null;
|
|
29
|
+
amPm: string | null;
|
|
30
|
+
};
|
|
31
|
+
setDay: (val: number | null) => void;
|
|
32
|
+
setMonth: (val: number | null) => void;
|
|
33
|
+
setYear: (val: number | null) => void;
|
|
34
|
+
setHours: (val: number | null) => void;
|
|
35
|
+
setMinutes: (val: number | null) => void;
|
|
36
|
+
setSeconds: (val: number | null) => void;
|
|
37
|
+
setAmPm: (val: string | null) => void;
|
|
38
|
+
setDateValue: (dateValue: DateStringValue | null) => void;
|
|
39
|
+
clear: () => void;
|
|
40
|
+
isClearable: boolean | undefined;
|
|
41
|
+
refs: {
|
|
42
|
+
day: import("react").RefObject<HTMLInputElement | null>;
|
|
43
|
+
month: import("react").RefObject<HTMLInputElement | null>;
|
|
44
|
+
year: import("react").RefObject<HTMLInputElement | null>;
|
|
45
|
+
hours: import("react").RefObject<HTMLInputElement | null>;
|
|
46
|
+
minutes: import("react").RefObject<HTMLInputElement | null>;
|
|
47
|
+
seconds: import("react").RefObject<HTMLInputElement | null>;
|
|
48
|
+
amPm: import("react").RefObject<HTMLSelectElement | null>;
|
|
49
|
+
};
|
|
50
|
+
focus: (field: "day" | "month" | "year" | "hours" | "minutes" | "seconds" | "amPm") => void;
|
|
51
|
+
onPaste: (event: React.ClipboardEvent<any>) => void;
|
|
52
|
+
hiddenInputValue: string;
|
|
53
|
+
calendarValue: string | null;
|
|
54
|
+
getDaysInMonth: () => number;
|
|
55
|
+
};
|
|
56
|
+
export {};
|
|
@@ -20,7 +20,7 @@ export interface MiniCalendarProps extends BoxProps, StylesApiProps<MiniCalendar
|
|
|
20
20
|
minDate?: Date | string;
|
|
21
21
|
/** Number of days to display in the calendar @default 7 */
|
|
22
22
|
numberOfDays?: number;
|
|
23
|
-
/** Dayjs format string for month label @default
|
|
23
|
+
/** Dayjs format string for month label @default MMM */
|
|
24
24
|
monthLabelFormat?: string;
|
|
25
25
|
/** Called when the next button is clicked */
|
|
26
26
|
onNext?: () => void;
|
|
@@ -31,9 +31,9 @@ export interface MiniCalendarProps extends BoxProps, StylesApiProps<MiniCalendar
|
|
|
31
31
|
/** Component size @default 'sm' */
|
|
32
32
|
size?: MantineSize;
|
|
33
33
|
/** Props passed to previous control button */
|
|
34
|
-
previousControlProps?: React.
|
|
34
|
+
previousControlProps?: React.ComponentProps<'button'> & DataAttributes;
|
|
35
35
|
/** Props passed to next control button */
|
|
36
|
-
nextControlProps?: React.
|
|
36
|
+
nextControlProps?: React.ComponentProps<'button'> & DataAttributes;
|
|
37
37
|
/** dayjs locale used for formatting */
|
|
38
38
|
locale?: string;
|
|
39
39
|
}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
+
import type { MiniCalendarCssVariables, MiniCalendarFactory, MiniCalendarProps, MiniCalendarStylesNames } from './MiniCalendar';
|
|
1
2
|
export { MiniCalendar } from './MiniCalendar';
|
|
2
|
-
export type {
|
|
3
|
+
export type { MiniCalendarProps, MiniCalendarStylesNames, MiniCalendarFactory, MiniCalendarCssVariables, };
|
|
4
|
+
export declare namespace MiniCalendar {
|
|
5
|
+
type Props = MiniCalendarProps;
|
|
6
|
+
type StylesNames = MiniCalendarStylesNames;
|
|
7
|
+
type Factory = MiniCalendarFactory;
|
|
8
|
+
type CssVariables = MiniCalendarCssVariables;
|
|
9
|
+
}
|
|
@@ -2,6 +2,9 @@ import { BoxProps, DataAttributes, ElementProps, Factory, MantineSize, StylesApi
|
|
|
2
2
|
import { ControlKeydownPayload, DateLabelFormat, DateStringValue, DayOfWeek } from '../../types';
|
|
3
3
|
import { DayProps, DayStylesNames, RenderDay } from '../Day';
|
|
4
4
|
export type MonthStylesNames = 'month' | 'weekday' | 'weekdaysRow' | 'monthRow' | 'month' | 'monthThead' | 'monthTbody' | 'monthCell' | 'weekNumber' | DayStylesNames;
|
|
5
|
+
export type MonthCssVariables = {
|
|
6
|
+
weekNumber: '--wn-fz' | '--wn-size';
|
|
7
|
+
};
|
|
5
8
|
export interface MonthSettings {
|
|
6
9
|
/** Determines whether propagation for `Escape` key should be stopped */
|
|
7
10
|
__stopPropagation?: boolean;
|
|
@@ -17,9 +20,9 @@ export interface MonthSettings {
|
|
|
17
20
|
__getDayRef?: (rowIndex: number, cellIndex: number, node: HTMLButtonElement) => void;
|
|
18
21
|
/** `dayjs` locale, the default value is defined by `DatesProvider` */
|
|
19
22
|
locale?: string;
|
|
20
|
-
/** Number 0-6, where 0 – Sunday and 6 – Saturday. @default
|
|
23
|
+
/** Number 0-6, where 0 – Sunday and 6 – Saturday. @default 1 – Monday */
|
|
21
24
|
firstDayOfWeek?: DayOfWeek;
|
|
22
|
-
/** `dayjs` format for weekdays names @default
|
|
25
|
+
/** `dayjs` format for weekdays names @default 'dd' */
|
|
23
26
|
weekdayFormat?: DateLabelFormat;
|
|
24
27
|
/** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday. The default value is defined by `DatesProvider`. */
|
|
25
28
|
weekendDays?: DayOfWeek[];
|
|
@@ -33,22 +36,24 @@ export interface MonthSettings {
|
|
|
33
36
|
maxDate?: DateStringValue | Date;
|
|
34
37
|
/** Controls day value rendering */
|
|
35
38
|
renderDay?: RenderDay;
|
|
36
|
-
/** Determines whether outside dates should be hidden @default
|
|
39
|
+
/** Determines whether outside dates should be hidden @default false */
|
|
37
40
|
hideOutsideDates?: boolean;
|
|
38
|
-
/** Determines whether weekdays row should be hidden @default
|
|
41
|
+
/** Determines whether weekdays row should be hidden @default false */
|
|
39
42
|
hideWeekdays?: boolean;
|
|
40
43
|
/** Assigns `aria-label` to `Day` components based on date */
|
|
41
44
|
getDayAriaLabel?: (date: DateStringValue) => string;
|
|
42
45
|
/** Controls size */
|
|
43
46
|
size?: MantineSize;
|
|
44
|
-
/** Determines whether controls should be separated by space @default
|
|
47
|
+
/** Determines whether controls should be separated by space @default true */
|
|
45
48
|
withCellSpacing?: boolean;
|
|
46
|
-
/** Determines whether today should be highlighted with a border @default
|
|
49
|
+
/** Determines whether today should be highlighted with a border @default false */
|
|
47
50
|
highlightToday?: boolean;
|
|
48
|
-
/** Determines whether week numbers should be displayed @default
|
|
51
|
+
/** Determines whether week numbers should be displayed @default false */
|
|
49
52
|
withWeekNumbers?: boolean;
|
|
53
|
+
/** Determines whether the month should take the full width of its container @default false */
|
|
54
|
+
fullWidth?: boolean;
|
|
50
55
|
}
|
|
51
|
-
export interface MonthProps extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'
|
|
56
|
+
export interface MonthProps extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'table'> {
|
|
52
57
|
__staticSelector?: string;
|
|
53
58
|
/** Month to display, value `YYYY-MM-DD` */
|
|
54
59
|
month: DateStringValue;
|
|
@@ -59,9 +64,11 @@ export type MonthFactory = Factory<{
|
|
|
59
64
|
props: MonthProps;
|
|
60
65
|
ref: HTMLTableElement;
|
|
61
66
|
stylesNames: MonthStylesNames;
|
|
67
|
+
vars: MonthCssVariables;
|
|
62
68
|
}>;
|
|
63
69
|
export declare const Month: import("@mantine/core").MantineComponent<{
|
|
64
70
|
props: MonthProps;
|
|
65
71
|
ref: HTMLTableElement;
|
|
66
72
|
stylesNames: MonthStylesNames;
|
|
73
|
+
vars: MonthCssVariables;
|
|
67
74
|
}>;
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import type { MonthFactory, MonthProps, MonthSettings, MonthStylesNames } from './Month';
|
|
1
2
|
export { getEndOfWeek } from './get-end-of-week/get-end-of-week';
|
|
2
3
|
export { getStartOfWeek } from './get-start-of-week/get-start-of-week';
|
|
3
4
|
export { getMonthDays } from './get-month-days/get-month-days';
|
|
4
5
|
export { isSameMonth } from './is-same-month/is-same-month';
|
|
5
6
|
export { Month } from './Month';
|
|
6
|
-
export type { MonthProps, MonthSettings, MonthStylesNames, MonthFactory }
|
|
7
|
+
export type { MonthProps, MonthSettings, MonthStylesNames, MonthFactory };
|
|
8
|
+
export declare namespace Month {
|
|
9
|
+
type Props = MonthProps;
|
|
10
|
+
type Settings = MonthSettings;
|
|
11
|
+
type StylesNames = MonthStylesNames;
|
|
12
|
+
type Factory = MonthFactory;
|
|
13
|
+
}
|