UNPKG

3.73 kBSource Map (JSON)View Raw
1{"version":3,"file":"TimePicker.js","sources":["../../src/TimePicker/TimePicker.tsx"],"sourcesContent":["import { useUtils } from '../_shared/hooks/useUtils';\nimport { TimePickerToolbar } from './TimePickerToolbar';\nimport { PureDateInput } from '../_shared/PureDateInput';\nimport { KeyboardDateInput } from '../_shared/KeyboardDateInput';\nimport { timePickerDefaultProps } from '../constants/prop-types';\nimport { usePickerState } from '../_shared/hooks/usePickerState';\nimport { pick12hOr24hFormat } from '../_helpers/text-field-helper';\nimport { useKeyboardPickerState } from '../_shared/hooks/useKeyboardPickerState';\nimport {\n WithKeyboardInputProps,\n makePickerWithState,\n WithPureInputProps,\n} from '../Picker/makePickerWithState';\n\ntype TimePickerView = 'hours' | 'minutes' | 'seconds';\n\nexport interface BaseTimePickerProps {\n /**\n * 12h/24h view for hour selection clock\n * @default true\n */\n ampm?: boolean;\n /**\n * Step over minutes\n * @default 1\n */\n minutesStep?: number;\n}\n\nexport interface TimePickerViewsProps extends BaseTimePickerProps {\n /** Array of views to show */\n views?: ('hours' | 'minutes' | 'seconds')[];\n /** First view to show in timepicker */\n openTo?: 'hours' | 'minutes' | 'seconds';\n}\n\nexport type TimePickerProps = WithPureInputProps & TimePickerViewsProps;\n\nexport type KeyboardTimePickerProps = WithKeyboardInputProps & TimePickerViewsProps;\n\nconst defaultProps = {\n ...timePickerDefaultProps,\n openTo: 'hours' as TimePickerView,\n views: ['hours', 'minutes'] as TimePickerView[],\n};\n\nfunction useOptions(props: TimePickerProps | KeyboardTimePickerProps) {\n const utils = useUtils();\n\n return {\n getDefaultFormat: () =>\n pick12hOr24hFormat(props.format, props.ampm, {\n '12h': utils.time12hFormat,\n '24h': utils.time24hFormat,\n }),\n };\n}\n\nexport const TimePicker = makePickerWithState<TimePickerProps>({\n useOptions,\n Input: PureDateInput,\n useState: usePickerState,\n DefaultToolbarComponent: TimePickerToolbar,\n});\n\nexport const KeyboardTimePicker = makePickerWithState<KeyboardTimePickerProps>({\n useOptions,\n Input: KeyboardDateInput,\n useState: useKeyboardPickerState,\n DefaultToolbarComponent: TimePickerToolbar,\n getCustomProps: props => ({\n refuse: props.ampm ? /[^\\dap]+/gi : /[^\\d]+/gi,\n }),\n});\n\nTimePicker.defaultProps = defaultProps;\n\nKeyboardTimePicker.defaultProps = defaultProps;\n"],"names":["defaultProps","timePickerDefaultProps","openTo","views","useOptions","props","utils","useUtils","getDefaultFormat","pick12hOr24hFormat","format","ampm","time12hFormat","time24hFormat","TimePicker","makePickerWithState","Input","PureDateInput","useState","usePickerState","DefaultToolbarComponent","TimePickerToolbar","KeyboardTimePicker","KeyboardDateInput","useKeyboardPickerState","getCustomProps","refuse"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,IAAMA,YAAY,qBACbC,sBADa;EAEhBC,MAAM,EAAE,OAFQ;EAGhBC,KAAK,EAAE,CAAC,OAAD,EAAU,SAAV;EAHT;;AAMA,SAASC,UAAT,CAAoBC,KAApB,EAAsE;MAC9DC,KAAK,GAAGC,QAAQ,EAAtB;SAEO;IACLC,gBAAgB,EAAE;aAChBC,kBAAkB,CAACJ,KAAK,CAACK,MAAP,EAAeL,KAAK,CAACM,IAArB,EAA2B;eACpCL,KAAK,CAACM,aAD8B;eAEpCN,KAAK,CAACO;OAFG,CADF;;GADpB;;;AASF,IAAaC,UAAU,GAAGC,mBAAmB,CAAkB;EAC7DX,UAAU,EAAVA,UAD6D;EAE7DY,KAAK,EAAEC,aAFsD;EAG7DC,QAAQ,EAAEC,cAHmD;EAI7DC,uBAAuB,EAAEC;CAJkB,CAAtC;AAOP,IAAaC,kBAAkB,GAAGP,mBAAmB,CAA0B;EAC7EX,UAAU,EAAVA,UAD6E;EAE7EY,KAAK,EAAEO,iBAFsE;EAG7EL,QAAQ,EAAEM,sBAHmE;EAI7EJ,uBAAuB,EAAEC,iBAJoD;EAK7EI,cAAc,EAAE,wBAAApB,KAAK;WAAK;MACxBqB,MAAM,EAAErB,KAAK,CAACM,IAAN,GAAa,YAAb,GAA4B;KADjB;;CAL8B,CAA9C;AAUPG,UAAU,CAACd,YAAX,GAA0BA,YAA1B;AAEAsB,kBAAkB,CAACtB,YAAnB,GAAkCA,YAAlC;;;;"}
\No newline at end of file