@mantine/dates 6.0.4 → 6.0.5

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 (33) hide show
  1. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js +10 -11
  2. package/cjs/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  3. package/cjs/components/Month/Month.js +1 -1
  4. package/cjs/components/Month/Month.js.map +1 -1
  5. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +3 -2
  6. package/cjs/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -1
  7. package/cjs/components/MonthLevelGroup/MonthLevelGroup.js +4 -5
  8. package/cjs/components/MonthLevelGroup/MonthLevelGroup.js.map +1 -1
  9. package/cjs/components/YearLevelGroup/YearLevelGroup.js +10 -11
  10. package/cjs/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  11. package/cjs/utils/handle-control-key-down.js +137 -56
  12. package/cjs/utils/handle-control-key-down.js.map +1 -1
  13. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js +10 -11
  14. package/esm/components/DecadeLevelGroup/DecadeLevelGroup.js.map +1 -1
  15. package/esm/components/Month/Month.js +1 -1
  16. package/esm/components/Month/Month.js.map +1 -1
  17. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js +3 -2
  18. package/esm/components/Month/get-date-in-tab-order/get-date-in-tab-order.js.map +1 -1
  19. package/esm/components/MonthLevelGroup/MonthLevelGroup.js +4 -5
  20. package/esm/components/MonthLevelGroup/MonthLevelGroup.js.map +1 -1
  21. package/esm/components/YearLevelGroup/YearLevelGroup.js +10 -11
  22. package/esm/components/YearLevelGroup/YearLevelGroup.js.map +1 -1
  23. package/esm/utils/handle-control-key-down.js +137 -56
  24. package/esm/utils/handle-control-key-down.js.map +1 -1
  25. package/lib/components/DecadeLevelGroup/DecadeLevelGroup.d.ts.map +1 -1
  26. package/lib/components/Month/Month.d.ts.map +1 -1
  27. package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts +1 -1
  28. package/lib/components/Month/get-date-in-tab-order/get-date-in-tab-order.d.ts.map +1 -1
  29. package/lib/components/MonthLevelGroup/MonthLevelGroup.d.ts.map +1 -1
  30. package/lib/components/YearLevelGroup/YearLevelGroup.d.ts.map +1 -1
  31. package/lib/utils/handle-control-key-down.d.ts +5 -7
  32. package/lib/utils/handle-control-key-down.d.ts.map +1 -1
  33. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"handle-control-key-down.js","sources":["../../src/utils/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport type { ControlKeydownPayload } from '../types';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: 'down' | 'up' | 'left' | 'right';\n index: number;\n payload: ControlKeydownPayload;\n count?: number;\n}\n\nfunction focusOnNextFocusableControl({\n direction,\n index,\n payload,\n count = 1,\n controlsRef,\n}: ShiftFocusInput) {\n const changeRow = ['down', 'up'].includes(direction);\n\n const rowIndex = changeRow\n ? payload.rowIndex + (direction === 'down' ? count : -count)\n : payload.rowIndex;\n\n const cellIndex = changeRow\n ? payload.cellIndex\n : payload.cellIndex + (direction === 'right' ? count : -count);\n\n const controlToFocus = controlsRef.current[index][rowIndex]?.[cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (controlToFocus.disabled) {\n focusOnNextFocusableControl({ direction, index, payload, controlsRef, count: count + 1 });\n } else {\n controlToFocus.focus();\n }\n}\n\ninterface HandleControlKeydownInput {\n controlsRef: ControlsRef;\n numberOfColumns: number;\n index: number;\n payload: ControlKeydownPayload;\n event: React.KeyboardEvent<HTMLButtonElement>;\n controlsPerRow: number | number[];\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n index,\n payload,\n event,\n numberOfColumns,\n controlsPerRow,\n}: HandleControlKeydownInput) {\n const _controlsPerRow = Array.isArray(controlsPerRow)\n ? controlsPerRow[payload.rowIndex]\n : controlsPerRow;\n\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault();\n\n const hasRowBelow = payload.rowIndex + 1 < controlsRef.current[index].length;\n if (hasRowBelow) {\n focusOnNextFocusableControl({ direction: 'down', index, payload, controlsRef });\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n\n const hasRowAbove = payload.rowIndex > 0;\n if (hasRowAbove) {\n focusOnNextFocusableControl({ direction: 'up', index, payload, controlsRef });\n }\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n\n if (payload.cellIndex !== _controlsPerRow - 1) {\n focusOnNextFocusableControl({ direction: 'right', index, payload, controlsRef });\n } else if (index + 1 < numberOfColumns) {\n if (controlsRef.current[index + 1][payload.rowIndex]) {\n controlsRef.current[index + 1][payload.rowIndex][0]?.focus();\n }\n }\n\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n\n if (payload.cellIndex !== 0) {\n focusOnNextFocusableControl({ direction: 'left', index, payload, controlsRef });\n } else if (index > 0) {\n if (controlsRef.current[index - 1][payload.rowIndex]) {\n controlsRef.current[index - 1][payload.rowIndex][_controlsPerRow - 1].focus();\n }\n }\n }\n }\n}\n"],"names":[],"mappings":";;;;AAAA,SAAS,2BAA2B,CAAC;AACrC,EAAE,SAAS;AACX,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,KAAK,GAAG,CAAC;AACX,EAAE,WAAW;AACb,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD,EAAE,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC7G,EAAE,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,KAAK,OAAO,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACjH,EAAE,MAAM,cAAc,GAAG,CAAC,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACtG,EAAE,IAAI,CAAC,cAAc,EAAE;AACvB,IAAI,OAAO;AACX,GAAG;AACH,EAAE,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC/B,IAAI,2BAA2B,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AAC9F,GAAG,MAAM;AACT,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;AAC3B,GAAG;AACH,CAAC;AACM,SAAS,oBAAoB,CAAC;AACrC,EAAE,WAAW;AACb,EAAE,KAAK;AACP,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,eAAe;AACjB,EAAE,cAAc;AAChB,CAAC,EAAE;AACH,EAAE,IAAI,EAAE,CAAC;AACT,EAAE,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;AAC5G,EAAE,QAAQ,KAAK,CAAC,GAAG;AACnB,IAAI,KAAK,WAAW,EAAE;AACtB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACnF,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,2BAA2B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACxF,OAAO;AACP,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,KAAK,SAAS,EAAE;AACpB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC/C,MAAM,IAAI,WAAW,EAAE;AACvB,QAAQ,2BAA2B,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACtF,OAAO;AACP,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,KAAK,YAAY,EAAE;AACvB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,eAAe,GAAG,CAAC,EAAE;AACrD,QAAQ,2BAA2B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACzF,OAAO,MAAM,IAAI,KAAK,GAAG,CAAC,GAAG,eAAe,EAAE;AAC9C,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC9D,UAAU,CAAC,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;AACnG,SAAS;AACT,OAAO;AACP,MAAM,MAAM;AACZ,KAAK;AACL,IAAI,KAAK,WAAW,EAAE;AACtB,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;AAC7B,MAAM,IAAI,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;AACnC,QAAQ,2BAA2B,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACxF,OAAO,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;AAC5B,QAAQ,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC9D,UAAU,WAAW,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;AACxF,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG;AACH;;;;"}
1
+ {"version":3,"file":"handle-control-key-down.js","sources":["../../src/utils/handle-control-key-down.ts"],"sourcesContent":["import { RefObject } from 'react';\n\ntype ControlsRef = RefObject<HTMLButtonElement[][][]>;\ntype Direction = 'up' | 'down' | 'left' | 'right';\n\ntype NextIndexInput = Omit<ShiftFocusInput, 'controlsRef'>;\n\nfunction getNextIndex({ direction, levelIndex, rowIndex, cellIndex, size }: NextIndexInput) {\n switch (direction) {\n case 'up':\n if (levelIndex === 0 && rowIndex === 0) {\n return null;\n }\n if (rowIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex:\n cellIndex <= size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1\n ? size[levelIndex - 1].length - 1\n : size[levelIndex - 1].length - 2,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex,\n };\n\n case 'down':\n if (rowIndex === size[levelIndex].length - 1) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n if (\n rowIndex === size[levelIndex].length - 2 &&\n cellIndex >= size[levelIndex][size[levelIndex].length - 1]\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex,\n };\n }\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex,\n };\n\n case 'left':\n if (levelIndex === 0 && rowIndex === 0 && cellIndex === 0) {\n return null;\n }\n if (rowIndex === 0 && cellIndex === 0) {\n return {\n levelIndex: levelIndex - 1,\n rowIndex: size[levelIndex - 1].length - 1,\n cellIndex: size[levelIndex - 1][size[levelIndex - 1].length - 1] - 1,\n };\n }\n if (cellIndex === 0) {\n return {\n levelIndex,\n rowIndex: rowIndex - 1,\n cellIndex: size[levelIndex][rowIndex - 1] - 1,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex - 1,\n };\n\n case 'right':\n if (\n rowIndex === size[levelIndex].length - 1 &&\n cellIndex === size[levelIndex][rowIndex] - 1\n ) {\n return {\n levelIndex: levelIndex + 1,\n rowIndex: 0,\n cellIndex: 0,\n };\n }\n if (cellIndex === size[levelIndex][rowIndex] - 1) {\n return {\n levelIndex,\n rowIndex: rowIndex + 1,\n cellIndex: 0,\n };\n }\n return {\n levelIndex,\n rowIndex,\n cellIndex: cellIndex + 1,\n };\n\n default:\n return { levelIndex, rowIndex, cellIndex };\n }\n}\n\ninterface ShiftFocusInput {\n controlsRef: ControlsRef;\n direction: Direction;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n size: number[][];\n}\n\nfunction focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n}: ShiftFocusInput) {\n const nextIndex = getNextIndex({ direction, size, rowIndex, cellIndex, levelIndex });\n\n if (!nextIndex) {\n return;\n }\n\n const controlToFocus =\n controlsRef.current[nextIndex.levelIndex]?.[nextIndex.rowIndex]?.[nextIndex.cellIndex];\n\n if (!controlToFocus) {\n return;\n }\n\n if (\n controlToFocus.disabled ||\n controlToFocus.getAttribute('data-hidden') ||\n controlToFocus.getAttribute('data-outside')\n ) {\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex: nextIndex.levelIndex,\n cellIndex: nextIndex.cellIndex,\n rowIndex: nextIndex.rowIndex,\n size,\n });\n } else {\n controlToFocus.focus();\n }\n}\n\nfunction getDirection(key: KeyboardEvent['key']): Direction {\n switch (key) {\n case 'ArrowDown':\n return 'down';\n case 'ArrowUp':\n return 'up';\n case 'ArrowRight':\n return 'right';\n case 'ArrowLeft':\n return 'left';\n default:\n return null;\n }\n}\n\nfunction getControlsSize(controlsRef: ControlsRef) {\n return controlsRef.current.map((column) => column.map((row) => row.length));\n}\n\ninterface HandleControlKeyDownInput {\n controlsRef: ControlsRef;\n levelIndex: number;\n rowIndex: number;\n cellIndex: number;\n event: React.KeyboardEvent<HTMLButtonElement>;\n}\n\nexport function handleControlKeyDown({\n controlsRef,\n levelIndex,\n rowIndex,\n cellIndex,\n event,\n}: HandleControlKeyDownInput) {\n const direction = getDirection(event.key);\n\n if (direction) {\n const size = getControlsSize(controlsRef);\n\n focusOnNextFocusableControl({\n controlsRef,\n direction,\n levelIndex,\n rowIndex,\n cellIndex,\n size,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ const DecadeLevelGroup = forwardRef((props, ref) => {
106
106
  variant,
107
107
  size
108
108
  });
109
- const controlsRefs = useRef([]);
109
+ const controlsRef = useRef([]);
110
110
  const decades = Array(numberOfColumns).fill(0).map((_, decadeIndex) => {
111
111
  const currentDecade = dayjs(decade).add(decadeIndex * 10, "years").toDate();
112
112
  return /* @__PURE__ */ React.createElement(DecadeLevel, {
@@ -121,21 +121,20 @@ const DecadeLevelGroup = forwardRef((props, ref) => {
121
121
  __onControlClick,
122
122
  __onControlMouseEnter,
123
123
  __onControlKeyDown: (event, payload) => handleControlKeyDown({
124
- index: decadeIndex,
124
+ levelIndex: decadeIndex,
125
+ rowIndex: payload.rowIndex,
126
+ cellIndex: payload.cellIndex,
125
127
  event,
126
- payload,
127
- controlsRef: controlsRefs,
128
- numberOfColumns,
129
- controlsPerRow: [3, 3, 3, 1]
128
+ controlsRef
130
129
  }),
131
130
  __getControlRef: (rowIndex, cellIndex, node) => {
132
- if (!Array.isArray(controlsRefs.current[decadeIndex])) {
133
- controlsRefs.current[decadeIndex] = [];
131
+ if (!Array.isArray(controlsRef.current[decadeIndex])) {
132
+ controlsRef.current[decadeIndex] = [];
134
133
  }
135
- if (!Array.isArray(controlsRefs.current[decadeIndex][rowIndex])) {
136
- controlsRefs.current[decadeIndex][rowIndex] = [];
134
+ if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {
135
+ controlsRef.current[decadeIndex][rowIndex] = [];
137
136
  }
138
- controlsRefs.current[decadeIndex][rowIndex][cellIndex] = node;
137
+ controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;
139
138
  },
140
139
  levelControlAriaLabel: typeof levelControlAriaLabel === "function" ? levelControlAriaLabel(currentDecade) : levelControlAriaLabel,
141
140
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"DecadeLevelGroup.js","sources":["../../../src/components/DecadeLevelGroup/DecadeLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { DecadeLevel, DecadeLevelStylesNames, DecadeLevelSettings } from '../DecadeLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './DecadeLevelGroup.styles';\n\nexport type DecadeLevelGroupStylesNames = Selectors<typeof useStyles> | DecadeLevelStylesNames;\n\nexport interface DecadeLevelGroupProps\n extends DefaultProps<DecadeLevelGroupStylesNames>,\n Omit<\n DecadeLevelSettings,\n 'withPrevious' | 'withNext' | '__onControlKeyDown' | '__getControlRef'\n >,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Decade that is currently displayed */\n decade: Date;\n\n /** Function that returns level control aria-label based on year date */\n levelControlAriaLabel?: ((decade: Date) => string) | string;\n}\n\nconst defaultProps: Partial<DecadeLevelGroupProps> = {\n numberOfColumns: 1,\n};\n\nexport const DecadeLevelGroup = forwardRef<HTMLDivElement, DecadeLevelGroupProps>((props, ref) => {\n const {\n // DecadeLevel settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n decadeLabelFormat,\n variant,\n size,\n ...others\n } = useComponentDefaultProps('DecadeLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['DecadeLevelGroup', __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size,\n });\n\n const controlsRefs = useRef<HTMLButtonElement[][][]>([]);\n\n const decades = Array(numberOfColumns)\n .fill(0)\n .map((_, decadeIndex) => {\n const currentDecade = dayjs(decade)\n .add(decadeIndex * 10, 'years')\n .toDate();\n\n return (\n <DecadeLevel\n key={decadeIndex}\n variant={variant}\n size={size}\n yearsListFormat={yearsListFormat}\n decade={currentDecade}\n withNext={decadeIndex === numberOfColumns - 1}\n withPrevious={decadeIndex === 0}\n decadeLabelFormat={decadeLabelFormat}\n __onControlClick={__onControlClick}\n __onControlMouseEnter={__onControlMouseEnter}\n __onControlKeyDown={(event, payload) =>\n handleControlKeyDown({\n index: decadeIndex,\n event,\n payload,\n controlsRef: controlsRefs,\n numberOfColumns,\n controlsPerRow: [3, 3, 3, 1],\n })\n }\n __getControlRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRefs.current[decadeIndex])) {\n controlsRefs.current[decadeIndex] = [];\n }\n\n if (!Array.isArray(controlsRefs.current[decadeIndex][rowIndex])) {\n controlsRefs.current[decadeIndex][rowIndex] = [];\n }\n\n controlsRefs.current[decadeIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentDecade)\n : levelControlAriaLabel\n }\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n getYearControlProps={getYearControlProps}\n __staticSelector={__staticSelector || 'DecadeLevelGroup'}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.decadeLevelGroup, className)} ref={ref} {...others}>\n {decades}\n </Box>\n );\n});\n\nDecadeLevelGroup.displayName = '@mantine/dates/DecadeLevelGroup';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecadeLevelGroup.js","sources":["../../../src/components/DecadeLevelGroup/DecadeLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { DecadeLevel, DecadeLevelStylesNames, DecadeLevelSettings } from '../DecadeLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './DecadeLevelGroup.styles';\n\nexport type DecadeLevelGroupStylesNames = Selectors<typeof useStyles> | DecadeLevelStylesNames;\n\nexport interface DecadeLevelGroupProps\n extends DefaultProps<DecadeLevelGroupStylesNames>,\n Omit<\n DecadeLevelSettings,\n 'withPrevious' | 'withNext' | '__onControlKeyDown' | '__getControlRef'\n >,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Decade that is currently displayed */\n decade: Date;\n\n /** Function that returns level control aria-label based on year date */\n levelControlAriaLabel?: ((decade: Date) => string) | string;\n}\n\nconst defaultProps: Partial<DecadeLevelGroupProps> = {\n numberOfColumns: 1,\n};\n\nexport const DecadeLevelGroup = forwardRef<HTMLDivElement, DecadeLevelGroupProps>((props, ref) => {\n const {\n // DecadeLevel settings\n decade,\n locale,\n minDate,\n maxDate,\n yearsListFormat,\n getYearControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n nextDisabled,\n previousDisabled,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n decadeLabelFormat,\n variant,\n size,\n ...others\n } = useComponentDefaultProps('DecadeLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['DecadeLevelGroup', __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size,\n });\n\n const controlsRef = useRef<HTMLButtonElement[][][]>([]);\n\n const decades = Array(numberOfColumns)\n .fill(0)\n .map((_, decadeIndex) => {\n const currentDecade = dayjs(decade)\n .add(decadeIndex * 10, 'years')\n .toDate();\n\n return (\n <DecadeLevel\n key={decadeIndex}\n variant={variant}\n size={size}\n yearsListFormat={yearsListFormat}\n decade={currentDecade}\n withNext={decadeIndex === numberOfColumns - 1}\n withPrevious={decadeIndex === 0}\n decadeLabelFormat={decadeLabelFormat}\n __onControlClick={__onControlClick}\n __onControlMouseEnter={__onControlMouseEnter}\n __onControlKeyDown={(event, payload) =>\n handleControlKeyDown({\n levelIndex: decadeIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef,\n })\n }\n __getControlRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[decadeIndex])) {\n controlsRef.current[decadeIndex] = [];\n }\n\n if (!Array.isArray(controlsRef.current[decadeIndex][rowIndex])) {\n controlsRef.current[decadeIndex][rowIndex] = [];\n }\n\n controlsRef.current[decadeIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentDecade)\n : levelControlAriaLabel\n }\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n __preventFocus={__preventFocus}\n __stopPropagation={__stopPropagation}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n getYearControlProps={getYearControlProps}\n __staticSelector={__staticSelector || 'DecadeLevelGroup'}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.decadeLevelGroup, className)} ref={ref} {...others}>\n {decades}\n </Box>\n );\n});\n\nDecadeLevelGroup.displayName = '@mantine/dates/DecadeLevelGroup';\n"],"names":[],"mappings":"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"}
@@ -124,7 +124,7 @@ const Month = forwardRef((props, ref) => {
124
124
  size
125
125
  };
126
126
  const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));
127
- const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);
127
+ const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate, hideOutsideDates, month);
128
128
  const rows = dates.map((row, rowIndex) => {
129
129
  const cells = row.map((date, cellIndex) => {
130
130
  const outside = !isSameMonth(date, month);
@@ -1 +1 @@
1
- {"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** 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 */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));\n\n const dateInTabOrder = getDateInTabOrder(dates, minDate, maxDate, getDayProps, excludeDate);\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport dayjs from 'dayjs';\nimport React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, Box, useComponentDefaultProps, MantineSize } from '@mantine/core';\nimport { useDatesContext } from '../DatesProvider';\nimport { WeekdaysRow, WeekdaysRowStylesNames } from '../WeekdaysRow';\nimport { Day, DayStylesNames, DayProps } from '../Day';\nimport { ControlKeydownPayload, DayOfWeek } from '../../types';\nimport { getMonthDays } from './get-month-days/get-month-days';\nimport { isSameMonth } from './is-same-month/is-same-month';\nimport { isBeforeMaxDate } from './is-before-max-date/is-before-max-date';\nimport { isAfterMinDate } from './is-after-min-date/is-after-min-date';\nimport useStyles from './Month.styles';\nimport { getDateInTabOrder } from './get-date-in-tab-order/get-date-in-tab-order';\n\nexport type MonthStylesNames =\n | Selectors<typeof useStyles>\n | WeekdaysRowStylesNames\n | DayStylesNames;\n\nexport interface MonthSettings {\n /** Determines whether propagation for Escape key should be stopped */\n __stopPropagation?: boolean;\n\n /** Prevents focus shift when buttons are clicked */\n __preventFocus?: boolean;\n\n /** Called when day is clicked with click event and date */\n __onDayClick?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when mouse enters day */\n __onDayMouseEnter?(event: React.MouseEvent<HTMLButtonElement>, date: Date): void;\n\n /** Called when any keydown event is registered on day, used for arrows navigation */\n __onDayKeyDown?(\n event: React.KeyboardEvent<HTMLButtonElement>,\n payload: ControlKeydownPayload\n ): void;\n\n /** Assigns ref of every day based on its position in the table, used for arrows navigation */\n __getDayRef?(rowIndex: number, cellIndex: number, node: HTMLButtonElement): void;\n\n /** dayjs locale, defaults to value defined in DatesProvider */\n locale?: string;\n\n /** number 0-6, 0 – Sunday, 6 – Saturday, defaults to 1 – Monday */\n firstDayOfWeek?: DayOfWeek;\n\n /** dayjs format for weekdays names, defaults to \"dd\" */\n weekdayFormat?: string;\n\n /** Indices of weekend days, 0-6, where 0 is Sunday and 6 is Saturday, defaults to value defined in DatesProvider */\n weekendDays?: DayOfWeek[];\n\n /** Adds props to Day component based on date */\n getDayProps?(date: Date): Partial<DayProps>;\n\n /** Callback function to determine whether the day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Controls day value rendering */\n renderDay?(date: Date): React.ReactNode;\n\n /** Determines whether outside dates should be hidden, defaults to false */\n hideOutsideDates?: boolean;\n\n /** Determines whether weekdays row should be hidden, defaults to false */\n hideWeekdays?: boolean;\n\n /** Assigns aria-label to days based on date */\n getDayAriaLabel?(date: Date): string;\n\n /** Controls size */\n size?: MantineSize;\n\n /** Determines whether controls should be separated by spacing, true by default */\n withCellSpacing?: boolean;\n}\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n React.ComponentPropsWithoutRef<'table'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Month to display */\n month: Date;\n\n /** 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 */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthProps> = {\n size: 'sm',\n withCellSpacing: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n month,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n static: isStatic,\n __getDayRef,\n __onDayKeyDown,\n __onDayClick,\n __onDayMouseEnter,\n __preventFocus,\n __stopPropagation,\n withCellSpacing,\n size,\n variant,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const ctx = useDatesContext();\n\n const { classes, cx } = useStyles(null, {\n name: ['Month', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const stylesApiProps = {\n __staticSelector: __staticSelector || 'Month',\n classNames,\n styles,\n unstyled,\n variant,\n size,\n };\n\n const dates = getMonthDays(month, ctx.getFirstDayOfWeek(firstDayOfWeek));\n\n const dateInTabOrder = getDateInTabOrder(\n dates,\n minDate,\n maxDate,\n getDayProps,\n excludeDate,\n hideOutsideDates,\n month\n );\n\n const rows = dates.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const outside = !isSameMonth(date, month);\n const ariaLabel =\n getDayAriaLabel?.(date) ||\n dayjs(date)\n .locale(locale || ctx.locale)\n .format('D MMMM YYYY');\n const dayProps = getDayProps?.(date);\n const isDateInTabOrder = dayjs(date).isSame(dateInTabOrder, 'date');\n\n return (\n <td\n key={date.toString()}\n className={classes.monthCell}\n data-with-spacing={withCellSpacing || undefined}\n >\n <Day\n {...stylesApiProps}\n data-mantine-stop-propagation={__stopPropagation || undefined}\n renderDay={renderDay}\n date={date}\n weekend={ctx.getWeekendDays(weekendDays).includes(date.getDay() as DayOfWeek)}\n outside={outside}\n hidden={hideOutsideDates ? outside : false}\n aria-label={ariaLabel}\n static={isStatic}\n disabled={\n excludeDate?.(date) ||\n !isBeforeMaxDate(date, maxDate) ||\n !isAfterMinDate(date, minDate)\n }\n ref={(node) => __getDayRef?.(rowIndex, cellIndex, node)}\n {...dayProps}\n onKeyDown={(event) => {\n dayProps?.onKeyDown?.(event);\n __onDayKeyDown?.(event, { rowIndex, cellIndex, date });\n }}\n onMouseEnter={(event) => {\n dayProps?.onMouseEnter?.(event);\n __onDayMouseEnter?.(event, date);\n }}\n onClick={(event) => {\n dayProps?.onClick?.(event);\n __onDayClick?.(event, date);\n }}\n onMouseDown={(event) => {\n dayProps?.onMouseDown?.(event);\n __preventFocus && event.preventDefault();\n }}\n tabIndex={__preventFocus || !isDateInTabOrder ? -1 : 0}\n />\n </td>\n );\n });\n\n return (\n <tr key={rowIndex} className={classes.monthRow}>\n {cells}\n </tr>\n );\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead className={classes.monthThead}>\n <WeekdaysRow\n {...stylesApiProps}\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n />\n </thead>\n )}\n <tbody className={classes.monthTbody}>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import dayjs from 'dayjs';
2
2
  import { isAfterMinDate } from '../is-after-min-date/is-after-min-date.js';
3
3
  import { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date.js';
4
+ import { isSameMonth } from '../is-same-month/is-same-month.js';
4
5
 
5
- function getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate) {
6
+ function getDateInTabOrder(dates, minDate, maxDate, getDateControlProps, excludeDate, hideOutsideDates, month) {
6
7
  const enabledDates = dates.flat().filter((date) => {
7
8
  var _a;
8
- return isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !(excludeDate == null ? void 0 : excludeDate(date)) && !((_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.disabled);
9
+ return isBeforeMaxDate(date, maxDate) && isAfterMinDate(date, minDate) && !(excludeDate == null ? void 0 : excludeDate(date)) && !((_a = getDateControlProps == null ? void 0 : getDateControlProps(date)) == null ? void 0 : _a.disabled) && (!hideOutsideDates || isSameMonth(date, month));
9
10
  });
10
11
  const selectedDate = enabledDates.find((date) => {
11
12
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"get-date-in-tab-order.js","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DayProps } from '../../Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\n\nexport function getDateInTabOrder(\n dates: Date[][],\n minDate: Date,\n maxDate: Date,\n getDateControlProps: (date: Date) => Partial<DayProps>,\n excludeDate: (date: Date) => boolean\n) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDateControlProps?.(date)?.disabled\n );\n\n const selectedDate = enabledDates.find((date) => getDateControlProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"names":[],"mappings":";;;;AAGO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE;AAC7F,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;AAC/O,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
1
+ {"version":3,"file":"get-date-in-tab-order.js","sources":["../../../../src/components/Month/get-date-in-tab-order/get-date-in-tab-order.ts"],"sourcesContent":["import dayjs from 'dayjs';\nimport { DayProps } from '../../Day';\nimport { isAfterMinDate } from '../is-after-min-date/is-after-min-date';\nimport { isBeforeMaxDate } from '../is-before-max-date/is-before-max-date';\nimport { isSameMonth } from '../is-same-month/is-same-month';\n\nexport function getDateInTabOrder(\n dates: Date[][],\n minDate: Date,\n maxDate: Date,\n getDateControlProps: (date: Date) => Partial<DayProps>,\n excludeDate: (date: Date) => boolean,\n hideOutsideDates: boolean,\n month: Date\n) {\n const enabledDates = dates\n .flat()\n .filter(\n (date) =>\n isBeforeMaxDate(date, maxDate) &&\n isAfterMinDate(date, minDate) &&\n !excludeDate?.(date) &&\n !getDateControlProps?.(date)?.disabled &&\n (!hideOutsideDates || isSameMonth(date, month))\n );\n\n const selectedDate = enabledDates.find((date) => getDateControlProps?.(date)?.selected);\n\n if (selectedDate) {\n return selectedDate;\n }\n\n const currentDate = enabledDates.find((date) => dayjs().isSame(date, 'date'));\n\n if (currentDate) {\n return currentDate;\n }\n\n return enabledDates[0];\n}\n"],"names":[],"mappings":";;;;;AAIO,SAAS,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE;AACtH,EAAE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AACrD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAClS,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AACnD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,OAAO,CAAC,EAAE,GAAG,mBAAmB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;AAClH,GAAG,CAAC,CAAC;AACL,EAAE,IAAI,YAAY,EAAE;AACpB,IAAI,OAAO,YAAY,CAAC;AACxB,GAAG;AACH,EAAE,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AAChF,EAAE,IAAI,WAAW,EAAE;AACnB,IAAI,OAAO,WAAW,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;AACzB;;;;"}
@@ -139,12 +139,11 @@ const MonthLevelGroup = forwardRef((props, ref) => {
139
139
  __onDayClick,
140
140
  __onDayMouseEnter,
141
141
  __onDayKeyDown: (event, payload) => handleControlKeyDown({
142
- index: monthIndex,
142
+ levelIndex: monthIndex,
143
+ rowIndex: payload.rowIndex,
144
+ cellIndex: payload.cellIndex,
143
145
  event,
144
- payload,
145
- controlsRef: daysRefs,
146
- numberOfColumns,
147
- controlsPerRow: 7
146
+ controlsRef: daysRefs
148
147
  }),
149
148
  __getDayRef: (rowIndex, cellIndex, node) => {
150
149
  if (!Array.isArray(daysRefs.current[monthIndex])) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonthLevelGroup.js","sources":["../../../src/components/MonthLevelGroup/MonthLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { MonthLevel, MonthLevelStylesNames, MonthLevelSettings } from '../MonthLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './MonthLevelGroup.styles';\n\nexport type MonthLevelGroupStylesNames = Selectors<typeof useStyles> | MonthLevelStylesNames;\n\nexport interface MonthLevelGroupProps\n extends DefaultProps<MonthLevelGroupStylesNames>,\n Omit<MonthLevelSettings, 'withPrevious' | 'withNext' | '__onDayKeyDown' | '__getDayRef'>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Function that returns level control aria-label based on month date */\n levelControlAriaLabel?: ((month: Date) => string) | string;\n\n /** 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 */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthLevelGroupProps> = {\n numberOfColumns: 1,\n};\n\nexport const MonthLevelGroup = forwardRef<HTMLDivElement, MonthLevelGroupProps>((props, ref) => {\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n numberOfColumns,\n levelControlAriaLabel,\n monthLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n variant,\n static: isStatic,\n ...others\n } = useComponentDefaultProps('MonthLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['MonthLevelGroup', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const daysRefs = useRef<HTMLButtonElement[][][]>([]);\n\n const months = Array(numberOfColumns)\n .fill(0)\n .map((_, monthIndex) => {\n const currentMonth = dayjs(month).add(monthIndex, 'months').toDate();\n\n return (\n <MonthLevel\n key={monthIndex}\n month={currentMonth}\n withNext={monthIndex === numberOfColumns - 1}\n withPrevious={monthIndex === 0}\n monthLabelFormat={monthLabelFormat}\n __stopPropagation={__stopPropagation}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __onDayKeyDown={(event, payload) =>\n handleControlKeyDown({\n index: monthIndex,\n event,\n payload,\n controlsRef: daysRefs,\n numberOfColumns,\n controlsPerRow: 7,\n })\n }\n __getDayRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(daysRefs.current[monthIndex])) {\n daysRefs.current[monthIndex] = [];\n }\n\n if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {\n daysRefs.current[monthIndex][rowIndex] = [];\n }\n\n daysRefs.current[monthIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentMonth)\n : levelControlAriaLabel\n }\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n __preventFocus={__preventFocus}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n onLevelClick={onLevelClick}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n hasNextLevel={hasNextLevel}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthLevelGroup'}\n size={size}\n variant={variant}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.monthLevelGroup, className)} ref={ref} {...others}>\n {months}\n </Box>\n );\n});\n\nMonthLevelGroup.displayName = '@mantine/dates/MonthLevelGroup';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonthLevelGroup.js","sources":["../../../src/components/MonthLevelGroup/MonthLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { MonthLevel, MonthLevelStylesNames, MonthLevelSettings } from '../MonthLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './MonthLevelGroup.styles';\n\nexport type MonthLevelGroupStylesNames = Selectors<typeof useStyles> | MonthLevelStylesNames;\n\nexport interface MonthLevelGroupProps\n extends DefaultProps<MonthLevelGroupStylesNames>,\n Omit<MonthLevelSettings, 'withPrevious' | 'withNext' | '__onDayKeyDown' | '__getDayRef'>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Function that returns level control aria-label based on month date */\n levelControlAriaLabel?: ((month: Date) => string) | string;\n\n /** 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 */\n static?: boolean;\n}\n\nconst defaultProps: Partial<MonthLevelGroupProps> = {\n numberOfColumns: 1,\n};\n\nexport const MonthLevelGroup = forwardRef<HTMLDivElement, MonthLevelGroupProps>((props, ref) => {\n const {\n // Month settings\n month,\n locale,\n firstDayOfWeek,\n weekdayFormat,\n weekendDays,\n getDayProps,\n excludeDate,\n minDate,\n maxDate,\n renderDay,\n hideOutsideDates,\n hideWeekdays,\n getDayAriaLabel,\n __onDayClick,\n __onDayMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n numberOfColumns,\n levelControlAriaLabel,\n monthLabelFormat,\n __staticSelector,\n __stopPropagation,\n size,\n variant,\n static: isStatic,\n ...others\n } = useComponentDefaultProps('MonthLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['MonthLevelGroup', __staticSelector],\n classNames,\n styles,\n unstyled,\n variant,\n size,\n });\n\n const daysRefs = useRef<HTMLButtonElement[][][]>([]);\n\n const months = Array(numberOfColumns)\n .fill(0)\n .map((_, monthIndex) => {\n const currentMonth = dayjs(month).add(monthIndex, 'months').toDate();\n\n return (\n <MonthLevel\n key={monthIndex}\n month={currentMonth}\n withNext={monthIndex === numberOfColumns - 1}\n withPrevious={monthIndex === 0}\n monthLabelFormat={monthLabelFormat}\n __stopPropagation={__stopPropagation}\n __onDayClick={__onDayClick}\n __onDayMouseEnter={__onDayMouseEnter}\n __onDayKeyDown={(event, payload) =>\n handleControlKeyDown({\n levelIndex: monthIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef: daysRefs,\n })\n }\n __getDayRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(daysRefs.current[monthIndex])) {\n daysRefs.current[monthIndex] = [];\n }\n\n if (!Array.isArray(daysRefs.current[monthIndex][rowIndex])) {\n daysRefs.current[monthIndex][rowIndex] = [];\n }\n\n daysRefs.current[monthIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentMonth)\n : levelControlAriaLabel\n }\n locale={locale}\n firstDayOfWeek={firstDayOfWeek}\n weekdayFormat={weekdayFormat}\n weekendDays={weekendDays}\n getDayProps={getDayProps}\n excludeDate={excludeDate}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n getDayAriaLabel={getDayAriaLabel}\n __preventFocus={__preventFocus}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n onLevelClick={onLevelClick}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n hasNextLevel={hasNextLevel}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'MonthLevelGroup'}\n size={size}\n variant={variant}\n static={isStatic}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.monthLevelGroup, className)} ref={ref} {...others}>\n {months}\n </Box>\n );\n});\n\nMonthLevelGroup.displayName = '@mantine/dates/MonthLevelGroup';\n"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@ const YearLevelGroup = forwardRef((props, ref) => {
111
111
  variant,
112
112
  size
113
113
  });
114
- const controlsRefs = useRef([]);
114
+ const controlsRef = useRef([]);
115
115
  const years = Array(numberOfColumns).fill(0).map((_, yearIndex) => {
116
116
  const currentYear = dayjs(year).add(yearIndex, "years").toDate();
117
117
  return /* @__PURE__ */ React.createElement(YearLevel, {
@@ -127,21 +127,20 @@ const YearLevelGroup = forwardRef((props, ref) => {
127
127
  __onControlClick,
128
128
  __onControlMouseEnter,
129
129
  __onControlKeyDown: (event, payload) => handleControlKeyDown({
130
- index: yearIndex,
130
+ levelIndex: yearIndex,
131
+ rowIndex: payload.rowIndex,
132
+ cellIndex: payload.cellIndex,
131
133
  event,
132
- payload,
133
- controlsRef: controlsRefs,
134
- numberOfColumns,
135
- controlsPerRow: 3
134
+ controlsRef
136
135
  }),
137
136
  __getControlRef: (rowIndex, cellIndex, node) => {
138
- if (!Array.isArray(controlsRefs.current[yearIndex])) {
139
- controlsRefs.current[yearIndex] = [];
137
+ if (!Array.isArray(controlsRef.current[yearIndex])) {
138
+ controlsRef.current[yearIndex] = [];
140
139
  }
141
- if (!Array.isArray(controlsRefs.current[yearIndex][rowIndex])) {
142
- controlsRefs.current[yearIndex][rowIndex] = [];
140
+ if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {
141
+ controlsRef.current[yearIndex][rowIndex] = [];
143
142
  }
144
- controlsRefs.current[yearIndex][rowIndex][cellIndex] = node;
143
+ controlsRef.current[yearIndex][rowIndex][cellIndex] = node;
145
144
  },
146
145
  levelControlAriaLabel: typeof levelControlAriaLabel === "function" ? levelControlAriaLabel(currentYear) : levelControlAriaLabel,
147
146
  locale,
@@ -1 +1 @@
1
- {"version":3,"file":"YearLevelGroup.js","sources":["../../../src/components/YearLevelGroup/YearLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { YearLevel, YearLevelStylesNames, YearLevelSettings } from '../YearLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './YearLevelGroup.styles';\n\nexport type YearLevelGroupStylesNames = Selectors<typeof useStyles> | YearLevelStylesNames;\n\nexport interface YearLevelGroupProps\n extends DefaultProps<YearLevelGroupStylesNames>,\n Omit<YearLevelSettings, 'withPrevious' | 'withNext' | '__onControlKeyDown' | '__getControlRef'>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Year that is currently displayed */\n year: Date;\n\n /** Function that returns level control aria-label based on year date */\n levelControlAriaLabel?: ((year: Date) => string) | string;\n}\n\nconst defaultProps: Partial<YearLevelGroupProps> = {\n numberOfColumns: 1,\n size: 'sm',\n};\n\nexport const YearLevelGroup = forwardRef<HTMLDivElement, YearLevelGroupProps>((props, ref) => {\n const {\n // YearLevel settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n yearLabelFormat,\n variant,\n size,\n ...others\n } = useComponentDefaultProps('YearLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearLevelGroup', __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size,\n });\n\n const controlsRefs = useRef<HTMLButtonElement[][][]>([]);\n\n const years = Array(numberOfColumns)\n .fill(0)\n .map((_, yearIndex) => {\n const currentYear = dayjs(year).add(yearIndex, 'years').toDate();\n\n return (\n <YearLevel\n key={yearIndex}\n variant={variant}\n size={size}\n monthsListFormat={monthsListFormat}\n year={currentYear}\n withNext={yearIndex === numberOfColumns - 1}\n withPrevious={yearIndex === 0}\n yearLabelFormat={yearLabelFormat}\n __stopPropagation={__stopPropagation}\n __onControlClick={__onControlClick}\n __onControlMouseEnter={__onControlMouseEnter}\n __onControlKeyDown={(event, payload) =>\n handleControlKeyDown({\n index: yearIndex,\n event,\n payload,\n controlsRef: controlsRefs,\n numberOfColumns,\n controlsPerRow: 3,\n })\n }\n __getControlRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRefs.current[yearIndex])) {\n controlsRefs.current[yearIndex] = [];\n }\n\n if (!Array.isArray(controlsRefs.current[yearIndex][rowIndex])) {\n controlsRefs.current[yearIndex][rowIndex] = [];\n }\n\n controlsRefs.current[yearIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentYear)\n : levelControlAriaLabel\n }\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n __preventFocus={__preventFocus}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n onLevelClick={onLevelClick}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n hasNextLevel={hasNextLevel}\n getMonthControlProps={getMonthControlProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearLevelGroup'}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.yearLevelGroup, className)} ref={ref} {...others}>\n {years}\n </Box>\n );\n});\n\nYearLevelGroup.displayName = '@mantine/dates/YearLevelGroup';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YearLevelGroup.js","sources":["../../../src/components/YearLevelGroup/YearLevelGroup.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\nimport { DefaultProps, Box, Selectors, useComponentDefaultProps } from '@mantine/core';\nimport dayjs from 'dayjs';\nimport { YearLevel, YearLevelStylesNames, YearLevelSettings } from '../YearLevel';\nimport { handleControlKeyDown } from '../../utils';\nimport useStyles from './YearLevelGroup.styles';\n\nexport type YearLevelGroupStylesNames = Selectors<typeof useStyles> | YearLevelStylesNames;\n\nexport interface YearLevelGroupProps\n extends DefaultProps<YearLevelGroupStylesNames>,\n Omit<YearLevelSettings, 'withPrevious' | 'withNext' | '__onControlKeyDown' | '__getControlRef'>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector?: string;\n\n /** Number of columns to render next to each other */\n numberOfColumns?: number;\n\n /** Year that is currently displayed */\n year: Date;\n\n /** Function that returns level control aria-label based on year date */\n levelControlAriaLabel?: ((year: Date) => string) | string;\n}\n\nconst defaultProps: Partial<YearLevelGroupProps> = {\n numberOfColumns: 1,\n size: 'sm',\n};\n\nexport const YearLevelGroup = forwardRef<HTMLDivElement, YearLevelGroupProps>((props, ref) => {\n const {\n // YearLevel settings\n year,\n locale,\n minDate,\n maxDate,\n monthsListFormat,\n getMonthControlProps,\n __onControlClick,\n __onControlMouseEnter,\n withCellSpacing,\n\n // CalendarHeader settings\n __preventFocus,\n nextIcon,\n previousIcon,\n nextLabel,\n previousLabel,\n onNext,\n onPrevious,\n onLevelClick,\n nextDisabled,\n previousDisabled,\n hasNextLevel,\n\n // Other settings\n className,\n classNames,\n styles,\n unstyled,\n __staticSelector,\n __stopPropagation,\n numberOfColumns,\n levelControlAriaLabel,\n yearLabelFormat,\n variant,\n size,\n ...others\n } = useComponentDefaultProps('YearLevelGroup', defaultProps, props);\n\n const { classes, cx } = useStyles(null, {\n name: ['YearLevelGroup', __staticSelector],\n styles,\n classNames,\n unstyled,\n variant,\n size,\n });\n\n const controlsRef = useRef<HTMLButtonElement[][][]>([]);\n\n const years = Array(numberOfColumns)\n .fill(0)\n .map((_, yearIndex) => {\n const currentYear = dayjs(year).add(yearIndex, 'years').toDate();\n\n return (\n <YearLevel\n key={yearIndex}\n variant={variant}\n size={size}\n monthsListFormat={monthsListFormat}\n year={currentYear}\n withNext={yearIndex === numberOfColumns - 1}\n withPrevious={yearIndex === 0}\n yearLabelFormat={yearLabelFormat}\n __stopPropagation={__stopPropagation}\n __onControlClick={__onControlClick}\n __onControlMouseEnter={__onControlMouseEnter}\n __onControlKeyDown={(event, payload) =>\n handleControlKeyDown({\n levelIndex: yearIndex,\n rowIndex: payload.rowIndex,\n cellIndex: payload.cellIndex,\n event,\n controlsRef,\n })\n }\n __getControlRef={(rowIndex, cellIndex, node) => {\n if (!Array.isArray(controlsRef.current[yearIndex])) {\n controlsRef.current[yearIndex] = [];\n }\n\n if (!Array.isArray(controlsRef.current[yearIndex][rowIndex])) {\n controlsRef.current[yearIndex][rowIndex] = [];\n }\n\n controlsRef.current[yearIndex][rowIndex][cellIndex] = node;\n }}\n levelControlAriaLabel={\n typeof levelControlAriaLabel === 'function'\n ? levelControlAriaLabel(currentYear)\n : levelControlAriaLabel\n }\n locale={locale}\n minDate={minDate}\n maxDate={maxDate}\n __preventFocus={__preventFocus}\n nextIcon={nextIcon}\n previousIcon={previousIcon}\n nextLabel={nextLabel}\n previousLabel={previousLabel}\n onNext={onNext}\n onPrevious={onPrevious}\n onLevelClick={onLevelClick}\n nextDisabled={nextDisabled}\n previousDisabled={previousDisabled}\n hasNextLevel={hasNextLevel}\n getMonthControlProps={getMonthControlProps}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n __staticSelector={__staticSelector || 'YearLevelGroup'}\n withCellSpacing={withCellSpacing}\n />\n );\n });\n\n return (\n <Box className={cx(classes.yearLevelGroup, className)} ref={ref} {...others}>\n {years}\n </Box>\n );\n});\n\nYearLevelGroup.displayName = '@mantine/dates/YearLevelGroup';\n"],"names":[],"mappings":"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"}