@mantine/dates 5.0.0-alpha.9 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cjs/components/CalendarBase/CalendarBase.js +39 -12
- package/cjs/components/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/CalendarBase/MonthsList/MonthsList.js +4 -2
- package/cjs/components/CalendarBase/MonthsList/MonthsList.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.js +12 -4
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js +12 -6
- package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.styles.js +5 -6
- package/cjs/components/DatePickerBase/DatePickerBase.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +6 -3
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/Month/Day/Day.js +5 -3
- package/cjs/components/Month/Day/Day.js.map +1 -1
- package/cjs/components/Month/Month.js +24 -5
- package/cjs/components/Month/Month.js.map +1 -1
- package/cjs/components/RangeCalendar/RangeCalendar.js +5 -2
- package/cjs/components/RangeCalendar/RangeCalendar.js.map +1 -1
- package/cjs/components/TimeInput/TimeInput.styles.js +0 -1
- package/cjs/components/TimeInput/TimeInput.styles.js.map +1 -1
- package/cjs/components/TimeInputBase/TimeField/TimeField.js +2 -2
- package/cjs/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
- package/esm/components/CalendarBase/CalendarBase.js +39 -12
- package/esm/components/CalendarBase/CalendarBase.js.map +1 -1
- package/esm/components/CalendarBase/MonthsList/MonthsList.js +4 -2
- package/esm/components/CalendarBase/MonthsList/MonthsList.js.map +1 -1
- package/esm/components/DatePicker/DatePicker.js +12 -4
- package/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js +12 -6
- package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.styles.js +5 -6
- package/esm/components/DatePickerBase/DatePickerBase.styles.js.map +1 -1
- package/esm/components/DateRangePicker/DateRangePicker.js +6 -3
- package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/components/Month/Day/Day.js +5 -3
- package/esm/components/Month/Day/Day.js.map +1 -1
- package/esm/components/Month/Month.js +25 -6
- package/esm/components/Month/Month.js.map +1 -1
- package/esm/components/RangeCalendar/RangeCalendar.js +5 -2
- package/esm/components/RangeCalendar/RangeCalendar.js.map +1 -1
- package/esm/components/TimeInput/TimeInput.styles.js +0 -1
- package/esm/components/TimeInput/TimeInput.styles.js.map +1 -1
- package/esm/components/TimeInputBase/TimeField/TimeField.js +2 -2
- package/esm/components/TimeInputBase/TimeField/TimeField.js.map +1 -1
- package/lib/components/CalendarBase/CalendarBase.d.ts +2 -0
- package/lib/components/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/lib/components/CalendarBase/MonthsList/MonthsList.d.ts +2 -1
- package/lib/components/CalendarBase/MonthsList/MonthsList.d.ts.map +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts +1 -1
- package/lib/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts +5 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.styles.d.ts +2 -2
- package/lib/components/DatePickerBase/DatePickerBase.styles.d.ts.map +1 -1
- package/lib/components/DateRangePicker/DateRangePicker.d.ts +4 -3
- package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/DateRangePicker/index.d.ts +1 -1
- package/lib/components/DateRangePicker/index.d.ts.map +1 -1
- package/lib/components/Month/Day/Day.d.ts +1 -0
- package/lib/components/Month/Day/Day.d.ts.map +1 -1
- package/lib/components/Month/Month.d.ts +4 -2
- package/lib/components/Month/Month.d.ts.map +1 -1
- package/lib/components/RangeCalendar/RangeCalendar.d.ts.map +1 -1
- package/lib/components/TimeInput/TimeInput.styles.d.ts +2 -2
- package/lib/components/TimeInput/TimeInput.styles.d.ts.map +1 -1
- package/lib/components/TimeRangeInput/TimeRangeInput.styles.d.ts +2 -2
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputSharedProps,\n InputWrapperBaseProps,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n Selectors,\n extractSystemStyles,\n Popover,\n} from '@mantine/core';\nimport { useMergedRef, useId } from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | Selectors<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | 'dropdown';\n\nexport interface DatePickerBaseSharedProps\n extends InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Dropdown zIndex */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Modal z-index */\n modalZIndex?: React.CSSProperties['zIndex'];\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nconst defaultTransition: MantineTransition = {\n in: { opacity: 1, transform: 'translateY(0) scale(1)' },\n out: { opacity: 0, transform: 'translateY(-25px) scale(0.93)' },\n common: { transformOrigin: 'top left' },\n transitionProperty: 'opacity, transform',\n};\n\nexport const DatePickerBase = forwardRef<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\n label,\n error,\n id,\n description,\n placeholder,\n shadow,\n transition = defaultTransition,\n transitionDuration = 100,\n transitionTimingFunction,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex,\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n clickOutsideEvents = ['mousedown', 'touchstart'],\n modalZIndex,\n errorProps,\n labelProps,\n descriptionProps,\n clearButtonTabIndex = 0,\n unstyled,\n inputContainer,\n inputWrapperOrder,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(null, {\n classNames,\n styles,\n unstyled,\n name: __staticSelector,\n });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null;\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.key === 'Space' || event.key === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <Popover\n position=\"bottom-start\"\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n offset={10}\n opened={dropdownOpened}\n transitionDuration={transitionDuration}\n transition={transition}\n positionDependencies={positionDependencies}\n shadow={shadow}\n onClose={closeDropdown}\n trapFocus={!allowFreeInput}\n withRoles={false}\n clickOutsideEvents={clickOutsideEvents}\n zIndex={zIndex}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <Popover.Target>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(\n classes.input,\n { [classes.freeInput]: allowFreeInput },\n classNames?.input\n ),\n }}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n unstyled={unstyled}\n {...rest}\n />\n </div>\n </Popover.Target>\n\n {dropdownType === 'popover' ? (\n <Popover.Dropdown>\n <div\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n {children}\n </div>\n </Popover.Dropdown>\n ) : (\n <Modal\n opened={dropdownOpened}\n onClose={closeDropdown}\n withCloseButton={false}\n size={amountOfMonths * 400}\n zIndex={modalZIndex}\n unstyled={unstyled}\n >\n {children}\n </Modal>\n )}\n </Popover>\n </Input.Wrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":["forwardRef","useStyles","extractSystemStyles","useId","useRef","React","CloseButton","Input","Popover","useMergedRef","Modal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerBase.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport {\n DefaultProps,\n Input,\n InputSharedProps,\n InputWrapperBaseProps,\n MantineTransition,\n InputStylesNames,\n InputWrapperStylesNames,\n MantineSize,\n Modal,\n CloseButton,\n MantineShadow,\n Selectors,\n extractSystemStyles,\n Popover,\n ModalProps,\n} from '@mantine/core';\nimport { useMergedRef, useId } from '@mantine/hooks';\nimport { CalendarBaseStylesNames } from '../CalendarBase/CalendarBase';\nimport useStyles from './DatePickerBase.styles';\n\nexport type DatePickerStylesNames =\n | Selectors<typeof useStyles>\n | CalendarBaseStylesNames\n | InputStylesNames\n | InputWrapperStylesNames\n | 'dropdown';\n\nexport interface DatePickerBaseSharedProps\n extends InputSharedProps,\n InputWrapperBaseProps,\n DefaultProps<DatePickerStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'placeholder' | 'size'\n > {\n /** Props spread to root element */\n wrapperProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Placeholder, displayed when date is not selected */\n placeholder?: string;\n\n /** Dropdown appear/disappear transition */\n transition?: MantineTransition;\n\n /** Dropdown appear/disappear transition duration */\n transitionDuration?: number;\n\n /** Dropdown appear/disappear transition timing function, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Dropdown shadow from theme or css value for custom box-shadow */\n shadow?: MantineShadow;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Input size */\n size?: MantineSize;\n\n /** Where to show calendar in modal or popover */\n dropdownType?: 'popover' | 'modal';\n\n /** Dropdown positioning behavior */\n dropdownPosition?: 'bottom-start' | 'top-start' | 'flip';\n\n /** Allow to clear value */\n clearable?: boolean;\n\n /** aria-label for clear button */\n clearButtonLabel?: string;\n\n /** useEffect dependencies to force update dropdown position */\n positionDependencies?: any[];\n\n /** Dropdown zIndex */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Called when dropdown opens */\n onDropdownOpen?(): void;\n\n /** Called when dropdown closes */\n onDropdownClose?(): void;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** Props spread to Modal component */\n modalProps?: Partial<ModalProps>;\n\n /** Modal z-index */\n modalZIndex?: React.CSSProperties['zIndex'];\n\n /** Set the clear button tab index to disabled or default after input field */\n clearButtonTabIndex?: -1 | 0;\n}\n\nexport interface DatePickerBaseProps extends DatePickerBaseSharedProps {\n /** Internal prop to set input label */\n inputLabel?: string;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Controls dropdown opened state */\n dropdownOpened: boolean;\n\n /** Called when dropdown opened state changes */\n setDropdownOpened(opened: boolean): void;\n\n /** Called when clear button in clicked */\n onClear(): void;\n\n /** Allow free input */\n allowFreeInput?: boolean;\n\n /** Amount of months */\n amountOfMonths?: number;\n}\n\nconst RIGHT_SECTION_WIDTH = {\n xs: 24,\n sm: 30,\n md: 34,\n lg: 40,\n xl: 44,\n};\n\nconst defaultTransition: MantineTransition = {\n in: { opacity: 1, transform: 'translateY(0) scale(1)' },\n out: { opacity: 0, transform: 'translateY(-25px) scale(0.93)' },\n common: { transformOrigin: 'top left' },\n transitionProperty: 'opacity, transform',\n};\n\nexport const DatePickerBase = forwardRef<HTMLInputElement, DatePickerBaseProps>(\n (\n {\n classNames,\n className,\n style,\n styles,\n wrapperProps,\n required,\n allowFreeInput = false,\n label,\n error,\n id,\n description,\n placeholder,\n shadow,\n transition = defaultTransition,\n transitionDuration = 100,\n transitionTimingFunction,\n size = 'sm',\n children,\n inputLabel,\n __staticSelector = 'DatePickerBase',\n dropdownOpened,\n setDropdownOpened,\n dropdownType = 'popover',\n dropdownPosition = 'flip',\n clearable = true,\n clearButtonLabel,\n onClear,\n positionDependencies = [],\n zIndex,\n withinPortal = true,\n onBlur,\n onFocus,\n onChange,\n onKeyDown,\n name = 'date',\n sx,\n amountOfMonths = 1,\n onDropdownClose,\n onDropdownOpen,\n clickOutsideEvents = ['mousedown', 'touchstart'],\n modalZIndex,\n errorProps,\n labelProps,\n descriptionProps,\n clearButtonTabIndex = 0,\n unstyled,\n inputContainer,\n inputWrapperOrder,\n modalProps,\n ...others\n }: DatePickerBaseProps,\n ref\n ) => {\n const { classes, cx, theme } = useStyles(null, {\n classNames,\n styles,\n unstyled,\n name: __staticSelector,\n });\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n const inputRef = useRef<HTMLButtonElement>();\n\n const closeDropdown = () => {\n setDropdownOpened(false);\n onDropdownClose?.();\n };\n\n const openDropdown = () => {\n setDropdownOpened(true);\n onDropdownOpen?.();\n };\n\n const toggleDropdown = () => {\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\n };\n\n const closeOnEscape = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n closeDropdown();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const rightSection = clearable ? (\n <CloseButton\n variant=\"transparent\"\n aria-label={clearButtonLabel}\n onClick={onClear}\n size={size}\n tabIndex={clearButtonTabIndex}\n unstyled={unstyled}\n />\n ) : null;\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n if (allowFreeInput) {\n closeDropdown();\n }\n };\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n if (allowFreeInput) {\n openDropdown();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if ((event.key === 'Space' || event.key === 'Enter') && !allowFreeInput) {\n event.preventDefault();\n openDropdown();\n }\n };\n\n return (\n <Input.Wrapper\n required={required}\n id={uuid}\n label={label}\n error={error}\n description={description}\n className={className}\n style={style}\n classNames={classNames}\n styles={styles}\n size={size}\n __staticSelector={__staticSelector}\n sx={sx}\n errorProps={errorProps}\n descriptionProps={descriptionProps}\n labelProps={labelProps}\n inputContainer={inputContainer}\n inputWrapperOrder={inputWrapperOrder}\n unstyled={unstyled}\n {...systemStyles}\n {...wrapperProps}\n >\n <Popover\n __staticSelector={__staticSelector}\n withinPortal={withinPortal}\n offset={10}\n opened={dropdownOpened}\n transitionDuration={transitionDuration}\n transition={transition}\n positionDependencies={positionDependencies}\n middlewares={{ flip: dropdownPosition === 'flip', shift: false }}\n position={dropdownPosition === 'flip' ? 'bottom-start' : dropdownPosition}\n shadow={shadow}\n onClose={closeDropdown}\n trapFocus={!allowFreeInput}\n withRoles={false}\n clickOutsideEvents={clickOutsideEvents}\n zIndex={zIndex}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n >\n <Popover.Target>\n <div className={classes.wrapper}>\n <Input<'input'>\n classNames={{\n ...classNames,\n input: cx(classes.input, classNames?.input),\n }}\n data-free-input={allowFreeInput || undefined}\n styles={styles}\n onClick={() => (!allowFreeInput ? toggleDropdown() : openDropdown())}\n onKeyDown={handleKeyDown}\n id={uuid}\n ref={useMergedRef(ref, inputRef)}\n __staticSelector={__staticSelector}\n size={size}\n name={name}\n placeholder={placeholder}\n value={inputLabel}\n required={required}\n invalid={!!error}\n readOnly={!allowFreeInput}\n rightSection={rightSection}\n rightSectionWidth={theme.fn.size({ size, sizes: RIGHT_SECTION_WIDTH })}\n onBlur={handleInputBlur}\n onFocus={handleInputFocus}\n onChange={onChange}\n autoComplete=\"off\"\n unstyled={unstyled}\n {...rest}\n />\n </div>\n </Popover.Target>\n\n {dropdownType === 'popover' ? (\n <Popover.Dropdown>\n <div\n data-mantine-stop-propagation={dropdownOpened}\n onKeyDownCapture={closeOnEscape}\n aria-hidden={allowFreeInput || undefined}\n >\n {children}\n </div>\n </Popover.Dropdown>\n ) : (\n <Modal\n {...modalProps}\n opened={dropdownOpened}\n onClose={closeDropdown}\n withCloseButton={false}\n size={amountOfMonths * 400}\n zIndex={modalZIndex}\n unstyled={unstyled}\n >\n {children}\n </Modal>\n )}\n </Popover>\n </Input.Wrapper>\n );\n }\n);\n\nDatePickerBase.displayName = '@mantine/dates/DatePickerBase';\n"],"names":["forwardRef","useStyles","extractSystemStyles","useId","useRef","React","CloseButton","Input","Popover","useMergedRef","Modal"],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ var __spreadValues = (a, b) => {
|
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
25
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
|
-
var useStyles = core.createStyles((theme
|
|
26
|
+
var useStyles = core.createStyles((theme) => ({
|
|
27
27
|
wrapper: __spreadProps(__spreadValues({}, theme.fn.fontStyles()), {
|
|
28
28
|
position: "relative",
|
|
29
29
|
cursor: "pointer"
|
|
@@ -31,13 +31,12 @@ var useStyles = core.createStyles((theme, _params, getRef) => ({
|
|
|
31
31
|
input: {
|
|
32
32
|
cursor: "pointer",
|
|
33
33
|
whiteSpace: "nowrap",
|
|
34
|
-
|
|
34
|
+
"&:not([data-free-input])::selection": {
|
|
35
35
|
backgroundColor: "transparent"
|
|
36
|
+
},
|
|
37
|
+
"&[data-free-input]": {
|
|
38
|
+
cursor: "text"
|
|
36
39
|
}
|
|
37
|
-
},
|
|
38
|
-
freeInput: {
|
|
39
|
-
ref: getRef("freeInput"),
|
|
40
|
-
cursor: "text"
|
|
41
40
|
}
|
|
42
41
|
}));
|
|
43
42
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerBase.styles.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/core';\n\nexport default createStyles((theme
|
|
1
|
+
{"version":3,"file":"DatePickerBase.styles.js","sources":["../../../src/components/DatePickerBase/DatePickerBase.styles.ts"],"sourcesContent":["import { createStyles } from '@mantine/core';\n\nexport default createStyles((theme) => ({\n wrapper: {\n ...theme.fn.fontStyles(),\n position: 'relative',\n cursor: 'pointer',\n },\n\n input: {\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n\n '&:not([data-free-input])::selection': {\n backgroundColor: 'transparent',\n },\n\n '&[data-free-input]': {\n cursor: 'text',\n },\n },\n}));\n"],"names":["createStyles"],"mappings":";;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,gBAAeA,iBAAY,CAAC,CAAC,KAAK,MAAM;AACxC,EAAE,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE;AACpE,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG,CAAC;AACJ,EAAE,KAAK,EAAE;AACT,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,qCAAqC,EAAE;AAC3C,MAAM,eAAe,EAAE,aAAa;AACpC,KAAK;AACL,IAAI,oBAAoB,EAAE;AAC1B,MAAM,MAAM,EAAE,MAAM;AACpB,KAAK;AACL,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -101,7 +101,8 @@ const DateRangePicker = React.forwardRef((props, ref) => {
|
|
|
101
101
|
hideWeekdays,
|
|
102
102
|
renderDay,
|
|
103
103
|
openDropdownOnClear,
|
|
104
|
-
unstyled
|
|
104
|
+
unstyled,
|
|
105
|
+
weekendDays
|
|
105
106
|
} = _a, others = __objRest(_a, [
|
|
106
107
|
"value",
|
|
107
108
|
"onChange",
|
|
@@ -142,7 +143,8 @@ const DateRangePicker = React.forwardRef((props, ref) => {
|
|
|
142
143
|
"hideWeekdays",
|
|
143
144
|
"renderDay",
|
|
144
145
|
"openDropdownOnClear",
|
|
145
|
-
"unstyled"
|
|
146
|
+
"unstyled",
|
|
147
|
+
"weekendDays"
|
|
146
148
|
]);
|
|
147
149
|
const theme = core.useMantineTheme();
|
|
148
150
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -231,7 +233,8 @@ const DateRangePicker = React.forwardRef((props, ref) => {
|
|
|
231
233
|
hideOutsideDates,
|
|
232
234
|
hideWeekdays,
|
|
233
235
|
renderDay,
|
|
234
|
-
unstyled
|
|
236
|
+
unstyled,
|
|
237
|
+
weekendDays
|
|
235
238
|
}));
|
|
236
239
|
});
|
|
237
240
|
DateRangePicker.displayName = "@mantine/dates/DateRangePicker";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useComponentDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport interface DateRangePickerProps\n extends Omit<DatePickerBaseSharedProps, 'value' | 'onChange' | 'fixOnBlur'>,\n Omit<\n CalendarSharedProps,\n 'size' | 'styles' | 'classNames' | 'value' | 'onChange' | 'onMonthChange'\n > {\n /** Selected date, required with controlled input */\n value?: [Date | null, Date | null];\n\n /** Called when date range changes */\n onChange?(value: [Date | null, Date | null]): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: [Date | null, Date | null];\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Separator between dates */\n labelSeparator?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n\n /** Allows to show multiple months */\n amountOfMonths?: number;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nconst isFirstDateSet = (val: any) =>\n Array.isArray(val) && val.length === 2 && val[0] instanceof Date;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n size: 'sm',\n dropdownType: 'popover',\n labelSeparator: '–',\n clearable: true,\n firstDayOfWeek: 'monday',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n withinPortal: true,\n openDropdownOnClear: true,\n};\n\nexport const DateRangePicker = forwardRef<HTMLInputElement, DateRangePickerProps>(\n (props: DateRangePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n size,\n dropdownType,\n labelSeparator,\n clearable,\n clearButtonLabel,\n firstDayOfWeek,\n allowLevelChange,\n allowSingleDateInRange,\n amountOfMonths,\n withinPortal,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n openDropdownOnClear,\n unstyled,\n ...others\n } = useComponentDefaultProps('DateRangePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [_value, setValue] = useUncontrolled<[Date, Date]>({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n });\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n if (closeCalendarOnChange && validationRule(range)) {\n setDropdownOpened(false);\n onDropdownClose?.();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const valueValid = validationRule(_value);\n const firstValueValid = isFirstDateSet(_value);\n\n const firstDateLabel = _value[0]\n ? upperFirst(dayjs(_value[0]).locale(finalLocale).format(dateFormat))\n : '';\n\n const secondDateLabel = _value[1]\n ? upperFirst(dayjs(_value[1]).locale(finalLocale).format(dateFormat))\n : '';\n\n const handleClear = () => {\n setValue([null, null]);\n setDropdownOpened(true);\n openDropdownOnClear && onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(isOpened);\n };\n\n return (\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={handleDropdownToggle}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={firstValueValid ? `${firstDateLabel} ${labelSeparator} ${secondDateLabel}` : ''}\n __staticSelector=\"DateRangePicker\"\n dropdownType={dropdownType}\n clearable={clearable && firstValueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n unstyled={unstyled}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DateRangePicker\"\n fullWidth={dropdownType === 'modal'}\n firstDayOfWeek={firstDayOfWeek}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n allowLevelChange={allowLevelChange}\n allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n unstyled={unstyled}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useComponentDefaultProps","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","React","DatePickerBase","useMergedRef","RangeCalendar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateRangePicker.js","sources":["../../../src/components/DateRangePicker/DateRangePicker.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, useRef, forwardRef } from 'react';\nimport { useUncontrolled, useMergedRef, upperFirst } from '@mantine/hooks';\nimport { useMantineTheme, useComponentDefaultProps } from '@mantine/core';\nimport { FirstDayOfWeek } from '../../types';\nimport { CalendarSharedProps } from '../CalendarBase/CalendarBase';\nimport { RangeCalendar } from '../RangeCalendar/RangeCalendar';\nimport { DatePickerBase, DatePickerBaseSharedProps } from '../DatePickerBase/DatePickerBase';\n\nexport type DateRangePickerValue = [Date | null, Date | null];\n\nexport interface DateRangePickerProps\n extends Omit<DatePickerBaseSharedProps, 'value' | 'onChange' | 'fixOnBlur'>,\n Omit<\n CalendarSharedProps,\n 'size' | 'styles' | 'classNames' | 'value' | 'onChange' | 'onMonthChange'\n > {\n /** Selected date, required with controlled input */\n value?: DateRangePickerValue;\n\n /** Called when date range changes */\n onChange?(value: DateRangePickerValue): void;\n\n /** Default value for uncontrolled input */\n defaultValue?: DateRangePickerValue;\n\n /** Set to false to force dropdown to stay open after date was selected */\n closeCalendarOnChange?: boolean;\n\n /** Set to true to open dropdown on clear */\n openDropdownOnClear?: boolean;\n\n /** dayjs input format */\n inputFormat?: string;\n\n /** Control initial dropdown opened state */\n initiallyOpened?: boolean;\n\n /** Input name, useful fon uncontrolled variant to capture data with native form */\n name?: string;\n\n /** Separator between dates */\n labelSeparator?: string;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n\n /** Allows to show multiple months */\n amountOfMonths?: number;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n}\n\nconst validationRule = (val: any) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date);\n\nconst isFirstDateSet = (val: any) =>\n Array.isArray(val) && val.length === 2 && val[0] instanceof Date;\n\nconst defaultProps: Partial<DateRangePickerProps> = {\n shadow: 'sm',\n transitionDuration: 200,\n closeCalendarOnChange: true,\n labelFormat: 'MMMM YYYY',\n initiallyOpened: false,\n size: 'sm',\n dropdownType: 'popover',\n labelSeparator: '–',\n clearable: true,\n firstDayOfWeek: 'monday',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n withinPortal: true,\n openDropdownOnClear: true,\n};\n\nexport const DateRangePicker = forwardRef<HTMLInputElement, DateRangePickerProps>(\n (props: DateRangePickerProps, ref) => {\n const {\n value,\n onChange,\n defaultValue,\n classNames,\n styles,\n shadow,\n locale,\n inputFormat,\n transitionDuration,\n transitionTimingFunction,\n nextMonthLabel,\n previousMonthLabel,\n closeCalendarOnChange,\n labelFormat,\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n minDate,\n maxDate,\n excludeDate,\n initialMonth,\n initiallyOpened,\n size,\n dropdownType,\n labelSeparator,\n clearable,\n clearButtonLabel,\n firstDayOfWeek,\n allowLevelChange,\n allowSingleDateInRange,\n amountOfMonths,\n withinPortal,\n initialLevel,\n onDropdownClose,\n onDropdownOpen,\n hideOutsideDates,\n hideWeekdays,\n renderDay,\n openDropdownOnClear,\n unstyled,\n weekendDays,\n ...others\n } = useComponentDefaultProps('DateRangePicker', defaultProps, props);\n\n const theme = useMantineTheme();\n const finalLocale = locale || theme.datesLocale;\n const dateFormat = inputFormat || theme.dateFormat;\n const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);\n const calendarSize = size === 'lg' || size === 'xl' ? 'md' : 'sm';\n const inputRef = useRef<HTMLInputElement>();\n const [_value, setValue] = useUncontrolled<[Date, Date]>({\n value,\n defaultValue,\n finalValue: [null, null],\n onChange,\n });\n\n const handleValueChange = (range: [Date, Date]) => {\n setValue(range);\n if (closeCalendarOnChange && validationRule(range)) {\n setDropdownOpened(false);\n onDropdownClose?.();\n window.setTimeout(() => inputRef.current?.focus(), 0);\n }\n };\n\n const valueValid = validationRule(_value);\n const firstValueValid = isFirstDateSet(_value);\n\n const firstDateLabel = _value[0]\n ? upperFirst(dayjs(_value[0]).locale(finalLocale).format(dateFormat))\n : '';\n\n const secondDateLabel = _value[1]\n ? upperFirst(dayjs(_value[1]).locale(finalLocale).format(dateFormat))\n : '';\n\n const handleClear = () => {\n setValue([null, null]);\n setDropdownOpened(true);\n openDropdownOnClear && onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(isOpened);\n };\n\n return (\n <DatePickerBase\n dropdownOpened={dropdownOpened}\n setDropdownOpened={handleDropdownToggle}\n shadow={shadow}\n transitionDuration={transitionDuration}\n ref={useMergedRef(ref, inputRef)}\n size={size}\n styles={styles}\n classNames={classNames}\n inputLabel={firstValueValid ? `${firstDateLabel} ${labelSeparator} ${secondDateLabel}` : ''}\n __staticSelector=\"DateRangePicker\"\n dropdownType={dropdownType}\n clearable={clearable && firstValueValid}\n clearButtonLabel={clearButtonLabel}\n onClear={handleClear}\n withinPortal={withinPortal}\n amountOfMonths={amountOfMonths}\n onDropdownClose={onDropdownClose}\n onDropdownOpen={onDropdownOpen}\n unstyled={unstyled}\n {...others}\n >\n <RangeCalendar\n classNames={classNames}\n styles={styles}\n locale={finalLocale}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n initialMonth={valueValid ? _value[0] : initialMonth}\n value={_value}\n onChange={handleValueChange}\n labelFormat={labelFormat}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n minDate={minDate}\n maxDate={maxDate}\n excludeDate={excludeDate}\n __staticSelector=\"DateRangePicker\"\n fullWidth={dropdownType === 'modal'}\n firstDayOfWeek={firstDayOfWeek}\n size={dropdownType === 'modal' ? 'lg' : calendarSize}\n allowLevelChange={allowLevelChange}\n allowSingleDateInRange={allowSingleDateInRange}\n amountOfMonths={amountOfMonths}\n initialLevel={initialLevel}\n hideOutsideDates={hideOutsideDates}\n hideWeekdays={hideWeekdays}\n renderDay={renderDay}\n unstyled={unstyled}\n weekendDays={weekendDays}\n />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useComponentDefaultProps","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","React","DatePickerBase","useMergedRef","RangeCalendar"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAOF,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AAC9G,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC;AACjG,MAAM,YAAY,GAAG;AACrB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,qBAAqB,EAAE,IAAI;AAC7B,EAAE,WAAW,EAAE,WAAW;AAC1B,EAAE,eAAe,EAAE,KAAK;AACxB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,YAAY,EAAE,SAAS;AACzB,EAAE,cAAc,EAAE,QAAQ;AAC1B,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,cAAc,EAAE,QAAQ;AAC1B,EAAE,sBAAsB,EAAE,KAAK;AAC/B,EAAE,cAAc,EAAE,CAAC;AACnB,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,mBAAmB,EAAE,IAAI;AAC3B,CAAC,CAAC;AACU,MAAC,eAAe,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,EAAE,GAAGC,6BAAwB,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC/E,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,qBAAqB;AACzB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,eAAe;AACnB,IAAI,IAAI;AACR,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,sBAAsB;AAC1B,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,mBAAmB;AACvB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,aAAa;AACjB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,uBAAuB;AAC3B,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,sBAAsB;AAC1B,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,MAAM;AACV,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,WAAW;AACf,IAAI,kBAAkB;AACtB,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,qBAAqB;AACzB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAGC,oBAAe,EAAE,CAAC;AAClC,EAAE,MAAM,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC;AAClD,EAAE,MAAM,UAAU,GAAG,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;AACrD,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGC,cAAQ,CAAC,eAAe,CAAC,CAAC;AACxE,EAAE,MAAM,YAAY,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpE,EAAE,MAAM,QAAQ,GAAGC,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5B,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,iBAAiB,GAAG,CAAC,KAAK,KAAK;AACvC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpB,IAAI,IAAI,qBAAqB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;AACxD,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC/B,MAAM,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAC3D,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM;AAC9B,QAAQ,IAAI,GAAG,CAAC;AAChB,QAAQ,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACvE,OAAO,EAAE,CAAC,CAAC,CAAC;AACZ,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAC5C,EAAE,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACjD,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,GAAGC,gBAAU,CAACC,cAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;AAC9G,EAAE,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,GAAGD,gBAAU,CAACC,cAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;AAC/G,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,GAAG,CAAC;AACZ,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3B,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC5B,IAAI,mBAAmB,KAAK,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC;AAChF,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AAC5D,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,CAAC,QAAQ,KAAK;AAC7C,IAAI,IAAI,CAAC,QAAQ,IAAI,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;AAC5D,MAAM,WAAW,EAAE,CAAC;AACpB,KAAK;AACL,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAChC,GAAG,CAAC;AACJ,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,6BAAc,EAAE,cAAc,CAAC;AAC5E,IAAI,cAAc;AAClB,IAAI,iBAAiB,EAAE,oBAAoB;AAC3C,IAAI,MAAM;AACV,IAAI,kBAAkB;AACtB,IAAI,GAAG,EAAEC,kBAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACpC,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,UAAU;AACd,IAAI,UAAU,EAAE,eAAe,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,GAAG,EAAE;AAC/F,IAAI,gBAAgB,EAAE,iBAAiB;AACvC,IAAI,YAAY;AAChB,IAAI,SAAS,EAAE,SAAS,IAAI,eAAe;AAC3C,IAAI,gBAAgB;AACpB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,GAAG,EAAE,MAAM,CAAC,kBAAkBF,cAAK,CAAC,aAAa,CAACG,2BAAa,EAAE;AACjE,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,MAAM,EAAE,WAAW;AACvB,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,YAAY,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;AACvD,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,QAAQ,EAAE,iBAAiB;AAC/B,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,gBAAgB,EAAE,iBAAiB;AACvC,IAAI,SAAS,EAAE,YAAY,KAAK,OAAO;AACvC,IAAI,cAAc;AAClB,IAAI,IAAI,EAAE,YAAY,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY;AACxD,IAAI,gBAAgB;AACpB,IAAI,sBAAsB;AAC1B,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,eAAe,CAAC,WAAW,GAAG,gCAAgC;;;;"}
|
|
@@ -64,7 +64,8 @@ const Day = React.forwardRef((_a, ref) => {
|
|
|
64
64
|
hideOutsideDates,
|
|
65
65
|
renderDay,
|
|
66
66
|
unstyled,
|
|
67
|
-
disabled
|
|
67
|
+
disabled,
|
|
68
|
+
stopPropagation
|
|
68
69
|
} = _b, others = __objRest(_b, [
|
|
69
70
|
"className",
|
|
70
71
|
"value",
|
|
@@ -86,7 +87,8 @@ const Day = React.forwardRef((_a, ref) => {
|
|
|
86
87
|
"hideOutsideDates",
|
|
87
88
|
"renderDay",
|
|
88
89
|
"unstyled",
|
|
89
|
-
"disabled"
|
|
90
|
+
"disabled",
|
|
91
|
+
"stopPropagation"
|
|
90
92
|
]);
|
|
91
93
|
const { classes, cx } = Day_styles['default']({ size, fullWidth, hideOutsideDates }, { classNames, styles, unstyled, name: __staticSelector });
|
|
92
94
|
return /* @__PURE__ */ React__default.createElement("button", __spreadProps(__spreadValues({}, others), {
|
|
@@ -96,7 +98,7 @@ const Day = React.forwardRef((_a, ref) => {
|
|
|
96
98
|
onMouseEnter: (event) => onMouseEnter(value, event),
|
|
97
99
|
tabIndex: getDayTabIndex.getDayTabIndex({ focusable, hasValue, selected, firstInMonth }),
|
|
98
100
|
"data-autofocus": getDayAutofocus.getDayAutofocus({ hasValue, selected, firstInMonth }),
|
|
99
|
-
"data-mantine-stop-propagation":
|
|
101
|
+
"data-mantine-stop-propagation": stopPropagation || void 0,
|
|
100
102
|
"data-outside": outside && !disabled || void 0,
|
|
101
103
|
"data-weekend": weekend && !disabled || void 0,
|
|
102
104
|
"data-selected": selected && !disabled || void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n unstyled,\n disabled,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n disabled={disabled}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation\n data-outside={(outside && !disabled) || undefined}\n data-weekend={(weekend && !disabled) || undefined}\n data-selected={(selected && !disabled) || undefined}\n data-in-range={(inRange && !disabled) || undefined}\n data-first-in-range={(firstInRange && !disabled) || undefined}\n data-last-in-range={(lastInRange && !disabled) || undefined}\n className={cx(classes.day, className)}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":["forwardRef","useStyles","React","getDayTabIndex","getDayAutofocus"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Day.js","sources":["../../../../src/components/Month/Day/Day.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineSize, Selectors } from '@mantine/core';\nimport { getDayTabIndex } from './get-day-tab-index/get-day-tab-index';\nimport { getDayAutofocus } from './get-day-autofocus/get-day-autofocus';\nimport useStyles from './Day.styles';\n\nexport type DayStylesNames = Selectors<typeof useStyles>;\n\nexport interface DayProps\n extends DefaultProps<DayStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'button'>, 'value' | 'onMouseEnter'> {\n value: Date;\n selected: boolean;\n weekend: boolean;\n outside: boolean;\n onMouseEnter(date: Date, event: React.MouseEvent): void;\n disabled: boolean;\n hasValue: boolean;\n inRange: boolean;\n firstInRange: boolean;\n lastInRange: boolean;\n size: MantineSize;\n fullWidth: boolean;\n __staticSelector?: string;\n firstInMonth: boolean;\n focusable?: boolean;\n hideOutsideDates?: boolean;\n renderDay?(date: Date): React.ReactNode;\n stopPropagation?: boolean;\n}\n\nexport const Day = forwardRef<HTMLButtonElement, DayProps>(\n (\n {\n className,\n value,\n selected,\n weekend,\n outside,\n onMouseEnter,\n classNames,\n styles,\n hasValue,\n firstInRange,\n lastInRange,\n __staticSelector = 'Month',\n inRange,\n size,\n fullWidth,\n firstInMonth,\n focusable,\n hideOutsideDates,\n renderDay,\n unstyled,\n disabled,\n stopPropagation,\n ...others\n }: DayProps,\n ref\n ) => {\n const { classes, cx } = useStyles(\n { size, fullWidth, hideOutsideDates },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n\n return (\n <button\n {...others}\n type=\"button\"\n ref={ref}\n disabled={disabled}\n onMouseEnter={(event) => onMouseEnter(value, event)}\n tabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n data-autofocus={getDayAutofocus({ hasValue, selected, firstInMonth })}\n data-mantine-stop-propagation={stopPropagation || undefined}\n data-outside={(outside && !disabled) || undefined}\n data-weekend={(weekend && !disabled) || undefined}\n data-selected={(selected && !disabled) || undefined}\n data-in-range={(inRange && !disabled) || undefined}\n data-first-in-range={(firstInRange && !disabled) || undefined}\n data-last-in-range={(lastInRange && !disabled) || undefined}\n className={cx(classes.day, className)}\n >\n {typeof renderDay === 'function' ? renderDay(value) : value.getDate()}\n </button>\n );\n }\n);\n\nDay.displayName = '@mantine/core/Day';\n"],"names":["forwardRef","useStyles","React","getDayTabIndex","getDayAutofocus"],"mappings":"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"}
|
|
@@ -57,7 +57,8 @@ const defaultProps = {
|
|
|
57
57
|
focusable: true,
|
|
58
58
|
firstDayOfWeek: "monday",
|
|
59
59
|
hideOutsideDates: false,
|
|
60
|
-
weekendDays: [0, 6]
|
|
60
|
+
weekendDays: [0, 6],
|
|
61
|
+
__stopPropagation: true
|
|
61
62
|
};
|
|
62
63
|
const Month = React.forwardRef((props, ref) => {
|
|
63
64
|
const _a = core.useComponentDefaultProps("Month", defaultProps, props), {
|
|
@@ -92,7 +93,8 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
92
93
|
renderDay,
|
|
93
94
|
weekdayLabelFormat,
|
|
94
95
|
unstyled,
|
|
95
|
-
weekendDays
|
|
96
|
+
weekendDays,
|
|
97
|
+
__stopPropagation
|
|
96
98
|
} = _a, others = __objRest(_a, [
|
|
97
99
|
"className",
|
|
98
100
|
"month",
|
|
@@ -125,7 +127,8 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
125
127
|
"renderDay",
|
|
126
128
|
"weekdayLabelFormat",
|
|
127
129
|
"unstyled",
|
|
128
|
-
"weekendDays"
|
|
130
|
+
"weekendDays",
|
|
131
|
+
"__stopPropagation"
|
|
129
132
|
]);
|
|
130
133
|
const { classes, cx, theme } = Month_styles['default']({ fullWidth }, { classNames, styles, unstyled, name: __staticSelector });
|
|
131
134
|
const finalLocale = locale || theme.datesLocale;
|
|
@@ -139,6 +142,21 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
139
142
|
}, weekday.length >= 2 ? hooks.upperFirst(weekday) : weekday)));
|
|
140
143
|
const hasValue = Array.isArray(value) ? value.every((item) => item instanceof Date) : value instanceof Date;
|
|
141
144
|
const hasValueInMonthRange = value instanceof Date && dayjs__default(value).isAfter(dayjs__default(month).startOf("month")) && dayjs__default(value).isBefore(dayjs__default(month).endOf("month"));
|
|
145
|
+
const firstIncludedDay = React.useMemo(() => days.flatMap((_) => _).find((date) => {
|
|
146
|
+
const dayProps = getDayProps.getDayProps({
|
|
147
|
+
date,
|
|
148
|
+
month,
|
|
149
|
+
hasValue,
|
|
150
|
+
minDate,
|
|
151
|
+
maxDate,
|
|
152
|
+
value,
|
|
153
|
+
excludeDate,
|
|
154
|
+
disableOutsideEvents,
|
|
155
|
+
range,
|
|
156
|
+
weekendDays
|
|
157
|
+
});
|
|
158
|
+
return !dayProps.disabled && !dayProps.outside;
|
|
159
|
+
}) || dayjs__default(month).startOf("month").toDate(), []);
|
|
142
160
|
const rows = days.map((row, rowIndex) => {
|
|
143
161
|
const cells = row.map((date, cellIndex) => {
|
|
144
162
|
const dayProps = getDayProps.getDayProps({
|
|
@@ -175,7 +193,7 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
175
193
|
inRange: dayProps.inRange || isDateInRange(date, dayProps),
|
|
176
194
|
firstInRange: dayProps.firstInRange || isDateFirstInRange(date, dayProps),
|
|
177
195
|
lastInRange: dayProps.lastInRange || isDateLastInRange(date, dayProps),
|
|
178
|
-
firstInMonth:
|
|
196
|
+
firstInMonth: isSameDate.isSameDate(date, firstIncludedDay),
|
|
179
197
|
selected: dayProps.selected || dayProps.selectedInRange,
|
|
180
198
|
hasValue: hasValueInMonthRange,
|
|
181
199
|
onKeyDown: (event) => typeof onDayKeyDown === "function" && onDayKeyDown(onKeyDownPayload, event),
|
|
@@ -190,7 +208,8 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
190
208
|
__staticSelector,
|
|
191
209
|
styles,
|
|
192
210
|
classNames,
|
|
193
|
-
renderDay
|
|
211
|
+
renderDay,
|
|
212
|
+
stopPropagation: __stopPropagation
|
|
194
213
|
}));
|
|
195
214
|
});
|
|
196
215
|
return /* @__PURE__ */ React__default.createElement("tr", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n Text,\n Box,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { FirstDayOfWeek } from '../../types';\nimport { getMonthDays, getWeekdaysNames, isSameDate } from '../../utils';\nimport { Day, DayStylesNames } from './Day/Day';\nimport { getDayProps } from './get-day-props/get-day-props';\nimport { DayKeydownPayload, DayModifiers } from './types';\nimport useStyles from './Month.styles';\n\nexport interface MonthSettings {\n /** Adds className to day button based on date and modifiers */\n dayClassName?(date: Date, modifiers: DayModifiers): string;\n\n /** Adds style to day button based on date and modifiers */\n dayStyle?(date: Date, modifiers: DayModifiers): React.CSSProperties;\n\n /** When true dates that are outside of given month cannot be clicked or focused */\n disableOutsideEvents?: boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Callback function to determine if day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Set to false to remove weekdays row */\n hideWeekdays?: boolean;\n\n /** Controls month days font-size and height */\n size?: MantineSize;\n\n /** Set to true to make calendar take 100% of container width */\n fullWidth?: boolean;\n\n /** Prevent focusing upon clicking */\n preventFocus?: boolean;\n\n /** Should focusable days have tabIndex={0}? */\n focusable?: boolean;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Remove outside dates */\n hideOutsideDates?: boolean;\n\n /** Should date be displayed as in range */\n isDateInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as first in range */\n isDateFirstInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as last in range */\n isDateLastInRange?(date: Date, modifiers: DayModifiers): boolean;\n}\n\nexport type MonthStylesNames = Selectors<typeof useStyles> | DayStylesNames;\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n Omit<React.ComponentPropsWithoutRef<'table'>, 'onChange' | 'value'> {\n /** Date at which month should be shown */\n month: Date;\n\n /** Locale is used to get weekdays names with dayjs format */\n locale?: string;\n\n /** Selected date or an array of selected dates */\n value?: Date | Date[];\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Get days buttons refs */\n daysRefs?: HTMLButtonElement[][];\n\n /** Called when keydown event is registered on day */\n onDayKeyDown?(payload: DayKeydownPayload, event: React.KeyboardEvent<HTMLButtonElement>): void;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n\n /** Indices of weekend days */\n weekendDays?: number[];\n}\n\nconst noop = () => false;\n\nconst defaultProps: Partial<MonthProps> = {\n disableOutsideEvents: false,\n hideWeekdays: false,\n __staticSelector: 'Month',\n size: 'sm',\n fullWidth: false,\n preventFocus: false,\n focusable: true,\n firstDayOfWeek: 'monday',\n hideOutsideDates: false,\n weekendDays: [0, 6],\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n month,\n value,\n onChange,\n disableOutsideEvents,\n locale,\n dayClassName,\n dayStyle,\n classNames,\n styles,\n minDate,\n maxDate,\n excludeDate,\n onDayMouseEnter,\n range,\n hideWeekdays,\n __staticSelector,\n size,\n fullWidth,\n preventFocus,\n focusable,\n firstDayOfWeek,\n onDayKeyDown,\n daysRefs,\n hideOutsideDates,\n isDateInRange = noop,\n isDateFirstInRange = noop,\n isDateLastInRange = noop,\n renderDay,\n weekdayLabelFormat,\n unstyled,\n weekendDays,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n const finalLocale = locale || theme.datesLocale;\n const days = getMonthDays(month, firstDayOfWeek);\n\n const weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map(\n (weekday) => (\n <th className={classes.weekdayCell} key={weekday}>\n <Text size={size} className={classes.weekday}>\n {weekday.length >= 2 ? upperFirst(weekday) : weekday}\n </Text>\n </th>\n )\n );\n\n const hasValue = Array.isArray(value)\n ? value.every((item) => item instanceof Date)\n : value instanceof Date;\n\n const hasValueInMonthRange =\n value instanceof Date &&\n dayjs(value).isAfter(dayjs(month).startOf('month')) &&\n dayjs(value).isBefore(dayjs(month).endOf('month'));\n\n const rows = days.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const dayProps = getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n weekendDays,\n });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\n unstyled={unstyled}\n ref={(button) => {\n if (daysRefs) {\n if (!Array.isArray(daysRefs[rowIndex])) {\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex][cellIndex] = button;\n }\n }}\n onClick={() => typeof onChange === 'function' && onChange(date)}\n onMouseDown={(event) => preventFocus && event.preventDefault()}\n value={date}\n outside={dayProps.outside}\n weekend={dayProps.weekend}\n inRange={dayProps.inRange || isDateInRange(date, dayProps)}\n firstInRange={dayProps.firstInRange || isDateFirstInRange(date, dayProps)}\n lastInRange={dayProps.lastInRange || isDateLastInRange(date, dayProps)}\n firstInMonth={\n hideOutsideDates\n ? isSameDate(date, dayjs(month).startOf('month').toDate())\n : cellIndex === 0 && rowIndex === 0\n }\n selected={dayProps.selected || dayProps.selectedInRange}\n hasValue={hasValueInMonthRange}\n onKeyDown={(event) =>\n typeof onDayKeyDown === 'function' && onDayKeyDown(onKeyDownPayload, event)\n }\n className={typeof dayClassName === 'function' ? dayClassName(date, dayProps) : null}\n style={typeof dayStyle === 'function' ? dayStyle(date, dayProps) : null}\n disabled={dayProps.disabled}\n onMouseEnter={typeof onDayMouseEnter === 'function' ? onDayMouseEnter : noop}\n size={size}\n fullWidth={fullWidth}\n focusable={focusable}\n hideOutsideDates={hideOutsideDates}\n __staticSelector={__staticSelector}\n styles={styles}\n classNames={classNames}\n renderDay={renderDay}\n />\n </td>\n );\n });\n\n return <tr key={rowIndex}>{cells}</tr>;\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead>\n <tr>{weekdays}</tr>\n </thead>\n )}\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","getMonthDays","getWeekdaysNames","React","Text","upperFirst","dayjs","getDayProps","Day","isSameDate","Box"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Month.js","sources":["../../../src/components/Month/Month.tsx"],"sourcesContent":["import React, { useMemo, forwardRef } from 'react';\nimport {\n DefaultProps,\n Text,\n Box,\n MantineSize,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/core';\nimport { upperFirst } from '@mantine/hooks';\nimport dayjs from 'dayjs';\nimport { FirstDayOfWeek } from '../../types';\nimport { getMonthDays, getWeekdaysNames, isSameDate } from '../../utils';\nimport { Day, DayStylesNames } from './Day/Day';\nimport { getDayProps } from './get-day-props/get-day-props';\nimport { DayKeydownPayload, DayModifiers } from './types';\nimport useStyles from './Month.styles';\n\nexport interface MonthSettings {\n /** Adds className to day button based on date and modifiers */\n dayClassName?(date: Date, modifiers: DayModifiers): string;\n\n /** Adds style to day button based on date and modifiers */\n dayStyle?(date: Date, modifiers: DayModifiers): React.CSSProperties;\n\n /** When true dates that are outside of given month cannot be clicked or focused */\n disableOutsideEvents?: boolean;\n\n /** Minimum possible date */\n minDate?: Date;\n\n /** Maximum possible date */\n maxDate?: Date;\n\n /** Callback function to determine if day should be disabled */\n excludeDate?(date: Date): boolean;\n\n /** Set to false to remove weekdays row */\n hideWeekdays?: boolean;\n\n /** Controls month days font-size and height */\n size?: MantineSize;\n\n /** Set to true to make calendar take 100% of container width */\n fullWidth?: boolean;\n\n /** Prevent focusing upon clicking */\n preventFocus?: boolean;\n\n /** Should focusable days have tabIndex={0}? */\n focusable?: boolean;\n\n /** Set first day of the week */\n firstDayOfWeek?: FirstDayOfWeek;\n\n /** Remove outside dates */\n hideOutsideDates?: boolean;\n\n /** Indices of weekend days */\n weekendDays?: number[];\n\n /** Should date be displayed as in range */\n isDateInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as first in range */\n isDateFirstInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Should date be displayed as last in range */\n isDateLastInRange?(date: Date, modifiers: DayModifiers): boolean;\n\n /** Internal: determines whether propagation in Modal and Drawer should be stopped, defaults to true */\n __stopPropagation?: boolean;\n}\n\nexport type MonthStylesNames = Selectors<typeof useStyles> | DayStylesNames;\n\nexport interface MonthProps\n extends DefaultProps<MonthStylesNames>,\n MonthSettings,\n Omit<React.ComponentPropsWithoutRef<'table'>, 'onChange' | 'value'> {\n /** Date at which month should be shown */\n month: Date;\n\n /** Locale is used to get weekdays names with dayjs format */\n locale?: string;\n\n /** Selected date or an array of selected dates */\n value?: Date | Date[];\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Get days buttons refs */\n daysRefs?: HTMLButtonElement[][];\n\n /** Called when keydown event is registered on day */\n onDayKeyDown?(payload: DayKeydownPayload, event: React.KeyboardEvent<HTMLButtonElement>): void;\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nconst noop = () => false;\n\nconst defaultProps: Partial<MonthProps> = {\n disableOutsideEvents: false,\n hideWeekdays: false,\n __staticSelector: 'Month',\n size: 'sm',\n fullWidth: false,\n preventFocus: false,\n focusable: true,\n firstDayOfWeek: 'monday',\n hideOutsideDates: false,\n weekendDays: [0, 6],\n __stopPropagation: true,\n};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props, ref) => {\n const {\n className,\n month,\n value,\n onChange,\n disableOutsideEvents,\n locale,\n dayClassName,\n dayStyle,\n classNames,\n styles,\n minDate,\n maxDate,\n excludeDate,\n onDayMouseEnter,\n range,\n hideWeekdays,\n __staticSelector,\n size,\n fullWidth,\n preventFocus,\n focusable,\n firstDayOfWeek,\n onDayKeyDown,\n daysRefs,\n hideOutsideDates,\n isDateInRange = noop,\n isDateFirstInRange = noop,\n isDateLastInRange = noop,\n renderDay,\n weekdayLabelFormat,\n unstyled,\n weekendDays,\n __stopPropagation,\n ...others\n } = useComponentDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, unstyled, name: __staticSelector }\n );\n const finalLocale = locale || theme.datesLocale;\n const days = getMonthDays(month, firstDayOfWeek);\n\n const weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map(\n (weekday) => (\n <th className={classes.weekdayCell} key={weekday}>\n <Text size={size} className={classes.weekday}>\n {weekday.length >= 2 ? upperFirst(weekday) : weekday}\n </Text>\n </th>\n )\n );\n\n const hasValue = Array.isArray(value)\n ? value.every((item) => item instanceof Date)\n : value instanceof Date;\n\n const hasValueInMonthRange =\n value instanceof Date &&\n dayjs(value).isAfter(dayjs(month).startOf('month')) &&\n dayjs(value).isBefore(dayjs(month).endOf('month'));\n\n const firstIncludedDay = useMemo(\n () =>\n days\n .flatMap((_) => _)\n .find((date) => {\n const dayProps = getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n weekendDays,\n });\n\n return !dayProps.disabled && !dayProps.outside;\n }) || dayjs(month).startOf('month').toDate(),\n []\n );\n\n const rows = days.map((row, rowIndex) => {\n const cells = row.map((date, cellIndex) => {\n const dayProps = getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n weekendDays,\n });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\n unstyled={unstyled}\n ref={(button) => {\n if (daysRefs) {\n if (!Array.isArray(daysRefs[rowIndex])) {\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex] = [];\n }\n\n // eslint-disable-next-line no-param-reassign\n daysRefs[rowIndex][cellIndex] = button;\n }\n }}\n onClick={() => typeof onChange === 'function' && onChange(date)}\n onMouseDown={(event) => preventFocus && event.preventDefault()}\n value={date}\n outside={dayProps.outside}\n weekend={dayProps.weekend}\n inRange={dayProps.inRange || isDateInRange(date, dayProps)}\n firstInRange={dayProps.firstInRange || isDateFirstInRange(date, dayProps)}\n lastInRange={dayProps.lastInRange || isDateLastInRange(date, dayProps)}\n firstInMonth={isSameDate(date, firstIncludedDay)}\n selected={dayProps.selected || dayProps.selectedInRange}\n hasValue={hasValueInMonthRange}\n onKeyDown={(event) =>\n typeof onDayKeyDown === 'function' && onDayKeyDown(onKeyDownPayload, event)\n }\n className={typeof dayClassName === 'function' ? dayClassName(date, dayProps) : null}\n style={typeof dayStyle === 'function' ? dayStyle(date, dayProps) : null}\n disabled={dayProps.disabled}\n onMouseEnter={typeof onDayMouseEnter === 'function' ? onDayMouseEnter : noop}\n size={size}\n fullWidth={fullWidth}\n focusable={focusable}\n hideOutsideDates={hideOutsideDates}\n __staticSelector={__staticSelector}\n styles={styles}\n classNames={classNames}\n renderDay={renderDay}\n stopPropagation={__stopPropagation}\n />\n </td>\n );\n });\n\n return <tr key={rowIndex}>{cells}</tr>;\n });\n\n return (\n <Box component=\"table\" className={cx(classes.month, className)} ref={ref} {...others}>\n {!hideWeekdays && (\n <thead>\n <tr>{weekdays}</tr>\n </thead>\n )}\n <tbody>{rows}</tbody>\n </Box>\n );\n});\n\nMonth.displayName = '@mantine/dates/Month';\n"],"names":["forwardRef","useComponentDefaultProps","useStyles","getMonthDays","getWeekdaysNames","React","Text","upperFirst","dayjs","useMemo","getDayProps","Day","isSameDate","Box"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAaF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC;AACzB,MAAM,YAAY,GAAG;AACrB,EAAE,oBAAoB,EAAE,KAAK;AAC7B,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,YAAY,EAAE,KAAK;AACrB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,cAAc,EAAE,QAAQ;AAC1B,EAAE,gBAAgB,EAAE,KAAK;AACzB,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACrB,EAAE,iBAAiB,EAAE,IAAI;AACzB,CAAC,CAAC;AACU,MAAC,KAAK,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAChD,EAAE,MAAM,EAAE,GAAGC,6BAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACrE,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,oBAAoB;AACxB,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,WAAW;AACf,IAAI,eAAe;AACnB,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,cAAc;AAClB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,aAAa,GAAG,IAAI;AACxB,IAAI,kBAAkB,GAAG,IAAI;AAC7B,IAAI,iBAAiB,GAAG,IAAI;AAC5B,IAAI,SAAS;AACb,IAAI,kBAAkB;AACtB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,iBAAiB;AACrB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,OAAO;AACX,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,sBAAsB;AAC1B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,aAAa;AACjB,IAAI,iBAAiB;AACrB,IAAI,OAAO;AACX,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,eAAe;AACnB,IAAI,oBAAoB;AACxB,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,oBAAoB;AACxB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,mBAAmB;AACvB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,uBAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AACpH,EAAE,MAAM,WAAW,GAAG,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC;AAClD,EAAE,MAAM,IAAI,GAAGC,yBAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,EAAE,MAAM,QAAQ,GAAGC,iCAAgB,CAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,qBAAqBC,cAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAChJ,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,IAAI,GAAG,EAAE,OAAO;AAChB,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACC,SAAI,EAAE;AAC/C,IAAI,IAAI;AACR,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,GAAGC,gBAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,YAAY,IAAI,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC;AAC9G,EAAE,MAAM,oBAAoB,GAAG,KAAK,YAAY,IAAI,IAAIC,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAACA,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAIA,cAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAACA,cAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAClK,EAAE,MAAM,gBAAgB,GAAGC,aAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK;AAC/E,IAAI,MAAM,QAAQ,GAAGC,uBAAW,CAAC;AACjC,MAAM,IAAI;AACV,MAAM,KAAK;AACX,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,MAAM,oBAAoB;AAC1B,MAAM,KAAK;AACX,MAAM,WAAW;AACjB,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnD,GAAG,CAAC,IAAIF,cAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AACpD,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,KAAK;AAC3C,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK;AAC/C,MAAM,MAAM,QAAQ,GAAGE,uBAAW,CAAC;AACnC,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ,QAAQ;AAChB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,QAAQ,oBAAoB;AAC5B,QAAQ,KAAK;AACb,QAAQ,WAAW;AACnB,OAAO,CAAC,CAAC;AACT,MAAM,MAAM,gBAAgB,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7D,MAAM,uBAAuBL,cAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACvD,QAAQ,SAAS,EAAE,OAAO,CAAC,IAAI;AAC/B,QAAQ,GAAG,EAAE,SAAS;AACtB,OAAO,kBAAkBA,cAAK,CAAC,aAAa,CAACM,OAAG,EAAE;AAClD,QAAQ,QAAQ;AAChB,QAAQ,GAAG,EAAE,CAAC,MAAM,KAAK;AACzB,UAAU,IAAI,QAAQ,EAAE;AACxB,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE;AACpD,cAAc,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACtC,aAAa;AACb,YAAY,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC;AACnD,WAAW;AACX,SAAS;AACT,QAAQ,OAAO,EAAE,MAAM,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC;AACvE,QAAQ,WAAW,EAAE,CAAC,KAAK,KAAK,YAAY,IAAI,KAAK,CAAC,cAAc,EAAE;AACtE,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO;AACjC,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO;AACjC,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC;AAClE,QAAQ,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC;AACjF,QAAQ,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC9E,QAAQ,YAAY,EAAEC,qBAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC;AACxD,QAAQ,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe;AAC/D,QAAQ,QAAQ,EAAE,oBAAoB;AACtC,QAAQ,SAAS,EAAE,CAAC,KAAK,KAAK,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACzG,QAAQ,SAAS,EAAE,OAAO,YAAY,KAAK,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI;AAC3F,QAAQ,KAAK,EAAE,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI;AAC/E,QAAQ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AACnC,QAAQ,YAAY,EAAE,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,IAAI;AACpF,QAAQ,IAAI;AACZ,QAAQ,SAAS;AACjB,QAAQ,SAAS;AACjB,QAAQ,gBAAgB;AACxB,QAAQ,gBAAgB;AACxB,QAAQ,MAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,SAAS;AACjB,QAAQ,eAAe,EAAE,iBAAiB;AAC1C,OAAO,CAAC,CAAC,CAAC;AACV,KAAK,CAAC,CAAC;AACP,IAAI,uBAAuBP,cAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AACrD,MAAM,GAAG,EAAE,QAAQ;AACnB,KAAK,EAAE,KAAK,CAAC,CAAC;AACd,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBA,cAAK,CAAC,aAAa,CAACQ,QAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,OAAO;AACtB,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;AAC3C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,oBAAoBR,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,kBAAkBA,cAAK,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,kBAAkBA,cAAK,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACxM,CAAC,EAAE;AACH,KAAK,CAAC,WAAW,GAAG,sBAAsB;;;;"}
|
|
@@ -54,7 +54,8 @@ const RangeCalendar = React.forwardRef((props, ref) => {
|
|
|
54
54
|
onMouseLeave,
|
|
55
55
|
__staticSelector,
|
|
56
56
|
allowSingleDateInRange,
|
|
57
|
-
amountOfMonths
|
|
57
|
+
amountOfMonths,
|
|
58
|
+
paginateBy
|
|
58
59
|
} = _a, others = __objRest(_a, [
|
|
59
60
|
"value",
|
|
60
61
|
"onChange",
|
|
@@ -62,7 +63,8 @@ const RangeCalendar = React.forwardRef((props, ref) => {
|
|
|
62
63
|
"onMouseLeave",
|
|
63
64
|
"__staticSelector",
|
|
64
65
|
"allowSingleDateInRange",
|
|
65
|
-
"amountOfMonths"
|
|
66
|
+
"amountOfMonths",
|
|
67
|
+
"paginateBy"
|
|
66
68
|
]);
|
|
67
69
|
const [hoveredDay, setHoveredDay] = React.useState(null);
|
|
68
70
|
const [pickedDate, setPickedDate] = React.useState(null);
|
|
@@ -127,6 +129,7 @@ const RangeCalendar = React.forwardRef((props, ref) => {
|
|
|
127
129
|
ref,
|
|
128
130
|
__staticSelector,
|
|
129
131
|
amountOfMonths,
|
|
132
|
+
paginateBy: paginateBy || amountOfMonths,
|
|
130
133
|
hideOutsideDates: amountOfMonths > 1,
|
|
131
134
|
isDateInRange: shouldHighlightDate,
|
|
132
135
|
isDateFirstInRange: isPickedDateFirstInRange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RangeCalendar.js","sources":["../../../src/components/RangeCalendar/RangeCalendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { isSameDate } from '../../utils';\nimport { DayModifiers } from '../Month';\nimport { CalendarBase, CalendarBaseProps } from '../CalendarBase/CalendarBase';\n\nexport interface RangeCalendarProps extends Omit<CalendarBaseProps, 'value' | 'onChange'> {\n /** Selected dates */\n value: [Date | null, Date | null];\n\n /** Called when selected date changes */\n onChange(value: [Date, Date]): void;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n}\n\nconst defaultProps: Partial<RangeCalendarProps> = {\n __staticSelector: 'RangeCalendar',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n};\n\nexport const RangeCalendar = forwardRef<HTMLDivElement, RangeCalendarProps>(\n (props: RangeCalendarProps, ref) => {\n const {\n value,\n onChange,\n dayStyle,\n onMouseLeave,\n __staticSelector,\n allowSingleDateInRange,\n amountOfMonths,\n ...others\n } = useComponentDefaultProps('RangeCalendar', defaultProps, props);\n\n const [hoveredDay, setHoveredDay] = useState<Date>(null);\n const [pickedDate, setPickedDate] = useState<Date>(null);\n\n const setRangeDate = (date: Date) => {\n if (pickedDate instanceof Date) {\n if (isSameDate(date, pickedDate) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDay(null);\n return null;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n onChange(result);\n setPickedDate(null);\n return null;\n }\n\n if (value[0] && isSameDate(date, value[0]) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDay(null);\n onChange([null, null]);\n return null;\n }\n\n onChange([date, null]);\n setPickedDate(date);\n return null;\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n setHoveredDay(null);\n };\n\n const shouldHighlightDate = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return (\n !modifiers.selected &&\n dayjs(date).subtract(1, 'day').isBefore(result[1]) &&\n dayjs(date).add(1, 'day').isAfter(result[0])\n );\n }\n\n return false;\n };\n\n const isPickedDateFirstInRange = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return modifiers.selected && dayjs(date).isBefore(result[1]);\n }\n\n return false;\n };\n\n const isPickedDateLastInRange = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return modifiers.selected && dayjs(date).isAfter(result[0]);\n }\n\n return false;\n };\n\n return (\n <CalendarBase\n dayStyle={dayStyle}\n onMouseLeave={handleMouseLeave}\n onDayMouseEnter={(date) => setHoveredDay(date)}\n onChange={setRangeDate}\n value={pickedDate}\n range={value}\n ref={ref}\n __staticSelector={__staticSelector}\n amountOfMonths={amountOfMonths}\n hideOutsideDates={amountOfMonths > 1}\n isDateInRange={shouldHighlightDate}\n isDateFirstInRange={isPickedDateFirstInRange}\n isDateLastInRange={isPickedDateLastInRange}\n {...others}\n />\n );\n }\n);\n\nRangeCalendar.displayName = '@mantine/dates/RangeCalendar';\n"],"names":["forwardRef","useComponentDefaultProps","useState","isSameDate","dayjs","React","CalendarBase"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RangeCalendar.js","sources":["../../../src/components/RangeCalendar/RangeCalendar.tsx"],"sourcesContent":["import dayjs from 'dayjs';\nimport React, { useState, forwardRef } from 'react';\nimport { useComponentDefaultProps } from '@mantine/core';\nimport { isSameDate } from '../../utils';\nimport { DayModifiers } from '../Month';\nimport { CalendarBase, CalendarBaseProps } from '../CalendarBase/CalendarBase';\n\nexport interface RangeCalendarProps extends Omit<CalendarBaseProps, 'value' | 'onChange'> {\n /** Selected dates */\n value: [Date | null, Date | null];\n\n /** Called when selected date changes */\n onChange(value: [Date, Date]): void;\n\n /** Allow one date to be selected as range */\n allowSingleDateInRange?: boolean;\n}\n\nconst defaultProps: Partial<RangeCalendarProps> = {\n __staticSelector: 'RangeCalendar',\n allowSingleDateInRange: false,\n amountOfMonths: 1,\n};\n\nexport const RangeCalendar = forwardRef<HTMLDivElement, RangeCalendarProps>(\n (props: RangeCalendarProps, ref) => {\n const {\n value,\n onChange,\n dayStyle,\n onMouseLeave,\n __staticSelector,\n allowSingleDateInRange,\n amountOfMonths,\n paginateBy,\n ...others\n } = useComponentDefaultProps('RangeCalendar', defaultProps, props);\n\n const [hoveredDay, setHoveredDay] = useState<Date>(null);\n const [pickedDate, setPickedDate] = useState<Date>(null);\n\n const setRangeDate = (date: Date) => {\n if (pickedDate instanceof Date) {\n if (isSameDate(date, pickedDate) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDay(null);\n return null;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n onChange(result);\n setPickedDate(null);\n return null;\n }\n\n if (value[0] && isSameDate(date, value[0]) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDay(null);\n onChange([null, null]);\n return null;\n }\n\n onChange([date, null]);\n setPickedDate(date);\n return null;\n };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n setHoveredDay(null);\n };\n\n const shouldHighlightDate = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return (\n !modifiers.selected &&\n dayjs(date).subtract(1, 'day').isBefore(result[1]) &&\n dayjs(date).add(1, 'day').isAfter(result[0])\n );\n }\n\n return false;\n };\n\n const isPickedDateFirstInRange = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return modifiers.selected && dayjs(date).isBefore(result[1]);\n }\n\n return false;\n };\n\n const isPickedDateLastInRange = (date: Date, modifiers: DayModifiers) => {\n if (pickedDate instanceof Date && hoveredDay instanceof Date) {\n const result: [Date, Date] = [hoveredDay, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n return modifiers.selected && dayjs(date).isAfter(result[0]);\n }\n\n return false;\n };\n\n return (\n <CalendarBase\n dayStyle={dayStyle}\n onMouseLeave={handleMouseLeave}\n onDayMouseEnter={(date) => setHoveredDay(date)}\n onChange={setRangeDate}\n value={pickedDate}\n range={value}\n ref={ref}\n __staticSelector={__staticSelector}\n amountOfMonths={amountOfMonths}\n paginateBy={paginateBy || amountOfMonths}\n hideOutsideDates={amountOfMonths > 1}\n isDateInRange={shouldHighlightDate}\n isDateFirstInRange={isPickedDateFirstInRange}\n isDateLastInRange={isPickedDateLastInRange}\n {...others}\n />\n );\n }\n);\n\nRangeCalendar.displayName = '@mantine/dates/RangeCalendar';\n"],"names":["forwardRef","useComponentDefaultProps","useState","isSameDate","dayjs","React","CalendarBase"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAMF,MAAM,YAAY,GAAG;AACrB,EAAE,gBAAgB,EAAE,eAAe;AACnC,EAAE,sBAAsB,EAAE,KAAK;AAC/B,EAAE,cAAc,EAAE,CAAC;AACnB,CAAC,CAAC;AACU,MAAC,aAAa,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACxD,EAAE,MAAM,EAAE,GAAGC,6BAAwB,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC7E,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,gBAAgB;AACpB,IAAI,sBAAsB;AAC1B,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,OAAO;AACX,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,gBAAgB;AACpB,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGC,cAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,EAAE,MAAM,YAAY,GAAG,CAAC,IAAI,KAAK;AACjC,IAAI,IAAI,UAAU,YAAY,IAAI,EAAE;AACpC,MAAM,IAAIC,qBAAU,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,sBAAsB,EAAE;AACnE,QAAQ,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAQ,aAAa,CAAC,IAAI,CAAC,CAAC;AAC5B,QAAQ,OAAO,IAAI,CAAC;AACpB,OAAO;AACP,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACxC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAIA,qBAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;AAC3E,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7B,MAAM,OAAO,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3B,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACxB,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;AACxB,GAAG,CAAC;AACJ,EAAE,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK;AACnD,IAAI,IAAI,UAAU,YAAY,IAAI,IAAI,UAAU,YAAY,IAAI,EAAE;AAClE,MAAM,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,IAAIC,cAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAIA,cAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvI,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK;AACxD,IAAI,IAAI,UAAU,YAAY,IAAI,IAAI,UAAU,YAAY,IAAI,EAAE;AAClE,MAAM,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,OAAO,SAAS,CAAC,QAAQ,IAAIA,cAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK;AACvD,IAAI,IAAI,UAAU,YAAY,IAAI,IAAI,UAAU,YAAY,IAAI,EAAE;AAClE,MAAM,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AACvD,MAAM,OAAO,SAAS,CAAC,QAAQ,IAAIA,cAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,yBAAY,EAAE,cAAc,CAAC;AAC1E,IAAI,QAAQ;AACZ,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,eAAe,EAAE,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC;AAClD,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,KAAK,EAAE,UAAU;AACrB,IAAI,KAAK,EAAE,KAAK;AAChB,IAAI,GAAG;AACP,IAAI,gBAAgB;AACpB,IAAI,cAAc;AAClB,IAAI,UAAU,EAAE,UAAU,IAAI,cAAc;AAC5C,IAAI,gBAAgB,EAAE,cAAc,GAAG,CAAC;AACxC,IAAI,aAAa,EAAE,mBAAmB;AACtC,IAAI,kBAAkB,EAAE,wBAAwB;AAChD,IAAI,iBAAiB,EAAE,uBAAuB;AAC9C,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AACd,CAAC,EAAE;AACH,aAAa,CAAC,WAAW,GAAG,8BAA8B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeInput.styles.js","sources":["../../../src/components/TimeInput/TimeInput.styles.ts"],"sourcesContent":["import { createStyles, INPUT_SIZES, MantineSize } from '@mantine/core';\n\nexport interface TimeInputStylesParams {\n size: MantineSize;\n}\n\nexport default createStyles((theme, { size }: TimeInputStylesParams) => ({\n timeInput: {},\n amPmInput: {},\n\n disabled: {\n
|
|
1
|
+
{"version":3,"file":"TimeInput.styles.js","sources":["../../../src/components/TimeInput/TimeInput.styles.ts"],"sourcesContent":["import { createStyles, INPUT_SIZES, MantineSize } from '@mantine/core';\n\nexport interface TimeInputStylesParams {\n size: MantineSize;\n}\n\nexport default createStyles((theme, { size }: TimeInputStylesParams) => ({\n timeInput: {},\n amPmInput: {},\n\n disabled: {\n cursor: 'not-allowed',\n },\n\n controls: {\n display: 'flex',\n alignItems: 'center',\n // -2 for border offset\n height: theme.fn.size({ size, sizes: INPUT_SIZES }) - 2,\n },\n}));\n"],"names":["createStyles","INPUT_SIZES"],"mappings":";;;;;;AACA,gBAAeA,iBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM;AAClD,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,SAAS,EAAE,EAAE;AACf,EAAE,QAAQ,EAAE;AACZ,IAAI,MAAM,EAAE,aAAa;AACzB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,UAAU,EAAE,QAAQ;AACxB,IAAI,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAEC,gBAAW,EAAE,CAAC,GAAG,CAAC;AAC3D,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
|
|
@@ -87,14 +87,14 @@ const TimeField = React.forwardRef((_a, ref) => {
|
|
|
87
87
|
const handleKeyDown = (event) => {
|
|
88
88
|
if (event.key === "ArrowUp") {
|
|
89
89
|
event.preventDefault();
|
|
90
|
-
const padded = padTime.padTime(hooks.clamp(parseInt(event.currentTarget.value, 10) + 1,
|
|
90
|
+
const padded = padTime.padTime(hooks.clamp(parseInt(event.currentTarget.value, 10) + 1, min, max).toString());
|
|
91
91
|
if (value !== padded) {
|
|
92
92
|
onChange(padded, false);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
if (event.key === "ArrowDown") {
|
|
96
96
|
event.preventDefault();
|
|
97
|
-
const padded = padTime.padTime(hooks.clamp(parseInt(event.currentTarget.value, 10) - 1,
|
|
97
|
+
const padded = padTime.padTime(hooks.clamp(parseInt(event.currentTarget.value, 10) - 1, min, max).toString());
|
|
98
98
|
if (value !== padded) {
|
|
99
99
|
onChange(padded, false);
|
|
100
100
|
}
|