UNPKG

31.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"Picker-ccd9ba90.js","sources":["../../src/constants/prop-types.ts","../../src/_shared/hooks/useViews.tsx","../../src/views/Year/Year.tsx","../../src/views/Year/YearView.tsx","../../src/views/Month/Month.tsx","../../src/views/Month/MonthView.tsx","../../src/_shared/hooks/useIsLandscape.tsx","../../src/Picker/Picker.tsx"],"sourcesContent":["import * as PropTypes from 'prop-types';\nimport { BaseTimePickerProps } from '../TimePicker/TimePicker';\nimport { BaseDatePickerProps } from '../DatePicker/DatePicker';\n\nconst date = PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.number,\n PropTypes.instanceOf(Date),\n]);\n\nconst datePickerView = PropTypes.oneOf(['year', 'month', 'day']);\n\nexport type ParsableDate = object | string | number | Date | null | undefined;\n\nexport const DomainPropTypes = { date, datePickerView };\n\n/* eslint-disable @typescript-eslint/no-object-literal-type-assertion */\nexport const timePickerDefaultProps = {\n ampm: true,\n invalidDateMessage: 'Invalid Time Format',\n} as BaseTimePickerProps;\n\nexport const datePickerDefaultProps = {\n minDate: new Date('1900-01-01'),\n maxDate: new Date('2100-01-01'),\n invalidDateMessage: 'Invalid Date Format',\n minDateMessage: 'Date should not be before minimal date',\n maxDateMessage: 'Date should not be after maximal date',\n allowKeyboardControl: true,\n} as BaseDatePickerProps;\n\nexport const dateTimePickerDefaultProps = {\n ...timePickerDefaultProps,\n ...datePickerDefaultProps,\n showTabs: true,\n} as BaseTimePickerProps & BaseDatePickerProps;\n","import * as React from 'react';\nimport { PickerView } from '../../Picker/Picker';\nimport { arrayIncludes } from '../../_helpers/utils';\nimport { MaterialUiPickersDate } from '../../typings/date';\n\nexport function useViews(\n views: PickerView[],\n openTo: PickerView,\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void\n) {\n const [openView, setOpenView] = React.useState(\n openTo && arrayIncludes(views, openTo) ? openTo : views[0]\n );\n\n const handleChangeAndOpenNext = React.useCallback(\n (date: MaterialUiPickersDate, isFinish?: boolean) => {\n const nextViewToOpen = views[views.indexOf(openView!) + 1];\n if (isFinish && nextViewToOpen) {\n // do not close picker if needs to show next view\n onChange(date, false);\n setOpenView(nextViewToOpen);\n return;\n }\n\n onChange(date, Boolean(isFinish));\n },\n [onChange, openView, views]\n );\n\n return { handleChangeAndOpenNext, openView, setOpenView };\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\n\nexport interface YearProps {\n children: React.ReactNode;\n disabled?: boolean;\n onSelect: (value: any) => void;\n selected?: boolean;\n value: any;\n forwardedRef?: React.Ref<HTMLDivElement>;\n}\n\nexport const useStyles = makeStyles(\n theme => ({\n root: {\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n outline: 'none',\n '&:focus': {\n color: theme.palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n },\n },\n yearSelected: {\n margin: '10px 0',\n fontWeight: theme.typography.fontWeightMedium,\n },\n yearDisabled: {\n pointerEvents: 'none',\n color: theme.palette.text.hint,\n },\n }),\n { name: 'MuiPickersYear' }\n);\n\nexport const Year: React.FC<YearProps> = ({\n onSelect,\n forwardedRef,\n value,\n selected,\n disabled,\n children,\n ...other\n}) => {\n const classes = useStyles();\n const handleClick = React.useCallback(() => onSelect(value), [onSelect, value]);\n\n return (\n <Typography\n role=\"button\"\n component=\"div\"\n tabIndex={disabled ? -1 : 0}\n onClick={handleClick}\n onKeyPress={handleClick}\n color={selected ? 'primary' : undefined}\n variant={selected ? 'h5' : 'subtitle1'}\n children={children}\n ref={forwardedRef}\n className={clsx(classes.root, {\n [classes.yearSelected]: selected,\n [classes.yearDisabled]: disabled,\n })}\n {...other}\n />\n );\n};\n\nYear.displayName = 'Year';\n\nexport default React.forwardRef<HTMLDivElement, YearProps>((props, ref) => (\n <Year {...props} forwardedRef={ref} />\n));\n","import * as React from 'react';\nimport Year from './Year';\nimport { DateType } from '@date-io/type';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useUtils } from '../../_shared/hooks/useUtils';\nimport { VariantContext } from '../../wrappers/Wrapper';\nimport { MaterialUiPickersDate } from '../../typings/date';\n\nexport interface YearSelectionProps {\n date: MaterialUiPickersDate;\n minDate: DateType;\n maxDate: DateType;\n onChange: (date: MaterialUiPickersDate, isFinish: boolean) => void;\n disablePast?: boolean | null | undefined;\n disableFuture?: boolean | null | undefined;\n animateYearScrolling?: boolean | null | undefined;\n onYearChange?: (date: MaterialUiPickersDate) => void;\n}\n\nexport const useStyles = makeStyles(\n {\n container: {\n height: 300,\n overflowY: 'auto',\n },\n },\n { name: 'MuiPickersYearSelection' }\n);\n\nexport const YearSelection: React.FC<YearSelectionProps> = ({\n date,\n onChange,\n onYearChange,\n minDate,\n maxDate,\n disablePast,\n disableFuture,\n animateYearScrolling,\n}) => {\n const utils = useUtils();\n const classes = useStyles();\n const currentVariant = React.useContext(VariantContext);\n const selectedYearRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n if (selectedYearRef.current && selectedYearRef.current.scrollIntoView) {\n try {\n selectedYearRef.current.scrollIntoView({\n block: currentVariant === 'static' ? 'nearest' : 'center',\n behavior: animateYearScrolling ? 'smooth' : 'auto',\n });\n } catch (e) {\n // call without arguments in case when scrollIntoView works improperly (e.g. Firefox 52-57)\n selectedYearRef.current.scrollIntoView();\n }\n }\n }, []); // eslint-disable-line\n\n const currentYear = utils.getYear(date);\n const onYearSelect = React.useCallback(\n (year: number) => {\n const newDate = utils.setYear(date, year);\n if (onYearChange) {\n onYearChange(newDate);\n }\n\n onChange(newDate, true);\n },\n [date, onChange, onYearChange, utils]\n );\n\n return (\n <div className={classes.container}>\n {utils.getYearRange(minDate, maxDate).map(year => {\n const yearNumber = utils.getYear(year);\n const selected = yearNumber === currentYear;\n\n return (\n <Year\n key={utils.getYearText(year)}\n selected={selected}\n value={yearNumber}\n onSelect={onYearSelect}\n ref={selected ? selectedYearRef : undefined}\n disabled={Boolean(\n (disablePast && utils.isBeforeYear(year, utils.date())) ||\n (disableFuture && utils.isAfterYear(year, utils.date()))\n )}\n >\n {utils.getYearText(year)}\n </Year>\n );\n })}\n </div>\n );\n};\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport Typography from '@material-ui/core/Typography';\nimport { makeStyles } from '@material-ui/core/styles';\n\nexport interface MonthProps {\n children: React.ReactNode;\n disabled?: boolean;\n onSelect: (value: any) => void;\n selected?: boolean;\n value: any;\n}\n\nexport const useStyles = makeStyles(\n theme => ({\n root: {\n flex: '1 0 33.33%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n outline: 'none',\n height: 75,\n transition: theme.transitions.create('font-size', { duration: '100ms' }),\n '&:focus': {\n color: theme.palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n },\n },\n monthSelected: {\n color: theme.palette.primary.main,\n fontWeight: theme.typography.fontWeightMedium,\n },\n monthDisabled: {\n pointerEvents: 'none',\n color: theme.palette.text.hint,\n },\n }),\n { name: 'MuiPickersMonth' }\n);\n\nexport const Month: React.FC<MonthProps> = ({\n selected,\n onSelect,\n disabled,\n value,\n children,\n ...other\n}) => {\n const classes = useStyles();\n const handleSelection = React.useCallback(() => {\n onSelect(value);\n }, [onSelect, value]);\n\n return (\n <Typography\n role=\"button\"\n component=\"div\"\n className={clsx(classes.root, {\n [classes.monthSelected]: selected,\n [classes.monthDisabled]: disabled,\n })}\n tabIndex={disabled ? -1 : 0}\n onClick={handleSelection}\n onKeyPress={handleSelection}\n color={selected ? 'primary' : undefined}\n variant={selected ? 'h5' : 'subtitle1'}\n children={children}\n {...other}\n />\n );\n};\n\nMonth.displayName = 'Month';\n\nexport default Month;\n","import * as React from 'react';\nimport Month from './Month';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useUtils } from '../../_shared/hooks/useUtils';\nimport { ParsableDate } from '../../constants/prop-types';\nimport { MaterialUiPickersDate } from '../../typings/date';\n\nexport interface MonthSelectionProps {\n date: MaterialUiPickersDate;\n minDate?: ParsableDate;\n maxDate?: ParsableDate;\n onChange: (date: MaterialUiPickersDate, isFinish: boolean) => void;\n disablePast?: boolean | null | undefined;\n disableFuture?: boolean | null | undefined;\n onMonthChange?: (date: MaterialUiPickersDate) => void | Promise<void>;\n}\n\nexport const useStyles = makeStyles(\n {\n container: {\n width: 310,\n display: 'flex',\n flexWrap: 'wrap',\n alignContent: 'stretch',\n },\n },\n { name: 'MuiPickersMonthSelection' }\n);\n\nexport const MonthSelection: React.FC<MonthSelectionProps> = ({\n disablePast,\n disableFuture,\n minDate,\n maxDate,\n date,\n onMonthChange,\n onChange,\n}) => {\n const utils = useUtils();\n const classes = useStyles();\n const currentMonth = utils.getMonth(date);\n\n const shouldDisableMonth = (month: MaterialUiPickersDate) => {\n const now = utils.date();\n const utilMinDate = utils.date(minDate);\n const utilMaxDate = utils.date(maxDate);\n\n const firstEnabledMonth = utils.startOfMonth(\n disablePast && utils.isAfter(now, utilMinDate) ? now : utilMinDate\n );\n\n const lastEnabledMonth = utils.startOfMonth(\n disableFuture && utils.isBefore(now, utilMaxDate) ? now : utilMaxDate\n );\n\n const isBeforeFirstEnabled = utils.isBefore(month, firstEnabledMonth);\n const isAfterLastEnabled = utils.isAfter(month, lastEnabledMonth);\n\n return isBeforeFirstEnabled || isAfterLastEnabled;\n };\n\n const onMonthSelect = React.useCallback(\n (month: number) => {\n const newDate = utils.setMonth(date, month);\n\n onChange(newDate, true);\n if (onMonthChange) {\n onMonthChange(newDate);\n }\n },\n [date, onChange, onMonthChange, utils]\n );\n\n return (\n <div className={classes.container}>\n {utils.getMonthArray(date).map(month => {\n const monthNumber = utils.getMonth(month);\n const monthText = utils.format(month, 'MMM');\n\n return (\n <Month\n key={monthText}\n value={monthNumber}\n selected={monthNumber === currentMonth}\n onSelect={onMonthSelect}\n disabled={shouldDisableMonth(month)}\n >\n {monthText}\n </Month>\n );\n })}\n </div>\n );\n};\n","import * as React from 'react';\nimport { useIsomorphicEffect } from './useKeyDown';\nimport { BasePickerProps } from '../../typings/BasePicker';\n\nconst getOrientation = () => {\n if (typeof window === 'undefined') {\n return 'portrait';\n }\n\n if (window.screen && window.screen.orientation && window.screen.orientation.angle) {\n return Math.abs(window.screen.orientation.angle) === 90 ? 'landscape' : 'portrait';\n }\n\n // Support IOS safari\n if (window.orientation) {\n return Math.abs(Number(window.orientation)) === 90 ? 'landscape' : 'portrait';\n }\n\n return 'portrait';\n};\n\nexport function useIsLandscape(customOrientation?: BasePickerProps['orientation']) {\n const [orientation, setOrientation] = React.useState<BasePickerProps['orientation']>(\n getOrientation()\n );\n\n const eventHandler = React.useCallback(() => setOrientation(getOrientation()), []);\n\n useIsomorphicEffect(() => {\n window.addEventListener('orientationchange', eventHandler);\n return () => window.removeEventListener('orientationchange', eventHandler);\n }, [eventHandler]);\n\n const orientationToUse = customOrientation || orientation;\n return orientationToUse === 'landscape';\n}\n","import * as React from 'react';\nimport clsx from 'clsx';\nimport Calendar from '../views/Calendar/Calendar';\nimport { useUtils } from '../_shared/hooks/useUtils';\nimport { useViews } from '../_shared/hooks/useViews';\nimport { ClockView } from '../views/Clock/ClockView';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { YearSelection } from '../views/Year/YearView';\nimport { BasePickerProps } from '../typings/BasePicker';\nimport { MaterialUiPickersDate } from '../typings/date';\nimport { MonthSelection } from '../views/Month/MonthView';\nimport { BaseTimePickerProps } from '../TimePicker/TimePicker';\nimport { BaseDatePickerProps } from '../DatePicker/DatePicker';\nimport { useIsLandscape } from '../_shared/hooks/useIsLandscape';\nimport { datePickerDefaultProps } from '../constants/prop-types';\nimport { DIALOG_WIDTH_WIDER, DIALOG_WIDTH, VIEW_HEIGHT } from '../constants/dimensions';\n\nconst viewsMap = {\n year: YearSelection,\n month: MonthSelection,\n date: Calendar,\n hours: ClockView,\n minutes: ClockView,\n seconds: ClockView,\n};\n\nexport type PickerView = keyof typeof viewsMap;\n\nexport type ToolbarComponentProps = BaseDatePickerProps &\n BaseTimePickerProps & {\n views: PickerView[];\n openView: PickerView;\n date: MaterialUiPickersDate;\n setOpenView: (view: PickerView) => void;\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\n // TODO move out, cause it is DateTimePickerOnly\n hideTabs?: boolean;\n dateRangeIcon?: React.ReactNode;\n timeIcon?: React.ReactNode;\n isLandscape: boolean;\n };\n\nexport interface PickerViewProps extends BaseDatePickerProps, BaseTimePickerProps {\n views: PickerView[];\n openTo: PickerView;\n disableToolbar?: boolean;\n ToolbarComponent: React.ComponentType<ToolbarComponentProps>;\n // TODO move out, cause it is DateTimePickerOnly\n hideTabs?: boolean;\n dateRangeIcon?: React.ReactNode;\n timeIcon?: React.ReactNode;\n}\n\ninterface PickerProps extends PickerViewProps {\n date: MaterialUiPickersDate;\n orientation?: BasePickerProps['orientation'];\n onChange: (date: MaterialUiPickersDate, isFinish?: boolean) => void;\n}\n\nconst useStyles = makeStyles(\n {\n container: {\n display: 'flex',\n flexDirection: 'column',\n },\n containerLandscape: {\n flexDirection: 'row',\n },\n pickerView: {\n overflowX: 'hidden',\n minHeight: VIEW_HEIGHT,\n minWidth: DIALOG_WIDTH,\n maxWidth: DIALOG_WIDTH_WIDER,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n },\n pickerViewLandscape: {\n padding: '0 8px',\n },\n },\n { name: 'MuiPickersBasePicker' }\n);\n\nexport const Picker: React.FunctionComponent<PickerProps> = ({\n date,\n views,\n disableToolbar,\n onChange,\n openTo,\n minDate: unparsedMinDate,\n maxDate: unparsedMaxDate,\n ToolbarComponent,\n orientation,\n ...rest\n}) => {\n const utils = useUtils();\n const classes = useStyles();\n const isLandscape = useIsLandscape(orientation);\n const { openView, setOpenView, handleChangeAndOpenNext } = useViews(views, openTo, onChange);\n\n const minDate = React.useMemo(() => utils.date(unparsedMinDate)!, [unparsedMinDate, utils]);\n const maxDate = React.useMemo(() => utils.date(unparsedMaxDate)!, [unparsedMaxDate, utils]);\n\n return (\n <div\n className={clsx(classes.container, {\n [classes.containerLandscape]: isLandscape,\n })}\n >\n {!disableToolbar && (\n <ToolbarComponent\n {...rest}\n views={views}\n isLandscape={isLandscape}\n date={date}\n onChange={onChange}\n setOpenView={setOpenView}\n openView={openView}\n />\n )}\n\n <div className={clsx(classes.pickerView, { [classes.pickerViewLandscape]: isLandscape })}>\n {openView === 'year' && (\n <YearSelection\n {...rest}\n date={date}\n onChange={handleChangeAndOpenNext}\n minDate={minDate}\n maxDate={maxDate}\n />\n )}\n\n {openView === 'month' && (\n <MonthSelection\n {...rest}\n date={date}\n onChange={handleChangeAndOpenNext}\n minDate={minDate}\n maxDate={maxDate}\n />\n )}\n\n {openView === 'date' && (\n <Calendar\n {...rest}\n date={date}\n onChange={handleChangeAndOpenNext}\n minDate={minDate}\n maxDate={maxDate}\n />\n )}\n\n {(openView === 'hours' || openView === 'minutes' || openView === 'seconds') && (\n <ClockView\n {...rest}\n date={date}\n type={openView}\n onHourChange={handleChangeAndOpenNext}\n onMinutesChange={handleChangeAndOpenNext}\n onSecondsChange={handleChangeAndOpenNext}\n />\n )}\n </div>\n </div>\n );\n};\n\nPicker.defaultProps = {\n ...datePickerDefaultProps,\n views: Object.keys(viewsMap),\n} as any;\n"],"names":["date","PropTypes","Date","datePickerView","timePickerDefaultProps","ampm","invalidDateMessage","datePickerDefaultProps","minDate","maxDate","minDateMessage","maxDateMessage","allowKeyboardControl","dateTimePickerDefaultProps","showTabs","useViews","views","openTo","onChange","React","arrayIncludes","openView","setOpenView","handleChangeAndOpenNext","isFinish","nextViewToOpen","indexOf","Boolean","useStyles","makeStyles","theme","root","height","display","alignItems","justifyContent","cursor","outline","color","palette","primary","main","fontWeight","typography","fontWeightMedium","yearSelected","margin","yearDisabled","pointerEvents","text","hint","name","Year","onSelect","forwardedRef","value","selected","disabled","children","other","classes","handleClick","React.createElement","undefined","clsx","displayName","props","ref","container","overflowY","YearSelection","onYearChange","disablePast","disableFuture","animateYearScrolling","utils","useUtils","currentVariant","VariantContext","selectedYearRef","current","scrollIntoView","block","behavior","e","currentYear","getYear","onYearSelect","year","newDate","setYear","getYearRange","map","yearNumber","getYearText","isBeforeYear","isAfterYear","flex","transition","transitions","create","duration","monthSelected","monthDisabled","Month","handleSelection","width","flexWrap","alignContent","MonthSelection","onMonthChange","currentMonth","getMonth","shouldDisableMonth","month","now","utilMinDate","utilMaxDate","firstEnabledMonth","startOfMonth","isAfter","lastEnabledMonth","isBefore","isBeforeFirstEnabled","isAfterLastEnabled","onMonthSelect","setMonth","getMonthArray","monthNumber","monthText","format","getOrientation","window","screen","orientation","angle","Math","abs","Number","useIsLandscape","customOrientation","setOrientation","eventHandler","useIsomorphicEffect","addEventListener","removeEventListener","orientationToUse","viewsMap","Calendar","hours","ClockView","minutes","seconds","flexDirection","containerLandscape","pickerView","overflowX","minHeight","VIEW_HEIGHT","minWidth","DIALOG_WIDTH","maxWidth","DIALOG_WIDTH_WIDER","pickerViewLandscape","padding","Picker","disableToolbar","unparsedMinDate","unparsedMaxDate","ToolbarComponent","rest","isLandscape","defaultProps","Object","keys"],"mappings":"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"}
\No newline at end of file