@skbkontur/react-ui 5.0.5 → 5.0.6-next.0
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/Autocomplete/locale/types.js +1 -1
- package/cjs/components/Calendar/DayCellView.js +15 -8
- package/cjs/components/Calendar/DayCellView.js.map +1 -1
- package/cjs/components/Calendar/locale/types.js +1 -1
- package/cjs/components/DateInput/DateInput.js +1 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -1
- package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
- package/cjs/components/DatePicker/DatePicker.d.ts +2 -1
- package/cjs/components/DatePicker/DatePicker.js +10 -2
- package/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/cjs/components/DatePicker/MobilePicker.js +12 -15
- package/cjs/components/DatePicker/MobilePicker.js.map +1 -1
- package/cjs/components/DatePicker/locale/types.js +1 -1
- package/cjs/components/FileUploader/locale/types.js +1 -1
- package/cjs/components/Input/Input.typings.js +1 -1
- package/cjs/components/Modal/locale/types.js +1 -1
- package/cjs/components/Paging/locale/types.js +1 -1
- package/cjs/components/PasswordInput/locale/types.js +1 -1
- package/cjs/components/ResponsiveLayout/types.js +1 -1
- package/cjs/components/Select/locale/types.js +1 -1
- package/cjs/components/SidePage/locale/types.js +1 -1
- package/cjs/components/Toast/locale/types.js +1 -1
- package/cjs/components/Token/locale/types.js +1 -1
- package/cjs/components/TokenInput/TokenInput.js +1 -1
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/components/TokenInput/locale/types.js +1 -1
- package/cjs/internal/CommonWrapper/types.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js +1 -1
- package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
- package/cjs/internal/CustomComboBox/locale/types.js +1 -1
- package/cjs/internal/DateSelect/locale/types.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js +1 -1
- package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +3 -3
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -29
- package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js +26 -0
- package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.js.map +1 -1
- package/cjs/internal/Popup/types.js +1 -1
- package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js +1 -1
- package/cjs/internal/ThemePlayground/constants.js.map +1 -1
- package/cjs/lib/date/types.js +6 -6
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +1 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js +1 -1
- package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
- package/cjs/lib/locale/types.js +1 -1
- package/cjs/lib/locale/types.js.map +1 -1
- package/cjs/lib/taskWithDelayAndMinimalDuration.js +4 -0
- package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/cjs/lib/theming/Theme.js +1 -1
- package/cjs/lib/types/button-link.js +1 -1
- package/cjs/lib/types/polymorphic-component.js +1 -1
- package/cjs/lib/types/props.js +1 -1
- package/components/Autocomplete/locale/types/types.js +0 -1
- package/components/Calendar/DayCellView/DayCellView.js +14 -11
- package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
- package/components/Calendar/locale/types/types.js +0 -1
- package/components/DateInput/DateInput/DateInput.js +1 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +3 -3
- package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
- package/components/DatePicker/DatePicker/DatePicker.js +8 -2
- package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
- package/components/DatePicker/DatePicker.d.ts +2 -1
- package/components/DatePicker/MobilePicker/MobilePicker.js +12 -14
- package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -1
- package/components/DatePicker/locale/types/types.js +0 -1
- package/components/FileUploader/locale/types/types.js +0 -1
- package/components/Input/Input.typings/Input.typings.js +0 -1
- package/components/Modal/locale/types/types.js +0 -1
- package/components/Paging/locale/types/types.js +0 -1
- package/components/PasswordInput/locale/types/types.js +0 -1
- package/components/ResponsiveLayout/types/types.js +0 -1
- package/components/Select/locale/types/types.js +0 -1
- package/components/SidePage/locale/types/types.js +0 -1
- package/components/Toast/locale/types/types.js +0 -1
- package/components/Token/locale/types/types.js +0 -1
- package/components/TokenInput/TokenInput/TokenInput.js +3 -3
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/locale/types/types.js +0 -1
- package/internal/CommonWrapper/index/index.js +1 -2
- package/internal/CommonWrapper/index/index.js.map +1 -1
- package/internal/CommonWrapper/types/types.js +0 -1
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js +3 -3
- package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
- package/internal/CustomComboBox/locale/types/types.js +0 -1
- package/internal/DateSelect/locale/types/types.js +0 -1
- package/internal/FileUploaderControl/fileUtils/fileUtils.js +3 -3
- package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +32 -31
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
- package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +3 -3
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js +81 -0
- package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey/HideBodyVerticalScroll.creevey.js.map +1 -1
- package/internal/Popup/types/types.js +0 -1
- package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +0 -1
- package/internal/ThemePlayground/constants/constants.js +3 -3
- package/internal/ThemePlayground/constants/constants.js.map +1 -1
- package/internal/ZIndex/index/index.js +1 -2
- package/internal/ZIndex/index/index.js.map +1 -1
- package/lib/date/types/types.js +18 -18
- package/lib/date/types/types.js.map +1 -1
- package/lib/events/MouseDrag/MouseDrag.js +3 -3
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js +3 -3
- package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
- package/lib/locale/types/types.js +3 -3
- package/lib/locale/types/types.js.map +1 -1
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +3 -0
- package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -1
- package/lib/theming/Theme/Theme.js +0 -1
- package/lib/types/button-link/button-link.js +0 -1
- package/lib/types/polymorphic-component/polymorphic-component.js +0 -1
- package/lib/types/props/props.js +0 -1
- package/package.json +2 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useContext } from 'react';
|
|
1
|
+
import React, { useCallback, useContext } from 'react';
|
|
2
2
|
import { ThemeContext } from "../../../lib/theming/ThemeContext";
|
|
3
3
|
import { InternalDateTransformer } from "../../../lib/date/InternalDateTransformer";
|
|
4
4
|
import { styles } from "../DayCellView.styles";
|
|
@@ -17,22 +17,25 @@ export var DayCellView = function DayCellView(props) {
|
|
|
17
17
|
today = _useContext.today,
|
|
18
18
|
onDateClick = _useContext.onDateClick;
|
|
19
19
|
var theme = useContext(ThemeContext);
|
|
20
|
-
var
|
|
21
|
-
onDateClick == null || onDateClick(date);
|
|
22
|
-
};
|
|
20
|
+
var isDisabled = !CDS.isBetween(date, minDate, maxDate);
|
|
23
21
|
var humanDateString = InternalDateTransformer.dateToHumanString(date);
|
|
24
22
|
var dayProps = {
|
|
25
23
|
isToday: Boolean(today && CDS.isEqual(date, today)),
|
|
26
24
|
isSelected: Boolean(value && CDS.isEqual(date, value)),
|
|
27
|
-
isDisabled:
|
|
25
|
+
isDisabled: isDisabled,
|
|
28
26
|
isWeekend: (_isHoliday = isHoliday == null ? void 0 : isHoliday(humanDateString, date.isWeekend)) != null ? _isHoliday : date.isWeekend,
|
|
29
27
|
date: humanDateString
|
|
30
28
|
};
|
|
31
29
|
var dayElement = (_renderDay = renderDay == null ? void 0 : renderDay(dayProps)) != null ? _renderDay : /*#__PURE__*/React.createElement(CalendarDay, dayProps);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
var customDayClickHandler = dayElement.props.onClick;
|
|
31
|
+
var dayClickHandler = useCallback(function (e) {
|
|
32
|
+
customDayClickHandler == null || customDayClickHandler(e);
|
|
33
|
+
onDateClick == null || onDateClick(date);
|
|
34
|
+
}, [customDayClickHandler, onDateClick, date]);
|
|
35
|
+
var dayElementWithClickHandler = /*#__PURE__*/React.cloneElement(dayElement, {
|
|
36
|
+
onClick: dayClickHandler
|
|
37
|
+
});
|
|
38
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
+
className: styles.cell(theme)
|
|
40
|
+
}, dayElementWithClickHandler);
|
|
38
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useContext","ThemeContext","InternalDateTransformer","styles","CalendarContext","CDS","CalendarDay","DayCellView","props","_isHoliday","_renderDay","date","_useContext","value","minDate","maxDate","isHoliday","renderDay","today","onDateClick","theme","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useContext","ThemeContext","InternalDateTransformer","styles","CalendarContext","CDS","CalendarDay","DayCellView","props","_isHoliday","_renderDay","date","_useContext","value","minDate","maxDate","isHoliday","renderDay","today","onDateClick","theme","isDisabled","isBetween","humanDateString","dateToHumanString","dayProps","isToday","Boolean","isEqual","isSelected","isWeekend","dayElement","createElement","customDayClickHandler","onClick","dayClickHandler","e","dayElementWithClickHandler","cloneElement","className","cell"],"sources":["DayCellView.tsx"],"sourcesContent":["import React, { ReactElement, useCallback, useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\n\nimport { styles } from './DayCellView.styles';\nimport { CalendarContext } from './CalendarContext';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDay, CalendarDayProps } from './CalendarDay';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps) => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const theme = useContext(ThemeContext);\n\n const isDisabled = !CDS.isBetween(date, minDate, maxDate);\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled,\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n };\n\n const dayElement: ReactElement<CalendarDayProps> = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n const customDayClickHandler = dayElement.props.onClick;\n\n const dayClickHandler = useCallback<NonNullable<typeof customDayClickHandler>>(\n (e) => {\n customDayClickHandler?.(e);\n onDateClick?.(date);\n },\n [customDayClickHandler, onDateClick, date],\n );\n\n const dayElementWithClickHandler = React.cloneElement<CalendarDayProps>(dayElement, {\n onClick: dayClickHandler,\n });\n\n return <div className={styles.cell(theme)}>{dayElementWithClickHandler}</div>;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAkBC,WAAW,EAAEC,UAAU,QAAQ,OAAO;;AAEpE,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,uBAAuB,QAAQ,wCAAwC;;AAEhF,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD,OAAO,KAAKC,GAAG,MAAM,qBAAqB;AAC1C,SAASC,WAAW,QAA0B,eAAe;;;;;;AAM7D,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAuB,EAAK,KAAAC,UAAA,EAAAC,UAAA;EACtD,IAAQC,IAAI,GAAKH,KAAK,CAAdG,IAAI;EACZ,IAAAC,WAAA,GAA8EZ,UAAU,CAACI,eAAe,CAAC,CAAjGS,KAAK,GAAAD,WAAA,CAALC,KAAK,CAAEC,OAAO,GAAAF,WAAA,CAAPE,OAAO,CAAEC,OAAO,GAAAH,WAAA,CAAPG,OAAO,CAAEC,SAAS,GAAAJ,WAAA,CAATI,SAAS,CAAEC,SAAS,GAAAL,WAAA,CAATK,SAAS,CAAEC,KAAK,GAAAN,WAAA,CAALM,KAAK,CAAEC,WAAW,GAAAP,WAAA,CAAXO,WAAW;EACzE,IAAMC,KAAK,GAAGpB,UAAU,CAACC,YAAY,CAAC;;EAEtC,IAAMoB,UAAU,GAAG,CAAChB,GAAG,CAACiB,SAAS,CAACX,IAAI,EAAEG,OAAO,EAAEC,OAAO,CAAC;;EAEzD,IAAMQ,eAAe,GAAGrB,uBAAuB,CAACsB,iBAAiB,CAACb,IAAI,CAAC;;EAEvE,IAAMc,QAA0B,GAAG;IACjCC,OAAO,EAAEC,OAAO,CAACT,KAAK,IAAIb,GAAG,CAACuB,OAAO,CAACjB,IAAI,EAAEO,KAAK,CAAC,CAAC;IACnDW,UAAU,EAAEF,OAAO,CAACd,KAAK,IAAIR,GAAG,CAACuB,OAAO,CAACjB,IAAI,EAAEE,KAAK,CAAC,CAAC;IACtDQ,UAAU,EAAVA,UAAU;IACVS,SAAS,GAAArB,UAAA,GAAEO,SAAS,oBAATA,SAAS,CAAGO,eAAe,EAAEZ,IAAI,CAACmB,SAAS,CAAC,YAAArB,UAAA,GAAIE,IAAI,CAACmB,SAAS;IACzEnB,IAAI,EAAEY;EACR,CAAC;;EAED,IAAMQ,UAA0C,IAAArB,UAAA,GAAGO,SAAS,oBAATA,SAAS,CAAGQ,QAAQ,CAAC,YAAAf,UAAA,gBAAIZ,KAAA,CAAAkC,aAAA,CAAC1B,WAAW,EAAKmB,QAAW,CAAC;EACzG,IAAMQ,qBAAqB,GAAGF,UAAU,CAACvB,KAAK,CAAC0B,OAAO;;EAEtD,IAAMC,eAAe,GAAGpC,WAAW;IACjC,UAACqC,CAAC,EAAK;MACLH,qBAAqB,YAArBA,qBAAqB,CAAGG,CAAC,CAAC;MAC1BjB,WAAW,YAAXA,WAAW,CAAGR,IAAI,CAAC;IACrB,CAAC;IACD,CAACsB,qBAAqB,EAAEd,WAAW,EAAER,IAAI;EAC3C,CAAC;;EAED,IAAM0B,0BAA0B,gBAAGvC,KAAK,CAACwC,YAAY,CAAmBP,UAAU,EAAE;IAClFG,OAAO,EAAEC;EACX,CAAC,CAAC;;EAEF,oBAAOrC,KAAA,CAAAkC,aAAA,UAAKO,SAAS,EAAEpC,MAAM,CAACqC,IAAI,CAACpB,KAAK,CAAE,IAAEiB,0BAAgC,CAAC;AAC/E,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -327,7 +327,7 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
327
327
|
if (prevProps.value !== value || prevProps.minDate !== minDate || prevProps.maxDate !== maxDate || this.iDateMediator.isChangedLocale(this.locale)) {
|
|
328
328
|
this.updateFromProps(false);
|
|
329
329
|
}
|
|
330
|
-
this.selectNode();
|
|
330
|
+
!this.props.disabled && this.selectNode();
|
|
331
331
|
};
|
|
332
332
|
_proto.componentDidMount = function componentDidMount() {
|
|
333
333
|
this.updateFromProps(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","ReactDOM","globalObject","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CommonWrapper","cx","rootNode","createPropsGetter","FocusControlWrapper","CalendarIcon","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInputDataTids","icon","DateInput","_dec","_class","_DateInput","_React$Component","props","_this","call","getProps","defaultProps","iDateMediator","inputLikeText","dateFragmentsView","isMouseDown","isMouseFocus","ignoringDelimiter","blurEvent","conditionalHandler","add","MoveSelectionLeft","shiftSelection","MoveSelectionRight","Separator","pressDelimiter","MoveSelectionFirst","selectDateComponent","getLeftmostType","MoveSelectionLast","getRightmostType","Increment","shiftDateComponent","Decrement","Digit","e","inputValue","ClearSelection","clearSelected","ClearOneChar","clearOneChar","FullSelection","fullSelection","WrongInput","blink","build","selectNode","type","state","selected","getRootNode","All","selectInnerNode","index","getTypesOrder","indexOf","renderIcon","_this$props","withIcon","_this$props$disabled","disabled","size","_cx","theme","createElement","iconStyles","iconSmall","iconMedium","iconLarge","iconDisabled","className","handleFocus","setState","prevState","focused","onFocus","resetFocus","updateValue","inputMode","handleBlur","onBlur","restored","restore","persist","handleMouseDownCapture","isFragment","target","preventDefault","handleSelectDateComponent","isEmpty","handleMouseDragStart","dragged","handleMouseDragEnd","selection","getSelection","toString","length","handleKeyDown","onKeyDown","handlePaste","pasted","clipboardData","getData","trim","validateString","paste","handleDoubleClick","inputLikeTextRef","el","dateFragmentsViewRef","sync","valueFormatted","getString","update","_extends","emitChange","version","search","flushSync","updateFromProps","value","get","getInternalString","onValueChange","clear","_this$state","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","_this$iDateMediator$i","inputKey","key","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$getProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","_this2","Consumer","renderMain","_cx2","_this$state2","showValue","Boolean","_this$getProps2","width","rootNodeRef","setRootNode","onBlurWhenDisabled","id","ref","error","warning","onClick","onMouseDownCapture","onPaste","rightIcon","onDoubleClickCapture","onMouseDragStart","onMouseDragEnd","takeContentWidth","valueVisible","fragments","getFragments","onSelectDateComponent","Component","__KONTUR_REACT_UI__","displayName"],"sources":["DateInput.tsx"],"sourcesContent":["import React, { HTMLAttributes } from 'react';\nimport ReactDOM from 'react-dom';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { ConditionalHandler } from '../../lib/ConditionalHandler';\nimport { LENGTH_FULLDATE, MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateComponentType } from '../../lib/date/types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InputLikeText } from '../../internal/InputLikeText';\nimport { locale } from '../../lib/locale/decorators';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { CalendarIcon } from './CalendarIcon';\nimport { DateFragmentsView } from './DateFragmentsView';\nimport { styles } from './DateInput.styles';\nimport { Actions, extractAction } from './helpers/DateInputKeyboardActions';\nimport { InternalDateMediator } from './helpers/InternalDateMediator';\n\nexport interface DateInputState {\n selected: InternalDateComponentType | null;\n valueFormatted: string;\n inputMode: boolean;\n focused: boolean;\n dragged: boolean;\n}\n\nexport const DateInputDataTids = {\n icon: 'DateInput__icon',\n} as const;\n\nexport interface DateInputProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n autoFocus?: boolean;\n value?: string;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n /**\n * Минимальная дата.\n * @default '01.01.1900'\n */\n minDate?: string;\n /**\n * Максимальная дата\n * @default '31.12.2099'\n */\n maxDate?: string;\n /**\n * Ширина поля\n * @default 125\n */\n width?: string | number;\n withIcon?: boolean;\n /**\n * Размер поля\n * @default 'small'\n */\n size?: SizeProp;\n onBlur?: (x0: React.FocusEvent<HTMLElement>) => void;\n onClick?: (x0: React.MouseEvent<HTMLElement>) => void;\n onFocus?: (x0: React.FocusEvent<HTMLElement>) => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange?: (value: string) => void;\n onKeyDown?: (x0: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ntype DefaultProps = Required<Pick<DateInputProps, 'value' | 'minDate' | 'maxDate' | 'size' | 'width'>>;\n\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n public static displayName = 'DateInput';\n\n public static defaultProps: DefaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\n\n private getProps = createPropsGetter(DateInput.defaultProps);\n\n private iDateMediator: InternalDateMediator = new InternalDateMediator();\n private inputLikeText: InputLikeText | null = null;\n private dateFragmentsView: DateFragmentsView | null = null;\n private isMouseDown = false;\n private isMouseFocus = false;\n private ignoringDelimiter = false;\n private locale!: DatePickerLocale;\n private blurEvent: React.FocusEvent<HTMLElement> | null = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private conditionalHandler = new ConditionalHandler<Actions, [React.KeyboardEvent<HTMLElement>]>()\n .add(Actions.MoveSelectionLeft, () => this.shiftSelection(-1))\n .add(Actions.MoveSelectionRight, () => this.shiftSelection(1))\n .add(Actions.Separator, () => this.pressDelimiter())\n .add(Actions.MoveSelectionFirst, () => this.selectDateComponent(this.iDateMediator.getLeftmostType()))\n .add(Actions.MoveSelectionLast, () => this.selectDateComponent(this.iDateMediator.getRightmostType()))\n .add(Actions.Increment, () => this.shiftDateComponent(1))\n .add(Actions.Decrement, () => this.shiftDateComponent(-1))\n .add(Actions.Digit, (e) => this.inputValue(e))\n .add(Actions.ClearSelection, () => this.clearSelected())\n .add(Actions.ClearOneChar, () => this.clearOneChar())\n .add(Actions.FullSelection, () => this.fullSelection())\n .add(Actions.WrongInput, () => this.blink())\n .build();\n\n constructor(props: DateInputProps) {\n super(props);\n\n this.state = {\n valueFormatted: '',\n selected: null,\n inputMode: false,\n focused: false,\n dragged: false,\n };\n }\n\n public componentDidUpdate(prevProps: DateInputProps) {\n const { value, minDate, maxDate } = this.getProps();\n if (\n prevProps.value !== value ||\n prevProps.minDate !== minDate ||\n prevProps.maxDate !== maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps(false);\n }\n !this.props.disabled && this.selectNode();\n }\n\n public selectNode = () => {\n const type = this.state.selected;\n const dateFragmentsView = this.dateFragmentsView && this.dateFragmentsView.getRootNode();\n if (type === null || !this.inputLikeText || !dateFragmentsView) {\n return;\n }\n if (type === InternalDateComponentType.All) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, 0, 5);\n return;\n }\n const index = this.iDateMediator.getTypesOrder().indexOf(type);\n if (index > -1) {\n this.inputLikeText.selectInnerNode(dateFragmentsView, index * 2, index * 2 + 1);\n }\n };\n\n public componentDidMount(): void {\n this.updateFromProps(false);\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public blur() {\n if (this.inputLikeText) {\n this.inputLikeText.blur();\n }\n }\n\n public focus() {\n if (this.inputLikeText) {\n this.inputLikeText.focus();\n }\n }\n\n public blink() {\n if (this.inputLikeText) {\n this.inputLikeText.blink();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { focused, selected, inputMode, valueFormatted } = this.state;\n const showValue = Boolean(focused || valueFormatted);\n const { width, size } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <InputLikeText\n id={this.props.id}\n width={width}\n ref={this.inputLikeTextRef}\n size={size}\n disabled={this.props.disabled}\n error={this.props.error}\n warning={this.props.warning}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.props.onClick}\n onKeyDown={this.handleKeyDown}\n onMouseDownCapture={this.handleMouseDownCapture}\n onPaste={this.handlePaste}\n rightIcon={this.renderIcon()}\n onDoubleClickCapture={this.handleDoubleClick}\n onMouseDragStart={this.handleMouseDragStart}\n onMouseDragEnd={this.handleMouseDragEnd}\n value={this.iDateMediator.getInternalString()}\n inputMode={'numeric'}\n takeContentWidth\n >\n <span className={cx(styles.value(), { [styles.valueVisible()]: showValue })}>\n <DateFragmentsView\n ref={this.dateFragmentsViewRef}\n fragments={this.iDateMediator.getFragments()}\n onSelectDateComponent={this.handleSelectDateComponent}\n selected={selected}\n inputMode={inputMode}\n />\n </span>\n </InputLikeText>\n </FocusControlWrapper>\n </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, disabled = false } = this.props;\n const size = this.getProps().size;\n\n if (withIcon) {\n const theme = this.theme;\n const icon = <CalendarIcon size={size} />;\n const iconStyles = cx({\n [styles.icon(theme)]: true,\n [styles.iconSmall(theme)]: size === 'small',\n [styles.iconMedium(theme)]: size === 'medium',\n [styles.iconLarge(theme)]: size === 'large',\n [styles.iconDisabled(theme)]: disabled,\n });\n return (\n <span className={iconStyles} data-tid={DateInputDataTids.icon}>\n {icon}\n </span>\n );\n }\n return null;\n };\n\n private handleFocus = (e: React.FocusEvent<HTMLElement>) => {\n this.setState((prevState) => ({\n focused: true,\n selected: this.isMouseDown && !prevState.focused ? prevState.selected : this.iDateMediator.getLeftmostType(),\n }));\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n };\n\n private resetFocus = () => this.updateValue({ focused: false, selected: null, inputMode: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n this.resetFocus();\n\n if (this.props.onBlur) {\n const restored = this.iDateMediator.restore();\n if (restored) {\n e.persist();\n this.blurEvent = e;\n } else {\n this.props.onBlur(e);\n }\n }\n };\n\n private handleMouseDownCapture = (e: React.MouseEvent<HTMLSpanElement>) => {\n const isFragment = this.dateFragmentsView ? this.dateFragmentsView.isFragment(e.target) : false;\n if (this.state.focused && !isFragment) {\n e.preventDefault();\n }\n this.isMouseFocus = !this.state.focused;\n this.isMouseDown = isFragment;\n };\n\n private handleSelectDateComponent = (type: InternalDateComponentType) => {\n if (!(this.isMouseFocus && this.iDateMediator.isEmpty())) {\n this.selectDateComponent(type);\n }\n this.isMouseFocus = false;\n this.isMouseDown = false;\n };\n\n private handleMouseDragStart = () => {\n this.setState({ dragged: true, selected: null });\n };\n\n private handleMouseDragEnd = () => {\n const selection = globalObject.getSelection?.();\n if (\n selection &&\n selection.toString().length === LENGTH_FULLDATE &&\n this.state.selected !== InternalDateComponentType.All\n ) {\n this.selectDateComponent(InternalDateComponentType.All);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (this.conditionalHandler(extractAction(e), e)) {\n e.preventDefault();\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handlePaste = (e: React.ClipboardEvent<HTMLElement>) => {\n const pasted = e && e.clipboardData.getData('text').trim();\n if (pasted && this.iDateMediator.validateString(pasted)) {\n this.iDateMediator.paste(pasted);\n this.updateValue();\n }\n };\n\n private handleDoubleClick = () => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private inputLikeTextRef = (el: InputLikeText | null) => {\n this.inputLikeText = el;\n };\n\n private dateFragmentsViewRef = (el: DateFragmentsView | null) => {\n this.dateFragmentsView = el;\n };\n\n private selectDateComponent = (selected: InternalDateComponentType | null): void => {\n this.setState({ selected, inputMode: false });\n };\n\n private updateValue = (state: Partial<DateInputState> = {}, sync = true): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n const update = () => this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n\n if (sync && React.version.search('18') === 0) {\n ReactDOM.flushSync(update);\n } else {\n update();\n }\n };\n\n private updateFromProps = (sync: boolean): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue({}, sync);\n };\n\n private fullSelection = (): void => {\n this.selectDateComponent(InternalDateComponentType.All);\n };\n\n private pressDelimiter = (): void => {\n const value = this.iDateMediator.get(this.state.selected);\n if (value !== null && value !== '') {\n if (!this.ignoringDelimiter) {\n this.shiftSelection(1);\n }\n this.ignoringDelimiter = false;\n }\n };\n\n private emitChange = (): void => {\n const value = this.iDateMediator.getInternalString();\n if (this.props.value === value) {\n return;\n }\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n if (this.blurEvent && this.props.onBlur) {\n this.props.onBlur(this.blurEvent);\n this.blurEvent = null;\n }\n };\n\n private clearSelected = (): void => {\n const selected = this.state.selected === null ? this.iDateMediator.getLeftmostType() : this.state.selected;\n this.iDateMediator.clear(selected);\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private clearOneChar = (): void => {\n const { selected, inputMode } = this.state;\n const nextType = selected === null ? this.iDateMediator.getRightmostType() : selected;\n if (this.iDateMediator.isNull(nextType)) {\n this.shiftSelection(-1);\n return;\n }\n if (selected === InternalDateComponentType.All) {\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.updateValue({ selected: this.iDateMediator.getLeftmostType() });\n return;\n }\n this.iDateMediator.deleteOneCharRight(nextType, inputMode);\n this.updateValue({\n inputMode: this.iDateMediator.get(nextType) !== null,\n selected: nextType,\n });\n };\n\n private shiftDateComponent = (step: number): void => {\n const { selected } = this.state;\n const changed = this.iDateMediator.shiftDateComponent(selected, step);\n if (!changed) {\n this.blink();\n return;\n }\n this.updateValue({\n inputMode: false,\n selected: selected === InternalDateComponentType.All ? this.iDateMediator.getLeftmostType() : selected,\n });\n };\n\n private shiftSelection = (step: number): void => {\n const selected = this.iDateMediator.getShiftedType(this.state.selected, step);\n if (selected !== this.state.selected) {\n this.setState({ selected, inputMode: false });\n }\n };\n\n private inputValue = (event: React.KeyboardEvent<HTMLElement>): void => {\n let selected = this.state.selected;\n if (selected === InternalDateComponentType.All) {\n selected = this.iDateMediator.getLeftmostType();\n this.iDateMediator.clear(InternalDateComponentType.All);\n this.setState({ selected });\n }\n const { inputMode, changed } = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n if (!changed) {\n this.blink();\n return;\n }\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,8 @@ import { KeyboardActionExctracterBuilder } from "../../../../lib/extractKeyboard
|
|
|
4
4
|
var delimiters = [function (e) {
|
|
5
5
|
return new RegExp(SEPARATOR).test(e.key);
|
|
6
6
|
}, Keyboard.isKeySpace, Keyboard.isCodeMinus, Keyboard.isCodeComma, Keyboard.isCodePeriod, Keyboard.isCodeSlash, Keyboard.isCodeBackslash, Keyboard.isCodeIntlBackslash, Keyboard.isCodeNumpadDecimal, Keyboard.isCodeNumpadDivide, Keyboard.isCodeNumpadSubtract];
|
|
7
|
-
export var Actions
|
|
7
|
+
export var Actions;
|
|
8
|
+
(function (Actions) {
|
|
8
9
|
Actions[Actions["Unknown"] = 0] = "Unknown";
|
|
9
10
|
Actions[Actions["Ignore"] = 1] = "Ignore";
|
|
10
11
|
Actions[Actions["MoveSelectionLeft"] = 2] = "MoveSelectionLeft";
|
|
@@ -21,8 +22,7 @@ export var Actions = /*#__PURE__*/function (Actions) {
|
|
|
21
22
|
Actions[Actions["WrongInput"] = 13] = "WrongInput";
|
|
22
23
|
Actions[Actions["PasteValue"] = 14] = "PasteValue";
|
|
23
24
|
Actions[Actions["CopyValue"] = 15] = "CopyValue";
|
|
24
|
-
|
|
25
|
-
}({});
|
|
25
|
+
})(Actions || (Actions = {}));
|
|
26
26
|
var extractAction = new KeyboardActionExctracterBuilder().add(Actions.PasteValue, Keyboard.isShortcutPaste).add(Actions.CopyValue, Keyboard.isShortcutCopy).add(Actions.FullSelection, Keyboard.isShortcutSelectAll).add(Actions.Ignore, Keyboard.someKeys(Keyboard.isModified(), Keyboard.isKeyFs, Keyboard.isKeyTab)).add(Actions.MoveSelectionLeft, Keyboard.isKeyArrowLeft).add(Actions.MoveSelectionRight, Keyboard.isKeyArrowRight).add(Actions.MoveSelectionFirst, Keyboard.isKeyHome).add(Actions.MoveSelectionLast, Keyboard.isKeyEnd).add(Actions.Separator, Keyboard.someKeys.apply(Keyboard, delimiters)).add(Actions.Increment, Keyboard.isKeyArrowUp).add(Actions.Decrement, Keyboard.isKeyArrowDown).add(Actions.ClearSelection, function (e) {
|
|
27
27
|
return Keyboard.isKeyDelete(e);
|
|
28
28
|
}).add(Actions.ClearOneChar, Keyboard.isKeyBackspace).add(Actions.Digit, Keyboard.isKeyNumber).add(Actions.WrongInput, function (e) {
|
package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SEPARATOR","Keyboard","KeyboardActionExctracterBuilder","delimiters","e","RegExp","test","key","isKeySpace","isCodeMinus","isCodeComma","isCodePeriod","isCodeSlash","isCodeBackslash","isCodeIntlBackslash","isCodeNumpadDecimal","isCodeNumpadDivide","isCodeNumpadSubtract","Actions","extractAction","add","PasteValue","isShortcutPaste","CopyValue","isShortcutCopy","FullSelection","isShortcutSelectAll","Ignore","someKeys","isModified","isKeyFs","isKeyTab","MoveSelectionLeft","isKeyArrowLeft","MoveSelectionRight","isKeyArrowRight","MoveSelectionFirst","isKeyHome","MoveSelectionLast","isKeyEnd","Separator","apply","Increment","isKeyArrowUp","Decrement","isKeyArrowDown","ClearSelection","isKeyDelete","ClearOneChar","isKeyBackspace","Digit","isKeyNumber","WrongInput","build","Unknown"],"sources":["DateInputKeyboardActions.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SEPARATOR } from '../../../lib/date/constants';\nimport * as Keyboard from '../../../lib/events/keyboard/identifiers';\nimport { KeyboardActionExctracterBuilder } from '../../../lib/extractKeyboardAction';\n\nconst delimiters = [\n (e: React.KeyboardEvent<HTMLElement> | KeyboardEvent) => new RegExp(SEPARATOR).test(e.key),\n Keyboard.isKeySpace,\n Keyboard.isCodeMinus,\n Keyboard.isCodeComma,\n Keyboard.isCodePeriod,\n Keyboard.isCodeSlash,\n Keyboard.isCodeBackslash,\n Keyboard.isCodeIntlBackslash,\n Keyboard.isCodeNumpadDecimal,\n Keyboard.isCodeNumpadDivide,\n Keyboard.isCodeNumpadSubtract,\n];\n\nexport enum Actions {\n Unknown,\n Ignore,\n MoveSelectionLeft,\n MoveSelectionRight,\n MoveSelectionFirst,\n MoveSelectionLast,\n Decrement,\n Increment,\n FullSelection,\n ClearSelection,\n ClearOneChar,\n Digit,\n Separator,\n WrongInput,\n PasteValue,\n CopyValue,\n}\n\nconst extractAction = new KeyboardActionExctracterBuilder<Actions>()\n .add(Actions.PasteValue, Keyboard.isShortcutPaste)\n .add(Actions.CopyValue, Keyboard.isShortcutCopy)\n .add(Actions.FullSelection, Keyboard.isShortcutSelectAll)\n .add(Actions.Ignore, Keyboard.someKeys(Keyboard.isModified(), Keyboard.isKeyFs, Keyboard.isKeyTab))\n .add(Actions.MoveSelectionLeft, Keyboard.isKeyArrowLeft)\n .add(Actions.MoveSelectionRight, Keyboard.isKeyArrowRight)\n .add(Actions.MoveSelectionFirst, Keyboard.isKeyHome)\n .add(Actions.MoveSelectionLast, Keyboard.isKeyEnd)\n .add(Actions.Separator, Keyboard.someKeys(...delimiters))\n .add(Actions.Increment, Keyboard.isKeyArrowUp)\n .add(Actions.Decrement, Keyboard.isKeyArrowDown)\n .add(Actions.ClearSelection, (e) => Keyboard.isKeyDelete(e))\n .add(Actions.ClearOneChar, Keyboard.isKeyBackspace)\n .add(Actions.Digit, Keyboard.isKeyNumber)\n .add(Actions.WrongInput, (e) => !Keyboard.isKeyNumber(e))\n .build(Actions.Unknown);\n\nexport { extractAction };\n"],"mappings":";;AAEA,SAASA,SAAS,QAAQ,6BAA6B;AACvD,OAAO,KAAKC,QAAQ,MAAM,0CAA0C;AACpE,SAASC,+BAA+B,QAAQ,oCAAoC;;AAEpF,IAAMC,UAAU,GAAG;AACjB,UAACC,CAAmD,UAAK,IAAIC,MAAM,CAACL,SAAS,CAAC,CAACM,IAAI,CAACF,CAAC,CAACG,GAAG,CAAC;AAC1FN,QAAQ,CAACO,UAAU;AACnBP,QAAQ,CAACQ,WAAW;AACpBR,QAAQ,CAACS,WAAW;AACpBT,QAAQ,CAACU,YAAY;AACrBV,QAAQ,CAACW,WAAW;AACpBX,QAAQ,CAACY,eAAe;AACxBZ,QAAQ,CAACa,mBAAmB;AAC5Bb,QAAQ,CAACc,mBAAmB;AAC5Bd,QAAQ,CAACe,kBAAkB;AAC3Bf,QAAQ,CAACgB,oBAAoB,CAC9B;;;AAED,WAAYC,OAAO,
|
|
1
|
+
{"version":3,"names":["SEPARATOR","Keyboard","KeyboardActionExctracterBuilder","delimiters","e","RegExp","test","key","isKeySpace","isCodeMinus","isCodeComma","isCodePeriod","isCodeSlash","isCodeBackslash","isCodeIntlBackslash","isCodeNumpadDecimal","isCodeNumpadDivide","isCodeNumpadSubtract","Actions","extractAction","add","PasteValue","isShortcutPaste","CopyValue","isShortcutCopy","FullSelection","isShortcutSelectAll","Ignore","someKeys","isModified","isKeyFs","isKeyTab","MoveSelectionLeft","isKeyArrowLeft","MoveSelectionRight","isKeyArrowRight","MoveSelectionFirst","isKeyHome","MoveSelectionLast","isKeyEnd","Separator","apply","Increment","isKeyArrowUp","Decrement","isKeyArrowDown","ClearSelection","isKeyDelete","ClearOneChar","isKeyBackspace","Digit","isKeyNumber","WrongInput","build","Unknown"],"sources":["DateInputKeyboardActions.tsx"],"sourcesContent":["import React from 'react';\n\nimport { SEPARATOR } from '../../../lib/date/constants';\nimport * as Keyboard from '../../../lib/events/keyboard/identifiers';\nimport { KeyboardActionExctracterBuilder } from '../../../lib/extractKeyboardAction';\n\nconst delimiters = [\n (e: React.KeyboardEvent<HTMLElement> | KeyboardEvent) => new RegExp(SEPARATOR).test(e.key),\n Keyboard.isKeySpace,\n Keyboard.isCodeMinus,\n Keyboard.isCodeComma,\n Keyboard.isCodePeriod,\n Keyboard.isCodeSlash,\n Keyboard.isCodeBackslash,\n Keyboard.isCodeIntlBackslash,\n Keyboard.isCodeNumpadDecimal,\n Keyboard.isCodeNumpadDivide,\n Keyboard.isCodeNumpadSubtract,\n];\n\nexport enum Actions {\n Unknown,\n Ignore,\n MoveSelectionLeft,\n MoveSelectionRight,\n MoveSelectionFirst,\n MoveSelectionLast,\n Decrement,\n Increment,\n FullSelection,\n ClearSelection,\n ClearOneChar,\n Digit,\n Separator,\n WrongInput,\n PasteValue,\n CopyValue,\n}\n\nconst extractAction = new KeyboardActionExctracterBuilder<Actions>()\n .add(Actions.PasteValue, Keyboard.isShortcutPaste)\n .add(Actions.CopyValue, Keyboard.isShortcutCopy)\n .add(Actions.FullSelection, Keyboard.isShortcutSelectAll)\n .add(Actions.Ignore, Keyboard.someKeys(Keyboard.isModified(), Keyboard.isKeyFs, Keyboard.isKeyTab))\n .add(Actions.MoveSelectionLeft, Keyboard.isKeyArrowLeft)\n .add(Actions.MoveSelectionRight, Keyboard.isKeyArrowRight)\n .add(Actions.MoveSelectionFirst, Keyboard.isKeyHome)\n .add(Actions.MoveSelectionLast, Keyboard.isKeyEnd)\n .add(Actions.Separator, Keyboard.someKeys(...delimiters))\n .add(Actions.Increment, Keyboard.isKeyArrowUp)\n .add(Actions.Decrement, Keyboard.isKeyArrowDown)\n .add(Actions.ClearSelection, (e) => Keyboard.isKeyDelete(e))\n .add(Actions.ClearOneChar, Keyboard.isKeyBackspace)\n .add(Actions.Digit, Keyboard.isKeyNumber)\n .add(Actions.WrongInput, (e) => !Keyboard.isKeyNumber(e))\n .build(Actions.Unknown);\n\nexport { extractAction };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -79,7 +79,7 @@ export var DatePicker = (_dec = locale('DatePicker', DatePickerLocaleHelper), re
|
|
|
79
79
|
onValueChange: _this.props.onValueChange,
|
|
80
80
|
enableTodayLink: _this.props.enableTodayLink,
|
|
81
81
|
isHoliday: _this.props.isHoliday,
|
|
82
|
-
onCloseRequest: _this.
|
|
82
|
+
onCloseRequest: _this.handleMobileCloseRequest,
|
|
83
83
|
renderDay: props.renderDay,
|
|
84
84
|
onMonthChange: props.onMonthChange
|
|
85
85
|
});
|
|
@@ -209,6 +209,9 @@ export var DatePicker = (_dec = locale('DatePicker', DatePickerLocaleHelper), re
|
|
|
209
209
|
_this.props.onValueChange(value);
|
|
210
210
|
}
|
|
211
211
|
};
|
|
212
|
+
_this.handleMobileCloseRequest = function () {
|
|
213
|
+
_this.close();
|
|
214
|
+
};
|
|
212
215
|
return _this;
|
|
213
216
|
}
|
|
214
217
|
_inheritsLoose(DatePicker, _React$PureComponent);
|
|
@@ -223,12 +226,15 @@ export var DatePicker = (_dec = locale('DatePicker', DatePickerLocaleHelper), re
|
|
|
223
226
|
this.focus();
|
|
224
227
|
}
|
|
225
228
|
};
|
|
226
|
-
_proto.componentDidUpdate = function componentDidUpdate() {
|
|
229
|
+
_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
|
|
227
230
|
var disabled = this.props.disabled;
|
|
228
231
|
var opened = this.state.opened;
|
|
229
232
|
if (disabled && opened) {
|
|
230
233
|
this.close();
|
|
231
234
|
}
|
|
235
|
+
if (prevState.opened && !opened && this.isMobileLayout) {
|
|
236
|
+
this.handleBlur();
|
|
237
|
+
}
|
|
232
238
|
} /**
|
|
233
239
|
* @public
|
|
234
240
|
*/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PropTypes","React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleBlur","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","onFocus","handleFocus","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","onClick","icon","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleBlur}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["PropTypes","React","Popup","LocaleContext","locale","InternalDateGetter","ArrowAUpIcon16Light","ThemeFactory","InternalDate","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","createPropsGetter","Calendar","ThemeContext","Button","getTodayDate","responsiveLayout","getMenuPositions","ZIndex","styles","DatePickerLocaleHelper","MobilePicker","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePickerDataTids","root","input","label","pickerRoot","pickerTodayWrapper","DatePicker","_dec","_class","_DatePicker","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","opened","canUseMobileNativeDatePicker","today","focused","renderMain","props","picker","_this$getProps","minDate","maxDate","menuPos","menuAlign","isMobileLayout","createElement","value","parseValueToDate","onValueChange","enableTodayLink","isHoliday","onCloseRequest","handleMobileCloseRequest","renderDay","onMonthChange","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","hasShadow","priority","priorities","PopupMenu","positions","anchorElement","getParent","margin","parseInt","theme","datePickerMenuOffsetY","className","calendarWrapper","onMouseDown","e","preventDefault","handleValueChange","renderTodayLink","style","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","_extends","id","ref","getInputRef","width","withIcon","onBlur","undefined","handleBlur","onFocus","handleFocus","minWidth","setState","close","handleSelect","blur","_inheritsLoose","_proto","prototype","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","prevProps","prevState","render","_this2","Consumer","create","calendarBottomSeparatorBorder","rootNodeRef","setRootNode","date","validate","checks","NotNull","Native","toString","withPad","_this3","_this$locale","order","separator","setComponents","getTodayComponents","withSeparator","todayAriaLabel","onClick","icon","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","range","_range","_range$minDate","_range$maxDate","internalDate","DMY","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"sources":["DatePicker.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { HTMLAttributes } from 'react';\n\nimport { Popup } from '../../internal/Popup';\nimport { LocaleContext } from '../../lib/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { DateInput } from '../DateInput';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Calendar, CalendarDateShape, CalendarProps } from '../Calendar';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Button } from '../Button';\nimport { getTodayDate } from '../Calendar/CalendarUtils';\nimport { SizeProp } from '../../lib/types/props';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { ZIndex } from '../../internal/ZIndex';\n\nimport { styles } from './DatePicker.styles';\nimport { DatePickerLocale, DatePickerLocaleHelper } from './locale';\nimport { MobilePicker } from './MobilePicker';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps\n extends Pick<CalendarProps, 'isHoliday' | 'minDate' | 'maxDate' | 'renderDay' | 'onMonthChange'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n /**\n * Отвечает за отображение кнопки \"Сегодня\".\n */\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Позволяет вручную задать текущую позицию выпадающего окна\n */\n menuPos?: 'top' | 'bottom';\n menuAlign?: 'left' | 'right';\n size?: SizeProp;\n value?: string | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: string) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n today: CalendarDateShape;\n}\n\nexport const DatePickerDataTids = {\n root: 'DatePicker__root',\n input: 'DatePicker__input',\n label: 'DatePicker__label',\n pickerRoot: 'Picker__root',\n pickerTodayWrapper: 'Picker__todayWrapper',\n} as const;\n\ntype DefaultProps = Required<Pick<DatePickerProps, 'minDate' | 'maxDate'>>;\n\n@responsiveLayout\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DatePicker extends React.PureComponent<DatePickerProps, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n public static displayName = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuPos: PropTypes.oneOf(['top', 'bottom']),\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func,\n\n renderDay: PropTypes.func,\n\n onMonthChange: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n };\n\n private getProps = createPropsGetter(DatePicker.defaultProps);\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false, today: getTodayDate() };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n private isMobileLayout!: boolean;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState) {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n\n if (prevState.opened && !opened && this.isMobileLayout) {\n this.handleBlur();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ calendarBottomSeparatorBorder: 'none' }, theme)}>\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps>) => {\n let picker = null;\n\n const { minDate, maxDate, menuPos, menuAlign } = this.getProps();\n\n const isMobile = this.isMobileLayout;\n\n if (this.state.opened) {\n if (isMobile) {\n picker = (\n <MobilePicker\n value={this.props.value}\n minDate={this.parseValueToDate(minDate)}\n maxDate={this.parseValueToDate(maxDate)}\n onValueChange={this.props.onValueChange}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.props.isHoliday}\n onCloseRequest={this.handleMobileCloseRequest}\n renderDay={props.renderDay}\n onMonthChange={props.onMonthChange}\n />\n );\n } else {\n picker = (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: this.locale.months,\n dayCellChooseDateAriaLabel: this.locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: this.locale.selectMonthAriaLabel,\n selectYearAriaLabel: this.locale.selectYearAriaLabel,\n selectChosenAriaLabel: this.locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(menuPos, menuAlign)}\n data-tid={DatePickerDataTids.root}\n anchorElement={this.getParent()}\n margin={parseInt(this.theme.datePickerMenuOffsetY)}\n >\n <div\n data-tid={DatePickerDataTids.pickerRoot}\n className={styles.calendarWrapper(this.theme)}\n onMouseDown={(e) => e.preventDefault()}\n >\n <Calendar\n maxDate={this.parseValueToDate(maxDate)}\n minDate={this.parseValueToDate(minDate)}\n onValueChange={this.handleValueChange}\n isHoliday={this.props.isHoliday}\n value={this.parseValueToDate(this.props.value)}\n renderDay={this.props.renderDay}\n onMonthChange={this.props.onMonthChange}\n />\n {this.props.enableTodayLink && this.renderTodayLink()}{' '}\n </div>\n </Popup>\n </LocaleContext.Provider>\n );\n }\n }\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n data-tid={DatePickerDataTids.label}\n >\n <DateInput\n id={this.props.id}\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={minDate}\n maxDate={maxDate}\n onBlur={isMobile ? undefined : this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n data-tid={DatePickerDataTids.input}\n />\n {this.state.canUseMobileNativeDatePicker ? (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={minDate}\n maxDate={maxDate}\n disabled={this.props.disabled}\n />\n ) : (\n picker\n )}\n </label>\n );\n };\n private parseValueToDate(value?: Nullable<string>): string | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date.toString({ withPad: true });\n }\n\n return undefined;\n }\n\n private renderTodayLink() {\n const { order, separator } = this.locale;\n const today = new InternalDate({ order, separator })\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n return (\n <div style={{ margin: 8 }}>\n <Button\n aria-label={this.locale.todayAriaLabel}\n data-tid={DatePickerDataTids.pickerTodayWrapper}\n width=\"100%\"\n onClick={() => {\n this.handleSelect(today);\n }}\n icon={<ArrowAUpIcon16Light />}\n >\n {this.locale.today}\n </Button>\n </div>\n );\n }\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handleValueChange = (value: string) => {\n this.handleSelect(value);\n this.blur();\n };\n\n private handleSelect = (value: string | null) => {\n if (!value) {\n return null;\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private handleMobileCloseRequest = () => {\n this.close();\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -112,7 +112,7 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
|
|
|
112
112
|
private setRootNode;
|
|
113
113
|
private isMobileLayout;
|
|
114
114
|
componentDidMount(): void;
|
|
115
|
-
componentDidUpdate(): void;
|
|
115
|
+
componentDidUpdate(prevProps: DatePickerProps, prevState: DatePickerState): void;
|
|
116
116
|
/**
|
|
117
117
|
* @public
|
|
118
118
|
*/
|
|
@@ -137,5 +137,6 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps, Dat
|
|
|
137
137
|
private handleBlur;
|
|
138
138
|
private handleValueChange;
|
|
139
139
|
private handleSelect;
|
|
140
|
+
private handleMobileCloseRequest;
|
|
140
141
|
}
|
|
141
142
|
export {};
|
|
@@ -17,21 +17,8 @@ export var MobilePickerDataTids = {
|
|
|
17
17
|
export var MobilePicker = function MobilePicker(props) {
|
|
18
18
|
var locale = useLocaleForControl('DatePicker', DatePickerLocaleHelper);
|
|
19
19
|
var theme = getMobilePickerTheme(useContext(ThemeContext));
|
|
20
|
-
var onValueChange = function onValueChange(date) {
|
|
21
|
-
if (props.onValueChange) {
|
|
22
|
-
props.onValueChange(date);
|
|
23
|
-
}
|
|
24
|
-
if (props.onCloseRequest) {
|
|
25
|
-
props.onCloseRequest();
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
var inputRef = useRef(null);
|
|
29
|
-
useLayoutEffect(function () {
|
|
30
|
-
if (inputRef.current) {
|
|
31
|
-
inputRef.current.focus();
|
|
32
|
-
}
|
|
33
|
-
}, []);
|
|
34
20
|
var calendarRef = useRef(null);
|
|
21
|
+
var inputRef = useRef(null);
|
|
35
22
|
var _useState = useState(function () {
|
|
36
23
|
return getTodayDate();
|
|
37
24
|
}),
|
|
@@ -39,6 +26,17 @@ export var MobilePicker = function MobilePicker(props) {
|
|
|
39
26
|
monthNative = _useState$.month,
|
|
40
27
|
year = _useState$.year;
|
|
41
28
|
var month = getMonthInHumanFormat(monthNative);
|
|
29
|
+
var onValueChange = function onValueChange(date) {
|
|
30
|
+
props.onValueChange == null || props.onValueChange(date);
|
|
31
|
+
props.onCloseRequest == null || props.onCloseRequest();
|
|
32
|
+
};
|
|
33
|
+
useLayoutEffect(function () {
|
|
34
|
+
// fix DateInput flushSync warning in React 18
|
|
35
|
+
setTimeout(function () {
|
|
36
|
+
var _inputRef$current;
|
|
37
|
+
(_inputRef$current = inputRef.current) == null || _inputRef$current.focus();
|
|
38
|
+
});
|
|
39
|
+
}, []);
|
|
42
40
|
var onTodayClick = function onTodayClick() {
|
|
43
41
|
if (calendarRef.current) {
|
|
44
42
|
calendarRef.current.scrollToMonth(month, year);
|