@mantine/dates 8.3.13 → 9.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/cjs/components/Calendar/Calendar.cjs +3 -10
  2. package/cjs/components/Calendar/Calendar.cjs.map +1 -1
  3. package/cjs/components/CalendarHeader/CalendarHeader.cjs +3 -2
  4. package/cjs/components/CalendarHeader/CalendarHeader.cjs.map +1 -1
  5. package/cjs/components/DateInput/DateInput.cjs +3 -2
  6. package/cjs/components/DateInput/DateInput.cjs.map +1 -1
  7. package/cjs/components/DatePicker/DatePicker.cjs +4 -3
  8. package/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  9. package/cjs/components/DatePickerInput/DatePickerInput.cjs +1 -2
  10. package/cjs/components/DatePickerInput/DatePickerInput.cjs.map +1 -1
  11. package/cjs/components/DateTimePicker/DateTimePicker.cjs +1 -2
  12. package/cjs/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  13. package/cjs/components/DatesProvider/DatesProvider.cjs +1 -1
  14. package/cjs/components/DatesProvider/DatesProvider.cjs.map +1 -1
  15. package/cjs/components/DatesProvider/use-dates-context.cjs +1 -1
  16. package/cjs/components/DatesProvider/use-dates-context.cjs.map +1 -1
  17. package/cjs/components/Day/Day.cjs +2 -2
  18. package/cjs/components/Day/Day.cjs.map +1 -1
  19. package/cjs/components/DecadeLevel/DecadeLevel.cjs +2 -2
  20. package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
  21. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +1 -2
  22. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
  23. package/cjs/components/LevelsGroup/LevelsGroup.cjs +2 -2
  24. package/cjs/components/LevelsGroup/LevelsGroup.cjs.map +1 -1
  25. package/cjs/components/MaskedDateInput/MaskedDateInput.cjs +632 -0
  26. package/cjs/components/MaskedDateInput/MaskedDateInput.cjs.map +1 -0
  27. package/cjs/components/MaskedDateInput/MaskedDateInput.context.cjs +12 -0
  28. package/cjs/components/MaskedDateInput/MaskedDateInput.context.cjs.map +1 -0
  29. package/cjs/components/MaskedDateInput/MaskedDateInput.module.css.cjs +7 -0
  30. package/cjs/components/MaskedDateInput/MaskedDateInput.module.css.cjs.map +1 -0
  31. package/cjs/components/MaskedDateInput/use-masked-date-input.cjs +447 -0
  32. package/cjs/components/MaskedDateInput/use-masked-date-input.cjs.map +1 -0
  33. package/cjs/components/MiniCalendar/MiniCalendar.cjs +6 -3
  34. package/cjs/components/MiniCalendar/MiniCalendar.cjs.map +1 -1
  35. package/cjs/components/Month/Month.cjs +6 -3
  36. package/cjs/components/Month/Month.cjs.map +1 -1
  37. package/cjs/components/MonthLevel/MonthLevel.cjs +2 -2
  38. package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
  39. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +1 -2
  40. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs.map +1 -1
  41. package/cjs/components/MonthPicker/MonthPicker.cjs +1 -2
  42. package/cjs/components/MonthPicker/MonthPicker.cjs.map +1 -1
  43. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs +1 -2
  44. package/cjs/components/MonthPickerInput/MonthPickerInput.cjs.map +1 -1
  45. package/cjs/components/MonthsList/MonthsList.cjs +2 -2
  46. package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
  47. package/cjs/components/PickerControl/PickerControl.cjs +2 -2
  48. package/cjs/components/PickerControl/PickerControl.cjs.map +1 -1
  49. package/cjs/components/PickerInputBase/PickerInputBase.cjs +3 -2
  50. package/cjs/components/PickerInputBase/PickerInputBase.cjs.map +1 -1
  51. package/cjs/components/SpinInput/SpinInput.cjs +97 -101
  52. package/cjs/components/SpinInput/SpinInput.cjs.map +1 -1
  53. package/cjs/components/TimeGrid/TimeGrid.cjs +3 -2
  54. package/cjs/components/TimeGrid/TimeGrid.cjs.map +1 -1
  55. package/cjs/components/TimeGrid/TimeGridControl.cjs.map +1 -1
  56. package/cjs/components/TimeInput/TimeInput.cjs +1 -2
  57. package/cjs/components/TimeInput/TimeInput.cjs.map +1 -1
  58. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs +81 -86
  59. package/cjs/components/TimePicker/AmPmInput/AmPmInput.cjs.map +1 -1
  60. package/cjs/components/TimePicker/TimePicker.cjs +8 -3
  61. package/cjs/components/TimePicker/TimePicker.cjs.map +1 -1
  62. package/cjs/components/TimeValue/TimeValue.cjs.map +1 -1
  63. package/cjs/components/WeekdaysRow/WeekdaysRow.cjs +3 -2
  64. package/cjs/components/WeekdaysRow/WeekdaysRow.cjs.map +1 -1
  65. package/cjs/components/YearLevel/YearLevel.cjs +2 -2
  66. package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
  67. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +1 -2
  68. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs.map +1 -1
  69. package/cjs/components/YearPicker/YearPicker.cjs +1 -2
  70. package/cjs/components/YearPicker/YearPicker.cjs.map +1 -1
  71. package/cjs/components/YearPickerInput/YearPickerInput.cjs +1 -2
  72. package/cjs/components/YearPickerInput/YearPickerInput.cjs.map +1 -1
  73. package/cjs/components/YearsList/YearsList.cjs +2 -2
  74. package/cjs/components/YearsList/YearsList.cjs.map +1 -1
  75. package/cjs/hooks/use-dates-state/use-dates-state.cjs.map +1 -1
  76. package/esm/components/Calendar/Calendar.mjs +4 -11
  77. package/esm/components/Calendar/Calendar.mjs.map +1 -1
  78. package/esm/components/CalendarHeader/CalendarHeader.mjs +3 -2
  79. package/esm/components/CalendarHeader/CalendarHeader.mjs.map +1 -1
  80. package/esm/components/DateInput/DateInput.mjs +3 -2
  81. package/esm/components/DateInput/DateInput.mjs.map +1 -1
  82. package/esm/components/DatePicker/DatePicker.mjs +4 -3
  83. package/esm/components/DatePicker/DatePicker.mjs.map +1 -1
  84. package/esm/components/DatePickerInput/DatePickerInput.mjs +1 -2
  85. package/esm/components/DatePickerInput/DatePickerInput.mjs.map +1 -1
  86. package/esm/components/DateTimePicker/DateTimePicker.mjs +1 -2
  87. package/esm/components/DateTimePicker/DateTimePicker.mjs.map +1 -1
  88. package/esm/components/DatesProvider/DatesProvider.mjs +1 -1
  89. package/esm/components/DatesProvider/DatesProvider.mjs.map +1 -1
  90. package/esm/components/DatesProvider/use-dates-context.mjs +2 -2
  91. package/esm/components/DatesProvider/use-dates-context.mjs.map +1 -1
  92. package/esm/components/Day/Day.mjs +2 -2
  93. package/esm/components/Day/Day.mjs.map +1 -1
  94. package/esm/components/DecadeLevel/DecadeLevel.mjs +2 -2
  95. package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
  96. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +1 -2
  97. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
  98. package/esm/components/LevelsGroup/LevelsGroup.mjs +2 -2
  99. package/esm/components/LevelsGroup/LevelsGroup.mjs.map +1 -1
  100. package/esm/components/MaskedDateInput/MaskedDateInput.context.mjs +9 -0
  101. package/esm/components/MaskedDateInput/MaskedDateInput.context.mjs.map +1 -0
  102. package/esm/components/MaskedDateInput/MaskedDateInput.mjs +626 -0
  103. package/esm/components/MaskedDateInput/MaskedDateInput.mjs.map +1 -0
  104. package/esm/components/MaskedDateInput/MaskedDateInput.module.css.mjs +5 -0
  105. package/esm/components/MaskedDateInput/MaskedDateInput.module.css.mjs.map +1 -0
  106. package/esm/components/MaskedDateInput/use-masked-date-input.mjs +441 -0
  107. package/esm/components/MaskedDateInput/use-masked-date-input.mjs.map +1 -0
  108. package/esm/components/MiniCalendar/MiniCalendar.mjs +6 -3
  109. package/esm/components/MiniCalendar/MiniCalendar.mjs.map +1 -1
  110. package/esm/components/Month/Month.mjs +6 -3
  111. package/esm/components/Month/Month.mjs.map +1 -1
  112. package/esm/components/MonthLevel/MonthLevel.mjs +2 -2
  113. package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
  114. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +1 -2
  115. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs.map +1 -1
  116. package/esm/components/MonthPicker/MonthPicker.mjs +1 -2
  117. package/esm/components/MonthPicker/MonthPicker.mjs.map +1 -1
  118. package/esm/components/MonthPickerInput/MonthPickerInput.mjs +1 -2
  119. package/esm/components/MonthPickerInput/MonthPickerInput.mjs.map +1 -1
  120. package/esm/components/MonthsList/MonthsList.mjs +2 -2
  121. package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
  122. package/esm/components/PickerControl/PickerControl.mjs +2 -2
  123. package/esm/components/PickerControl/PickerControl.mjs.map +1 -1
  124. package/esm/components/PickerInputBase/PickerInputBase.mjs +3 -2
  125. package/esm/components/PickerInputBase/PickerInputBase.mjs.map +1 -1
  126. package/esm/components/SpinInput/SpinInput.mjs +97 -101
  127. package/esm/components/SpinInput/SpinInput.mjs.map +1 -1
  128. package/esm/components/TimeGrid/TimeGrid.mjs +3 -2
  129. package/esm/components/TimeGrid/TimeGrid.mjs.map +1 -1
  130. package/esm/components/TimeGrid/TimeGridControl.mjs.map +1 -1
  131. package/esm/components/TimeInput/TimeInput.mjs +1 -2
  132. package/esm/components/TimeInput/TimeInput.mjs.map +1 -1
  133. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs +80 -85
  134. package/esm/components/TimePicker/AmPmInput/AmPmInput.mjs.map +1 -1
  135. package/esm/components/TimePicker/TimePicker.mjs +8 -3
  136. package/esm/components/TimePicker/TimePicker.mjs.map +1 -1
  137. package/esm/components/TimeValue/TimeValue.mjs.map +1 -1
  138. package/esm/components/WeekdaysRow/WeekdaysRow.mjs +3 -2
  139. package/esm/components/WeekdaysRow/WeekdaysRow.mjs.map +1 -1
  140. package/esm/components/YearLevel/YearLevel.mjs +2 -2
  141. package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
  142. package/esm/components/YearLevelGroup/YearLevelGroup.mjs +1 -2
  143. package/esm/components/YearLevelGroup/YearLevelGroup.mjs.map +1 -1
  144. package/esm/components/YearPicker/YearPicker.mjs +1 -2
  145. package/esm/components/YearPicker/YearPicker.mjs.map +1 -1
  146. package/esm/components/YearPickerInput/YearPickerInput.mjs +1 -2
  147. package/esm/components/YearPickerInput/YearPickerInput.mjs.map +1 -1
  148. package/esm/components/YearsList/YearsList.mjs +2 -2
  149. package/esm/components/YearsList/YearsList.mjs.map +1 -1
  150. package/esm/hooks/use-dates-state/use-dates-state.mjs.map +1 -1
  151. package/lib/components/Calendar/Calendar.d.ts +3 -3
  152. package/lib/components/Calendar/index.d.ts +10 -1
  153. package/lib/components/CalendarHeader/CalendarHeader.d.ts +4 -4
  154. package/lib/components/CalendarHeader/index.d.ts +9 -1
  155. package/lib/components/DateInput/DateInput.d.ts +6 -4
  156. package/lib/components/DateInput/index.d.ts +7 -1
  157. package/lib/components/DatePicker/DatePicker.d.ts +2 -1
  158. package/lib/components/DatePicker/index.d.ts +11 -1
  159. package/lib/components/DatePickerInput/DatePickerInput.d.ts +2 -2
  160. package/lib/components/DatePickerInput/index.d.ts +7 -1
  161. package/lib/components/DateTimePicker/DateTimePicker.d.ts +5 -5
  162. package/lib/components/DateTimePicker/index.d.ts +7 -1
  163. package/lib/components/DatesProvider/index.d.ts +6 -1
  164. package/lib/components/Day/Day.d.ts +9 -9
  165. package/lib/components/Day/index.d.ts +8 -1
  166. package/lib/components/DecadeLevel/DecadeLevel.d.ts +1 -1
  167. package/lib/components/MaskedDateInput/MaskedDateInput.context.d.ts +7 -0
  168. package/lib/components/MaskedDateInput/MaskedDateInput.d.ts +123 -0
  169. package/lib/components/MaskedDateInput/MaskedDateInput.types.d.ts +19 -0
  170. package/lib/components/MaskedDateInput/index.d.ts +12 -0
  171. package/lib/components/MaskedDateInput/use-masked-date-input.d.ts +56 -0
  172. package/lib/components/MiniCalendar/MiniCalendar.d.ts +3 -3
  173. package/lib/components/MiniCalendar/index.d.ts +8 -1
  174. package/lib/components/Month/Month.d.ts +13 -8
  175. package/lib/components/Month/index.d.ts +8 -1
  176. package/lib/components/MonthLevel/MonthLevel.d.ts +1 -1
  177. package/lib/components/MonthPicker/MonthPicker.d.ts +2 -2
  178. package/lib/components/MonthPicker/index.d.ts +8 -1
  179. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +2 -2
  180. package/lib/components/MonthPickerInput/index.d.ts +8 -1
  181. package/lib/components/MonthsList/MonthsList.d.ts +1 -1
  182. package/lib/components/PickerInputBase/PickerInputBase.d.ts +8 -6
  183. package/lib/components/SpinInput/SpinInput.d.ts +5 -2
  184. package/lib/components/TimeGrid/TimeGrid.context.d.ts +1 -4
  185. package/lib/components/TimeGrid/TimeGrid.d.ts +8 -8
  186. package/lib/components/TimeGrid/TimeGridControl.d.ts +1 -1
  187. package/lib/components/TimeGrid/index.d.ts +8 -1
  188. package/lib/components/TimeInput/TimeInput.d.ts +1 -1
  189. package/lib/components/TimeInput/index.d.ts +6 -1
  190. package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +5 -3
  191. package/lib/components/TimePicker/TimePicker.context.d.ts +1 -4
  192. package/lib/components/TimePicker/TimePicker.d.ts +20 -18
  193. package/lib/components/TimePicker/index.d.ts +13 -2
  194. package/lib/components/TimeValue/TimeValue.d.ts +6 -3
  195. package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +3 -3
  196. package/lib/components/YearLevel/YearLevel.d.ts +1 -1
  197. package/lib/components/YearPicker/YearPicker.d.ts +1 -1
  198. package/lib/components/YearPicker/index.d.ts +9 -1
  199. package/lib/components/YearPickerInput/YearPickerInput.d.ts +2 -2
  200. package/lib/components/YearPickerInput/index.d.ts +8 -1
  201. package/lib/components/YearsList/YearsList.d.ts +2 -2
  202. package/package.json +5 -5
  203. package/styles.css +4 -4
  204. package/styles.layer.css +4 -4
@@ -1,2 +1,8 @@
1
+ import type { DateInputFactory, DateInputProps, DateInputStylesNames } from './DateInput';
1
2
  export { DateInput } from './DateInput';
2
- export type { DateInputProps, DateInputStylesNames, DateInputFactory } from './DateInput';
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.ForwardedRef<HTMLDivElement>;
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, DatePickerProps, DatePickerFactory, DatePickerStylesNames, DatePickerPreset, DatePickerCssVariables, } from './DatePicker';
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 `"MMMM D, YYYY"` */
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.ForwardedRef<HTMLButtonElement>;
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, } from './DatePickerInput';
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' | 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 `"DD/MM/YYYY HH:mm" */
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 `HH:mm` or `HH:mm:ss` format. Assigned to time when date is selected. */
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.ComponentPropsWithoutRef<'button'>;
23
- /** Determines whether the seconds input should be displayed @default `false` */
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 `'decade'` */
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, } from './DateTimePicker';
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 } from './DatesProvider';
4
+ export type { DatesProviderProps, DatesProviderSettings };
5
+ export declare namespace DatesProvider {
6
+ type Props = DatesProviderProps;
7
+ type Settings = DatesProviderSettings;
8
+ }
@@ -11,25 +11,25 @@ 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 `'sm'` */
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 `false` */
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 `false` */
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 `false` */
20
+ /** Determines whether the day is selected @default false */
21
21
  selected?: boolean;
22
- /** Determines whether the day should not be displayed @default `false` */
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 `false` */
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 `false` */
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 `false` */
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 `false` */
32
+ /** Determines whether today should be highlighted with a border @default false */
33
33
  highlightToday?: boolean;
34
34
  }
35
35
  export type DayFactory = Factory<{
@@ -1,2 +1,9 @@
1
+ import type { DayCssVariables, DayFactory, DayProps, DayStylesNames, RenderDay } from './Day';
1
2
  export { Day } from './Day';
2
- export type { DayCssVariables, DayFactory, DayProps, DayStylesNames, RenderDay } from './Day';
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 `"YYYY"` */
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'> {
@@ -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 `MMM` */
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.ComponentPropsWithoutRef<'button'> & DataAttributes;
34
+ previousControlProps?: React.ComponentProps<'button'> & DataAttributes;
35
35
  /** Props passed to next control button */
36
- nextControlProps?: React.ComponentPropsWithoutRef<'button'> & DataAttributes;
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 { MiniCalendarCssVariables, MiniCalendarFactory, MiniCalendarStylesNames, MiniCalendarProps, } from './MiniCalendar';
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 `1` – Monday */
23
+ /** Number 0-6, where 0 – Sunday and 6 – Saturday. @default 1 – Monday */
21
24
  firstDayOfWeek?: DayOfWeek;
22
- /** `dayjs` format for weekdays names @default `'dd'` */
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,22 @@ 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 `false` */
39
+ /** Determines whether outside dates should be hidden @default false */
37
40
  hideOutsideDates?: boolean;
38
- /** Determines whether weekdays row should be hidden @default `false` */
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 `true` */
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 `false` */
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 `false` */
51
+ /** Determines whether week numbers should be displayed @default false */
49
52
  withWeekNumbers?: boolean;
50
53
  }
51
- export interface MonthProps extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'div'> {
54
+ export interface MonthProps extends BoxProps, MonthSettings, StylesApiProps<MonthFactory>, ElementProps<'table'> {
52
55
  __staticSelector?: string;
53
56
  /** Month to display, value `YYYY-MM-DD` */
54
57
  month: DateStringValue;
@@ -59,9 +62,11 @@ export type MonthFactory = Factory<{
59
62
  props: MonthProps;
60
63
  ref: HTMLTableElement;
61
64
  stylesNames: MonthStylesNames;
65
+ vars: MonthCssVariables;
62
66
  }>;
63
67
  export declare const Month: import("@mantine/core").MantineComponent<{
64
68
  props: MonthProps;
65
69
  ref: HTMLTableElement;
66
70
  stylesNames: MonthStylesNames;
71
+ vars: MonthCssVariables;
67
72
  }>;
@@ -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 } from './Month';
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
+ }
@@ -4,7 +4,7 @@ import { CalendarHeaderSettings, CalendarHeaderStylesNames } from '../CalendarHe
4
4
  import { MonthSettings, MonthStylesNames } from '../Month';
5
5
  export type MonthLevelStylesNames = MonthStylesNames | CalendarHeaderStylesNames;
6
6
  export interface MonthLevelBaseSettings extends MonthSettings {
7
- /** dayjs label format to display month label or a function that returns month label based on month value @default `"MMMM YYYY"` */
7
+ /** dayjs label format to display month label or a function that returns month label based on month value @default "MMMM YYYY" */
8
8
  monthLabelFormat?: DateLabelFormat;
9
9
  }
10
10
  export interface MonthLevelSettings extends MonthLevelBaseSettings, CalendarHeaderSettings {
@@ -8,7 +8,7 @@ import { YearLevelGroupStylesNames } from '../YearLevelGroup';
8
8
  export type MonthPickerStylesNames = DecadeLevelGroupStylesNames | YearLevelGroupStylesNames;
9
9
  type MonthPickerLevel = Exclude<CalendarLevel, 'month'>;
10
10
  export interface MonthPickerBaseProps<Type extends DatePickerType = 'default'> extends PickerBaseProps<Type>, DecadeLevelBaseSettings, YearLevelBaseSettings, Omit<CalendarBaseProps, 'onNextMonth' | 'onPreviousMonth' | 'hasNextLevel'> {
11
- /** Max level that user can go up to @default `'decade'` */
11
+ /** Max level that user can go up to @default 'decade' */
12
12
  maxLevel?: CalendarLevel;
13
13
  /** Initial displayed level (uncontrolled) */
14
14
  defaultLevel?: CalendarLevel;
@@ -27,7 +27,7 @@ export type MonthPickerFactory = Factory<{
27
27
  stylesNames: MonthPickerStylesNames;
28
28
  }>;
29
29
  type MonthPickerComponent = (<Type extends DatePickerType = 'default'>(props: MonthPickerProps<Type> & {
30
- ref?: React.ForwardedRef<HTMLDivElement>;
30
+ ref?: React.Ref<HTMLDivElement>;
31
31
  }) => React.JSX.Element) & {
32
32
  displayName?: string;
33
33
  } & MantineComponentStaticProperties<MonthPickerFactory>;
@@ -1,2 +1,9 @@
1
+ import { DatePickerType } from '../../types';
2
+ import type { MonthPickerBaseProps, MonthPickerFactory, MonthPickerProps, MonthPickerStylesNames } from './MonthPicker';
1
3
  export { MonthPicker } from './MonthPicker';
2
- export type { MonthPickerBaseProps, MonthPickerProps, MonthPickerFactory, MonthPickerStylesNames, } from './MonthPicker';
4
+ export type { MonthPickerBaseProps, MonthPickerProps, MonthPickerStylesNames, MonthPickerFactory };
5
+ export declare namespace MonthPicker {
6
+ type Props<Type extends DatePickerType = 'default'> = MonthPickerProps<Type>;
7
+ type StylesNames = MonthPickerStylesNames;
8
+ type Factory = MonthPickerFactory;
9
+ }
@@ -4,7 +4,7 @@ import { MonthPickerBaseProps, MonthPickerStylesNames } from '../MonthPicker';
4
4
  import { DateInputSharedProps } from '../PickerInputBase';
5
5
  export type MonthPickerInputStylesNames = __InputStylesNames | 'placeholder' | MonthPickerStylesNames;
6
6
  export interface MonthPickerInputProps<Type extends DatePickerType = 'default'> extends BoxProps, DateInputSharedProps, MonthPickerBaseProps<Type>, StylesApiProps<MonthPickerInputFactory> {
7
- /** `dayjs` format for input value @default `"MMMM YYYY"` */
7
+ /** `dayjs` format for input value @default "MMMM YYYY" */
8
8
  valueFormat?: string;
9
9
  }
10
10
  export type MonthPickerInputFactory = Factory<{
@@ -14,7 +14,7 @@ export type MonthPickerInputFactory = Factory<{
14
14
  variant: InputVariant;
15
15
  }>;
16
16
  type MonthPickerInputComponent = (<Type extends DatePickerType = 'default'>(props: MonthPickerInputProps<Type> & {
17
- ref?: React.ForwardedRef<HTMLButtonElement>;
17
+ ref?: React.Ref<HTMLButtonElement>;
18
18
  }) => React.JSX.Element) & {
19
19
  displayName?: string;
20
20
  } & MantineComponentStaticProperties<MonthPickerInputFactory>;
@@ -1,2 +1,9 @@
1
+ import { DatePickerType } from '../../types';
2
+ import type { MonthPickerInputFactory, MonthPickerInputProps, MonthPickerInputStylesNames } from './MonthPickerInput';
1
3
  export { MonthPickerInput } from './MonthPickerInput';
2
- export type { MonthPickerInputProps, MonthPickerInputStylesNames, MonthPickerInputFactory, } from './MonthPickerInput';
4
+ export type { MonthPickerInputProps, MonthPickerInputStylesNames, MonthPickerInputFactory };
5
+ export declare namespace MonthPickerInput {
6
+ type Props<Type extends DatePickerType = 'default'> = MonthPickerInputProps<Type>;
7
+ type StylesNames = MonthPickerInputStylesNames;
8
+ type Factory = MonthPickerInputFactory;
9
+ }
@@ -7,7 +7,7 @@ export interface MonthsListSettings extends ControlsGroupSettings {
7
7
  monthsListFormat?: string;
8
8
  /** Passes props down month picker control */
9
9
  getMonthControlProps?: (date: DateStringValue) => Partial<PickerControlProps> & DataAttributes;
10
- /** Determines whether controls should be separated @default `true` */
10
+ /** Determines whether controls should be separated @default true */
11
11
  withCellSpacing?: boolean;
12
12
  }
13
13
  export interface MonthsListProps extends BoxProps, MonthsListSettings, StylesApiProps<MonthsListFactory>, ElementProps<'table'> {