@skbkontur/react-ui 6.3.0 → 6.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/components/MaskedInput/MaskedInput.d.ts +1 -1
- package/components/MaskedInput/MaskedInput.js.map +1 -1
- package/components/MaskedInputV2/MaskedInputV2.d.ts +1 -1
- package/components/MaskedInputV2/MaskedInputV2.js +26 -7
- package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedCore.js +10 -1
- package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
- package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +4 -3
- package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -1
- package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +2 -1
- package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -1
- package/components/MenuFooter/MenuFooter.js +3 -1
- package/components/MenuFooter/MenuFooter.js.map +1 -1
- package/components/MenuHeader/MenuHeader.js +3 -1
- package/components/MenuHeader/MenuHeader.js.map +1 -1
- package/components/TimePicker/TimePicker.js +14 -12
- package/components/TimePicker/TimePicker.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ import React, { useContext } from 'react';
|
|
|
24
24
|
import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
|
|
25
25
|
import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
|
|
26
26
|
import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
|
|
27
|
+
import { useSizeControl } from '../../lib/size/useSizeControl.js';
|
|
27
28
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
28
29
|
import { getStyles } from './MenuFooter.styles.js';
|
|
29
30
|
export var MenuFooterDataTids = {
|
|
@@ -34,10 +35,11 @@ export var MenuFooterDataTids = {
|
|
|
34
35
|
*/
|
|
35
36
|
var MenuFooter = forwardRefAndName('MenuFooter', function MenuFooter(_a, ref) {
|
|
36
37
|
var _b;
|
|
37
|
-
var id = _a.id, _c = _a._enableIconPadding, _enableIconPadding = _c === void 0 ? false : _c, children = _a.children,
|
|
38
|
+
var id = _a.id, _c = _a._enableIconPadding, _enableIconPadding = _c === void 0 ? false : _c, children = _a.children, sizeProp = _a.size, rest = __rest(_a, ["id", "_enableIconPadding", "children", "size"]);
|
|
38
39
|
var theme = useContext(ThemeContext);
|
|
39
40
|
var cx = useEmotion().cx;
|
|
40
41
|
var styles = useStyles(getStyles);
|
|
42
|
+
var size = useSizeControl(sizeProp);
|
|
41
43
|
function getRootSizeClassName() {
|
|
42
44
|
switch (size) {
|
|
43
45
|
case 'large':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuFooter.js","sourceRoot":"","sources":["MenuFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX;;GAEG;AAEH,IAAM,UAAU,GAAG,iBAAiB,CAClC,YAAY,EACZ,SAAS,UAAU,CACjB,EAAsF,EACtF,GAA8B;;IAD5B,IAAA,EAAE,QAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,
|
|
1
|
+
{"version":3,"file":"MenuFooter.js","sourceRoot":"","sources":["MenuFooter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX;;GAEG;AAEH,IAAM,UAAU,GAAG,iBAAiB,CAClC,YAAY,EACZ,SAAS,UAAU,CACjB,EAAsF,EACtF,GAA8B;;IAD5B,IAAA,EAAE,QAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,EAAQ,QAAQ,UAAA,EAAK,IAAI,cAAnE,gDAAqE,CAAF;IAGnE,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACtC,SAAS,oBAAoB;QAC3B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClC,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,SAAS,+BAA+B;QACtC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC7C,KAAK,OAAO,CAAC;YACb;gBACE,OAAO,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI;QACrB,6BACE,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,cACE,kBAAkB,CAAC,IAAI,EACjC,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE;gBAClC,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAG,IAAI;gBAC1B,GAAC,+BAA+B,EAAE,IAAG,kBAAkB;oBACvD,IAED,QAAQ,CACL,CACQ,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAED,UAAkB,CAAC,eAAe,GAAG,IAAI,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,MAAM,CAAC,IAAM,YAAY,GAAG,UAAC,KAAsB;IACjD,OAAO,KAAK,CAAC,cAAc,CAAkB,KAAK,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACrE,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC","sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles } from './MenuFooter.styles.js';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Размер надписи. */\n size?: SizeProp;\n\n /** Добавляет отступ слева для выравнивания текста по иконкам MenuItem */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню — надпись в нижней части меню.\n */\n\nconst MenuFooter = forwardRefAndName(\n 'MenuFooter',\n function MenuFooter(\n { id, _enableIconPadding = false, children, size: sizeProp, ...rest }: MenuFooterProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const size = useSizeControl(sizeProp);\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n ref={ref}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuFooter as any).__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"]}
|
|
@@ -25,6 +25,7 @@ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
|
|
|
25
25
|
import { MenuContext } from '../../internal/Menu/MenuContext.js';
|
|
26
26
|
import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
|
|
27
27
|
import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
|
|
28
|
+
import { useSizeControl } from '../../lib/size/useSizeControl.js';
|
|
28
29
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
29
30
|
import { getStyles } from './MenuHeader.styles.js';
|
|
30
31
|
export var MenuHeaderDataTids = {
|
|
@@ -35,11 +36,12 @@ export var MenuHeaderDataTids = {
|
|
|
35
36
|
*/
|
|
36
37
|
var MenuHeader = forwardRefAndName('MenuHeader', function MenuHeader(_a, ref) {
|
|
37
38
|
var _b;
|
|
38
|
-
var id = _a.id, _c = _a._enableIconPadding, _enableIconPadding = _c === void 0 ? false : _c, children = _a.children,
|
|
39
|
+
var id = _a.id, _c = _a._enableIconPadding, _enableIconPadding = _c === void 0 ? false : _c, children = _a.children, sizeProp = _a.size, rest = __rest(_a, ["id", "_enableIconPadding", "children", "size"]);
|
|
39
40
|
var theme = useContext(ThemeContext);
|
|
40
41
|
var cx = useEmotion().cx;
|
|
41
42
|
var styles = useStyles(getStyles);
|
|
42
43
|
var menuContext = useContext(MenuContext);
|
|
44
|
+
var size = useSizeControl(sizeProp);
|
|
43
45
|
function getRootSizeClassName() {
|
|
44
46
|
switch (size) {
|
|
45
47
|
case 'large':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuHeader.js","sourceRoot":"","sources":["MenuHeader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAanD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,kBAAkB;CAChB,CAAC;AAEX;;GAEG;AAEH,IAAM,UAAU,GAAG,iBAAiB,CAClC,YAAY,EACZ,SAAS,UAAU,CACjB,EAAsF,EACtF,GAA8B;;IAD5B,IAAA,EAAE,QAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA,EAAE,QAAQ,cAAA,
|
|
1
|
+
{"version":3,"file":"MenuHeader.js","sourceRoot":"","sources":["MenuHeader.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { MenuContext } from '../../internal/Menu/MenuContext.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { getStyles } from './MenuHeader.styles.js';\n\nexport interface MenuHeaderProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Размер заголовка. */\n size?: SizeProp;\n\n /** Добавляет отступ слева для выравнивания текста по иконкам MenuItem */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n}\n\nexport const MenuHeaderDataTids = {\n root: 'MenuHeader__root',\n} as const;\n\n/**\n * Заголовок меню используется для того, чтобы разграничивать элементы меню на категории.\n */\n\nconst MenuHeader = forwardRefAndName(\n 'MenuHeader',\n function MenuHeader(\n { id, _enableIconPadding = false, children, size: sizeProp, ...rest }: MenuHeaderProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const menuContext = useContext(MenuContext);\n const size = useSizeControl(sizeProp);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n ref={ref}\n id={id}\n data-tid={MenuHeaderDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: menuContext.enableIconPadding || _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuHeader as any).__MENU_HEADER__ = true;\n\nexport { MenuHeader };\n\nexport const isMenuHeader = (child: React.ReactNode): child is React.ReactElement<MenuHeaderProps> => {\n return React.isValidElement<MenuHeaderProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_HEADER__')\n : false;\n};\n"]}
|
|
@@ -35,6 +35,7 @@ import { isKeyArrowDown, isKeyArrowLeft, isKeyArrowRight, isKeyArrowUp, isKeyBac
|
|
|
35
35
|
import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
|
|
36
36
|
import { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';
|
|
37
37
|
import { useStyles } from '../../lib/renderEnvironment/index.js';
|
|
38
|
+
import { useSizeControl } from '../../lib/size/useSizeControl.js';
|
|
38
39
|
import { ThemeContext } from '../../lib/theming/ThemeContext.js';
|
|
39
40
|
import { getRandomID } from '../../lib/utils.js';
|
|
40
41
|
import { useResponsiveLayout } from '../ResponsiveLayout/index.js';
|
|
@@ -61,11 +62,12 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
61
62
|
// `className`, `style` и data-атрибуты применяет `CommonWrapper` к корневому элементу,
|
|
62
63
|
// поэтому в поле ввода они не должны уехать повторно.
|
|
63
64
|
var _b = extractCommonProps(props), notCommonProps = _b[1];
|
|
64
|
-
var disabled = notCommonProps.disabled, _c = notCommonProps.useMobileNativeTimePicker, useMobileNativeTimePicker = _c === void 0 ? false : _c, _d = notCommonProps.format, format = _d === void 0 ? 'HH:mm' : _d,
|
|
65
|
+
var disabled = notCommonProps.disabled, _c = notCommonProps.useMobileNativeTimePicker, useMobileNativeTimePicker = _c === void 0 ? false : _c, _d = notCommonProps.format, format = _d === void 0 ? 'HH:mm' : _d, sizeProp = notCommonProps.size, source = notCommonProps.source, renderItem = notCommonProps.renderItem, menuPos = notCommonProps.menuPos, menuAlign = notCommonProps.menuAlign, menuWidth = notCommonProps.menuWidth, minTime = notCommonProps.minTime, maxTime = notCommonProps.maxTime, rightIcon = notCommonProps.rightIcon, suffix = notCommonProps.suffix, corners = notCommonProps.corners, value = notCommonProps.value, onValueChange = notCommonProps.onValueChange, onInputValueChange = notCommonProps.onInputValueChange, onUnexpectedInput = notCommonProps.onUnexpectedInput, onFocus = notCommonProps.onFocus, onBlur = notCommonProps.onBlur, onClick = notCommonProps.onClick, onKeyDown = notCommonProps.onKeyDown, onPaste = notCommonProps.onPaste, inputProps = __rest(notCommonProps, ["disabled", "useMobileNativeTimePicker", "format", "size", "source", "renderItem", "menuPos", "menuAlign", "menuWidth", "minTime", "maxTime", "rightIcon", "suffix", "corners", "value", "onValueChange", "onInputValueChange", "onUnexpectedInput", "onFocus", "onBlur", "onClick", "onKeyDown", "onPaste"]);
|
|
65
66
|
var theme = useContext(ThemeContext);
|
|
66
67
|
var styles = useStyles(getStyles);
|
|
67
68
|
var locale = useLocaleForControl('TimePicker', TimePickerLocaleHelper);
|
|
68
|
-
var
|
|
69
|
+
var size = useSizeControl(sizeProp);
|
|
70
|
+
var _e = useState(false), isInputFocused = _e[0], setIsInputFocused = _e[1];
|
|
69
71
|
var inputRef = useRef(null);
|
|
70
72
|
var mobileInputRef = useRef(null);
|
|
71
73
|
var nativeInputRef = useRef(null);
|
|
@@ -93,12 +95,12 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
93
95
|
var canUseMobileNativeTimePicker = useMobileNativeTimePicker && isMobileLayout;
|
|
94
96
|
var isSourceFunction = typeof source === 'function';
|
|
95
97
|
var hasDropdown = isSourceFunction || (Array.isArray(source) && source.length > 0);
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
+
var _f = useState(false), isDropdownOpened = _f[0], setIsDropdownOpened = _f[1];
|
|
99
|
+
var _g = useState(false), isEditedAfterOpen = _g[0], setIsEditedAfterOpen = _g[1];
|
|
98
100
|
var onBlurRef = useRef(onBlur);
|
|
99
101
|
onBlurRef.current = onBlur;
|
|
100
102
|
var pendingBlurEventRef = useRef(null);
|
|
101
|
-
var
|
|
103
|
+
var _h = useState(0), blurRequestId = _h[0], setBlurRequestId = _h[1];
|
|
102
104
|
/**
|
|
103
105
|
* Завершает сессию фокуса и откладывает `onBlur` до конца рендера, как это делает ComboBox.
|
|
104
106
|
* Значение коммитится синхронно с потерей фокуса, поэтому вызванный тут же `onBlur`
|
|
@@ -129,16 +131,16 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
129
131
|
useEffect(flushPendingBlur, [blurRequestId, flushPendingBlur]);
|
|
130
132
|
/** Родитель мог убрать поле в ответ на коммит значения — отложенное событие все равно должно уйти. */
|
|
131
133
|
useEffect(function () { return flushPendingBlur; }, [flushPendingBlur]);
|
|
132
|
-
var
|
|
134
|
+
var _j = useTimePickerValue({
|
|
133
135
|
isInputFocused: isInputFocused,
|
|
134
136
|
format: format,
|
|
135
137
|
externalValue: value !== null && value !== void 0 ? value : EMPTY_VALUE,
|
|
136
138
|
isValueControlled: value !== undefined,
|
|
137
139
|
onCommitValue: onValueChange,
|
|
138
140
|
onInputValueChange: onInputValueChange,
|
|
139
|
-
}), editingValue =
|
|
141
|
+
}), editingValue = _j.editingValue, editingValueRef = _j.editingValueRef, committedValue = _j.committedValue, updateEditingValue = _j.updateEditingValue, commitEditingValue = _j.commitEditingValue, commitValue = _j.commitValue, commitSelectedValue = _j.commitSelectedValue;
|
|
140
142
|
var filterQuery = isEditedAfterOpen ? getTimeFilterQuery(editingValue, format) : EMPTY_VALUE;
|
|
141
|
-
var
|
|
143
|
+
var _k = useTimePickerSource({ source: source, format: format, isDropdownOpened: isDropdownOpened, filterQuery: filterQuery }), sourceValueItems = _k.items, fetchedItemsQuery = _k.fetchedQuery, isLoadingItems = _k.isLoading, isSourceFailed = _k.isFailed, retrySource = _k.retry;
|
|
142
144
|
var resolvedItems = useMemo(function () { return resolveTimeItems(filterTimeItems(sourceValueItems, filterQuery, format), format, minTime, maxTime); }, [filterQuery, format, maxTime, minTime, sourceValueItems]);
|
|
143
145
|
var popupMaxHeight = getTimePickerPopupMaxHeight(size, theme);
|
|
144
146
|
var ariaPlaceholder = format === 'HH:mm' ? locale.ariaPlaceholderHHMM : locale.ariaPlaceholderHHMMSS;
|
|
@@ -221,7 +223,7 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
221
223
|
return isMovingFocusToNativePickerRef.current ||
|
|
222
224
|
(nativeInputRef.current !== null && event.relatedTarget === nativeInputRef.current.getNode());
|
|
223
225
|
};
|
|
224
|
-
var
|
|
226
|
+
var _l = useTimePickerDropdown({
|
|
225
227
|
disabled: disabled,
|
|
226
228
|
hasDropdown: hasDropdown,
|
|
227
229
|
items: menuItems,
|
|
@@ -229,7 +231,7 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
229
231
|
autoHighlightKey: autoHighlightKey,
|
|
230
232
|
isDropdownOpened: isDropdownOpened,
|
|
231
233
|
setIsDropdownOpened: setIsDropdownOpened,
|
|
232
|
-
}), highlightedItemIndex =
|
|
234
|
+
}), highlightedItemIndex = _l.highlightedItemIndex, openDropdown = _l.openDropdown, closeDropdown = _l.closeDropdown, resetHighlightedItem = _l.resetHighlightedItem, tryNavigateItems = _l.tryNavigateItems;
|
|
233
235
|
/**
|
|
234
236
|
* Фильтрация начинается только после правки значения при открытом меню.
|
|
235
237
|
* Состояние живет ровно столько, сколько открыто меню: правка, которая заново открывает меню,
|
|
@@ -247,12 +249,12 @@ export var TimePicker = Object.assign(forwardRefAndName('TimePicker', function (
|
|
|
247
249
|
? ((_a = (isNavigableMenuElement(highlightedMenuItem) ? highlightedMenuItem.props.id : undefined)) !== null && _a !== void 0 ? _a : "".concat(popupId, "-item-").concat(highlightedItemIndex))
|
|
248
250
|
: undefined;
|
|
249
251
|
var getActiveInput = useCallback(function () { return (isMobileDropdownActive ? mobileInputRef.current : inputRef.current); }, [isMobileDropdownActive]);
|
|
250
|
-
var
|
|
252
|
+
var _m = useTimePickerSelection({
|
|
251
253
|
isInputFocused: isInputFocused,
|
|
252
254
|
format: format,
|
|
253
255
|
displayValue: displayValue,
|
|
254
256
|
getInput: getActiveInput,
|
|
255
|
-
}), selection =
|
|
257
|
+
}), selection = _m.selection, selectedSegment = _m.selectedSegment, selectSegment = _m.selectSegment, selectAll = _m.selectAll, syncSelectionWithDOM = _m.syncSelectionWithDOM;
|
|
256
258
|
var blinkInput = useCallback(function () {
|
|
257
259
|
var _a;
|
|
258
260
|
(_a = getActiveInput()) === null || _a === void 0 ? void 0 : _a.blink();
|