@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.
Files changed (209) hide show
  1. package/cjs/components/Calendar/Calendar.cjs +119 -112
  2. package/cjs/components/Calendar/Calendar.cjs.map +1 -1
  3. package/cjs/components/CalendarHeader/CalendarHeader.cjs +4 -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 +4 -2
  18. package/cjs/components/Day/Day.cjs.map +1 -1
  19. package/cjs/components/DecadeLevel/DecadeLevel.cjs +5 -2
  20. package/cjs/components/DecadeLevel/DecadeLevel.cjs.map +1 -1
  21. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs +4 -2
  22. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.cjs.map +1 -1
  23. package/cjs/components/LevelsGroup/LevelsGroup.cjs +3 -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 +33 -18
  36. package/cjs/components/Month/Month.cjs.map +1 -1
  37. package/cjs/components/MonthLevel/MonthLevel.cjs +5 -2
  38. package/cjs/components/MonthLevel/MonthLevel.cjs.map +1 -1
  39. package/cjs/components/MonthLevelGroup/MonthLevelGroup.cjs +4 -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 +14 -2
  46. package/cjs/components/MonthsList/MonthsList.cjs.map +1 -1
  47. package/cjs/components/PickerControl/PickerControl.cjs +4 -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 +79 -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 +5 -2
  66. package/cjs/components/YearLevel/YearLevel.cjs.map +1 -1
  67. package/cjs/components/YearLevelGroup/YearLevelGroup.cjs +4 -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 +14 -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 +120 -113
  77. package/esm/components/Calendar/Calendar.mjs.map +1 -1
  78. package/esm/components/CalendarHeader/CalendarHeader.mjs +4 -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 +4 -2
  93. package/esm/components/Day/Day.mjs.map +1 -1
  94. package/esm/components/DecadeLevel/DecadeLevel.mjs +5 -2
  95. package/esm/components/DecadeLevel/DecadeLevel.mjs.map +1 -1
  96. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs +4 -2
  97. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.mjs.map +1 -1
  98. package/esm/components/LevelsGroup/LevelsGroup.mjs +3 -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 +33 -18
  111. package/esm/components/Month/Month.mjs.map +1 -1
  112. package/esm/components/MonthLevel/MonthLevel.mjs +5 -2
  113. package/esm/components/MonthLevel/MonthLevel.mjs.map +1 -1
  114. package/esm/components/MonthLevelGroup/MonthLevelGroup.mjs +4 -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 +14 -2
  121. package/esm/components/MonthsList/MonthsList.mjs.map +1 -1
  122. package/esm/components/PickerControl/PickerControl.mjs +4 -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 +79 -86
  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 +5 -2
  141. package/esm/components/YearLevel/YearLevel.mjs.map +1 -1
  142. package/esm/components/YearLevelGroup/YearLevelGroup.mjs +4 -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 +14 -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 +5 -3
  152. package/lib/components/Calendar/index.d.ts +10 -1
  153. package/lib/components/CalendarHeader/CalendarHeader.d.ts +6 -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 +11 -9
  165. package/lib/components/Day/index.d.ts +8 -1
  166. package/lib/components/DecadeLevel/DecadeLevel.d.ts +3 -1
  167. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts +2 -0
  168. package/lib/components/LevelsGroup/LevelsGroup.d.ts +2 -0
  169. package/lib/components/MaskedDateInput/MaskedDateInput.context.d.ts +7 -0
  170. package/lib/components/MaskedDateInput/MaskedDateInput.d.ts +123 -0
  171. package/lib/components/MaskedDateInput/MaskedDateInput.types.d.ts +19 -0
  172. package/lib/components/MaskedDateInput/index.d.ts +12 -0
  173. package/lib/components/MaskedDateInput/use-masked-date-input.d.ts +56 -0
  174. package/lib/components/MiniCalendar/MiniCalendar.d.ts +3 -3
  175. package/lib/components/MiniCalendar/index.d.ts +8 -1
  176. package/lib/components/Month/Month.d.ts +15 -8
  177. package/lib/components/Month/index.d.ts +8 -1
  178. package/lib/components/MonthLevel/MonthLevel.d.ts +3 -1
  179. package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts +2 -0
  180. package/lib/components/MonthPicker/MonthPicker.d.ts +2 -2
  181. package/lib/components/MonthPicker/index.d.ts +8 -1
  182. package/lib/components/MonthPickerInput/MonthPickerInput.d.ts +2 -2
  183. package/lib/components/MonthPickerInput/index.d.ts +8 -1
  184. package/lib/components/MonthsList/MonthsList.d.ts +3 -1
  185. package/lib/components/PickerControl/PickerControl.d.ts +2 -0
  186. package/lib/components/PickerInputBase/PickerInputBase.d.ts +8 -6
  187. package/lib/components/SpinInput/SpinInput.d.ts +5 -2
  188. package/lib/components/TimeGrid/TimeGrid.context.d.ts +1 -4
  189. package/lib/components/TimeGrid/TimeGrid.d.ts +8 -8
  190. package/lib/components/TimeGrid/TimeGridControl.d.ts +1 -1
  191. package/lib/components/TimeGrid/index.d.ts +8 -1
  192. package/lib/components/TimeInput/TimeInput.d.ts +1 -1
  193. package/lib/components/TimeInput/index.d.ts +6 -1
  194. package/lib/components/TimePicker/AmPmInput/AmPmInput.d.ts +5 -3
  195. package/lib/components/TimePicker/TimePicker.context.d.ts +1 -4
  196. package/lib/components/TimePicker/TimePicker.d.ts +20 -18
  197. package/lib/components/TimePicker/index.d.ts +13 -2
  198. package/lib/components/TimeValue/TimeValue.d.ts +6 -3
  199. package/lib/components/WeekdaysRow/WeekdaysRow.d.ts +3 -3
  200. package/lib/components/YearLevel/YearLevel.d.ts +3 -1
  201. package/lib/components/YearLevelGroup/YearLevelGroup.d.ts +2 -0
  202. package/lib/components/YearPicker/YearPicker.d.ts +1 -1
  203. package/lib/components/YearPicker/index.d.ts +9 -1
  204. package/lib/components/YearPickerInput/YearPickerInput.d.ts +2 -2
  205. package/lib/components/YearPickerInput/index.d.ts +8 -1
  206. package/lib/components/YearsList/YearsList.d.ts +4 -2
  207. package/package.json +5 -5
  208. package/styles.css +42 -6
  209. package/styles.layer.css +42 -6
@@ -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 {
@@ -19,6 +19,8 @@ export interface MonthLevelProps extends BoxProps, MonthLevelSettings, Omit<Styl
19
19
  levelControlAriaLabel?: string;
20
20
  /** Determines whether days should be static, static days can be used to display month if it is not expected that user will interact with the component in any way */
21
21
  static?: boolean;
22
+ /** Determines whether the calendar should take the full width of its container @default false */
23
+ fullWidth?: boolean;
22
24
  }
23
25
  export type MonthLevelFactory = Factory<{
24
26
  props: MonthLevelProps;
@@ -15,6 +15,8 @@ export interface MonthLevelGroupProps extends BoxProps, Omit<MonthLevelSettings,
15
15
  levelControlAriaLabel?: ((month: DateStringValue) => string) | string;
16
16
  /** Passed as `isStatic` prop to `Month` component */
17
17
  static?: boolean;
18
+ /** Determines whether the calendar should take the full width of its container @default false */
19
+ fullWidth?: boolean;
18
20
  }
19
21
  export type MonthLevelGroupFactory = Factory<{
20
22
  props: MonthLevelGroupProps;
@@ -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,8 +7,10 @@ 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
+ /** Determines whether the list should take the full width of its container @default false */
13
+ fullWidth?: boolean;
12
14
  }
13
15
  export interface MonthsListProps extends BoxProps, MonthsListSettings, StylesApiProps<MonthsListFactory>, ElementProps<'table'> {
14
16
  __staticSelector?: string;
@@ -19,6 +19,8 @@ export interface PickerControlProps extends BoxProps, StylesApiProps<PickerContr
19
19
  lastInRange?: boolean;
20
20
  /** Component size */
21
21
  size?: MantineSize;
22
+ /** Determines whether the control should take the full width of its cell @default false */
23
+ fullWidth?: boolean;
22
24
  }
23
25
  export type PickerControlFactory = Factory<{
24
26
  props: PickerControlProps;
@@ -1,25 +1,27 @@
1
- import { __BaseInputProps, __InputStylesNames, BoxProps, ElementProps, Factory, InputVariant, MantineSize, ModalProps, PopoverProps, StylesApiProps } from '@mantine/core';
1
+ import { __BaseInputProps, __InputStylesNames, BoxProps, ClearSectionMode, ElementProps, Factory, InputVariant, MantineSize, ModalProps, PopoverProps, StylesApiProps } from '@mantine/core';
2
2
  import { useDisclosure } from '@mantine/hooks';
3
3
  import { DatePickerType } from '../../types';
4
4
  import { DateFormatter } from '../../utils';
5
5
  import { HiddenDatesInputValue } from '../HiddenDatesInput';
6
6
  export type PickerInputBaseStylesNames = __InputStylesNames;
7
7
  export interface DateInputSharedProps extends Omit<__BaseInputProps, 'size'>, ElementProps<'button', 'defaultValue' | 'value' | 'onChange' | 'type'> {
8
- /** Determines whether the dropdown is closed when date is selected, not applicable with `type="multiple"` @default `true` */
8
+ /** Determines whether the dropdown is closed when date is selected, not applicable with `type="multiple"` @default true */
9
9
  closeOnChange?: boolean;
10
- /** Type of the dropdown @default `'popover'` */
10
+ /** Type of the dropdown @default 'popover' */
11
11
  dropdownType?: 'popover' | 'modal';
12
12
  /** Props passed down to `Popover` component */
13
13
  popoverProps?: Partial<Omit<PopoverProps, 'children'>>;
14
14
  /** Props passed down to `Modal` component */
15
15
  modalProps?: Partial<Omit<ModalProps, 'children'>>;
16
- /** If set, clear button is displayed in the `rightSection` when the component has value. Ignored if `rightSection` prop is set. @default `false` */
16
+ /** If set, clear button is displayed in the `rightSection` when the component has value. Ignored if `rightSection` prop is set. @default false */
17
17
  clearable?: boolean;
18
+ /** Determines how the clear button and rightSection are rendered @default 'both' */
19
+ clearSectionMode?: ClearSectionMode;
18
20
  /** Props passed down to the clear button */
19
- clearButtonProps?: React.ComponentPropsWithoutRef<'button'>;
21
+ clearButtonProps?: React.ComponentProps<'button'>;
20
22
  /** If set, the component value cannot be changed by the user */
21
23
  readOnly?: boolean;
22
- /** Determines whether dates values should be sorted before `onChange` call, only applicable with type="multiple" @default `true` */
24
+ /** Determines whether dates values should be sorted before `onChange` call, only applicable with type="multiple" @default true */
23
25
  sortDates?: boolean;
24
26
  /** Separator between range value */
25
27
  labelSeparator?: string;
@@ -1,4 +1,4 @@
1
- interface SpinInputProps extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'value'> {
1
+ interface SpinInputProps extends Omit<React.ComponentProps<'input'>, 'onChange' | 'value'> {
2
2
  value: number | null;
3
3
  min: number;
4
4
  max: number;
@@ -10,5 +10,8 @@ interface SpinInputProps extends Omit<React.ComponentPropsWithoutRef<'input'>, '
10
10
  allowTemporaryZero?: boolean;
11
11
  placeholder?: string;
12
12
  }
13
- export declare const SpinInput: import("react").ForwardRefExoticComponent<SpinInputProps & import("react").RefAttributes<HTMLInputElement>>;
13
+ export declare function SpinInput({ value, min, max, onChange, focusable, step, onNextInput, onPreviousInput, onFocus, readOnly, allowTemporaryZero, placeholder, ...others }: SpinInputProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare namespace SpinInput {
15
+ var displayName: string;
16
+ }
14
17
  export {};
@@ -3,8 +3,5 @@ import type { TimeGridFactory } from './TimeGrid';
3
3
  interface TimeGridContextValue {
4
4
  getStyles: GetStylesApi<TimeGridFactory>;
5
5
  }
6
- export declare const TimeGridProvider: ({ children, value }: {
7
- value: TimeGridContextValue;
8
- children: React.ReactNode;
9
- }) => import("react/jsx-runtime").JSX.Element, useTimeGridContext: () => TimeGridContextValue;
6
+ export declare const TimeGridProvider: import("react").Context<TimeGridContextValue | null>, useTimeGridContext: () => TimeGridContextValue;
10
7
  export {};
@@ -13,21 +13,21 @@ export interface TimeGridProps extends BoxProps, StylesApiProps<TimeGridFactory>
13
13
  defaultValue?: string | null;
14
14
  /** Called when value changes */
15
15
  onChange?: (value: string | null) => void;
16
- /** Determines whether the value can be deselected when the current active option is clicked or activated with keyboard @default `false` */
16
+ /** Determines whether the value can be deselected when the current active option is clicked or activated with keyboard @default false */
17
17
  allowDeselect?: boolean;
18
- /** Time format displayed in the grid @default `'24h'` */
18
+ /** Time format displayed in the grid @default '24h' */
19
19
  format?: TimePickerFormat;
20
- /** Determines whether the seconds part should be displayed @default `false` */
20
+ /** Determines whether the seconds part should be displayed @default false */
21
21
  withSeconds?: boolean;
22
- /** Labels used for am/pm values @default `{ am: 'AM', pm: 'PM' }` */
22
+ /** Labels used for am/pm values @default { am: 'AM', pm: 'PM' } */
23
23
  amPmLabels?: TimePickerAmPmLabels;
24
- /** Props passed down to the underlying `SimpleGrid` component @default `{ cols: 3, spacing: 'xs' }` */
24
+ /** Props passed down to the underlying `SimpleGrid` component @default { cols: 3, spacing: 'xs' } */
25
25
  simpleGridProps?: SimpleGridProps;
26
26
  /** A function to pass props down to control based on the time value */
27
- getControlProps?: (time: string) => React.ComponentPropsWithoutRef<'button'> & DataAttributes;
28
- /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default `theme.defaultRadius` */
27
+ getControlProps?: (time: string) => React.ComponentProps<'button'> & DataAttributes;
28
+ /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */
29
29
  radius?: MantineRadius;
30
- /** Control `font-size` of controls, key of `theme.fontSizes` or any valid CSS value @default `'sm'` */
30
+ /** Control `font-size` of controls, key of `theme.fontSizes` or any valid CSS value @default 'sm' */
31
31
  size?: MantineSize;
32
32
  /** All controls before this time are disabled */
33
33
  minTime?: string;
@@ -1,5 +1,5 @@
1
1
  import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';
2
- interface TimeGridControlProps extends React.ComponentPropsWithoutRef<'button'> {
2
+ interface TimeGridControlProps extends React.ComponentProps<'button'> {
3
3
  time: string;
4
4
  active: boolean;
5
5
  format: TimePickerFormat;
@@ -1,3 +1,10 @@
1
+ import type { TimeGridCssVariables, TimeGridFactory, TimeGridProps, TimeGridStylesNames } from './TimeGrid';
1
2
  export { TimeGrid } from './TimeGrid';
2
3
  export { isTimeBefore, isTimeAfter } from './compare-time';
3
- export type { TimeGridCssVariables, TimeGridFactory, TimeGridProps, TimeGridStylesNames, } from './TimeGrid';
4
+ export type { TimeGridProps, TimeGridStylesNames, TimeGridFactory, TimeGridCssVariables };
5
+ export declare namespace TimeGrid {
6
+ type Props = TimeGridProps;
7
+ type StylesNames = TimeGridStylesNames;
8
+ type Factory = TimeGridFactory;
9
+ type CssVariables = TimeGridCssVariables;
10
+ }
@@ -1,6 +1,6 @@
1
1
  import { __BaseInputProps, __InputStylesNames, BoxProps, ElementProps, Factory, StylesApiProps } from '@mantine/core';
2
2
  export interface TimeInputProps extends BoxProps, __BaseInputProps, StylesApiProps<TimeInputFactory>, ElementProps<'input', 'size'> {
3
- /** Determines whether seconds input should be displayed @default `false` */
3
+ /** Determines whether seconds input should be displayed @default false */
4
4
  withSeconds?: boolean;
5
5
  /** Minimum possible string time, if `withSeconds` is true, time should be in format HH:mm:ss, otherwise HH:mm */
6
6
  minTime?: string;
@@ -1,2 +1,7 @@
1
+ import type { TimeInputFactory, TimeInputProps } from './TimeInput';
1
2
  export { TimeInput } from './TimeInput';
2
- export type { TimeInputFactory, TimeInputProps } from './TimeInput';
3
+ export type { TimeInputProps, TimeInputFactory };
4
+ export declare namespace TimeInput {
5
+ type Props = TimeInputProps;
6
+ type Factory = TimeInputFactory;
7
+ }
@@ -1,5 +1,4 @@
1
- import React from 'react';
2
- interface AmPmInputProps extends Omit<React.ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {
1
+ interface AmPmInputProps extends Omit<React.ComponentProps<'select'>, 'value' | 'onChange'> {
3
2
  labels: {
4
3
  am: string;
5
4
  pm: string;
@@ -10,5 +9,8 @@ interface AmPmInputProps extends Omit<React.ComponentPropsWithoutRef<'select'>,
10
9
  readOnly?: boolean;
11
10
  onPreviousInput?: () => void;
12
11
  }
13
- export declare const AmPmInput: React.ForwardRefExoticComponent<AmPmInputProps & React.RefAttributes<HTMLSelectElement>>;
12
+ export declare function AmPmInput({ labels, value, onChange, className, style, onPreviousInput, readOnly, onMouseDown, onTouchStart, inputType, ...others }: AmPmInputProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare namespace AmPmInput {
14
+ var displayName: string;
15
+ }
14
16
  export {};
@@ -5,8 +5,5 @@ interface TimePickerContext {
5
5
  maxDropdownContentHeight: number;
6
6
  scrollAreaProps: ScrollAreaProps | undefined;
7
7
  }
8
- export declare const TimePickerProvider: ({ children, value }: {
9
- value: TimePickerContext;
10
- children: React.ReactNode;
11
- }) => import("react/jsx-runtime").JSX.Element, useTimePickerContext: () => TimePickerContext;
8
+ export declare const TimePickerProvider: import("react").Context<TimePickerContext | null>, useTimePickerContext: () => TimePickerContext;
12
9
  export {};
@@ -1,4 +1,4 @@
1
- import { __BaseInputProps, __InputStylesNames, BoxProps, CloseButtonProps, DataAttributes, ElementProps, Factory, InputVariant, PopoverProps, ScrollAreaProps, StylesApiProps } from '@mantine/core';
1
+ import { __BaseInputProps, __InputStylesNames, BoxProps, ClearSectionMode, CloseButtonProps, DataAttributes, ElementProps, Factory, InputVariant, PopoverProps, ScrollAreaProps, StylesApiProps } from '@mantine/core';
2
2
  import { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit, TimePickerPresets } from './TimePicker.types';
3
3
  export type TimePickerStylesNames = 'fieldsRoot' | 'fieldsGroup' | 'field' | 'controlsList' | 'controlsListGroup' | 'control' | 'dropdown' | 'presetsRoot' | 'presetsGroup' | 'presetsGroupLabel' | 'presetControl' | 'scrollarea' | __InputStylesNames;
4
4
  export type TimePickerCssVariables = {
@@ -11,8 +11,10 @@ export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiPr
11
11
  defaultValue?: string;
12
12
  /** Called when the value changes */
13
13
  onChange?: (value: string) => void;
14
- /** Determines whether the clear button should be displayed @default `false` */
14
+ /** Determines whether the clear button should be displayed @default false */
15
15
  clearable?: boolean;
16
+ /** Determines how the clear button and rightSection are rendered @default 'both' */
17
+ clearSectionMode?: ClearSectionMode;
16
18
  /** `name` prop passed down to the hidden input */
17
19
  name?: string;
18
20
  /** `form` prop passed down to the hidden input */
@@ -23,13 +25,13 @@ export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiPr
23
25
  max?: string;
24
26
  /** Time format, `'24h'` by default */
25
27
  format?: TimePickerFormat;
26
- /** Number by which hours are incremented/decremented @default `1` */
28
+ /** Number by which hours are incremented/decremented @default 1 */
27
29
  hoursStep?: number;
28
- /** Number by which minutes are incremented/decremented @default `1` */
30
+ /** Number by which minutes are incremented/decremented @default 1 */
29
31
  minutesStep?: number;
30
- /** Number by which seconds are incremented/decremented @default `1` */
32
+ /** Number by which seconds are incremented/decremented @default 1 */
31
33
  secondsStep?: number;
32
- /** Determines whether the seconds input should be displayed @default `false` */
34
+ /** Determines whether the seconds input should be displayed @default false */
33
35
  withSeconds?: boolean;
34
36
  /** `aria-label` of hours input */
35
37
  hoursInputLabel?: string;
@@ -39,9 +41,9 @@ export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiPr
39
41
  secondsInputLabel?: string;
40
42
  /** `aria-label` of am/pm input */
41
43
  amPmInputLabel?: string;
42
- /** Labels used for am/pm values @default `{ am: 'AM', pm: 'PM' }` */
44
+ /** Labels used for am/pm values @default { am: 'AM', pm: 'PM' } */
43
45
  amPmLabels?: TimePickerAmPmLabels;
44
- /** Determines whether the dropdown with time controls list should be visible when the input has focus @default `false` */
46
+ /** Determines whether the dropdown with time controls list should be visible when the input has focus @default false */
45
47
  withDropdown?: boolean;
46
48
  /** Props passed down to `Popover` component */
47
49
  popoverProps?: PopoverProps;
@@ -52,19 +54,19 @@ export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiPr
52
54
  /** Props passed down to clear button */
53
55
  clearButtonProps?: CloseButtonProps & ElementProps<'button'> & DataAttributes;
54
56
  /** Props passed down to hours input */
55
- hoursInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
57
+ hoursInputProps?: React.ComponentProps<'input'> & DataAttributes;
56
58
  /** Props passed down to minutes input */
57
- minutesInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
59
+ minutesInputProps?: React.ComponentProps<'input'> & DataAttributes;
58
60
  /** Props passed down to seconds input */
59
- secondsInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
61
+ secondsInputProps?: React.ComponentProps<'input'> & DataAttributes;
60
62
  /** Props passed down to am/pm select */
61
- amPmSelectProps?: React.ComponentPropsWithoutRef<'select'> & DataAttributes;
63
+ amPmSelectProps?: React.ComponentProps<'select'> & DataAttributes;
62
64
  /** If set, the value cannot be updated */
63
65
  readOnly?: boolean;
64
66
  /** If set, the component becomes disabled */
65
67
  disabled?: boolean;
66
68
  /** Props passed down to the hidden input */
67
- hiddenInputProps?: React.ComponentPropsWithoutRef<'input'> & DataAttributes;
69
+ hiddenInputProps?: React.ComponentProps<'input'> & DataAttributes;
68
70
  /** A function to transform paste values, by default time in 24h format can be parsed on paste for example `23:34:22` */
69
71
  pasteSplit?: TimePickerPasteSplit;
70
72
  /** A ref object to get node reference of the hours input */
@@ -77,17 +79,17 @@ export interface TimePickerProps extends BoxProps, __BaseInputProps, StylesApiPr
77
79
  amPmRef?: React.Ref<HTMLSelectElement>;
78
80
  /** Time presets to display in the dropdown */
79
81
  presets?: TimePickerPresets;
80
- /** Maximum height of the content displayed in the dropdown in px @default `200` */
82
+ /** Maximum height of the content displayed in the dropdown in px @default 200 */
81
83
  maxDropdownContentHeight?: number;
82
84
  /** Props passed down to all underlying `ScrollArea` components */
83
85
  scrollAreaProps?: ScrollAreaProps;
84
- /** If set, the time controls list are reversed, @default `false` */
86
+ /** If set, the time controls list are reversed, @default false */
85
87
  reverseTimeControlsList?: boolean;
86
- /** Hours input placeholder, @default `--` */
88
+ /** Hours input placeholder, @default -- */
87
89
  hoursPlaceholder?: string;
88
- /** Minutes input placeholder, @default `--` */
90
+ /** Minutes input placeholder, @default -- */
89
91
  minutesPlaceholder?: string;
90
- /** Seconds input placeholder, @default `--` */
92
+ /** Seconds input placeholder, @default -- */
91
93
  secondsPlaceholder?: string;
92
94
  }
93
95
  export type TimePickerFactory = Factory<{
@@ -1,4 +1,15 @@
1
+ import type { TimePickerCssVariables, TimePickerFactory, TimePickerProps, TimePickerStylesNames } from './TimePicker';
2
+ import type { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit, TimePickerPresets } from './TimePicker.types';
1
3
  export { TimePicker } from './TimePicker';
2
4
  export { getTimeRange } from './utils/get-time-range/get-time-range';
3
- export type { TimePickerCssVariables, TimePickerFactory, TimePickerProps, TimePickerStylesNames, } from './TimePicker';
4
- export type { TimePickerAmPmLabels, TimePickerFormat, TimePickerPasteSplit, TimePickerPresets, } from './TimePicker.types';
5
+ export type { TimePickerProps, TimePickerStylesNames, TimePickerFactory, TimePickerCssVariables, TimePickerFormat, TimePickerAmPmLabels, TimePickerPasteSplit, TimePickerPresets, };
6
+ export declare namespace TimePicker {
7
+ type Props = TimePickerProps;
8
+ type StylesNames = TimePickerStylesNames;
9
+ type Factory = TimePickerFactory;
10
+ type CssVariables = TimePickerCssVariables;
11
+ type Format = TimePickerFormat;
12
+ type AmPmLabels = TimePickerAmPmLabels;
13
+ type PasteSplit = TimePickerPasteSplit;
14
+ type Presets = TimePickerPresets;
15
+ }
@@ -2,14 +2,17 @@ import type { TimePickerAmPmLabels, TimePickerFormat } from '../TimePicker';
2
2
  export interface TimeValueProps {
3
3
  /** Time to format */
4
4
  value: string | Date;
5
- /** Time format @default `'24h'` */
5
+ /** Time format @default '24h' */
6
6
  format?: TimePickerFormat;
7
- /** AM/PM labels @default `{ am: 'AM', pm: 'PM' }` */
7
+ /** AM/PM labels @default { am: 'AM', pm: 'PM' } */
8
8
  amPmLabels?: TimePickerAmPmLabels;
9
- /** Determines whether seconds should be displayed @default `false` */
9
+ /** Determines whether seconds should be displayed @default false */
10
10
  withSeconds?: boolean;
11
11
  }
12
12
  export declare function TimeValue({ value, format, amPmLabels, withSeconds, }: TimeValueProps): import("react/jsx-runtime").JSX.Element;
13
13
  export declare namespace TimeValue {
14
14
  var displayName: string;
15
15
  }
16
+ export declare namespace TimeValue {
17
+ type Props = TimeValueProps;
18
+ }
@@ -10,11 +10,11 @@ export interface WeekdaysRowProps extends BoxProps, StylesApiProps<WeekdaysRowFa
10
10
  size?: MantineSize;
11
11
  /** dayjs locale */
12
12
  locale?: string;
13
- /** Number 0-6, 0 – Sunday, 6 – Saturday @default `1` – Monday */
13
+ /** Number 0-6, 0 – Sunday, 6 – Saturday @default 1 – Monday */
14
14
  firstDayOfWeek?: DayOfWeek;
15
- /** dayjs format to get weekday name @default `'dd'` */
15
+ /** dayjs format to get weekday name @default 'dd' */
16
16
  weekdayFormat?: DateLabelFormat;
17
- /** Sets cell type that is used for weekdays @default `'th'` */
17
+ /** Sets cell type that is used for weekdays @default 'th' */
18
18
  cellComponent?: 'td' | 'th';
19
19
  /** If set, heading for week numbers is displayed */
20
20
  withWeekNumbers?: boolean;
@@ -4,7 +4,7 @@ import { CalendarHeaderSettings, CalendarHeaderStylesNames } from '../CalendarHe
4
4
  import { MonthsListSettings, MonthsListStylesNames } from '../MonthsList';
5
5
  export type YearLevelStylesNames = MonthsListStylesNames | CalendarHeaderStylesNames;
6
6
  export interface YearLevelBaseSettings extends MonthsListSettings {
7
- /** dayjs label format to display year label or a function that returns year label based on year value @default `"YYYY"` */
7
+ /** dayjs label format to display year label or a function that returns year label based on year value @default "YYYY" */
8
8
  yearLabelFormat?: DateLabelFormat;
9
9
  }
10
10
  export interface YearLevelSettings extends YearLevelBaseSettings, CalendarHeaderSettings {
@@ -17,6 +17,8 @@ export interface YearLevelProps extends BoxProps, YearLevelSettings, Omit<Styles
17
17
  year: DateStringValue;
18
18
  /** `aria-label` for change level control */
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 YearLevelFactory = Factory<{
22
24
  props: YearLevelProps;
@@ -13,6 +13,8 @@ export interface YearLevelGroupProps extends BoxProps, Omit<YearLevelSettings, '
13
13
  year: DateStringValue;
14
14
  /** Function that returns level control `aria-label` */
15
15
  levelControlAriaLabel?: ((year: 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 YearLevelGroupFactory = Factory<{
18
20
  props: YearLevelGroupProps;
@@ -16,7 +16,7 @@ export type YearPickerFactory = Factory<{
16
16
  stylesNames: YearPickerStylesNames;
17
17
  }>;
18
18
  type YearPickerComponent = (<Type extends DatePickerType = 'default'>(props: YearPickerProps<Type> & {
19
- ref?: React.ForwardedRef<HTMLDivElement>;
19
+ ref?: React.Ref<HTMLDivElement>;
20
20
  }) => React.JSX.Element) & {
21
21
  displayName?: string;
22
22
  } & MantineComponentStaticProperties<YearPickerFactory>;
@@ -1,2 +1,10 @@
1
+ import { DatePickerType } from '../../types';
2
+ import type { YearPickerBaseProps, YearPickerFactory, YearPickerProps, YearPickerStylesNames } from './YearPicker';
1
3
  export { YearPicker } from './YearPicker';
2
- export type { YearPickerProps, YearPickerBaseProps, YearPickerFactory, YearPickerStylesNames, } from './YearPicker';
4
+ export type { YearPickerProps, YearPickerBaseProps, YearPickerFactory, YearPickerStylesNames };
5
+ export declare namespace YearPicker {
6
+ type Props<Type extends DatePickerType = 'default'> = YearPickerProps<Type>;
7
+ type BaseProps = YearPickerBaseProps;
8
+ type StylesNames = YearPickerStylesNames;
9
+ type Factory = YearPickerFactory;
10
+ }
@@ -4,7 +4,7 @@ import { DateInputSharedProps } from '../PickerInputBase';
4
4
  import { YearPickerBaseProps, YearPickerStylesNames } from '../YearPicker';
5
5
  export type YearPickerInputStylesNames = __InputStylesNames | 'placeholder' | YearPickerStylesNames;
6
6
  export interface YearPickerInputProps<Type extends DatePickerType = 'default'> extends BoxProps, DateInputSharedProps, YearPickerBaseProps<Type>, StylesApiProps<YearPickerInputFactory> {
7
- /** `dayjs` format to display input value @default `"YYYY"` */
7
+ /** `dayjs` format to display input value @default "YYYY" */
8
8
  valueFormat?: string;
9
9
  }
10
10
  export type YearPickerInputFactory = Factory<{
@@ -14,7 +14,7 @@ export type YearPickerInputFactory = Factory<{
14
14
  variant: InputVariant;
15
15
  }>;
16
16
  type YearPickerInputComponent = (<Type extends DatePickerType = 'default'>(props: YearPickerInputProps<Type> & {
17
- ref?: React.ForwardedRef<HTMLButtonElement>;
17
+ ref?: React.Ref<HTMLButtonElement>;
18
18
  }) => React.JSX.Element) & {
19
19
  displayName?: string;
20
20
  } & MantineComponentStaticProperties<YearPickerInputFactory>;
@@ -1,2 +1,9 @@
1
+ import { DatePickerType } from '../../types';
2
+ import type { YearPickerInputFactory, YearPickerInputProps, YearPickerInputStylesNames } from './YearPickerInput';
1
3
  export { YearPickerInput } from './YearPickerInput';
2
- export type { YearPickerInputProps, YearPickerInputStylesNames, YearPickerInputFactory, } from './YearPickerInput';
4
+ export type { YearPickerInputProps, YearPickerInputStylesNames, YearPickerInputFactory };
5
+ export declare namespace YearPickerInput {
6
+ type Props<Type extends DatePickerType = 'default'> = YearPickerInputProps<Type>;
7
+ type StylesNames = YearPickerInputStylesNames;
8
+ type Factory = YearPickerInputFactory;
9
+ }
@@ -7,14 +7,16 @@ export interface YearsListSettings extends ControlsGroupSettings {
7
7
  __preventFocus?: boolean;
8
8
  /** Determines whether propagation for Escape key should be stopped */
9
9
  __stopPropagation?: boolean;
10
- /** dayjs format for years list @default `'YYYY'` */
10
+ /** dayjs format for years list @default 'YYYY' */
11
11
  yearsListFormat?: string;
12
12
  /** Passes props down to year picker control based on date */
13
13
  getYearControlProps?: (date: DateStringValue) => Partial<PickerControlProps> & DataAttributes;
14
14
  /** Component size */
15
15
  size?: MantineSize;
16
- /** Determines whether controls should be separated @default `true` */
16
+ /** Determines whether controls should be separated @default true */
17
17
  withCellSpacing?: boolean;
18
+ /** Determines whether the list should take the full width of its container @default false */
19
+ fullWidth?: boolean;
18
20
  }
19
21
  export interface YearsListProps extends BoxProps, YearsListSettings, StylesApiProps<YearsListFactory>, ElementProps<'table'> {
20
22
  __staticSelector?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/dates",
3
- "version": "8.3.15",
3
+ "version": "9.0.0-alpha.1",
4
4
  "description": "Calendars, date and time pickers based on Mantine components",
5
5
  "homepage": "https://mantine.dev/dates/getting-started/",
6
6
  "license": "MIT",
@@ -45,8 +45,8 @@
45
45
  "directory": "packages/@mantine/dates"
46
46
  },
47
47
  "peerDependencies": {
48
- "@mantine/core": "8.3.15",
49
- "@mantine/hooks": "8.3.15",
48
+ "@mantine/core": "9.0.0-alpha.1",
49
+ "@mantine/hooks": "9.0.0-alpha.1",
50
50
  "dayjs": ">=1.0.0",
51
51
  "react": "^18.x || ^19.x",
52
52
  "react-dom": "^18.x || ^19.x"
@@ -59,7 +59,7 @@
59
59
  "@mantine-tests/dates": "workspace:*",
60
60
  "@mantine/core": "workspace:*",
61
61
  "@mantine/hooks": "workspace:*",
62
- "react": "19.1.1",
63
- "react-dom": "19.1.1"
62
+ "react": "19.2.1",
63
+ "react-dom": "19.2.1"
64
64
  }
65
65
  }