@skbkontur/react-ui 4.1.1 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/cjs/components/Checkbox/Checkbox.d.ts +5 -0
- package/cjs/components/Checkbox/Checkbox.js +29 -1
- package/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/cjs/components/Checkbox/Checkbox.styles.js +23 -17
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/DateInput/DateInput.js +5 -1
- package/cjs/components/DateInput/DateInput.js.map +1 -1
- package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/cjs/components/DateInput/helpers/InternalDateMediator.js +7 -3
- package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/cjs/components/DateInput/helpers/inputNumber.js +45 -12
- package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
- package/cjs/components/Gapped/Gapped.js +2 -1
- package/cjs/components/Gapped/Gapped.js.map +1 -1
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +5 -7
- package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +8 -10
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js +5 -1
- package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -1
- package/cjs/components/Select/Select.js +4 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/TokenInput/TokenInput.d.ts +10 -0
- package/cjs/components/TokenInput/TokenInput.js +17 -2
- package/cjs/components/TokenInput/TokenInput.js.map +1 -1
- package/cjs/internal/InternalMenu/InternalMenu.js +1 -5
- package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
- package/cjs/internal/MaskedInput/MaskedInput.js +4 -2
- package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
- package/cjs/internal/Menu/Menu.js +2 -5
- package/cjs/internal/Menu/Menu.js.map +1 -1
- package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
- package/cjs/lib/date/InternalDateGetter.js +4 -1
- package/cjs/lib/date/InternalDateGetter.js.map +1 -1
- package/cjs/lib/date/InternalDateValidator.js +32 -22
- package/cjs/lib/date/InternalDateValidator.js.map +1 -1
- package/cjs/lib/date/types.d.ts +4 -0
- package/cjs/lib/date/types.js.map +1 -1
- package/cjs/lib/events/MouseDrag.js +5 -1
- package/cjs/lib/events/MouseDrag.js.map +1 -1
- package/components/Checkbox/Checkbox/Checkbox.js +29 -2
- package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
- package/components/Checkbox/Checkbox.d.ts +5 -0
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +20 -17
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/Checkbox/Checkbox.styles.d.ts +1 -0
- package/components/DateInput/DateInput/DateInput.js +9 -1
- package/components/DateInput/DateInput/DateInput.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +9 -3
- package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
- package/components/DateInput/helpers/InternalDateMediator.d.ts +2 -2
- package/components/DateInput/helpers/inputNumber/inputNumber.js +53 -16
- package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
- package/components/DateInput/helpers/inputNumber.d.ts +1 -1
- package/components/Gapped/Gapped/Gapped.js +2 -1
- package/components/Gapped/Gapped/Gapped.js.map +1 -1
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +1 -2
- package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -1
- package/components/PasswordInput/PasswordInput/PasswordInput.js +12 -13
- package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
- package/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +8 -3
- package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -1
- package/components/Select/Select/Select.js +5 -3
- package/components/Select/Select/Select.js.map +1 -1
- package/components/TokenInput/TokenInput/TokenInput.js +6 -2
- package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
- package/components/TokenInput/TokenInput.d.ts +10 -0
- package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -6
- package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
- package/internal/MaskedInput/MaskedInput/MaskedInput.js +4 -2
- package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
- package/internal/Menu/Menu/Menu.js +2 -5
- package/internal/Menu/Menu/Menu.js.map +1 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js +3 -1
- package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
- package/lib/date/InternalDateGetter.d.ts +1 -1
- package/lib/date/InternalDateValidator/InternalDateValidator.js +55 -41
- package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
- package/lib/date/types/types.js.map +1 -1
- package/lib/date/types.d.ts +4 -0
- package/lib/events/MouseDrag/MouseDrag.js +5 -1
- package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["MouseDrag.ts"],"names":["MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","canUseDOM","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","delete","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n return this.x1 !== undefined && this.y1 !== undefined ? Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2) : 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["MouseDrag.ts"],"names":["MouseDragEventType","items","Map","documentHandleMouseUp","e","forEach","mouseDrag","handleMouseUp","canUseDOM","document","documentElement","addEventListener","MouseDrag","elem","clicked","dragging","stop","removeEventListener","handleMouseDown","handleMouseMove","handleMouseLeave","delete","onMouseDragStart","handler","on","Start","onMouseDragMove","Move","onMouseDragLeave","Leave","onMouseDragEnd","End","dispatchEvent","createEvent","type","x1","pageX","y1","pageY","mouseDragStartEvent","getLength","RADIUS","x2","y2","undefined","Math","sqrt","MouseEvent","eIE11","initEvent","mouseDragEvent","set","listen","has","get"],"mappings":"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","sourcesContent":["import { canUseDOM } from '../client';\n\nenum MouseDragEventType {\n Start = 'mousedragstart',\n Move = 'mousedragmove',\n End = 'mousedragend',\n Leave = 'mousedragleave',\n}\n\ntype MouseDragEvent = MouseEvent;\n\ntype HandlerNative<E = MouseEvent> = (e: E) => void;\ntype Handler = (e: MouseDragEvent) => void;\ntype On = (handler: Handler) => MouseDrag;\nexport type MouseDragEventHandler = (e: MouseDragEvent) => void;\n\nconst items: Map<HTMLElement, MouseDrag> = new Map();\n\nconst documentHandleMouseUp: HandlerNative = (e) => items.forEach((mouseDrag) => mouseDrag.handleMouseUp(e));\n\nif (canUseDOM) {\n document.documentElement.addEventListener('mouseup', documentHandleMouseUp);\n}\n\n/**\n * ## Класс для отслеживания эффекта перетаскивания мышкой\n *\n * _Публичный метод `handleMouseUp` нельзя использовать!_\n *\n * ### Начало прослушивания и добавление обработчиков:\n * ```\n * MouseDrag.listen(HTMLElement_1)\n * .onMouseDragStart(start)\n * .onMouseDragMove(move)\n * .onMouseDragLeave(leave)\n * .onMouseDragEnd(end);\n *\n * - - ИЛИ - -\n *\n * const mouseDrag_1 = MouseDrag.listen(HTMLElement)...\n * ```\n *\n * ### Остановка прослушивания:\n * ```\n * MouseDrag.stop(HTMLElement_1)\n *\n * - - ИЛИ - -\n *\n * mouseDrag_1.stop();\n * ```\n */\nexport class MouseDrag {\n // Радиус окружности, который необходимо преодолеть мышью, чтобы вызвалось событие `MouseDragStart`\n public static readonly RADIUS: number = 5; // px\n\n public static listen = (elem: HTMLElement): MouseDrag => {\n if (items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n return mouseDrag;\n }\n }\n return new MouseDrag(elem);\n };\n\n public static stop = (elem: HTMLElement | null): void => {\n if (elem && items.has(elem)) {\n const mouseDrag = items.get(elem);\n if (mouseDrag) {\n mouseDrag.stop();\n }\n }\n };\n\n private mouseDragStartEvent?: MouseDragEvent;\n private clicked = false;\n private dragging = false;\n\n private x1?: number;\n private y1?: number;\n\n private elem: HTMLElement | null;\n\n public constructor(elem: HTMLElement) {\n this.elem = elem;\n this.elem.addEventListener('mousedown', this.handleMouseDown);\n this.elem.addEventListener('mousemove', this.handleMouseMove);\n this.elem.addEventListener('mouseleave', this.handleMouseLeave);\n items.set(this.elem, this);\n }\n\n public stop = (): void => {\n if (this.elem !== null) {\n this.elem.removeEventListener('mousedown', this.handleMouseDown);\n this.elem.removeEventListener('mousemove', this.handleMouseMove);\n this.elem.removeEventListener('mouseleave', this.handleMouseLeave);\n items.delete(this.elem);\n }\n this.elem = null;\n };\n\n public onMouseDragStart: On = (handler) => this.on(MouseDragEventType.Start, handler);\n public onMouseDragMove: On = (handler) => this.on(MouseDragEventType.Move, handler);\n public onMouseDragLeave: On = (handler) => this.on(MouseDragEventType.Leave, handler);\n public onMouseDragEnd: On = (handler) => this.on(MouseDragEventType.End, handler);\n\n public handleMouseUp: HandlerNative = (e) => {\n this.clicked = false;\n if (this.dragging) {\n this.dragging = false;\n this.dispatchEvent(this.createEvent(MouseDragEventType.End, e));\n }\n };\n\n private on = (type: MouseDragEventType, handler: Handler): MouseDrag => {\n if (this.elem !== null) {\n this.elem.removeEventListener(type, handler as HandlerNative<Event>);\n this.elem.addEventListener(type, handler as HandlerNative<Event>);\n }\n return this;\n };\n\n private handleMouseDown: HandlerNative = (e) => {\n if (!this.clicked) {\n this.clicked = true;\n this.x1 = e.pageX;\n this.y1 = e.pageY;\n this.mouseDragStartEvent = this.createEvent(MouseDragEventType.Start, e);\n }\n };\n\n private handleMouseMove: HandlerNative = (e) => {\n if (this.dragging) {\n return this.dispatchEvent(this.createEvent(MouseDragEventType.Move, e));\n }\n if (this.clicked && this.getLength(e.pageX, e.pageY) > MouseDrag.RADIUS) {\n this.dragging = true;\n this.clicked = false;\n if (this.mouseDragStartEvent) {\n this.dispatchEvent(this.mouseDragStartEvent);\n }\n }\n };\n\n private handleMouseLeave: HandlerNative = (e) => {\n if (this.dragging) {\n this.dispatchEvent(this.createEvent(MouseDragEventType.Leave, e));\n }\n };\n\n private getLength = (x2: number, y2: number): number => {\n if (this.x1 !== undefined && this.y1 !== undefined) {\n return Math.sqrt((x2 - this.x1) ** 2 + (y2 - this.y1) ** 2);\n }\n\n return 0;\n };\n\n private createEvent = (type: MouseDragEventType, e: MouseEvent): MouseDragEvent => {\n if (typeof MouseEvent === 'function') {\n return new MouseEvent(type, e);\n }\n // <=IE11\n const eIE11 = document.createEvent('MouseEvent');\n eIE11.initEvent(type, true, true);\n return eIE11;\n };\n\n private dispatchEvent = (mouseDragEvent: MouseDragEvent): void => {\n if (this.elem !== null) {\n this.elem.dispatchEvent(mouseDragEvent);\n }\n };\n}\n"]}
|
|
@@ -29,14 +29,41 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
29
29
|
_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
|
|
30
30
|
_this.state = {
|
|
31
31
|
focusedByTab: false,
|
|
32
|
-
indeterminate: _this.props.initialIndeterminate || false
|
|
32
|
+
indeterminate: _this.props.initialIndeterminate || false,
|
|
33
|
+
isShiftPressed: false
|
|
33
34
|
};
|
|
34
35
|
_this.input = /*#__PURE__*/React.createRef();
|
|
35
36
|
|
|
37
|
+
_this.handleShiftPress = function (e) {
|
|
38
|
+
if (e.key === 'Shift') {
|
|
39
|
+
_this.setState(function () {
|
|
40
|
+
return {
|
|
41
|
+
isShiftPressed: true
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
_this.handleShiftRelease = function (e) {
|
|
48
|
+
if (e.key === 'Shift') {
|
|
49
|
+
_this.setState({
|
|
50
|
+
isShiftPressed: false
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
|
|
36
55
|
_this.componentDidMount = function () {
|
|
37
56
|
if (_this.state.indeterminate && _this.input.current) {
|
|
38
57
|
_this.input.current.indeterminate = true;
|
|
39
58
|
}
|
|
59
|
+
|
|
60
|
+
document.addEventListener('keydown', _this.handleShiftPress);
|
|
61
|
+
document.addEventListener('keyup', _this.handleShiftRelease);
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
_this.componentWillUnmount = function () {
|
|
65
|
+
document.removeEventListener('keydown', _this.handleShiftPress);
|
|
66
|
+
document.removeEventListener('keyup', _this.handleShiftRelease);
|
|
40
67
|
};
|
|
41
68
|
|
|
42
69
|
_this.setIndeterminate = function () {
|
|
@@ -73,7 +100,7 @@ export var Checkbox = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function
|
|
|
73
100
|
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
74
101
|
|
|
75
102
|
var isIndeterminate = _this.state.indeterminate;
|
|
76
|
-
var rootClass = cx((_cx = {}, _cx[styles.root(_this.theme)] = true, _cx[styles.rootFallback()] = isIE11 || isEdge, _cx[styles.rootChecked(_this.theme)] = props.checked || isIndeterminate, _cx[styles.disabled(_this.theme)] = Boolean(props.disabled), _cx));
|
|
103
|
+
var rootClass = cx((_cx = {}, _cx[styles.root(_this.theme)] = true, _cx[styles.rootFallback()] = isIE11 || isEdge, _cx[styles.rootChecked(_this.theme)] = props.checked || isIndeterminate, _cx[styles.rootDisableTextSelect()] = _this.state.isShiftPressed, _cx[styles.disabled(_this.theme)] = Boolean(props.disabled), _cx));
|
|
77
104
|
|
|
78
105
|
var inputProps = _extends({}, rest, {
|
|
79
106
|
type: 'checkbox',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","input","createRef","componentDidMount","current","setIndeterminate","setState","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","theme","rootFallback","rootChecked","checked","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","e","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n}\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon(this.theme)]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["Checkbox.tsx"],"names":["React","PropTypes","keyListener","ThemeContext","OkIcon","SquareIcon","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","styles","globalClasses","Checkbox","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","current","document","addEventListener","componentWillUnmount","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","error","warning","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","rest","isIndeterminate","rootClass","root","theme","rootFallback","rootChecked","checked","rootDisableTextSelect","disabled","Boolean","inputProps","className","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","captionClass","captionIE11","iconClass","icon","iconUnchecked","box","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","componentDidUpdate","prevProps","render","setRootNode","focus","blur","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { OkIcon, SquareIcon } from '../../internal/icons/16px';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\n\nimport { styles, globalClasses } from './Checkbox.styles';\n\nexport interface CheckboxProps\n extends CommonProps,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /**\n * Контент `label`\n */\n children?: React.ReactNode;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * HTML-событие `mouseover`.\n */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n /**\n * Функция, вызываемая при изменении `value`.\n */\n onValueChange?: (value: boolean) => void;\n /**\n * HTML-событие `onblur`.\n */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n /**\n * [Неопределённое состояние](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate) чекбокса из HTML.\n */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n document.addEventListener('keydown', this.handleShiftPress);\n document.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n document.removeEventListener('keydown', this.handleShiftPress);\n document.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const rootClass = cx({\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const iconClass = cx({\n [styles.icon(this.theme)]: true,\n [styles.iconUnchecked()]: !props.checked && !isIndeterminate,\n });\n\n const box = (\n <div className={cx(styles.boxWrapper(this.theme))}>\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && <SquareIcon className={iconClass} />) || <OkIcon className={iconClass} />}\n </div>\n </div>\n );\n\n return (\n <label\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <input {...inputProps} />\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.props.onBlur?.(e);\n this.setState({ focusedByTab: false });\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"]}
|
|
@@ -44,6 +44,7 @@ export interface CheckboxProps extends CommonProps, Override<React.InputHTMLAttr
|
|
|
44
44
|
export interface CheckboxState {
|
|
45
45
|
focusedByTab: boolean;
|
|
46
46
|
indeterminate: boolean;
|
|
47
|
+
isShiftPressed: boolean;
|
|
47
48
|
}
|
|
48
49
|
export declare class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {
|
|
49
50
|
static __KONTUR_REACT_UI__: string;
|
|
@@ -61,10 +62,14 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
|
|
|
61
62
|
state: {
|
|
62
63
|
focusedByTab: boolean;
|
|
63
64
|
indeterminate: boolean;
|
|
65
|
+
isShiftPressed: boolean;
|
|
64
66
|
};
|
|
65
67
|
private theme;
|
|
66
68
|
private input;
|
|
69
|
+
private handleShiftPress;
|
|
70
|
+
private handleShiftRelease;
|
|
67
71
|
componentDidMount: () => void;
|
|
72
|
+
componentWillUnmount: () => void;
|
|
68
73
|
private setRootNode;
|
|
69
74
|
componentDidUpdate(prevProps: CheckboxProps): void;
|
|
70
75
|
render(): JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
2
2
|
|
|
3
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
3
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
|
|
4
4
|
|
|
5
5
|
import { getLabGrotesqueBaselineCompensation } from "../../../lib/styles/getLabGrotesqueBaselineCompensation";
|
|
6
6
|
import { css, memoizeStyle, prefix } from "../../../lib/theming/Emotion";
|
|
@@ -12,55 +12,58 @@ export var styles = memoizeStyle({
|
|
|
12
12
|
root: function root(t) {
|
|
13
13
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n padding: ", " 0;\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n padding: ", " 0;\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])), t.checkboxLineHeight, t.checkboxFontSize, t.checkboxPaddingY, globalClasses.box, t.checkboxHoverBg, t.checkboxShadowHover, globalClasses.box, t.checkboxShadowActive, t.checkboxActiveBg, t.checkboxBoxSize);
|
|
14
14
|
},
|
|
15
|
+
rootDisableTextSelect: function rootDisableTextSelect() {
|
|
16
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n user-select: none;\n "])));
|
|
17
|
+
},
|
|
15
18
|
rootChecked: function rootChecked(t) {
|
|
16
|
-
return css(
|
|
19
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n &:hover .", " {\n box-shadow: ", ";\n background: ", ";\n }\n\n &:active .", " {\n background: ", ";\n box-shadow: ", ";\n }\n "])), globalClasses.box, t.checkboxCheckedHoverShadow, t.checkboxCheckedHoverBg, globalClasses.box, t.checkboxCheckedActiveBg, t.checkboxCheckedActiveShadow);
|
|
17
20
|
},
|
|
18
21
|
rootFallback: function rootFallback() {
|
|
19
|
-
return css(
|
|
22
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n "])));
|
|
20
23
|
},
|
|
21
24
|
rootWrapperIE11: function rootWrapperIE11() {
|
|
22
|
-
return css(
|
|
25
|
+
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n display: inline;\n "])));
|
|
23
26
|
},
|
|
24
27
|
boxWrapper: function boxWrapper(t) {
|
|
25
28
|
var labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);
|
|
26
29
|
var fontSize = parseInt(t.checkboxFontSize);
|
|
27
30
|
var baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);
|
|
28
|
-
return css(
|
|
31
|
+
return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteralLoose(["\n position: absolute;\n width: ", ";\n height: ", ";\n box-sizing: border-box;\n padding: ", ";\n margin-top: calc(", " + ", "px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n "])), t.checkboxBoxSize, t.checkboxBoxSize, t.checkboxBorderWidth, t.checkboxBoxOffsetY, baselineCompensation);
|
|
29
32
|
},
|
|
30
33
|
box: function box(t) {
|
|
31
|
-
return css(
|
|
34
|
+
return css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteralLoose(["\n color: ", ";\n box-shadow: ", ";\n background: ", ";\n border-radius: ", ";\n height: 100%;\n "])), t.checkboxTextColorDefault, t.checkboxShadow, t.checkboxBg, t.checkboxBorderRadius);
|
|
32
35
|
},
|
|
33
36
|
input: function input() {
|
|
34
|
-
return css(
|
|
37
|
+
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n "])));
|
|
35
38
|
},
|
|
36
39
|
boxWarning: function boxWarning(t) {
|
|
37
|
-
return css(
|
|
40
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorWarning);
|
|
38
41
|
},
|
|
39
42
|
boxError: function boxError(t) {
|
|
40
|
-
return css(
|
|
43
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorError);
|
|
41
44
|
},
|
|
42
45
|
boxChecked: function boxChecked(t) {
|
|
43
|
-
return css(
|
|
46
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n box-shadow: ", ";\n "])), t.checkboxCheckedBg, t.checkboxCheckedColor, t.checkboxCheckedShadow);
|
|
44
47
|
},
|
|
45
48
|
boxFocus: function boxFocus(t) {
|
|
46
|
-
return css(
|
|
49
|
+
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n box-shadow: inset 0 0 0 1px ", ",\n 0 0 0 ", " ", " !important; // override hover and active\n "])), t.checkboxOutlineColorFocus, t.checkboxOutlineWidth, t.checkboxBorderColorFocus);
|
|
47
50
|
},
|
|
48
51
|
boxDisabled: function boxDisabled(t) {
|
|
49
|
-
return css(
|
|
52
|
+
return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n box-shadow: ", " !important; // override hover and active\n background: ", " !important; // override hover and active\n color: ", ";\n "])), t.checkboxShadowDisabled, t.checkboxBgDisabled, t.checkboxTextColorDisabled);
|
|
50
53
|
},
|
|
51
54
|
disabled: function disabled(t) {
|
|
52
|
-
return css(
|
|
55
|
+
return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: default;\n "])), t.checkboxTextColorDisabled);
|
|
53
56
|
},
|
|
54
57
|
icon: function icon(t) {
|
|
55
|
-
return css(
|
|
58
|
+
return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n "])));
|
|
56
59
|
},
|
|
57
60
|
iconUnchecked: function iconUnchecked() {
|
|
58
|
-
return css(
|
|
61
|
+
return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: transparent;\n "])));
|
|
59
62
|
},
|
|
60
63
|
caption: function caption(t) {
|
|
61
|
-
return css(
|
|
64
|
+
return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n color: ", ";\n padding-left: ", ";\n "])), t.checkboxTextColorDefault, t.checkboxCaptionGap);
|
|
62
65
|
},
|
|
63
66
|
captionIE11: function captionIE11() {
|
|
64
|
-
return css(
|
|
67
|
+
return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n display: table-cell;\n "])));
|
|
65
68
|
}
|
|
66
69
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["Checkbox.styles.ts"],"names":["getLabGrotesqueBaselineCompensation","css","memoizeStyle","prefix","isChrome","globalClasses","box","styles","root","t","checkboxLineHeight","checkboxFontSize","checkboxPaddingY","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","checkboxBoxSize","rootDisableTextSelect","rootChecked","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","rootWrapperIE11","boxWrapper","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","baselineCompensation","checkboxBorderWidth","checkboxBoxOffsetY","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","boxWarning","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","checkboxBorderColorError","boxChecked","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","checkboxBorderColorFocus","boxDisabled","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","icon","iconUnchecked","caption","checkboxCaptionGap","captionIE11"],"mappings":"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","sourcesContent":["import { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\nimport { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n line-height: ${t.checkboxLineHeight};\n font-size: ${t.checkboxFontSize};\n padding: ${t.checkboxPaddingY} 0;\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.checkboxBoxSize};\n flex: 0 0 auto;\n }\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(fontSize, labGrotesqueCompenstation, isChrome);\n\n return css`\n position: absolute;\n width: ${t.checkboxBoxSize};\n height: ${t.checkboxBoxSize};\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n margin-top: calc(${t.checkboxBoxOffsetY} + ${baselineCompensation}px);\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon(t: Theme) {\n return css`\n position: absolute;\n top: 0px;\n bottom: 0px;\n right: 0px;\n left: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n margin: -12.5% 0 0 0;\n }\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"]}
|
|
@@ -341,7 +341,15 @@ export var DateInput = (_dec = locale('DatePicker', DatePickerLocaleHelper), roo
|
|
|
341
341
|
});
|
|
342
342
|
}
|
|
343
343
|
|
|
344
|
-
var
|
|
344
|
+
var _this$iDateMediator$i = _this.iDateMediator.inputKey(event.key, selected, _this.state.inputMode),
|
|
345
|
+
inputMode = _this$iDateMediator$i.inputMode,
|
|
346
|
+
changed = _this$iDateMediator$i.changed;
|
|
347
|
+
|
|
348
|
+
if (!changed) {
|
|
349
|
+
_this.blink();
|
|
350
|
+
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
345
353
|
|
|
346
354
|
if (!inputMode) {
|
|
347
355
|
_this.ignoringDelimiter = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DateInput.tsx"],"names":["React","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInput","props","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","withIcon","size","disabled","theme","iconStyles","icon","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","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","valueFormatted","getString","emitChange","updateFromProps","update","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","setRootNode","width","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\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 { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\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 interface DateInputProps extends CommonProps {\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: 'small' | 'large' | 'medium';\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\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n\n public static defaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\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, prevState: DateInputState) {\n if (\n prevProps.value !== this.props.value ||\n prevProps.minDate !== this.props.minDate ||\n prevProps.maxDate !== this.props.maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps();\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();\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\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={this.props.width}\n ref={this.inputLikeTextRef}\n size={this.props.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 </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, size, disabled = false } = this.props;\n\n if (withIcon) {\n const theme = this.theme;\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}>\n <CalendarIcon />\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 handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\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 = 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> = {}): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n };\n\n private updateFromProps = (): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue();\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 = this.iDateMediator.inputKey(event.key, selected, this.state.inputMode);\n\n if (!inputMode) {\n this.ignoringDelimiter = true;\n this.shiftSelection(1);\n }\n this.updateValue({ inputMode });\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["DateInput.tsx"],"names":["React","ConditionalHandler","LENGTH_FULLDATE","MAX_FULLDATE","MIN_FULLDATE","InternalDateComponentType","DatePickerLocaleHelper","InputLikeText","locale","ThemeContext","CalendarIcon","CommonWrapper","cx","rootNode","DateFragmentsView","styles","Actions","extractAction","InternalDateMediator","DateInput","props","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","withIcon","size","disabled","theme","iconStyles","icon","iconSmall","iconMedium","iconLarge","iconDisabled","handleFocus","setState","prevState","focused","onFocus","handleBlur","restored","restore","updateValue","inputMode","onBlur","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","valueFormatted","getString","emitChange","updateFromProps","update","value","get","getInternalString","onValueChange","clear","nextType","isNull","deleteOneCharRight","step","changed","getShiftedType","event","inputKey","key","componentDidUpdate","prevProps","minDate","maxDate","isChangedLocale","componentDidMount","autoFocus","focus","blur","render","renderMain","showValue","Boolean","setRootNode","width","error","warning","onClick","valueVisible","getFragments","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"iKAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,kBAAT,QAAmC,8BAAnC;AACA,SAASC,eAAT,EAA0BC,YAA1B,EAAwCC,YAAxC,QAA4D,0BAA5D;AACA,SAASC,yBAAT,QAA0C,sBAA1C;;AAEA,SAA2BC,sBAA3B,QAAyD,sBAAzD;AACA,SAASC,aAAT,QAA8B,8BAA9B;AACA,SAASC,MAAT,QAAuB,6BAAvB;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,2BAA7B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,iBAAT,QAAkC,qBAAlC;AACA,SAASC,MAAT,QAAuB,oBAAvB;AACA,SAASC,OAAT,EAAkBC,aAAlB,QAAuC,oCAAvC;AACA,SAASC,oBAAT,QAAqC,gCAArC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,WAAaC,SAAb,WADCX,MAAM,CAAC,YAAD,EAAeF,sBAAf,CACP,EAFCO,QAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCE,qBAAYO,KAAZ,EAAmC;AACjC,wCAAMA,KAAN,UADiC,MAzB3BC,aAyB2B,GAzBW,IAAIH,oBAAJ,EAyBX,OAxB3BI,aAwB2B,GAxBW,IAwBX,OAvB3BC,iBAuB2B,GAvBmB,IAuBnB,OAtB3BC,WAsB2B,GAtBb,KAsBa,OArB3BC,YAqB2B,GArBZ,KAqBY,OApB3BC,iBAoB2B,GApBP,KAoBO,OAlB3BC,SAkB2B,GAlBuB,IAkBvB,OAf3BC,kBAe2B,GAfN,IAAI3B,kBAAJ,GAC1B4B,GAD0B,CACtBb,OAAO,CAACc,iBADc,EACK,oBAAM,MAAKC,cAAL,CAAoB,CAAC,CAArB,CAAN,EADL,EAE1BF,GAF0B,CAEtBb,OAAO,CAACgB,kBAFc,EAEM,oBAAM,MAAKD,cAAL,CAAoB,CAApB,CAAN,EAFN,EAG1BF,GAH0B,CAGtBb,OAAO,CAACiB,SAHc,EAGH,oBAAM,MAAKC,cAAL,EAAN,EAHG,EAI1BL,GAJ0B,CAItBb,OAAO,CAACmB,kBAJc,EAIM,oBAAM,MAAKC,mBAAL,CAAyB,MAAKf,aAAL,CAAmBgB,eAAnB,EAAzB,CAAN,EAJN,EAK1BR,GAL0B,CAKtBb,OAAO,CAACsB,iBALc,EAKK,oBAAM,MAAKF,mBAAL,CAAyB,MAAKf,aAAL,CAAmBkB,gBAAnB,EAAzB,CAAN,EALL,EAM1BV,GAN0B,CAMtBb,OAAO,CAACwB,SANc,EAMH,oBAAM,MAAKC,kBAAL,CAAwB,CAAxB,CAAN,EANG,EAO1BZ,GAP0B,CAOtBb,OAAO,CAAC0B,SAPc,EAOH,oBAAM,MAAKD,kBAAL,CAAwB,CAAC,CAAzB,CAAN,EAPG,EAQ1BZ,GAR0B,CAQtBb,OAAO,CAAC2B,KARc,EAQP,UAACC,CAAD,UAAO,MAAKC,UAAL,CAAgBD,CAAhB,CAAP,EARO,EAS1Bf,GAT0B,CAStBb,OAAO,CAAC8B,cATc,EASE,oBAAM,MAAKC,aAAL,EAAN,EATF,EAU1BlB,GAV0B,CAUtBb,OAAO,CAACgC,YAVc,EAUA,oBAAM,MAAKC,YAAL,EAAN,EAVA,EAW1BpB,GAX0B,CAWtBb,OAAO,CAACkC,aAXc,EAWC,oBAAM,MAAKC,aAAL,EAAN,EAXD,EAY1BtB,GAZ0B,CAYtBb,OAAO,CAACoC,UAZc,EAYF,oBAAM,MAAKC,KAAL,EAAN,EAZE,EAa1BC,KAb0B,EAeM;;;;;;;;;;;;;;;;;;;;;;;AAwB5BC,IAAAA,UAxB4B,GAwBf,YAAM;AACxB,UAAMC,IAAI,GAAG,MAAKC,KAAL,CAAWC,QAAxB;AACA,UAAMnC,iBAAiB,GAAG,MAAKA,iBAAL,IAA0B,MAAKA,iBAAL,CAAuBoC,WAAvB,EAApD;AACA,UAAIH,IAAI,KAAK,IAAT,IAAiB,CAAC,MAAKlC,aAAvB,IAAwC,CAACC,iBAA7C,EAAgE;AAC9D;AACD;AACD,UAAIiC,IAAI,KAAKnD,yBAAyB,CAACuD,GAAvC,EAA4C;AAC1C,cAAKtC,aAAL,CAAmBuC,eAAnB,CAAmCtC,iBAAnC,EAAsD,CAAtD,EAAyD,CAAzD;AACA;AACD;AACD,UAAMuC,KAAK,GAAG,MAAKzC,aAAL,CAAmB0C,aAAnB,GAAmCC,OAAnC,CAA2CR,IAA3C,CAAd;AACA,UAAIM,KAAK,GAAG,CAAC,CAAb,EAAgB;AACd,cAAKxC,aAAL,CAAmBuC,eAAnB,CAAmCtC,iBAAnC,EAAsDuC,KAAK,GAAG,CAA9D,EAAiEA,KAAK,GAAG,CAAR,GAAY,CAA7E;AACD;AACF,KAtCkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqH3BG,IAAAA,UArH2B,GAqHd,YAAM;AACzB,wBAA6C,MAAK7C,KAAlD,CAAQ8C,QAAR,eAAQA,QAAR,CAAkBC,IAAlB,eAAkBA,IAAlB,oCAAwBC,QAAxB,CAAwBA,QAAxB,qCAAmC,KAAnC;;AAEA,UAAIF,QAAJ,EAAc;AACZ,YAAMG,KAAK,GAAG,MAAKA,KAAnB;AACA,YAAMC,UAAU,GAAG1D,EAAE;AAClBG,QAAAA,MAAM,CAACwD,IAAP,CAAYF,KAAZ,CADkB,IACG,IADH;AAElBtD,QAAAA,MAAM,CAACyD,SAAP,CAAiBH,KAAjB,CAFkB,IAEQF,IAAI,KAAK,OAFjB;AAGlBpD,QAAAA,MAAM,CAAC0D,UAAP,CAAkBJ,KAAlB,CAHkB,IAGSF,IAAI,KAAK,QAHlB;AAIlBpD,QAAAA,MAAM,CAAC2D,SAAP,CAAiBL,KAAjB,CAJkB,IAIQF,IAAI,KAAK,OAJjB;AAKlBpD,QAAAA,MAAM,CAAC4D,YAAP,CAAoBN,KAApB,CALkB,IAKWD,QALX,OAArB;;AAOA;AACE,wCAAM,SAAS,EAAEE,UAAjB;AACE,8BAAC,YAAD,OADF,CADF;;;AAKD;AACD,aAAO,IAAP;AACD,KAxIkC;;AA0I3BM,IAAAA,WA1I2B,GA0Ib,UAAChC,CAAD,EAAsC;AAC1D,YAAKiC,QAAL,CAAc,UAACC,SAAD,UAAgB;AAC5BC,UAAAA,OAAO,EAAE,IADmB;AAE5BrB,UAAAA,QAAQ,EAAE,MAAKlC,WAAL,IAAoB,CAACsD,SAAS,CAACC,OAA/B,GAAyCD,SAAS,CAACpB,QAAnD,GAA8D,MAAKrC,aAAL,CAAmBgB,eAAnB,EAF5C,EAAhB,EAAd;;;AAKA,UAAI,MAAKjB,KAAL,CAAW4D,OAAf,EAAwB;AACtB,cAAK5D,KAAL,CAAW4D,OAAX,CAAmBpC,CAAnB;AACD;AACF,KAnJkC;;AAqJ3BqC,IAAAA,UArJ2B,GAqJd,UAACrC,CAAD,EAAsC;AACzD,UAAMsC,QAAQ,GAAG,MAAK7D,aAAL,CAAmB8D,OAAnB,EAAjB;AACA,YAAKC,WAAL,CAAiB,EAAEL,OAAO,EAAE,KAAX,EAAkBrB,QAAQ,EAAE,IAA5B,EAAkC2B,SAAS,EAAE,KAA7C,EAAjB;;AAEA,UAAI,MAAKjE,KAAL,CAAWkE,MAAf,EAAuB;AACrB,YAAIJ,QAAJ,EAAc;AACZtC,UAAAA,CAAC,CAAC2C,OAAF;AACA,gBAAK5D,SAAL,GAAiBiB,CAAjB;AACD,SAHD,MAGO;AACL,gBAAKxB,KAAL,CAAWkE,MAAX,CAAkB1C,CAAlB;AACD;AACF;AACF,KAjKkC;;AAmK3B4C,IAAAA,sBAnK2B,GAmKF,UAAC5C,CAAD,EAA0C;AACzE,UAAM6C,UAAU,GAAG,MAAKlE,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBkE,UAAvB,CAAkC7C,CAAC,CAAC8C,MAApC,CAAzB,GAAuE,KAA1F;AACA,UAAI,MAAKjC,KAAL,CAAWsB,OAAX,IAAsB,CAACU,UAA3B,EAAuC;AACrC7C,QAAAA,CAAC,CAAC+C,cAAF;AACD;AACD,YAAKlE,YAAL,GAAoB,CAAC,MAAKgC,KAAL,CAAWsB,OAAhC;AACA,YAAKvD,WAAL,GAAmBiE,UAAnB;AACD,KA1KkC;;AA4K3BG,IAAAA,yBA5K2B,GA4KC,UAACpC,IAAD,EAAqC;AACvE,UAAI,EAAE,MAAK/B,YAAL,IAAqB,MAAKJ,aAAL,CAAmBwE,OAAnB,EAAvB,CAAJ,EAA0D;AACxD,cAAKzD,mBAAL,CAAyBoB,IAAzB;AACD;AACD,YAAK/B,YAAL,GAAoB,KAApB;AACA,YAAKD,WAAL,GAAmB,KAAnB;AACD,KAlLkC;;AAoL3BsE,IAAAA,oBApL2B,GAoLJ,YAAM;AACnC,YAAKjB,QAAL,CAAc,EAAEkB,OAAO,EAAE,IAAX,EAAiBrC,QAAQ,EAAE,IAA3B,EAAd;AACD,KAtLkC;;AAwL3BsC,IAAAA,kBAxL2B,GAwLN,YAAM;AACjC,UAAMC,SAAS,GAAGC,YAAY,EAA9B;AACA;AACED,MAAAA,SAAS;AACTA,MAAAA,SAAS,CAACE,QAAV,GAAqBC,MAArB,KAAgClG,eADhC;AAEA,YAAKuD,KAAL,CAAWC,QAAX,KAAwBrD,yBAAyB,CAACuD,GAHpD;AAIE;AACA,cAAKxB,mBAAL,CAAyB/B,yBAAyB,CAACuD,GAAnD;AACD;AACF,KAjMkC;;AAmM3ByC,IAAAA,aAnM2B,GAmMX,UAACzD,CAAD,EAAyC;AAC/D,UAAI,MAAKhB,kBAAL,CAAwBX,aAAa,CAAC2B,CAAD,CAArC,EAA0CA,CAA1C,CAAJ,EAAkD;AAChDA,QAAAA,CAAC,CAAC+C,cAAF;AACD;AACD,UAAI,MAAKvE,KAAL,CAAWkF,SAAf,EAA0B;AACxB,cAAKlF,KAAL,CAAWkF,SAAX,CAAqB1D,CAArB;AACD;AACF,KA1MkC;;AA4M3B2D,IAAAA,WA5M2B,GA4Mb,UAAC3D,CAAD,EAA0C;AAC9D,UAAM4D,MAAM,GAAG5D,CAAC,IAAIA,CAAC,CAAC6D,aAAF,CAAgBC,OAAhB,CAAwB,MAAxB,EAAgCC,IAAhC,EAApB;AACA,UAAIH,MAAM,IAAI,MAAKnF,aAAL,CAAmBuF,cAAnB,CAAkCJ,MAAlC,CAAd,EAAyD;AACvD,cAAKnF,aAAL,CAAmBwF,KAAnB,CAAyBL,MAAzB;AACA,cAAKpB,WAAL;AACD;AACF,KAlNkC;;AAoN3B0B,IAAAA,iBApN2B,GAoNP,YAAM;AAChC,YAAK1E,mBAAL,CAAyB/B,yBAAyB,CAACuD,GAAnD;AACD,KAtNkC;;AAwN3BmD,IAAAA,gBAxN2B,GAwNR,UAACC,EAAD,EAA8B;AACvD,YAAK1F,aAAL,GAAqB0F,EAArB;AACD,KA1NkC;;AA4N3BC,IAAAA,oBA5N2B,GA4NJ,UAACD,EAAD,EAAkC;AAC/D,YAAKzF,iBAAL,GAAyByF,EAAzB;AACD,KA9NkC;;AAgO3B5E,IAAAA,mBAhO2B,GAgOL,UAACsB,QAAD,EAAsD;AAClF,YAAKmB,QAAL,CAAc,EAAEnB,QAAQ,EAARA,QAAF,EAAY2B,SAAS,EAAE,KAAvB,EAAd;AACD,KAlOkC;;AAoO3BD,IAAAA,WApO2B,GAoOb,UAAC3B,KAAD,EAA+C,KAA9CA,KAA8C,cAA9CA,KAA8C,GAAb,EAAa;AACnE,UAAMyD,cAAc,GAAG,MAAK7F,aAAL,CAAmB8F,SAAnB,EAAvB;;AAEA,YAAKtC,QAAL,cAAmBpB,KAAnB,IAA0ByD,cAAc,EAAdA,cAA1B,KAA8D,MAAKE,UAAnE;AACD,KAxOkC;;AA0O3BC,IAAAA,eA1O2B,GA0OT,YAAY;AACpC,YAAKhG,aAAL,CAAmBiG,MAAnB,CAA0B,MAAKlG,KAA/B,EAAsC,MAAKZ,MAA3C;;AAEA,YAAK4E,WAAL;AACD,KA9OkC;;AAgP3BjC,IAAAA,aAhP2B,GAgPX,YAAY;AAClC,YAAKf,mBAAL,CAAyB/B,yBAAyB,CAACuD,GAAnD;AACD,KAlPkC;;AAoP3B1B,IAAAA,cApP2B,GAoPV,YAAY;AACnC,UAAMqF,KAAK,GAAG,MAAKlG,aAAL,CAAmBmG,GAAnB,CAAuB,MAAK/D,KAAL,CAAWC,QAAlC,CAAd;AACA,UAAI6D,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,EAAhC,EAAoC;AAClC,YAAI,CAAC,MAAK7F,iBAAV,EAA6B;AAC3B,gBAAKK,cAAL,CAAoB,CAApB;AACD;AACD,cAAKL,iBAAL,GAAyB,KAAzB;AACD;AACF,KA5PkC;;AA8P3B0F,IAAAA,UA9P2B,GA8Pd,YAAY;AAC/B,UAAMG,KAAK,GAAG,MAAKlG,aAAL,CAAmBoG,iBAAnB,EAAd;AACA,UAAI,MAAKrG,KAAL,CAAWmG,KAAX,KAAqBA,KAAzB,EAAgC;AAC9B;AACD;AACD,UAAI,MAAKnG,KAAL,CAAWsG,aAAf,EAA8B;AAC5B,cAAKtG,KAAL,CAAWsG,aAAX,CAAyBH,KAAzB;AACD;AACD,UAAI,MAAK5F,SAAL,IAAkB,MAAKP,KAAL,CAAWkE,MAAjC,EAAyC;AACvC,cAAKlE,KAAL,CAAWkE,MAAX,CAAkB,MAAK3D,SAAvB;AACA,cAAKA,SAAL,GAAiB,IAAjB;AACD;AACF,KA1QkC;;AA4Q3BoB,IAAAA,aA5Q2B,GA4QX,YAAY;AAClC,UAAMW,QAAQ,GAAG,MAAKD,KAAL,CAAWC,QAAX,KAAwB,IAAxB,GAA+B,MAAKrC,aAAL,CAAmBgB,eAAnB,EAA/B,GAAsE,MAAKoB,KAAL,CAAWC,QAAlG;AACA,YAAKrC,aAAL,CAAmBsG,KAAnB,CAAyBjE,QAAzB;AACA,YAAK0B,WAAL,CAAiB;AACfC,QAAAA,SAAS,EAAE,KADI;AAEf3B,QAAAA,QAAQ,EAAEA,QAAQ,KAAKrD,yBAAyB,CAACuD,GAAvC,GAA6C,MAAKvC,aAAL,CAAmBgB,eAAnB,EAA7C,GAAoFqB,QAF/E,EAAjB;;AAID,KAnRkC;;AAqR3BT,IAAAA,YArR2B,GAqRZ,YAAY;AACjC,wBAAgC,MAAKQ,KAArC,CAAQC,QAAR,eAAQA,QAAR,CAAkB2B,SAAlB,eAAkBA,SAAlB;AACA,UAAMuC,QAAQ,GAAGlE,QAAQ,KAAK,IAAb,GAAoB,MAAKrC,aAAL,CAAmBkB,gBAAnB,EAApB,GAA4DmB,QAA7E;AACA,UAAI,MAAKrC,aAAL,CAAmBwG,MAAnB,CAA0BD,QAA1B,CAAJ,EAAyC;AACvC,cAAK7F,cAAL,CAAoB,CAAC,CAArB;AACA;AACD;AACD,UAAI2B,QAAQ,KAAKrD,yBAAyB,CAACuD,GAA3C,EAAgD;AAC9C,cAAKvC,aAAL,CAAmBsG,KAAnB,CAAyBtH,yBAAyB,CAACuD,GAAnD;AACA,cAAKwB,WAAL,CAAiB,EAAE1B,QAAQ,EAAE,MAAKrC,aAAL,CAAmBgB,eAAnB,EAAZ,EAAjB;AACA;AACD;AACD,YAAKhB,aAAL,CAAmByG,kBAAnB,CAAsCF,QAAtC,EAAgDvC,SAAhD;AACA,YAAKD,WAAL,CAAiB;AACfC,QAAAA,SAAS,EAAE,MAAKhE,aAAL,CAAmBmG,GAAnB,CAAuBI,QAAvB,MAAqC,IADjC;AAEflE,QAAAA,QAAQ,EAAEkE,QAFK,EAAjB;;AAID,KAtSkC;;AAwS3BnF,IAAAA,kBAxS2B,GAwSN,UAACsF,IAAD,EAAwB;AACnD,UAAQrE,QAAR,GAAqB,MAAKD,KAA1B,CAAQC,QAAR;AACA,UAAMsE,OAAO,GAAG,MAAK3G,aAAL,CAAmBoB,kBAAnB,CAAsCiB,QAAtC,EAAgDqE,IAAhD,CAAhB;AACA,UAAI,CAACC,OAAL,EAAc;AACZ,cAAK3E,KAAL;AACA;AACD;AACD,YAAK+B,WAAL,CAAiB;AACfC,QAAAA,SAAS,EAAE,KADI;AAEf3B,QAAAA,QAAQ,EAAEA,QAAQ,KAAKrD,yBAAyB,CAACuD,GAAvC,GAA6C,MAAKvC,aAAL,CAAmBgB,eAAnB,EAA7C,GAAoFqB,QAF/E,EAAjB;;AAID,KAnTkC;;AAqT3B3B,IAAAA,cArT2B,GAqTV,UAACgG,IAAD,EAAwB;AAC/C,UAAMrE,QAAQ,GAAG,MAAKrC,aAAL,CAAmB4G,cAAnB,CAAkC,MAAKxE,KAAL,CAAWC,QAA7C,EAAuDqE,IAAvD,CAAjB;AACA,UAAIrE,QAAQ,KAAK,MAAKD,KAAL,CAAWC,QAA5B,EAAsC;AACpC,cAAKmB,QAAL,CAAc,EAAEnB,QAAQ,EAARA,QAAF,EAAY2B,SAAS,EAAE,KAAvB,EAAd;AACD;AACF,KA1TkC;;AA4T3BxC,IAAAA,UA5T2B,GA4Td,UAACqF,KAAD,EAAmD;AACtE,UAAIxE,QAAQ,GAAG,MAAKD,KAAL,CAAWC,QAA1B;AACA,UAAIA,QAAQ,KAAKrD,yBAAyB,CAACuD,GAA3C,EAAgD;AAC9CF,QAAAA,QAAQ,GAAG,MAAKrC,aAAL,CAAmBgB,eAAnB,EAAX;AACA,cAAKhB,aAAL,CAAmBsG,KAAnB,CAAyBtH,yBAAyB,CAACuD,GAAnD;AACA,cAAKiB,QAAL,CAAc,EAAEnB,QAAQ,EAARA,QAAF,EAAd;AACD;AACD,kCAA+B,MAAKrC,aAAL,CAAmB8G,QAAnB,CAA4BD,KAAK,CAACE,GAAlC,EAAuC1E,QAAvC,EAAiD,MAAKD,KAAL,CAAW4B,SAA5D,CAA/B,CAAQA,SAAR,yBAAQA,SAAR,CAAmB2C,OAAnB,yBAAmBA,OAAnB;AACA,UAAI,CAACA,OAAL,EAAc;AACZ,cAAK3E,KAAL;AACA;AACD;;AAED,UAAI,CAACgC,SAAL,EAAgB;AACd,cAAK3D,iBAAL,GAAyB,IAAzB;AACA,cAAKK,cAAL,CAAoB,CAApB;AACD;AACD,YAAKqD,WAAL,CAAiB,EAAEC,SAAS,EAATA,SAAF,EAAjB;AACD,KA9UkC,CAGjC,MAAK5B,KAAL,GAAa,EACXyD,cAAc,EAAE,EADL,EAEXxD,QAAQ,EAAE,IAFC,EAGX2B,SAAS,EAAE,KAHA,EAIXN,OAAO,EAAE,KAJE,EAKXgB,OAAO,EAAE,KALE,EAAb,CAHiC,aAUlC,CA9CH,wCAgDSsC,kBAhDT,GAgDE,4BAA0BC,SAA1B,EAAqDxD,SAArD,EAAgF,CAC9E,IACEwD,SAAS,CAACf,KAAV,KAAoB,KAAKnG,KAAL,CAAWmG,KAA/B,IACAe,SAAS,CAACC,OAAV,KAAsB,KAAKnH,KAAL,CAAWmH,OADjC,IAEAD,SAAS,CAACE,OAAV,KAAsB,KAAKpH,KAAL,CAAWoH,OAFjC,IAGA,KAAKnH,aAAL,CAAmBoH,eAAnB,CAAmC,KAAKjI,MAAxC,CAJF,EAKE,CACA,KAAK6G,eAAL,GACD,CACD,KAAK9D,UAAL,GACD,CA1DH,QA4ESmF,iBA5ET,GA4EE,6BAAiC,CAC/B,KAAKrB,eAAL,GACA,IAAI,KAAKjG,KAAL,CAAWuH,SAAf,EAA0B,CACxB,KAAKC,KAAL,GACD,CACF,CAjFH,QAmFSC,IAnFT,GAmFE,gBAAc,CACZ,IAAI,KAAKvH,aAAT,EAAwB,CACtB,KAAKA,aAAL,CAAmBuH,IAAnB,GACD,CACF,CAvFH,QAyFSD,KAzFT,GAyFE,iBAAe,CACb,IAAI,KAAKtH,aAAT,EAAwB,CACtB,KAAKA,aAAL,CAAmBsH,KAAnB,GACD,CACF,CA7FH,QA+FSvF,KA/FT,GA+FE,iBAAe,CACb,IAAI,KAAK/B,aAAT,EAAwB,CACtB,KAAKA,aAAL,CAAmB+B,KAAnB,GACD,CACF,CAnGH,QAqGSyF,MArGT,GAqGE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACzE,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAAC0E,UAAL,EAAP,CACD,CAJH,CADF,CAQD,CA9GH,QAgHUA,UAhHV,GAgHE,sBAAqB,UACnB,mBAAyD,KAAKtF,KAA9D,CAAQsB,OAAR,gBAAQA,OAAR,CAAiBrB,QAAjB,gBAAiBA,QAAjB,CAA2B2B,SAA3B,gBAA2BA,SAA3B,CAAsC6B,cAAtC,gBAAsCA,cAAtC,CACA,IAAM8B,SAAS,GAAGC,OAAO,CAAClE,OAAO,IAAImC,cAAZ,CAAzB,CAEA,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKgC,WAAjC,IAAkD,KAAK9H,KAAvD,gBACE,oBAAC,aAAD,IACE,KAAK,EAAE,KAAKA,KAAL,CAAW+H,KADpB,EAEE,GAAG,EAAE,KAAKpC,gBAFZ,EAGE,IAAI,EAAE,KAAK3F,KAAL,CAAW+C,IAHnB,EAIE,QAAQ,EAAE,KAAK/C,KAAL,CAAWgD,QAJvB,EAKE,KAAK,EAAE,KAAKhD,KAAL,CAAWgI,KALpB,EAME,OAAO,EAAE,KAAKhI,KAAL,CAAWiI,OANtB,EAOE,MAAM,EAAE,KAAKpE,UAPf,EAQE,OAAO,EAAE,KAAKL,WARhB,EASE,OAAO,EAAE,KAAKxD,KAAL,CAAWkI,OATtB,EAUE,SAAS,EAAE,KAAKjD,aAVlB,EAWE,kBAAkB,EAAE,KAAKb,sBAX3B,EAYE,OAAO,EAAE,KAAKe,WAZhB,EAaE,SAAS,EAAE,KAAKtC,UAAL,EAbb,EAcE,oBAAoB,EAAE,KAAK6C,iBAd7B,EAeE,gBAAgB,EAAE,KAAKhB,oBAfzB,EAgBE,cAAc,EAAE,KAAKE,kBAhBvB,EAiBE,KAAK,EAAE,KAAK3E,aAAL,CAAmBoG,iBAAnB,EAjBT,EAkBE,SAAS,EAAE,SAlBb,EAmBE,gBAAgB,MAnBlB,iBAqBE,8BAAM,SAAS,EAAE7G,EAAE,CAACG,MAAM,CAACwG,KAAP,EAAD,mBAAoBxG,MAAM,CAACwI,YAAP,EAApB,IAA4CP,SAA5C,QAAnB,iBACE,oBAAC,iBAAD,IACE,GAAG,EAAE,KAAK/B,oBADZ,EAEE,SAAS,EAAE,KAAK5F,aAAL,CAAmBmI,YAAnB,EAFb,EAGE,qBAAqB,EAAE,KAAK5D,yBAH9B,EAIE,QAAQ,EAAElC,QAJZ,EAKE,SAAS,EAAE2B,SALb,GADF,CArBF,CADF,CADF,CAmCD,CAvJH,oBAA+BrF,KAAK,CAACyJ,SAArC,WACgBC,mBADhB,GACsC,WADtC,UAGgBC,YAHhB,GAG+B,EAC3BpC,KAAK,EAAE,EADoB,EAE3BgB,OAAO,EAAEnI,YAFkB,EAG3BoI,OAAO,EAAErI,YAHkB,EAI3BgE,IAAI,EAAE,OAJqB,EAK3BgF,KAAK,EAAE,GALoB,EAH/B","sourcesContent":["import React from 'react';\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 { CalendarIcon } from '../../internal/icons/16px';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\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 interface DateInputProps extends CommonProps {\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: 'small' | 'large' | 'medium';\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\n@rootNode\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateInput extends React.Component<DateInputProps, DateInputState> {\n public static __KONTUR_REACT_UI__ = 'DateInput';\n\n public static defaultProps = {\n value: '',\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n size: 'small',\n width: 125,\n };\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, prevState: DateInputState) {\n if (\n prevProps.value !== this.props.value ||\n prevProps.minDate !== this.props.minDate ||\n prevProps.maxDate !== this.props.maxDate ||\n this.iDateMediator.isChangedLocale(this.locale)\n ) {\n this.updateFromProps();\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();\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\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <InputLikeText\n width={this.props.width}\n ref={this.inputLikeTextRef}\n size={this.props.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 </CommonWrapper>\n );\n }\n\n private renderIcon = () => {\n const { withIcon, size, disabled = false } = this.props;\n\n if (withIcon) {\n const theme = this.theme;\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}>\n <CalendarIcon />\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 handleBlur = (e: React.FocusEvent<HTMLElement>) => {\n const restored = this.iDateMediator.restore();\n this.updateValue({ focused: false, selected: null, inputMode: false });\n\n if (this.props.onBlur) {\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 = 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> = {}): void => {\n const valueFormatted = this.iDateMediator.getString();\n\n this.setState({ ...state, valueFormatted } as DateInputState, this.emitChange);\n };\n\n private updateFromProps = (): void => {\n this.iDateMediator.update(this.props, this.locale);\n\n this.updateValue();\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"]}
|
|
@@ -145,12 +145,17 @@ export var InternalDateMediator = /*#__PURE__*/function () {
|
|
|
145
145
|
this.iDate.restore(type);
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
var
|
|
148
|
+
var maxValue = InternalDateGetter.getDefaultMax(type, this.iDate.getComponentsLikeNumber());
|
|
149
|
+
|
|
150
|
+
var _inputNumber = inputNumber(type, prevValue, key, inputMode, maxValue),
|
|
149
151
|
nextValue = _inputNumber.nextValue,
|
|
150
152
|
nextInputMode = _inputNumber.nextInputMode;
|
|
151
153
|
|
|
152
154
|
this.iDate.set(type, nextValue);
|
|
153
|
-
return
|
|
155
|
+
return {
|
|
156
|
+
inputMode: nextInputMode,
|
|
157
|
+
changed: nextValue !== prevValue
|
|
158
|
+
};
|
|
154
159
|
};
|
|
155
160
|
|
|
156
161
|
_proto.shiftDateComponent = function shiftDateComponent(type, step) {
|
|
@@ -172,7 +177,8 @@ export var InternalDateMediator = /*#__PURE__*/function () {
|
|
|
172
177
|
} else {
|
|
173
178
|
var clone = iDate.clone().shift(calculatedType, step, {
|
|
174
179
|
isRange: false,
|
|
175
|
-
isLoop: true
|
|
180
|
+
isLoop: true,
|
|
181
|
+
isCutFeb: true
|
|
176
182
|
});
|
|
177
183
|
|
|
178
184
|
if (clone.validate({
|