@mantine/dates 4.1.4 → 4.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Calendar/Calendar.js +24 -4
- package/cjs/components/Calendar/Calendar.js.map +1 -1
- package/cjs/components/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/CalendarBase/CalendarHeader/CalendarHeader.styles.js +29 -12
- package/cjs/components/CalendarBase/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/cjs/components/CalendarBase/MonthPicker/MonthPicker.styles.js +36 -19
- package/cjs/components/CalendarBase/MonthPicker/MonthPicker.styles.js.map +1 -1
- package/cjs/components/CalendarBase/YearPicker/YearPicker.styles.js +36 -19
- package/cjs/components/CalendarBase/YearPicker/YearPicker.styles.js.map +1 -1
- package/cjs/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +1 -2
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/Month/Day/Day.styles.js +8 -8
- package/cjs/components/Month/Day/Day.styles.js.map +1 -1
- package/cjs/components/Month/Month.js +2 -2
- package/cjs/components/Month/Month.js.map +1 -1
- package/cjs/components/Month/get-day-props/get-day-props.js +1 -1
- package/cjs/components/Month/get-day-props/get-day-props.js.map +1 -1
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js +4 -2
- package/cjs/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
- package/esm/components/Calendar/Calendar.js +25 -5
- package/esm/components/Calendar/Calendar.js.map +1 -1
- package/esm/components/CalendarBase/CalendarBase.js.map +1 -1
- package/esm/components/CalendarBase/CalendarHeader/CalendarHeader.styles.js +29 -12
- package/esm/components/CalendarBase/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/esm/components/CalendarBase/MonthPicker/MonthPicker.styles.js +37 -20
- package/esm/components/CalendarBase/MonthPicker/MonthPicker.styles.js.map +1 -1
- package/esm/components/CalendarBase/YearPicker/YearPicker.styles.js +37 -20
- package/esm/components/CalendarBase/YearPicker/YearPicker.styles.js.map +1 -1
- package/esm/components/DatePickerBase/DatePickerBase.js.map +1 -1
- package/esm/components/DateRangePicker/DateRangePicker.js +1 -2
- package/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/esm/components/Month/Day/Day.styles.js +8 -8
- package/esm/components/Month/Day/Day.styles.js.map +1 -1
- package/esm/components/Month/Month.js +2 -2
- package/esm/components/Month/Month.js.map +1 -1
- package/esm/components/Month/get-day-props/get-day-props.js +1 -1
- package/esm/components/Month/get-day-props/get-day-props.js.map +1 -1
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js +4 -2
- package/esm/components/TimeInputBase/AmPmInput/AmPmInput.js.map +1 -1
- package/lib/components/Calendar/Calendar.d.ts +10 -3
- package/lib/components/Calendar/Calendar.d.ts.map +1 -1
- package/lib/components/CalendarBase/CalendarBase.d.ts +2 -4
- package/lib/components/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/lib/components/CalendarBase/CalendarHeader/CalendarHeader.styles.d.ts.map +1 -1
- package/lib/components/CalendarBase/MonthPicker/MonthPicker.styles.d.ts.map +1 -1
- package/lib/components/CalendarBase/YearPicker/YearPicker.styles.d.ts.map +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts +1 -1
- package/lib/components/DatePickerBase/DatePickerBase.d.ts.map +1 -1
- package/lib/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/lib/components/Month/Day/Day.styles.d.ts.map +1 -1
- package/lib/components/Month/Month.d.ts +2 -2
- package/lib/components/Month/Month.d.ts.map +1 -1
- package/lib/components/Month/get-day-props/get-day-props.d.ts +2 -2
- package/lib/components/Month/get-day-props/get-day-props.d.ts.map +1 -1
- package/lib/components/TimeInputBase/AmPmInput/AmPmInput.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -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, useMantineDefaultProps } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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};\n\nexport const DateRangePicker = forwardRef<HTMLButtonElement, 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 ...others\n } = useMantineDefaultProps('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 rule: isFirstDateSet,\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 onDropdownOpen?.();\n inputRef.current?.focus();\n };\n\n const handleDropdownToggle = (isOpened: boolean) => {\n if (!isOpened && firstValueValid && _value[1] === null) {\n handleClear();\n }\n setDropdownOpened(!dropdownOpened);\n !dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.();\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 {...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 />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useMantineDefaultProps","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,CAAC,CAAC;AACU,MAAC,eAAe,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1D,EAAE,MAAM,EAAE,GAAGC,2BAAsB,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAC7E,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,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,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,IAAI,IAAI,EAAE,cAAc;AACxB,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,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC;AACvD,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,CAAC,cAAc,CAAC,CAAC;AACvC,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,eAAe,EAAE,CAAC;AAChI,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,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,GAAG,CAAC,CAAC,CAAC;AACN,CAAC,EAAE;AACH,eAAe,CAAC,WAAW,GAAG,gCAAgC;;;;"}
|
|
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, useMantineDefaultProps } 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'>,\n Omit<CalendarSharedProps, 'size' | 'styles' | 'classNames' | 'value' | 'onChange'> {\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 /** 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};\n\nexport const DateRangePicker = forwardRef<HTMLButtonElement, 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 ...others\n } = useMantineDefaultProps('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 rule: isFirstDateSet,\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 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 {...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 />\n </DatePickerBase>\n );\n }\n);\n\nDateRangePicker.displayName = '@mantine/dates/DateRangePicker';\n"],"names":["forwardRef","useMantineDefaultProps","useMantineTheme","useState","useRef","useUncontrolled","upperFirst","dayjs","React","DatePickerBase","useMergedRef","RangeCalendar"],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ var useStyles = core.createStyles((theme, { size, fullWidth, hideOutsideDates },
|
|
|
44
44
|
inRange,
|
|
45
45
|
firstInRange,
|
|
46
46
|
lastInRange,
|
|
47
|
-
day: __spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), {
|
|
47
|
+
day: __spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, theme.fn.fontStyles()), theme.fn.focusStyles()), {
|
|
48
48
|
position: "relative",
|
|
49
49
|
WebkitTapHighlightColor: "transparent",
|
|
50
50
|
backgroundColor: "transparent",
|
|
@@ -54,17 +54,17 @@ var useStyles = core.createStyles((theme, { size, fullWidth, hideOutsideDates },
|
|
|
54
54
|
fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),
|
|
55
55
|
padding: 0,
|
|
56
56
|
borderRadius: theme.radius.sm,
|
|
57
|
-
border: "
|
|
57
|
+
border: "none",
|
|
58
58
|
cursor: "pointer",
|
|
59
59
|
userSelect: "none",
|
|
60
60
|
color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.colors.gray[7],
|
|
61
61
|
"&:disabled": {
|
|
62
62
|
pointerEvents: "none",
|
|
63
63
|
color: theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
}
|
|
65
|
+
}), theme.fn.hover({
|
|
66
|
+
backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[5] : theme.colors.gray[0]
|
|
67
|
+
})), {
|
|
68
68
|
[`&.${weekend.ref}:not(:disabled)`]: {
|
|
69
69
|
color: theme.colorScheme === "dark" ? theme.colors.red[5] : theme.colors.red[7]
|
|
70
70
|
},
|
|
@@ -73,11 +73,11 @@ var useStyles = core.createStyles((theme, { size, fullWidth, hideOutsideDates },
|
|
|
73
73
|
color: `${theme.colorScheme === "dark" ? theme.colors.dark[3] : theme.colors.gray[4]} !important`
|
|
74
74
|
},
|
|
75
75
|
[`&.${inRange.ref}:not(:disabled)`]: {
|
|
76
|
-
backgroundColor: theme.
|
|
76
|
+
backgroundColor: theme.fn.variant({ variant: "light" }).background,
|
|
77
77
|
borderRadius: 0
|
|
78
78
|
},
|
|
79
79
|
[`&.${selected.ref}:not(:disabled)`]: {
|
|
80
|
-
backgroundColor: theme.
|
|
80
|
+
backgroundColor: theme.fn.variant({ variant: "filled" }).background,
|
|
81
81
|
color: theme.white
|
|
82
82
|
},
|
|
83
83
|
[`&.${firstInRange.ref}:not(:disabled)`]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Day.styles.js","sources":["../../../../src/components/Month/Day/Day.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface DayStyles {\n size: MantineSize;\n fullWidth: boolean;\n hideOutsideDates: boolean;\n}\n\nexport const sizes = {\n xs: 34,\n sm: 38,\n md: 46,\n lg: 58,\n xl: 66,\n};\n\nexport default createStyles((theme, { size, fullWidth, hideOutsideDates }: DayStyles, getRef) => {\n const weekend = { ref: getRef('weekend') };\n const outside = { ref: getRef('outside') };\n const selected = { ref: getRef('selected') };\n const inRange = { ref: getRef('inRange') };\n const firstInRange = { ref: getRef('firstInRange') };\n const lastInRange = { ref: getRef('lastInRange') };\n\n return {\n weekend,\n outside,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n\n day: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n width: fullWidth ? '100%' : theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: 0,\n borderRadius: theme.radius.sm,\n border: '
|
|
1
|
+
{"version":3,"file":"Day.styles.js","sources":["../../../../src/components/Month/Day/Day.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface DayStyles {\n size: MantineSize;\n fullWidth: boolean;\n hideOutsideDates: boolean;\n}\n\nexport const sizes = {\n xs: 34,\n sm: 38,\n md: 46,\n lg: 58,\n xl: 66,\n};\n\nexport default createStyles((theme, { size, fullWidth, hideOutsideDates }: DayStyles, getRef) => {\n const weekend = { ref: getRef('weekend') };\n const outside = { ref: getRef('outside') };\n const selected = { ref: getRef('selected') };\n const inRange = { ref: getRef('inRange') };\n const firstInRange = { ref: getRef('firstInRange') };\n const lastInRange = { ref: getRef('lastInRange') };\n\n return {\n weekend,\n outside,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n\n day: {\n ...theme.fn.fontStyles(),\n ...theme.fn.focusStyles(),\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n width: fullWidth ? '100%' : theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n lineHeight: `${theme.fn.size({ size, sizes })}px`,\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: 0,\n borderRadius: theme.radius.sm,\n border: 'none',\n cursor: 'pointer',\n userSelect: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.colors.gray[7],\n\n '&:disabled': {\n pointerEvents: 'none',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4],\n },\n\n ...theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[0],\n }),\n\n [`&.${weekend.ref}:not(:disabled)`]: {\n color: theme.colorScheme === 'dark' ? theme.colors.red[5] : theme.colors.red[7],\n },\n\n [`&.${outside.ref}`]: {\n display: hideOutsideDates ? 'none' : undefined,\n color: `${\n theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[4]\n } !important`,\n },\n\n [`&.${inRange.ref}:not(:disabled)`]: {\n backgroundColor: theme.fn.variant({ variant: 'light' }).background,\n borderRadius: 0,\n },\n\n [`&.${selected.ref}:not(:disabled)`]: {\n backgroundColor: theme.fn.variant({ variant: 'filled' }).background,\n color: theme.white,\n },\n\n [`&.${firstInRange.ref}:not(:disabled)`]: {\n borderTopLeftRadius: theme.radius.sm,\n borderBottomLeftRadius: theme.radius.sm,\n },\n\n [`&.${lastInRange.ref}:not(:disabled)`]: {\n borderTopRightRadius: theme.radius.sm,\n borderBottomRightRadius: theme.radius.sm,\n },\n },\n };\n});\n"],"names":["createStyles"],"mappings":"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"}
|
|
@@ -132,8 +132,8 @@ const Month = React.forwardRef((props, ref) => {
|
|
|
132
132
|
size,
|
|
133
133
|
className: classes.weekday
|
|
134
134
|
}, weekday.length >= 2 ? hooks.upperFirst(weekday) : weekday)));
|
|
135
|
-
const hasValue = value instanceof Date;
|
|
136
|
-
const hasValueInMonthRange =
|
|
135
|
+
const hasValue = Array.isArray(value) ? value.every((item) => item instanceof Date) : value instanceof Date;
|
|
136
|
+
const hasValueInMonthRange = value instanceof Date && dayjs__default(value).isAfter(dayjs__default(month).startOf("month")) && dayjs__default(value).isBefore(dayjs__default(month).endOf("month"));
|
|
137
137
|
const rows = days.map((row, rowIndex) => {
|
|
138
138
|
const cells = row.map((date, cellIndex) => {
|
|
139
139
|
const dayProps = getDayProps.getDayProps({
|
|
@@ -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 ClassNames,\n useMantineDefaultProps,\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 = ClassNames<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 */\n value?: 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 no = () => 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};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props: MonthProps, 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 = no,\n isDateFirstInRange = no,\n isDateLastInRange = no,\n renderDay,\n weekdayLabelFormat,\n ...others\n } = useMantineDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, 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 = value instanceof Date;\n const hasValueInMonthRange =\n hasValue &&\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 });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\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 : no}\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","useMantineDefaultProps","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, { forwardRef } from 'react';\nimport {\n DefaultProps,\n Text,\n Box,\n MantineSize,\n ClassNames,\n useMantineDefaultProps,\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 = ClassNames<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 no = () => 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};\n\nexport const Month = forwardRef<HTMLTableElement, MonthProps>((props: MonthProps, 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 = no,\n isDateFirstInRange = no,\n isDateLastInRange = no,\n renderDay,\n weekdayLabelFormat,\n ...others\n } = useMantineDefaultProps('Month', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { fullWidth },\n { classNames, styles, 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 });\n\n const onKeyDownPayload = { rowIndex, cellIndex, date };\n\n return (\n <td className={classes.cell} key={cellIndex}>\n <Day\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 : no}\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","useMantineDefaultProps","useStyles","getMonthDays","getWeekdaysNames","React","Text","upperFirst","dayjs","getDayProps","Day","isSameDate","Box"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ function getDayProps({
|
|
|
21
21
|
range
|
|
22
22
|
}) {
|
|
23
23
|
const outside = isOutside.isOutside(date, month);
|
|
24
|
-
const selected = hasValue && isSameDate.isSameDate(date, value);
|
|
24
|
+
const selected = hasValue && (Array.isArray(value) ? value.some((val) => isSameDate.isSameDate(val, date)) : isSameDate.isSameDate(date, value));
|
|
25
25
|
const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps.getRangeProps(date, range);
|
|
26
26
|
return {
|
|
27
27
|
disabled: isDisabled.isDisabled({ minDate, maxDate, excludeDate, disableOutsideEvents, date, outside }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-day-props.js","sources":["../../../../src/components/Month/get-day-props/get-day-props.ts"],"sourcesContent":["import { isSameDate } from '../../../utils';\nimport { DayModifiers } from '../types';\nimport { isWeekend } from './is-weekend/is-weekend';\nimport { isOutside } from './is-outside/is-outside';\nimport { isDisabled } from './is-disabled/is-disabled';\nimport { getRangeProps } from './get-range-props/get-range-props';\n\ninterface GetDayProps {\n /** Date associated with Day component */\n date: Date;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Does month have value prop? */\n hasValue: boolean;\n\n /** Min and max possible dates */\n maxDate: Date;\n minDate: Date;\n\n /** Currently selected date */\n value: Date;\n\n /** Function to determine if date should be excluded */\n excludeDate(date: Date): boolean;\n\n /** Should outside events be disabled */\n disableOutsideEvents: boolean;\n\n /** Selected date range */\n range: [Date, Date];\n}\n\nexport function getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n}: GetDayProps): DayModifiers {\n const outside = isOutside(date, month);\n const selected
|
|
1
|
+
{"version":3,"file":"get-day-props.js","sources":["../../../../src/components/Month/get-day-props/get-day-props.ts"],"sourcesContent":["import { isSameDate } from '../../../utils';\nimport { DayModifiers } from '../types';\nimport { isWeekend } from './is-weekend/is-weekend';\nimport { isOutside } from './is-outside/is-outside';\nimport { isDisabled } from './is-disabled/is-disabled';\nimport { getRangeProps } from './get-range-props/get-range-props';\n\ninterface GetDayProps {\n /** Date associated with Day component */\n date: Date;\n\n /** Month that is currently displayed */\n month: Date;\n\n /** Does month have value prop? */\n hasValue: boolean;\n\n /** Min and max possible dates */\n maxDate: Date;\n minDate: Date;\n\n /** Currently selected date or an array of dates */\n value: Date | Date[];\n\n /** Function to determine if date should be excluded */\n excludeDate(date: Date): boolean;\n\n /** Should outside events be disabled */\n disableOutsideEvents: boolean;\n\n /** Selected date range */\n range: [Date, Date];\n}\n\nexport function getDayProps({\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n excludeDate,\n disableOutsideEvents,\n range,\n}: GetDayProps): DayModifiers {\n const outside = isOutside(date, month);\n const selected =\n hasValue &&\n (Array.isArray(value) ? value.some((val) => isSameDate(val, date)) : isSameDate(date, value));\n const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps(date, range);\n\n return {\n disabled: isDisabled({ minDate, maxDate, excludeDate, disableOutsideEvents, date, outside }),\n weekend: isWeekend(date),\n selectedInRange,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n outside,\n };\n}\n"],"names":["isOutside","isSameDate","getRangeProps","isDisabled","isWeekend"],"mappings":";;;;;;;;;;;AAKO,SAAS,WAAW,CAAC;AAC5B,EAAE,IAAI;AACN,EAAE,KAAK;AACP,EAAE,QAAQ;AACV,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,oBAAoB;AACtB,EAAE,KAAK;AACP,CAAC,EAAE;AACH,EAAE,MAAM,OAAO,GAAGA,mBAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,EAAE,MAAM,QAAQ,GAAG,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,KAAKC,qBAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,GAAGA,qBAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7H,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,GAAGC,2BAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7F,EAAE,OAAO;AACT,IAAI,QAAQ,EAAEC,qBAAU,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAChG,IAAI,OAAO,EAAEC,mBAAS,CAAC,IAAI,CAAC;AAC5B,IAAI,eAAe;AACnB,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,OAAO;AACX,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -56,10 +56,12 @@ const AmPmInput = React.forwardRef((_a, ref) => {
|
|
|
56
56
|
onChange(value === "am" ? "pm" : "am", true);
|
|
57
57
|
}
|
|
58
58
|
if (event.key === "p" || event.nativeEvent.code === "KeyP") {
|
|
59
|
-
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
onChange("pm", true);
|
|
60
61
|
}
|
|
61
62
|
if (event.key === "a" || event.nativeEvent.code === "KeyA") {
|
|
62
|
-
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
onChange("am", true);
|
|
63
65
|
}
|
|
64
66
|
};
|
|
65
67
|
const handleChange = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmPmInput.js","sources":["../../../../src/components/TimeInputBase/AmPmInput/AmPmInput.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { MantineSize } from '@mantine/core';\nimport useStyles from '../TimeInputBase.styles';\n\ninterface AmPmSelectProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange(value: string, triggerShift: boolean): void;\n\n /** Colon text size */\n size?: MantineSize;\n}\n\nexport const AmPmInput = forwardRef<HTMLInputElement, AmPmSelectProps>(\n ({ className, onChange, onFocus, size = 'sm', value, ...others }: AmPmSelectProps, ref) => {\n const { classes, cx } = useStyles({ size, hasValue: !!value });\n const inputRef = useRef<HTMLInputElement>();\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n inputRef.current.select();\n };\n\n const handleClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n event.stopPropagation();\n inputRef.current.select();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.code === 'ArrowUp' || event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n onChange(value === 'am' ? 'pm' : 'am', true);\n }\n\n if (event.key === 'p' || event.nativeEvent.code === 'KeyP') {\n onChange('pm',
|
|
1
|
+
{"version":3,"file":"AmPmInput.js","sources":["../../../../src/components/TimeInputBase/AmPmInput/AmPmInput.tsx"],"sourcesContent":["import React, { useRef, forwardRef } from 'react';\nimport { useMergedRef } from '@mantine/hooks';\nimport { MantineSize } from '@mantine/core';\nimport useStyles from '../TimeInputBase.styles';\n\ninterface AmPmSelectProps\n extends Omit<React.ComponentPropsWithoutRef<'input'>, 'onChange' | 'size'> {\n /** Called with onChange event */\n onChange(value: string, triggerShift: boolean): void;\n\n /** Colon text size */\n size?: MantineSize;\n}\n\nexport const AmPmInput = forwardRef<HTMLInputElement, AmPmSelectProps>(\n ({ className, onChange, onFocus, size = 'sm', value, ...others }: AmPmSelectProps, ref) => {\n const { classes, cx } = useStyles({ size, hasValue: !!value });\n const inputRef = useRef<HTMLInputElement>();\n\n const handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n inputRef.current.select();\n };\n\n const handleClick = (event: React.MouseEvent<HTMLInputElement, MouseEvent>) => {\n event.stopPropagation();\n inputRef.current.select();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.code === 'ArrowUp' || event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n onChange(value === 'am' ? 'pm' : 'am', true);\n }\n\n if (event.key === 'p' || event.nativeEvent.code === 'KeyP') {\n event.preventDefault();\n onChange('pm', true);\n }\n\n if (event.key === 'a' || event.nativeEvent.code === 'KeyA') {\n event.preventDefault();\n onChange('am', true);\n }\n };\n\n /*\n If the field change is triggered onKeyDown, the keyUp event seems to steal focus back from the nextRef\n This way, all key presses focus nextRef and don't steal it back\n Anything beside a or p will leave the value and just move to the next field\n */\n const handleChange = () => {\n onChange(value.toString(), true);\n };\n\n return (\n <input\n type=\"text\"\n ref={useMergedRef(inputRef, ref)}\n onClick={handleClick}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n value={value}\n className={cx(classes.timeInput, className)}\n {...others}\n />\n );\n }\n);\n\nAmPmInput.displayName = '@mantine/dates/AmPmInput';\n"],"names":["forwardRef","useStyles","useRef","React","useMergedRef"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { useMantineDefaultProps } from '@mantine/core';
|
|
3
3
|
import { CalendarBase } from '../CalendarBase/CalendarBase.js';
|
|
4
|
+
import 'dayjs';
|
|
5
|
+
import { isSameDate } from '../../utils/is-same-date/is-same-date.js';
|
|
4
6
|
|
|
5
7
|
var __defProp = Object.defineProperty;
|
|
6
8
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
@@ -33,13 +35,31 @@ var __objRest = (source, exclude) => {
|
|
|
33
35
|
const defaultProps = {
|
|
34
36
|
__staticSelector: "Calendar"
|
|
35
37
|
};
|
|
36
|
-
|
|
37
|
-
const _a = useMantineDefaultProps("Calendar", defaultProps, props), {
|
|
38
|
+
function Calendar(props) {
|
|
39
|
+
const _a = useMantineDefaultProps("Calendar", defaultProps, props), {
|
|
40
|
+
__staticSelector = "Calendar",
|
|
41
|
+
multiple,
|
|
42
|
+
value,
|
|
43
|
+
onChange
|
|
44
|
+
} = _a, others = __objRest(_a, [
|
|
45
|
+
"__staticSelector",
|
|
46
|
+
"multiple",
|
|
47
|
+
"value",
|
|
48
|
+
"onChange"
|
|
49
|
+
]);
|
|
50
|
+
const handleChange = (date) => {
|
|
51
|
+
if (!multiple) {
|
|
52
|
+
return onChange(date);
|
|
53
|
+
}
|
|
54
|
+
const isSelected = value.some((val) => isSameDate(val, date));
|
|
55
|
+
return onChange(isSelected ? value.filter((val) => !isSameDate(val, date)) : [...value, date]);
|
|
56
|
+
};
|
|
38
57
|
return /* @__PURE__ */ React.createElement(CalendarBase, __spreadValues({
|
|
39
58
|
__staticSelector,
|
|
40
|
-
|
|
59
|
+
onChange: handleChange,
|
|
60
|
+
value
|
|
41
61
|
}, others));
|
|
42
|
-
}
|
|
62
|
+
}
|
|
43
63
|
Calendar.displayName = "@mantine/dates/Calendar";
|
|
44
64
|
|
|
45
65
|
export { Calendar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React
|
|
1
|
+
{"version":3,"file":"Calendar.js","sources":["../../../src/components/Calendar/Calendar.tsx"],"sourcesContent":["import React from 'react';\nimport { useMantineDefaultProps } from '@mantine/core';\nimport { CalendarBase, CalendarBaseProps } from '../CalendarBase/CalendarBase';\nimport { isSameDate } from '../../utils';\n\nexport interface CalendarProps<Multiple extends boolean = false>\n extends Omit<CalendarBaseProps, 'value' | 'onChange'> {\n multiple?: Multiple;\n value?: Multiple extends true ? Date[] : Date | null;\n onChange?(value: Multiple extends true ? Date[] : Date | null): void;\n}\n\nconst defaultProps: Partial<CalendarProps> = {\n __staticSelector: 'Calendar',\n};\n\nexport function Calendar<Multiple extends boolean = false>(props: CalendarProps<Multiple>) {\n const {\n __staticSelector = 'Calendar',\n multiple,\n value,\n onChange,\n ...others\n } = useMantineDefaultProps('Calendar', defaultProps, props as any);\n\n const handleChange = (date: Date) => {\n if (!multiple) {\n return onChange(date);\n }\n\n const isSelected = value.some((val: Date) => isSameDate(val, date));\n return onChange(\n isSelected ? value.filter((val: Date) => !isSameDate(val, date)) : [...value, date]\n );\n };\n\n return (\n <CalendarBase\n __staticSelector={__staticSelector}\n onChange={handleChange}\n value={value}\n {...others}\n />\n );\n}\n\nCalendar.displayName = '@mantine/dates/Calendar';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarBase.js","sources":["../../../src/components/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Box, MantineSize, ClassNames, DefaultProps } from '@mantine/core';\nimport { MonthSettings, DayKeydownPayload } from '../Month';\nimport { YearPicker, YearPickerStylesNames } from './YearPicker/YearPicker';\nimport { MonthPicker, MonthPickerStylesNames } from './MonthPicker/MonthPicker';\nimport { MonthsList, MonthsListStylesNames } from './MonthsList/MonthsList';\nimport useStyles from './CalendarBase.styles';\n\nexport type CalendarBaseStylesNames =\n | ClassNames<typeof useStyles>\n | YearPickerStylesNames\n | MonthPickerStylesNames\n | MonthsListStylesNames;\n\nexport interface CalendarSharedProps extends DefaultProps<CalendarBaseStylesNames>, MonthSettings {\n /** Month for controlled calendar */\n month?: Date;\n\n /** Initial month for uncontrolled calendar */\n initialMonth?: Date;\n\n /** Called when month changes */\n onMonthChange?(month: Date): void;\n\n /** Locale used for labels formatting, defaults to theme.datesLocale */\n locale?: string;\n\n /** Amount of months */\n amountOfMonths?: number;\n\n /** Selected value */\n value?: Date | null;\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Calendar size */\n size?: MantineSize;\n\n /** Allow to change level (date – month – year) */\n allowLevelChange?: boolean;\n\n /** Initial date selection level */\n initialLevel?: 'date' | 'month' | 'year';\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** Called when day is selected */\n onChange?(value: Date): void;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Next month control aria-label */\n nextMonthLabel?: string;\n\n /** Previous month control aria-label */\n previousMonthLabel?: string;\n\n /** Next year control aria-label */\n nextYearLabel?: string;\n\n /** Previous year control aria-label */\n previousYearLabel?: string;\n\n /** Next decade control aria-label */\n nextDecadeLabel?: string;\n\n /** Previous decade control aria-label */\n previousDecadeLabel?: string;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nexport interface CalendarBaseProps\n extends CalendarSharedProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {}\n\nexport const CalendarBase = forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n classNames,\n styles,\n month,\n initialMonth,\n onMonthChange,\n locale,\n amountOfMonths = 1,\n size = 'sm',\n allowLevelChange = true,\n initialLevel = 'date',\n minDate,\n maxDate,\n __staticSelector = 'CalendarBase',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n excludeDate,\n hideWeekdays,\n fullWidth,\n preventFocus,\n firstDayOfWeek = 'monday',\n value,\n onChange,\n onDayMouseEnter,\n range,\n nextDecadeLabel,\n nextMonthLabel,\n nextYearLabel,\n previousDecadeLabel,\n previousMonthLabel,\n previousYearLabel,\n labelFormat = 'MMMM YYYY',\n weekdayLabelFormat,\n hideOutsideDates,\n isDateInRange,\n isDateFirstInRange,\n isDateLastInRange,\n renderDay,\n ...others\n }: CalendarBaseProps,\n ref\n ) => {\n const [selectionState, setSelectionState] = useState(initialLevel);\n const { classes, cx, theme } = useStyles(\n { size, fullWidth, amountOfMonths: selectionState === 'date' ? amountOfMonths : 1 },\n { name: __staticSelector, styles, classNames }\n );\n const finalLocale = locale || theme.datesLocale;\n\n const daysRefs = useRef<HTMLButtonElement[][][]>(\n Array(amountOfMonths)\n .fill(0)\n .map(() => [])\n );\n\n const [_month, setMonth] = useUncontrolled({\n value: month,\n defaultValue: initialMonth,\n finalValue: new Date(),\n onChange: onMonthChange,\n rule: (val) => val instanceof Date,\n });\n\n const [yearSelection, setYearSelection] = useState(_month.getFullYear());\n const minYear = minDate instanceof Date ? minDate.getFullYear() : 0;\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 10000;\n\n const handleDayKeyDown = (\n monthIndex: number,\n payload: DayKeydownPayload,\n event: React.KeyboardEvent<HTMLButtonElement>\n ) => {\n switch (event.code) {\n case 'ArrowDown': {\n event.preventDefault();\n\n if (payload.rowIndex + 1 < daysRefs.current[monthIndex].length) {\n daysRefs.current[monthIndex][payload.rowIndex + 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n\n if (payload.rowIndex > 0) {\n daysRefs.current[monthIndex][payload.rowIndex - 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n\n if (payload.cellIndex !== 6) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex + 1].focus();\n } else if (monthIndex + 1 < amountOfMonths) {\n if (daysRefs.current[monthIndex + 1][payload.rowIndex]) {\n daysRefs.current[monthIndex + 1][payload.rowIndex][0]?.focus();\n }\n }\n\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n\n if (payload.cellIndex !== 0) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex - 1].focus();\n } else if (monthIndex > 0) {\n if (daysRefs.current[monthIndex - 1][payload.rowIndex]) {\n daysRefs.current[monthIndex - 1][payload.rowIndex][6].focus();\n }\n }\n }\n }\n };\n\n return (\n <Box className={cx(classes.calendarBase, className)} ref={ref} {...others}>\n {selectionState === 'year' && (\n <YearPicker\n size={size}\n value={yearSelection}\n minYear={minYear}\n maxYear={maxYear}\n onChange={(year) => {\n setYearSelection(year);\n setSelectionState('month');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextDecadeLabel={nextDecadeLabel}\n previousDecadeLabel={previousDecadeLabel}\n preventFocus={preventFocus}\n />\n )}\n\n {selectionState === 'month' && (\n <MonthPicker\n size={size}\n value={{ month: _month.getMonth(), year: _month.getFullYear() }}\n year={yearSelection}\n onYearChange={setYearSelection}\n onNextLevel={() => setSelectionState('year')}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n onChange={(monthValue) => {\n setMonth(new Date(yearSelection, monthValue, 1));\n setSelectionState('date');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextYearLabel={nextYearLabel}\n previousYearLabel={previousYearLabel}\n preventFocus={preventFocus}\n />\n )}\n\n {selectionState === 'date' && (\n <MonthsList\n amountOfMonths={amountOfMonths}\n month={_month}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n allowLevelChange={allowLevelChange}\n size={size}\n daysRefs={daysRefs}\n onMonthChange={setMonth}\n onNextLevel={() => setSelectionState('month')}\n onDayKeyDown={handleDayKeyDown}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n excludeDate={excludeDate}\n hideWeekdays={hideWeekdays}\n fullWidth={fullWidth}\n preventFocus={preventFocus}\n firstDayOfWeek={firstDayOfWeek}\n value={value}\n range={range}\n onChange={onChange}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n labelFormat={labelFormat}\n weekdayLabelFormat={weekdayLabelFormat}\n onDayMouseEnter={onDayMouseEnter}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n isDateInRange={isDateInRange}\n isDateFirstInRange={isDateFirstInRange}\n isDateLastInRange={isDateLastInRange}\n />\n )}\n </Box>\n );\n }\n);\n\nCalendarBase.displayName = '@mantine/dates/CalendarBase';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarBase.js","sources":["../../../src/components/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, { useRef, useState, forwardRef } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { Box, MantineSize, ClassNames, DefaultProps } from '@mantine/core';\nimport { MonthSettings, DayKeydownPayload } from '../Month';\nimport { YearPicker, YearPickerStylesNames } from './YearPicker/YearPicker';\nimport { MonthPicker, MonthPickerStylesNames } from './MonthPicker/MonthPicker';\nimport { MonthsList, MonthsListStylesNames } from './MonthsList/MonthsList';\nimport useStyles from './CalendarBase.styles';\n\nexport type CalendarBaseStylesNames =\n | ClassNames<typeof useStyles>\n | YearPickerStylesNames\n | MonthPickerStylesNames\n | MonthsListStylesNames;\n\nexport interface CalendarSharedProps extends DefaultProps<CalendarBaseStylesNames>, MonthSettings {\n /** Month for controlled calendar */\n month?: Date;\n\n /** Initial month for uncontrolled calendar */\n initialMonth?: Date;\n\n /** Called when month changes */\n onMonthChange?(month: Date): void;\n\n /** Locale used for labels formatting, defaults to theme.datesLocale */\n locale?: string;\n\n /** Amount of months */\n amountOfMonths?: number;\n\n /** Selected value */\n value?: Date | Date[] | null;\n\n /** Calendar size */\n size?: MantineSize;\n\n /** Allow to change level (date – month – year) */\n allowLevelChange?: boolean;\n\n /** Initial date selection level */\n initialLevel?: 'date' | 'month' | 'year';\n\n /** Static selector base */\n __staticSelector?: string;\n\n /** Selected range */\n range?: [Date, Date];\n\n /** Render day based on the date */\n renderDay?(date: Date): React.ReactNode;\n\n /** Called when day is selected */\n onChange?(value: Date | Date[]): void;\n\n /** Called when onMouseEnter event fired on day button */\n onDayMouseEnter?(date: Date, event: React.MouseEvent): void;\n\n /** Next month control aria-label */\n nextMonthLabel?: string;\n\n /** Previous month control aria-label */\n previousMonthLabel?: string;\n\n /** Next year control aria-label */\n nextYearLabel?: string;\n\n /** Previous year control aria-label */\n previousYearLabel?: string;\n\n /** Next decade control aria-label */\n nextDecadeLabel?: string;\n\n /** Previous decade control aria-label */\n previousDecadeLabel?: string;\n\n /** dayjs label format */\n labelFormat?: string;\n\n /** dayjs label format for weekday heading */\n weekdayLabelFormat?: string;\n}\n\nexport interface CalendarBaseProps\n extends CalendarSharedProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {}\n\nexport const CalendarBase = forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n className,\n classNames,\n styles,\n month,\n initialMonth,\n onMonthChange,\n locale,\n amountOfMonths = 1,\n size = 'sm',\n allowLevelChange = true,\n initialLevel = 'date',\n minDate,\n maxDate,\n __staticSelector = 'CalendarBase',\n dayClassName,\n dayStyle,\n disableOutsideEvents,\n excludeDate,\n hideWeekdays,\n fullWidth,\n preventFocus,\n firstDayOfWeek = 'monday',\n value,\n onChange,\n onDayMouseEnter,\n range,\n nextDecadeLabel,\n nextMonthLabel,\n nextYearLabel,\n previousDecadeLabel,\n previousMonthLabel,\n previousYearLabel,\n labelFormat = 'MMMM YYYY',\n weekdayLabelFormat,\n hideOutsideDates,\n isDateInRange,\n isDateFirstInRange,\n isDateLastInRange,\n renderDay,\n ...others\n }: CalendarBaseProps,\n ref\n ) => {\n const [selectionState, setSelectionState] = useState(initialLevel);\n const { classes, cx, theme } = useStyles(\n { size, fullWidth, amountOfMonths: selectionState === 'date' ? amountOfMonths : 1 },\n { name: __staticSelector, styles, classNames }\n );\n const finalLocale = locale || theme.datesLocale;\n\n const daysRefs = useRef<HTMLButtonElement[][][]>(\n Array(amountOfMonths)\n .fill(0)\n .map(() => [])\n );\n\n const [_month, setMonth] = useUncontrolled({\n value: month,\n defaultValue: initialMonth,\n finalValue: new Date(),\n onChange: onMonthChange,\n rule: (val) => val instanceof Date,\n });\n\n const [yearSelection, setYearSelection] = useState(_month.getFullYear());\n const minYear = minDate instanceof Date ? minDate.getFullYear() : 0;\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 10000;\n\n const handleDayKeyDown = (\n monthIndex: number,\n payload: DayKeydownPayload,\n event: React.KeyboardEvent<HTMLButtonElement>\n ) => {\n switch (event.code) {\n case 'ArrowDown': {\n event.preventDefault();\n\n if (payload.rowIndex + 1 < daysRefs.current[monthIndex].length) {\n daysRefs.current[monthIndex][payload.rowIndex + 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowUp': {\n event.preventDefault();\n\n if (payload.rowIndex > 0) {\n daysRefs.current[monthIndex][payload.rowIndex - 1][payload.cellIndex].focus();\n }\n break;\n }\n\n case 'ArrowRight': {\n event.preventDefault();\n\n if (payload.cellIndex !== 6) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex + 1].focus();\n } else if (monthIndex + 1 < amountOfMonths) {\n if (daysRefs.current[monthIndex + 1][payload.rowIndex]) {\n daysRefs.current[monthIndex + 1][payload.rowIndex][0]?.focus();\n }\n }\n\n break;\n }\n\n case 'ArrowLeft': {\n event.preventDefault();\n\n if (payload.cellIndex !== 0) {\n daysRefs.current[monthIndex][payload.rowIndex][payload.cellIndex - 1].focus();\n } else if (monthIndex > 0) {\n if (daysRefs.current[monthIndex - 1][payload.rowIndex]) {\n daysRefs.current[monthIndex - 1][payload.rowIndex][6].focus();\n }\n }\n }\n }\n };\n\n return (\n <Box className={cx(classes.calendarBase, className)} ref={ref} {...others}>\n {selectionState === 'year' && (\n <YearPicker\n size={size}\n value={yearSelection}\n minYear={minYear}\n maxYear={maxYear}\n onChange={(year) => {\n setYearSelection(year);\n setSelectionState('month');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextDecadeLabel={nextDecadeLabel}\n previousDecadeLabel={previousDecadeLabel}\n preventFocus={preventFocus}\n />\n )}\n\n {selectionState === 'month' && (\n <MonthPicker\n size={size}\n value={{ month: _month.getMonth(), year: _month.getFullYear() }}\n year={yearSelection}\n onYearChange={setYearSelection}\n onNextLevel={() => setSelectionState('year')}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n onChange={(monthValue) => {\n setMonth(new Date(yearSelection, monthValue, 1));\n setSelectionState('date');\n }}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n nextYearLabel={nextYearLabel}\n previousYearLabel={previousYearLabel}\n preventFocus={preventFocus}\n />\n )}\n\n {selectionState === 'date' && (\n <MonthsList\n amountOfMonths={amountOfMonths}\n month={_month}\n locale={finalLocale}\n minDate={minDate}\n maxDate={maxDate}\n allowLevelChange={allowLevelChange}\n size={size}\n daysRefs={daysRefs}\n onMonthChange={setMonth}\n onNextLevel={() => setSelectionState('month')}\n onDayKeyDown={handleDayKeyDown}\n classNames={classNames}\n styles={styles}\n __staticSelector={__staticSelector}\n dayClassName={dayClassName}\n dayStyle={dayStyle}\n disableOutsideEvents={disableOutsideEvents}\n excludeDate={excludeDate}\n hideWeekdays={hideWeekdays}\n fullWidth={fullWidth}\n preventFocus={preventFocus}\n firstDayOfWeek={firstDayOfWeek}\n value={value}\n range={range}\n onChange={onChange}\n nextMonthLabel={nextMonthLabel}\n previousMonthLabel={previousMonthLabel}\n labelFormat={labelFormat}\n weekdayLabelFormat={weekdayLabelFormat}\n onDayMouseEnter={onDayMouseEnter}\n renderDay={renderDay}\n hideOutsideDates={hideOutsideDates}\n isDateInRange={isDateInRange}\n isDateFirstInRange={isDateFirstInRange}\n isDateLastInRange={isDateLastInRange}\n />\n )}\n </Box>\n );\n }\n);\n\nCalendarBase.displayName = '@mantine/dates/CalendarBase';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { createStyles } from '@mantine/core';
|
|
2
2
|
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defProps = Object.defineProperties;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
3
22
|
const sizes = {
|
|
4
23
|
xs: 32,
|
|
5
24
|
sm: 40,
|
|
@@ -22,7 +41,7 @@ var useStyles = createStyles((theme, { size }) => ({
|
|
|
22
41
|
cursor: "default"
|
|
23
42
|
}
|
|
24
43
|
},
|
|
25
|
-
calendarHeaderLevel: {
|
|
44
|
+
calendarHeaderLevel: __spreadProps(__spreadValues({
|
|
26
45
|
display: "flex",
|
|
27
46
|
alignItems: "center",
|
|
28
47
|
justifyContent: "center",
|
|
@@ -33,17 +52,15 @@ var useStyles = createStyles((theme, { size }) => ({
|
|
|
33
52
|
fontWeight: 500,
|
|
34
53
|
flex: 1,
|
|
35
54
|
textAlign: "center",
|
|
36
|
-
color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.black
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"&:disabled": {
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
},
|
|
55
|
+
color: theme.colorScheme === "dark" ? theme.colors.dark[0] : theme.black
|
|
56
|
+
}, theme.fn.hover({
|
|
57
|
+
backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[8] : theme.colors.gray[0]
|
|
58
|
+
})), {
|
|
59
|
+
"&:disabled": theme.fn.hover({
|
|
60
|
+
backgroundColor: "transparent",
|
|
61
|
+
cursor: "default"
|
|
62
|
+
})
|
|
63
|
+
}),
|
|
47
64
|
calendarHeaderLevelIcon: {
|
|
48
65
|
marginLeft: 4
|
|
49
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarHeader.styles.js","sources":["../../../../src/components/CalendarBase/CalendarHeader/CalendarHeader.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface CalendarHeaderStyles {\n size: MantineSize;\n}\n\nexport const sizes = {\n xs: 32,\n sm: 40,\n md: 44,\n lg: 50,\n xl: 54,\n};\n\nexport default createStyles((theme, { size }: CalendarHeaderStyles) => ({\n calendarHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n align: 'center',\n marginBottom: theme.fn.size({ size, sizes: theme.spacing }),\n },\n\n calendarHeaderControl: {\n width: theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n\n '&:disabled': {\n opacity: 0,\n cursor: 'default',\n },\n },\n\n calendarHeaderLevel: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: theme.fn.size({ size, sizes }),\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: `0 ${theme.fn.size({ size, sizes: theme.spacing })}px`,\n borderRadius: theme.radius.sm,\n fontWeight: 500,\n flex: 1,\n textAlign: 'center',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n\n
|
|
1
|
+
{"version":3,"file":"CalendarHeader.styles.js","sources":["../../../../src/components/CalendarBase/CalendarHeader/CalendarHeader.styles.ts"],"sourcesContent":["import { createStyles, MantineSize } from '@mantine/core';\n\ninterface CalendarHeaderStyles {\n size: MantineSize;\n}\n\nexport const sizes = {\n xs: 32,\n sm: 40,\n md: 44,\n lg: 50,\n xl: 54,\n};\n\nexport default createStyles((theme, { size }: CalendarHeaderStyles) => ({\n calendarHeader: {\n display: 'flex',\n justifyContent: 'space-between',\n align: 'center',\n marginBottom: theme.fn.size({ size, sizes: theme.spacing }),\n },\n\n calendarHeaderControl: {\n width: theme.fn.size({ size, sizes }),\n height: theme.fn.size({ size, sizes }),\n\n '&:disabled': {\n opacity: 0,\n cursor: 'default',\n },\n },\n\n calendarHeaderLevel: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: theme.fn.size({ size, sizes }),\n fontSize: theme.fn.size({ size, sizes: theme.fontSizes }),\n padding: `0 ${theme.fn.size({ size, sizes: theme.spacing })}px`,\n borderRadius: theme.radius.sm,\n fontWeight: 500,\n flex: 1,\n textAlign: 'center',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n\n ...theme.fn.hover({\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.colors.gray[0],\n }),\n\n '&:disabled': theme.fn.hover({\n backgroundColor: 'transparent',\n cursor: 'default',\n }),\n },\n\n calendarHeaderLevelIcon: {\n marginLeft: 4,\n },\n}));\n"],"names":[],"mappings":"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"}
|