@salutejs/plasma-new-hope 0.335.0-canary.2197.17377664818.0 → 0.335.0-canary.2199.17384366399.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/components/Autocomplete/Autocomplete.js +5 -7
- package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/cjs/components/Autocomplete/FloatingPopover.js +5 -4
- package/cjs/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/Carousel.js +4 -3
- package/cjs/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -34
- package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
- package/cjs/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +5 -11
- package/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +24 -0
- package/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/Popup/ClientOnlyPortal.js +15 -2
- package/cjs/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/cjs/components/Popup/PopupContext.js +26 -5
- package/cjs/components/Popup/PopupContext.js.map +1 -1
- package/cjs/components/Select/Select.js +3 -4
- package/cjs/components/Select/Select.js.map +1 -1
- package/cjs/components/Select/Select.styles.js +3 -2
- package/cjs/components/Select/Select.styles.js.map +1 -1
- package/cjs/components/Select/ui/Inner/Inner.js +5 -11
- package/cjs/components/Select/ui/Inner/Inner.js.map +1 -1
- package/cjs/components/Select/ui/VirtualList/VirtualList.js +43 -13
- package/cjs/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/emotion/cjs/components/Autocomplete/Autocomplete.js +4 -9
- package/emotion/cjs/components/Autocomplete/FloatingPopover.js +31 -4
- package/emotion/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
- package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
- package/emotion/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/emotion/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/cjs/components/Popup/ClientOnlyPortal.js +14 -2
- package/emotion/cjs/components/Popup/PopupContext.js +25 -6
- package/emotion/cjs/components/Select/Select.js +2 -4
- package/emotion/cjs/components/Select/Select.styles.js +7 -7
- package/emotion/cjs/components/Select/ui/Inner/Inner.js +9 -50
- package/emotion/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/emotion/cjs/examples/components/Combobox/Combobox.js +0 -15
- package/emotion/es/components/Autocomplete/Autocomplete.js +5 -10
- package/emotion/es/components/Autocomplete/FloatingPopover.js +31 -4
- package/emotion/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/emotion/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
- package/emotion/es/components/Combobox/ComboboxNew/Combobox.styles.js +15 -15
- package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
- package/emotion/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/emotion/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/emotion/es/components/Popup/ClientOnlyPortal.js +14 -2
- package/emotion/es/components/Popup/PopupContext.js +25 -6
- package/emotion/es/components/Select/Select.js +2 -4
- package/emotion/es/components/Select/Select.styles.js +7 -7
- package/emotion/es/components/Select/ui/Inner/Inner.js +6 -11
- package/emotion/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/emotion/es/examples/components/Combobox/Combobox.js +7 -0
- package/es/components/Autocomplete/Autocomplete.js +6 -8
- package/es/components/Autocomplete/Autocomplete.js.map +1 -1
- package/es/components/Autocomplete/FloatingPopover.js +6 -5
- package/es/components/Autocomplete/FloatingPopover.js.map +1 -1
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Autocomplete/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Carousel/CarouselNew/Carousel.js +5 -4
- package/es/components/Carousel/CarouselNew/Carousel.js.map +1 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/es/components/Carousel/CarouselNew/hooks/useCarousel.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.js +18 -34
- package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js +3 -2
- package/es/components/Combobox/ComboboxNew/Combobox.styles.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -12
- package/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js.map +1 -1
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js +20 -0
- package/es/components/Combobox/ComboboxNew/utils/getTextValue.js.map +1 -0
- package/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -2
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/Popup/ClientOnlyPortal.js +15 -2
- package/es/components/Popup/ClientOnlyPortal.js.map +1 -1
- package/es/components/Popup/PopupContext.js +26 -5
- package/es/components/Popup/PopupContext.js.map +1 -1
- package/es/components/Select/Select.js +3 -4
- package/es/components/Select/Select.js.map +1 -1
- package/es/components/Select/Select.styles.js +3 -2
- package/es/components/Select/Select.styles.js.map +1 -1
- package/es/components/Select/ui/Inner/Inner.js +6 -12
- package/es/components/Select/ui/Inner/Inner.js.map +1 -1
- package/es/components/Select/ui/VirtualList/VirtualList.js +44 -13
- package/es/components/Select/ui/VirtualList/VirtualList.js.map +1 -1
- package/package.json +4 -5
- package/styled-components/cjs/components/Autocomplete/Autocomplete.js +4 -9
- package/styled-components/cjs/components/Autocomplete/FloatingPopover.js +31 -4
- package/styled-components/cjs/components/Autocomplete/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/cjs/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +28 -48
- package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/Inner.js +9 -50
- package/styled-components/cjs/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/getTextValue.js +25 -0
- package/styled-components/cjs/components/Combobox/ComboboxNew/utils/index.js +4 -0
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/cjs/components/Popup/ClientOnlyPortal.js +14 -2
- package/styled-components/cjs/components/Popup/PopupContext.js +25 -6
- package/styled-components/cjs/components/Select/Select.js +2 -4
- package/styled-components/cjs/components/Select/Select.styles.js +4 -4
- package/styled-components/cjs/components/Select/ui/Inner/Inner.js +9 -50
- package/styled-components/cjs/components/Select/ui/VirtualList/VirtualList.js +84 -16
- package/styled-components/es/components/Autocomplete/Autocomplete.js +5 -10
- package/styled-components/es/components/Autocomplete/FloatingPopover.js +31 -4
- package/styled-components/es/components/Autocomplete/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Carousel/CarouselNew/Carousel.js +2 -2
- package/styled-components/es/components/Carousel/CarouselNew/hooks/useCarousel.js +6 -1
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +14 -34
- package/styled-components/es/components/Combobox/ComboboxNew/Combobox.styles.js +8 -8
- package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/Inner.js +6 -11
- package/styled-components/es/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.js +45 -13
- package/styled-components/es/components/Combobox/ComboboxNew/utils/getTextValue.js +16 -0
- package/styled-components/es/components/Combobox/ComboboxNew/utils/index.js +1 -0
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +3 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +5 -3
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +4 -2
- package/styled-components/es/components/Popup/ClientOnlyPortal.js +14 -2
- package/styled-components/es/components/Popup/PopupContext.js +25 -6
- package/styled-components/es/components/Select/Select.js +2 -4
- package/styled-components/es/components/Select/Select.styles.js +4 -4
- package/styled-components/es/components/Select/ui/Inner/Inner.js +6 -11
- package/styled-components/es/components/Select/ui/VirtualList/VirtualList.js +45 -13
- package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/components/Autocomplete/Autocomplete.types.d.ts +23 -17
- package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Autocomplete/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts +5 -0
- package/types/components/Carousel/CarouselNew/Carousel.types.d.ts.map +1 -1
- package/types/components/Carousel/CarouselNew/hooks/useCarousel.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/Combobox.styles.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +7 -7
- package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts +1 -2
- package/types/components/Combobox/ComboboxNew/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts +2 -6
- package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Combobox/ComboboxNew/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts +4 -0
- package/types/components/Combobox/ComboboxNew/utils/getTextValue.d.ts.map +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts +1 -0
- package/types/components/Combobox/ComboboxNew/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts +18 -18
- package/types/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.styles.d.ts.map +1 -1
- package/types/components/Popup/ClientOnlyPortal.d.ts +1 -0
- package/types/components/Popup/ClientOnlyPortal.d.ts.map +1 -1
- package/types/components/Popup/PopupContext.d.ts +5 -1
- package/types/components/Popup/PopupContext.d.ts.map +1 -1
- package/types/components/Select/Select.d.ts.map +1 -1
- package/types/components/Select/Select.styles.d.ts +1 -0
- package/types/components/Select/Select.styles.d.ts.map +1 -1
- package/types/components/Select/Select.types.d.ts +14 -14
- package/types/components/Select/Select.types.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/Inner.type.d.ts +1 -2
- package/types/components/Select/ui/Inner/Inner.type.d.ts.map +1 -1
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts +3 -11
- package/types/components/Select/ui/Inner/ui/Item/Item.types.d.ts.map +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts +1 -1
- package/types/components/Select/ui/VirtualList/VirtualList.d.ts.map +1 -1
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts +18 -18
- package/types/components/Table/ui/HeadCell/ui/Filter/Filter.styles.d.ts.map +1 -1
- package/types/examples/components/Autocomplete/Autocomplete.d.ts +48 -40
- package/types/examples/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/types/examples/components/Combobox/Combobox.d.ts +48 -48
- package/types/examples/components/Combobox/Combobox.d.ts.map +1 -1
- package/types/examples/components/Select/Select.d.ts +18 -18
- package/types/examples/components/Select/Select.d.ts.map +1 -1
@@ -141,14 +141,13 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
141
141
|
}
|
142
142
|
import React, { forwardRef, useState, useReducer, useMemo, useLayoutEffect, useRef } from "react";
|
143
143
|
import { useForkRef } from "@salutejs/plasma-core";
|
144
|
-
import { safeUseId } from "../../../utils";
|
145
|
-
import {
|
146
|
-
import { useOutsideClick } from "../../../hooks";
|
144
|
+
import { safeUseId, isEmpty } from "../../../utils";
|
145
|
+
import { useOutsideClick, useDidMountLayoutEffect } from "../../../hooks";
|
147
146
|
import { sizeToIconSize } from "../../Select/utils";
|
148
147
|
import { classes } from "./Combobox.tokens";
|
149
148
|
import { FloatingPopover } from "./FloatingPopover";
|
150
149
|
import { useKeyNavigation, getItemByFocused } from "./hooks/useKeyboardNavigation";
|
151
|
-
import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getRemovedElement } from "./utils";
|
150
|
+
import { initialItemsTransform, updateAncestors, updateDescendants, updateSingleAncestors, filterItems, getItemId, getRemovedElement, getTextValue } from "./utils";
|
152
151
|
import { Inner, StyledTextField, VirtualList, SelectAll } from "./ui";
|
153
152
|
import { pathReducer, focusedPathReducer } from "./reducers";
|
154
153
|
import { getPathMap, getTreeMaps } from "./hooks/getPathMaps";
|
@@ -161,7 +160,7 @@ import { Context } from "./Combobox.context";
|
|
161
160
|
* Поле ввода с выпадающим списком и возможностью фильтрации и выбора элементов.
|
162
161
|
*/ export var comboboxRoot = function(Root) {
|
163
162
|
return /*#__PURE__*/ forwardRef(function(props, ref) {
|
164
|
-
var
|
163
|
+
var _getItemByFocused;
|
165
164
|
var name = props.name, multiple = props.multiple, outerValue = props.value, outerOnChange = props.onChange, defaultValue = props.defaultValue, isTargetAmount = props.isTargetAmount, targetAmount = props.targetAmount, items = props.items, _props_placement = props.placement, placement = _props_placement === void 0 ? 'bottom-start' : _props_placement, label = props.label, placeholder = props.placeholder, helperText = props.helperText, contentLeft = props.contentLeft, textBefore = props.textBefore, textAfter = props.textAfter, _props_variant = props.variant, variant = _props_variant === void 0 ? 'normal' : _props_variant, listOverflow = props.listOverflow, listHeight = props.listHeight, listMaxHeight = props.listMaxHeight, listWidth = props.listWidth, portal = props.portal, renderItem = props.renderItem, view = props.view, size = props.size, labelPlacement = props.labelPlacement, keepPlaceholder = props.keepPlaceholder, _props_readOnly = props.readOnly, readOnly = _props_readOnly === void 0 ? false : _props_readOnly, _props_disabled = props.disabled, disabled = _props_disabled === void 0 ? false : _props_disabled, _props_alwaysOpened = props.alwaysOpened, alwaysOpened = _props_alwaysOpened === void 0 ? false : _props_alwaysOpened, filter = props.filter, outerCloseAfterSelect = props.closeAfterSelect, renderValue = props.renderValue, zIndex = props.zIndex, beforeList = props.beforeList, afterList = props.afterList, _props_virtual = props.virtual, virtual = _props_virtual === void 0 ? false : _props_virtual, hintView = props.hintView, hintSize = props.hintSize, emptyStateDescription = props.emptyStateDescription, onChangeValue = props.onChangeValue, onScroll = props.onScroll, onToggle = props.onToggle, // @ts-ignore
|
166
165
|
_offset = props._offset, rest = _object_without_properties(props, [
|
167
166
|
"name",
|
@@ -219,17 +218,15 @@ import { Context } from "./Combobox.context";
|
|
219
218
|
}, [
|
220
219
|
items
|
221
220
|
]), 3), valueToCheckedMap = _useMemo[0], valueToItemMap = _useMemo[1], labelToItemMap = _useMemo[2];
|
222
|
-
var _useState = _sliced_to_array(useState(multiple
|
221
|
+
var _useState = _sliced_to_array(useState(getTextValue(multiple, outerValue, valueToItemMap, renderValue)), 2), textValue = _useState[0], setTextValue = _useState[1];
|
223
222
|
var _useState1 = _sliced_to_array(useState(multiple ? [] : ''), 2), internalValue = _useState1[0], setInternalValue = _useState1[1];
|
224
223
|
var value = outerValue !== null && outerValue !== undefined ? outerValue : internalValue;
|
225
224
|
var inputRef = useRef(null);
|
226
225
|
var floatingPopoverRef = useRef(null);
|
227
226
|
var inputForkRef = useForkRef(inputRef, ref);
|
228
227
|
var treeId = safeUseId();
|
229
|
-
var listWrapperRef = useRef(null);
|
230
228
|
var filteredItems = useMemo(function() {
|
231
|
-
|
232
|
-
return filterItems(transformedItems, textValue, ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value, filter);
|
229
|
+
return filterItems(transformedItems, textValue, getTextValue(multiple, value, valueToItemMap, renderValue), filter);
|
233
230
|
}, [
|
234
231
|
transformedItems,
|
235
232
|
textValue,
|
@@ -266,30 +263,19 @@ import { Context } from "./Combobox.context";
|
|
266
263
|
if (onToggle) {
|
267
264
|
onToggle(false);
|
268
265
|
}
|
269
|
-
//
|
270
|
-
|
271
|
-
// Если нет выбранного элемента, то стираем значение инпута.
|
272
|
-
if (textValue !== value) {
|
273
|
-
if (isEmpty(value)) {
|
274
|
-
setTextValue('');
|
275
|
-
} else if (multiple) {
|
276
|
-
setTextValue('');
|
277
|
-
} else {
|
278
|
-
var _valueToItemMap_get;
|
279
|
-
setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value || '');
|
280
|
-
}
|
281
|
-
}
|
266
|
+
// Возвращаем актуальное значение поля ввода после закрытия выпадающего списка.
|
267
|
+
setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
|
282
268
|
}, floatingPopoverRef);
|
283
269
|
// Эта функция срабатывает при изменении Combobox и
|
284
270
|
// при изменении нативного Select для формы (срабатывает только после изменения internalValue и рендера).
|
285
271
|
var onChange = function(newValue, item) {
|
286
272
|
// Условие для отправки изменений наружу
|
287
273
|
if (props.onChange) {
|
288
|
-
// Условие для
|
274
|
+
// Условие для отправки, если комбобокс используется без формы.
|
289
275
|
if (!props.name && (typeof newValue === 'string' || Array.isArray(newValue))) {
|
290
276
|
props.onChange(newValue, item || null);
|
291
277
|
}
|
292
|
-
// Условие для
|
278
|
+
// Условие для отправки, если комбобокс используется с формой.
|
293
279
|
if (props.name && (typeof newValue === "undefined" ? "undefined" : _type_of(newValue)) === 'object' && !Array.isArray(newValue)) {
|
294
280
|
props.onChange(newValue);
|
295
281
|
}
|
@@ -525,10 +511,6 @@ import { Context } from "./Combobox.context";
|
|
525
511
|
}
|
526
512
|
}
|
527
513
|
setChecked(checkedCopy);
|
528
|
-
if (!multiple && textValue === value && valueToItemMap.has(value)) {
|
529
|
-
var _valueToItemMap_get;
|
530
|
-
setTextValue(((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || '');
|
531
|
-
}
|
532
514
|
// В deps мы кладем именно outerValue и internalValue, а не просто value.
|
533
515
|
// Т.к. вначале нужно отфильтровать и провалидировать outerValue и результат положить в переменную.
|
534
516
|
// А переменную, содержащую сложные типы данных, нельзя помещать в deps.
|
@@ -538,9 +520,8 @@ import { Context } from "./Combobox.context";
|
|
538
520
|
items
|
539
521
|
]);
|
540
522
|
// При изменении value нужно возвращать значение в инпуте к исходному.
|
541
|
-
|
542
|
-
|
543
|
-
setTextValue(multiple ? '' : ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || (value === null || value === void 0 ? void 0 : value.toString()) || '');
|
523
|
+
useDidMountLayoutEffect(function() {
|
524
|
+
setTextValue(getTextValue(multiple, value, valueToItemMap, renderValue));
|
544
525
|
}, [
|
545
526
|
outerValue,
|
546
527
|
internalValue
|
@@ -647,7 +628,6 @@ import { Context } from "./Combobox.context";
|
|
647
628
|
readOnly: readOnly,
|
648
629
|
name: name
|
649
630
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
650
|
-
ref: listWrapperRef,
|
651
631
|
listWidth: listWidth
|
652
632
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
653
633
|
role: "tree",
|
@@ -656,6 +636,7 @@ import { Context } from "./Combobox.context";
|
|
656
636
|
listMaxHeight: listMaxHeight || listHeight,
|
657
637
|
ref: targetRef,
|
658
638
|
virtual: virtual,
|
639
|
+
listOverflow: listOverflow,
|
659
640
|
onScroll: virtual ? undefined : onScroll
|
660
641
|
}, beforeList, isEmpty(filteredItems) ? /*#__PURE__*/ React.createElement(StyledEmptyState, {
|
661
642
|
className: classes.emptyStateWrapper,
|
@@ -677,8 +658,7 @@ import { Context } from "./Combobox.context";
|
|
677
658
|
path: path,
|
678
659
|
dispatchPath: dispatchPath,
|
679
660
|
index: index,
|
680
|
-
listWidth: listWidth
|
681
|
-
portal: listWrapperRef
|
661
|
+
listWidth: listWidth
|
682
662
|
});
|
683
663
|
})), afterList)))))));
|
684
664
|
});
|
@@ -8,7 +8,7 @@ var mergedConfig = mergeConfig(emptyStateConfig);
|
|
8
8
|
var EmptyState = component(mergedConfig);
|
9
9
|
export var ListWrapper = styled.div.withConfig({
|
10
10
|
displayName: "Combobox.styles__ListWrapper",
|
11
|
-
componentId: "sc-
|
11
|
+
componentId: "sc-7fefedf8-0"
|
12
12
|
})([
|
13
13
|
"width:",
|
14
14
|
";padding:calc(var(",
|
@@ -25,7 +25,7 @@ export var ListWrapper = styled.div.withConfig({
|
|
25
25
|
}, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
|
26
26
|
export var Ul = styled.ul.withConfig({
|
27
27
|
displayName: "Combobox.styles__Ul",
|
28
|
-
componentId: "sc-
|
28
|
+
componentId: "sc-7fefedf8-1"
|
29
29
|
})([
|
30
30
|
"max-height:",
|
31
31
|
";overflow-y:",
|
@@ -37,12 +37,12 @@ export var Ul = styled.ul.withConfig({
|
|
37
37
|
var virtual = param.virtual, listMaxHeight = param.listMaxHeight;
|
38
38
|
return virtual ? 'auto' : listMaxHeight || 'auto';
|
39
39
|
}, function(param) {
|
40
|
-
var virtual = param.virtual;
|
41
|
-
return virtual ? 'visible' : '
|
40
|
+
var virtual = param.virtual, listOverflow = param.listOverflow;
|
41
|
+
return virtual ? 'visible' : listOverflow || 'visible';
|
42
42
|
}, tokens.borderRadius, tokens.dropdownBorderWidth, classes.emptyStateWrapper);
|
43
43
|
export var IconArrowWrapper = styled.div.withConfig({
|
44
44
|
displayName: "Combobox.styles__IconArrowWrapper",
|
45
|
-
componentId: "sc-
|
45
|
+
componentId: "sc-7fefedf8-2"
|
46
46
|
})([
|
47
47
|
"line-height:0;color:var(",
|
48
48
|
");cursor:",
|
@@ -63,7 +63,7 @@ export var sizeMap = {
|
|
63
63
|
};
|
64
64
|
export var StyledArrow = styled(IconDisclosureDownCentered).withConfig({
|
65
65
|
displayName: "Combobox.styles__StyledArrow",
|
66
|
-
componentId: "sc-
|
66
|
+
componentId: "sc-7fefedf8-3"
|
67
67
|
})([
|
68
68
|
"width:",
|
69
69
|
";height:",
|
@@ -80,7 +80,7 @@ export var base = css([
|
|
80
80
|
]);
|
81
81
|
export var StyledEmptyState = styled(EmptyState).withConfig({
|
82
82
|
displayName: "Combobox.styles__StyledEmptyState",
|
83
|
-
componentId: "sc-
|
83
|
+
componentId: "sc-7fefedf8-4"
|
84
84
|
})([
|
85
85
|
"",
|
86
86
|
":var(",
|
@@ -102,7 +102,7 @@ export var StyledEmptyState = styled(EmptyState).withConfig({
|
|
102
102
|
], emptyStateTokens.borderRadius, tokens.textFieldBorderRadius, emptyStateTokens.padding, tokens.emptyStatePadding, emptyStateTokens.fontFamily, tokens.textFieldFontFamily, emptyStateTokens.fontSize, tokens.textFieldFontSize, emptyStateTokens.fontStyle, tokens.textFieldFontStyle, emptyStateTokens.fontWeight, tokens.textFieldFontWeight, emptyStateTokens.fontLetterSpacing, tokens.textFieldLetterSpacing, emptyStateTokens.fontLineHeight, tokens.textFieldLineHeight);
|
103
103
|
export var StyledLeftHelper = styled.span.withConfig({
|
104
104
|
displayName: "Combobox.styles__StyledLeftHelper",
|
105
|
-
componentId: "sc-
|
105
|
+
componentId: "sc-7fefedf8-5"
|
106
106
|
})([
|
107
107
|
"margin:0;padding:0;"
|
108
108
|
]);
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import React
|
1
|
+
import React from "react";
|
2
2
|
import { safeUseId } from "../../../../../utils";
|
3
3
|
import { FloatingPopover } from "../../FloatingPopover";
|
4
4
|
import { isEmpty } from "../../../../../utils";
|
5
5
|
import { Ul, ListWrapper } from "../../Combobox.styles";
|
6
6
|
import { Item } from "./ui";
|
7
7
|
export var Inner = function(param) {
|
8
|
-
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth
|
8
|
+
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
|
9
9
|
var handleToggle = function(opened) {
|
10
10
|
if (opened) {
|
11
11
|
dispatchPath({
|
@@ -20,7 +20,6 @@ export var Inner = function(param) {
|
|
20
20
|
});
|
21
21
|
}
|
22
22
|
};
|
23
|
-
var listWrapperRef = useRef(null);
|
24
23
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
25
24
|
var treeId = safeUseId();
|
26
25
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -41,16 +40,13 @@ export var Inner = function(param) {
|
|
41
40
|
ariaLevel: nextLevel,
|
42
41
|
ariaLabel: item.label
|
43
42
|
}),
|
44
|
-
isInner: true
|
45
|
-
portal: portal
|
43
|
+
isInner: true
|
46
44
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
47
|
-
listWidth: listWidth
|
48
|
-
ref: listWrapperRef
|
45
|
+
listWidth: listWidth
|
49
46
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
50
47
|
role: "group",
|
51
48
|
id: listId,
|
52
|
-
virtual: false
|
53
|
-
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
49
|
+
virtual: false
|
54
50
|
}, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
|
55
51
|
return /*#__PURE__*/ React.createElement(Inner, {
|
56
52
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -59,8 +55,7 @@ export var Inner = function(param) {
|
|
59
55
|
path: path,
|
60
56
|
dispatchPath: dispatchPath,
|
61
57
|
index: innerIndex,
|
62
|
-
listWidth: listWidth
|
63
|
-
portal: listWrapperRef
|
58
|
+
listWidth: listWidth
|
64
59
|
});
|
65
60
|
}))));
|
66
61
|
}
|
@@ -1,25 +1,57 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import
|
1
|
+
import React, { useRef } from "react";
|
2
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
3
3
|
import { getHeightAsNumber } from "../../../../../utils";
|
4
4
|
import { Item } from "../Inner/ui";
|
5
5
|
export var VirtualList = function(param) {
|
6
6
|
var items = param.items, listMaxHeight = param.listMaxHeight, onScroll = param.onScroll;
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
var _virtualItems_;
|
8
|
+
var parentRef = useRef(null);
|
9
|
+
var virtualizer = useVirtualizer({
|
10
|
+
count: items.length,
|
11
|
+
getScrollElement: function() {
|
12
|
+
return parentRef.current;
|
13
|
+
},
|
14
|
+
estimateSize: function() {
|
15
|
+
return 48;
|
16
|
+
}
|
17
|
+
});
|
18
|
+
var virtualItems = virtualizer.getVirtualItems();
|
19
|
+
var _virtualItems__start;
|
20
|
+
return /*#__PURE__*/ React.createElement("div", {
|
21
|
+
ref: parentRef,
|
22
|
+
style: {
|
23
|
+
height: 'auto',
|
24
|
+
maxHeight: getHeightAsNumber(listMaxHeight),
|
25
|
+
overflowY: 'auto'
|
26
|
+
},
|
13
27
|
onScroll: onScroll
|
14
|
-
},
|
15
|
-
|
16
|
-
|
28
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
29
|
+
style: {
|
30
|
+
height: virtualizer.getTotalSize(),
|
31
|
+
width: '100%',
|
32
|
+
position: 'relative'
|
33
|
+
}
|
34
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
35
|
+
style: {
|
36
|
+
position: 'absolute',
|
37
|
+
top: 0,
|
38
|
+
left: 0,
|
39
|
+
width: '100%',
|
40
|
+
transform: "translateY(".concat((_virtualItems__start = (_virtualItems_ = virtualItems[0]) === null || _virtualItems_ === void 0 ? void 0 : _virtualItems_.start) !== null && _virtualItems__start !== void 0 ? _virtualItems__start : 0, "px)")
|
41
|
+
}
|
42
|
+
}, virtualItems.map(function(virtualRow) {
|
43
|
+
return /*#__PURE__*/ React.createElement("div", {
|
44
|
+
key: virtualRow.key,
|
45
|
+
"data-index": virtualRow.index,
|
46
|
+
ref: virtualizer.measureElement
|
47
|
+
}, /*#__PURE__*/ React.createElement(Item, {
|
48
|
+
item: items[virtualRow.index],
|
17
49
|
path: [
|
18
50
|
'root'
|
19
51
|
],
|
20
52
|
currentLevel: 0,
|
21
|
-
index: index,
|
53
|
+
index: virtualRow.index,
|
22
54
|
ariaLevel: 1
|
23
55
|
}));
|
24
|
-
});
|
56
|
+
}))));
|
25
57
|
};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// Type Guard для multiple.
|
2
|
+
// @ts-ignore
|
3
|
+
function isMultiple(multiple, value) {
|
4
|
+
return Boolean(multiple);
|
5
|
+
}
|
6
|
+
// Хелпер для генерации начального состояния поля ввода.
|
7
|
+
export var getTextValue = function(multiple, value, valueToItemMap, renderValue) {
|
8
|
+
var _valueToItemMap_get;
|
9
|
+
if (isMultiple(multiple, value) || !value) {
|
10
|
+
return '';
|
11
|
+
}
|
12
|
+
return (renderValue === null || renderValue === void 0 ? void 0 : renderValue({
|
13
|
+
value: value,
|
14
|
+
label: ''
|
15
|
+
})) || ((_valueToItemMap_get = valueToItemMap.get(value)) === null || _valueToItemMap_get === void 0 ? void 0 : _valueToItemMap_get.label) || value.toString();
|
16
|
+
};
|
@@ -141,7 +141,7 @@ import { LeftHelper, StyledRange, base } from "./RangeDate.styles";
|
|
141
141
|
import { RangeDatePopover } from "./RangeDatePopover/RangeDatePopover";
|
142
142
|
export var datePickerRangeRoot = function(Root) {
|
143
143
|
return /*#__PURE__*/ forwardRef(function(_param, ref) {
|
144
|
-
var className = _param.className, autoComplete = _param.autoComplete, _param_isDoubleCalendar = _param.isDoubleCalendar, isDoubleCalendar = _param_isDoubleCalendar === void 0 ? false : _param_isDoubleCalendar, _param_opened = _param.opened, opened = _param_opened === void 0 ? false : _param_opened, outerValue = _param.value, _param_defaultFirstDate = _param.defaultFirstDate, defaultFirstDate = _param_defaultFirstDate === void 0 ? '' : _param_defaultFirstDate, _param_defaultSecondDate = _param.defaultSecondDate, defaultSecondDate = _param_defaultSecondDate === void 0 ? '' : _param_defaultSecondDate, preserveInvalidOnBlur = _param.preserveInvalidOnBlur, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, name = _param.name, _param_dividerVariant = _param.dividerVariant, dividerVariant = _param_dividerVariant === void 0 ? 'dash' : _param_dividerVariant, dividerIcon = _param.dividerIcon, firstValueError = _param.firstValueError, secondValueError = _param.secondValueError, firstValueSuccess = _param.firstValueSuccess, secondValueSuccess = _param.secondValueSuccess, firstPlaceholder = _param.firstPlaceholder, secondPlaceholder = _param.secondPlaceholder, firstTextfieldContentLeft = _param.firstTextfieldContentLeft, firstTextfieldContentRight = _param.firstTextfieldContentRight, secondTextfieldContentLeft = _param.secondTextfieldContentLeft, secondTextfieldContentRight = _param.secondTextfieldContentRight, firstTextfieldTextBefore = _param.firstTextfieldTextBefore, secondTextfieldTextBefore = _param.secondTextfieldTextBefore, firstTextfieldTextAfter = _param.firstTextfieldTextAfter, secondTextfieldTextAfter = _param.secondTextfieldTextAfter, required = _param.required, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, _param_format = _param.format, format = _param_format === void 0 ? 'DD.MM.YYYY' : _param_format, _param_lang = _param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, maskWithFormat = _param.maskWithFormat, min = _param.min, max = _param.max, renderFromDate = _param.renderFromDate, _param_includeEdgeDates = _param.includeEdgeDates, includeEdgeDates = _param_includeEdgeDates === void 0 ? false : _param_includeEdgeDates, eventList = _param.eventList, disabledList = _param.disabledList, eventMonthList = _param.eventMonthList, disabledMonthList = _param.disabledMonthList, eventQuarterList = _param.eventQuarterList, disabledQuarterList = _param.disabledQuarterList, eventYearList = _param.eventYearList, disabledYearList = _param.disabledYearList, _param_type = _param.type, type = _param_type === void 0 ? 'Days' : _param_type, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, _param_placement = _param.placement, placement = _param_placement === void 0 ? [
|
144
|
+
var className = _param.className, autoComplete = _param.autoComplete, _param_isDoubleCalendar = _param.isDoubleCalendar, isDoubleCalendar = _param_isDoubleCalendar === void 0 ? false : _param_isDoubleCalendar, _param_opened = _param.opened, opened = _param_opened === void 0 ? false : _param_opened, outerValue = _param.value, _param_defaultFirstDate = _param.defaultFirstDate, defaultFirstDate = _param_defaultFirstDate === void 0 ? '' : _param_defaultFirstDate, _param_defaultSecondDate = _param.defaultSecondDate, defaultSecondDate = _param_defaultSecondDate === void 0 ? '' : _param_defaultSecondDate, preserveInvalidOnBlur = _param.preserveInvalidOnBlur, label = _param.label, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, name = _param.name, _param_dividerVariant = _param.dividerVariant, dividerVariant = _param_dividerVariant === void 0 ? 'dash' : _param_dividerVariant, dividerIcon = _param.dividerIcon, firstValueError = _param.firstValueError, secondValueError = _param.secondValueError, firstValueSuccess = _param.firstValueSuccess, secondValueSuccess = _param.secondValueSuccess, firstPlaceholder = _param.firstPlaceholder, secondPlaceholder = _param.secondPlaceholder, firstTextfieldContentLeft = _param.firstTextfieldContentLeft, firstTextfieldContentRight = _param.firstTextfieldContentRight, secondTextfieldContentLeft = _param.secondTextfieldContentLeft, secondTextfieldContentRight = _param.secondTextfieldContentRight, firstTextfieldTextBefore = _param.firstTextfieldTextBefore, secondTextfieldTextBefore = _param.secondTextfieldTextBefore, firstTextfieldTextAfter = _param.firstTextfieldTextAfter, secondTextfieldTextAfter = _param.secondTextfieldTextAfter, required = _param.required, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, _param_format = _param.format, format = _param_format === void 0 ? 'DD.MM.YYYY' : _param_format, _param_lang = _param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, maskWithFormat = _param.maskWithFormat, min = _param.min, max = _param.max, renderFromDate = _param.renderFromDate, _param_includeEdgeDates = _param.includeEdgeDates, includeEdgeDates = _param_includeEdgeDates === void 0 ? false : _param_includeEdgeDates, eventList = _param.eventList, disabledList = _param.disabledList, eventMonthList = _param.eventMonthList, disabledMonthList = _param.disabledMonthList, eventQuarterList = _param.eventQuarterList, disabledQuarterList = _param.disabledQuarterList, eventYearList = _param.eventYearList, disabledYearList = _param.disabledYearList, _param_type = _param.type, type = _param_type === void 0 ? 'Days' : _param_type, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, zIndex = _param.zIndex, _param_placement = _param.placement, placement = _param_placement === void 0 ? [
|
145
145
|
'top',
|
146
146
|
'bottom'
|
147
147
|
] : _param_placement, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_closeAfterDateSelect = _param.closeAfterDateSelect, closeAfterDateSelect = _param_closeAfterDateSelect === void 0 ? true : _param_closeAfterDateSelect, offset = _param.offset, calendarContainerWidth = _param.calendarContainerWidth, calendarContainerHeight = _param.calendarContainerHeight, stretched = _param.stretched, onToggle = _param.onToggle, onChange = _param.onChange, onChangeFirstValue = _param.onChangeFirstValue, onChangeSecondValue = _param.onChangeSecondValue, onCommitFirstDate = _param.onCommitFirstDate, onCommitSecondDate = _param.onCommitSecondDate, onFocusFirstTextfield = _param.onFocusFirstTextfield, onFocusSecondTextfield = _param.onFocusSecondTextfield, onBlurFirstTextfield = _param.onBlurFirstTextfield, onBlurSecondTextfield = _param.onBlurSecondTextfield, rest = _object_without_properties(_param, [
|
@@ -199,6 +199,7 @@ export var datePickerRangeRoot = function(Root) {
|
|
199
199
|
"type",
|
200
200
|
"frame",
|
201
201
|
"usePortal",
|
202
|
+
"zIndex",
|
202
203
|
"placement",
|
203
204
|
"closeOnOverlayClick",
|
204
205
|
"closeOnEsc",
|
@@ -568,6 +569,7 @@ export var datePickerRangeRoot = function(Root) {
|
|
568
569
|
renderFromDate: renderFromDate,
|
569
570
|
frame: frame,
|
570
571
|
usePortal: usePortal,
|
572
|
+
zIndex: zIndex,
|
571
573
|
placement: placement,
|
572
574
|
closeOnOverlayClick: closeOnOverlayClick,
|
573
575
|
closeOnEsc: closeOnEsc,
|
package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js
CHANGED
@@ -18,7 +18,7 @@ import { StyledPopover } from "../RangeDate.styles";
|
|
18
18
|
import { classes } from "../../DatePicker.tokens";
|
19
19
|
import { StyledCalendar, StyledCalendarDouble } from "./RangeDatePopover.styles";
|
20
20
|
export var RangeDatePopover = function(param) {
|
21
|
-
var Root = param.rootWrapper, target = param.target, isOpen = param.isOpen, opened = param.opened, isDoubleCalendar = param.isDoubleCalendar, calendarValue = param.calendarValue, min = param.min, max = param.max, renderFromDate = param.renderFromDate, includeEdgeDates = param.includeEdgeDates, eventList = param.eventList, disabledList = param.disabledList, eventMonthList = param.eventMonthList, disabledMonthList = param.disabledMonthList, eventQuarterList = param.eventQuarterList, disabledQuarterList = param.disabledQuarterList, eventYearList = param.eventYearList, disabledYearList = param.disabledYearList, _param_frame = param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, _param_placement = param.placement, placement = _param_placement === void 0 ? [
|
21
|
+
var Root = param.rootWrapper, target = param.target, isOpen = param.isOpen, opened = param.opened, isDoubleCalendar = param.isDoubleCalendar, calendarValue = param.calendarValue, min = param.min, max = param.max, renderFromDate = param.renderFromDate, includeEdgeDates = param.includeEdgeDates, eventList = param.eventList, disabledList = param.disabledList, eventMonthList = param.eventMonthList, disabledMonthList = param.disabledMonthList, eventQuarterList = param.eventQuarterList, disabledQuarterList = param.disabledQuarterList, eventYearList = param.eventYearList, disabledYearList = param.disabledYearList, _param_frame = param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, zIndex = param.zIndex, _param_placement = param.placement, placement = _param_placement === void 0 ? [
|
22
22
|
'top',
|
23
23
|
'bottom'
|
24
24
|
] : _param_placement, _param_closeOnOverlayClick = param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, closeOnEsc = param.closeOnEsc, offset = param.offset, calendarContainerWidth = param.calendarContainerWidth, calendarContainerHeight = param.calendarContainerHeight, stretched = param.stretched, type = param.type, size = param.size, _param_lang = param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, disabled = param.disabled, readOnly = param.readOnly, setIsInnerOpen = param.setIsInnerOpen, onChangeValue = param.onChangeValue, onChangeStartOfRange = param.onChangeStartOfRange, onToggle = param.onToggle;
|
@@ -51,7 +51,8 @@ export var RangeDatePopover = function(param) {
|
|
51
51
|
closeOnOverlayClick: closeOnOverlayClick,
|
52
52
|
isFocusTrapped: false,
|
53
53
|
target: target,
|
54
|
-
preventOverflow: false
|
54
|
+
preventOverflow: false,
|
55
|
+
zIndex: zIndex
|
55
56
|
}, /*#__PURE__*/ React.createElement(Root, {
|
56
57
|
ref: doubleCalendarRootRef,
|
57
58
|
className: cls(classes.datePickerRoot, _define_property({}, classes.datePickerstretched, stretched)),
|
@@ -92,7 +93,8 @@ export var RangeDatePopover = function(param) {
|
|
92
93
|
isFocusTrapped: false,
|
93
94
|
target: target,
|
94
95
|
preventOverflow: false,
|
95
|
-
closeOnEsc: closeOnEsc
|
96
|
+
closeOnEsc: closeOnEsc,
|
97
|
+
zIndex: zIndex
|
96
98
|
}, /*#__PURE__*/ React.createElement(Root, {
|
97
99
|
ref: calendarRootRef,
|
98
100
|
className: cls(classes.datePickerRoot, _define_property({}, classes.datePickerstretched, stretched)),
|
@@ -115,7 +115,7 @@ import { base as readOnlyCSS } from "./variations/_readonly/base";
|
|
115
115
|
import { LeftHelper, StyledInput, StyledPopover, base } from "./SingleDate.styles";
|
116
116
|
export var datePickerRoot = function(Root) {
|
117
117
|
return /*#__PURE__*/ forwardRef(function(_param, ref) {
|
118
|
-
var className = _param.className, _param_opened = _param.opened, opened = _param_opened === void 0 ? false : _param_opened, outerValue = _param.value, _param_defaultDate = _param.defaultDate, defaultDate = _param_defaultDate === void 0 ? '' : _param_defaultDate, preserveInvalidOnBlur = _param.preserveInvalidOnBlur, label = _param.label, _param_labelPlacement = _param.labelPlacement, labelPlacement = _param_labelPlacement === void 0 ? 'outer' : _param_labelPlacement, keepPlaceholder = _param.keepPlaceholder, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, placeholder = _param.placeholder, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, name = _param.name, valueError = _param.valueError, valueSuccess = _param.valueSuccess, _param_format = _param.format, format = _param_format === void 0 ? 'DD.MM.YYYY' : _param_format, _param_lang = _param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, maskWithFormat = _param.maskWithFormat, min = _param.min, max = _param.max, renderFromDate = _param.renderFromDate, _param_includeEdgeDates = _param.includeEdgeDates, includeEdgeDates = _param_includeEdgeDates === void 0 ? false : _param_includeEdgeDates, eventList = _param.eventList, disabledList = _param.disabledList, eventMonthList = _param.eventMonthList, disabledMonthList = _param.disabledMonthList, eventQuarterList = _param.eventQuarterList, disabledQuarterList = _param.disabledQuarterList, eventYearList = _param.eventYearList, disabledYearList = _param.disabledYearList, _param_type = _param.type, type = _param_type === void 0 ? 'Days' : _param_type, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, _param_placement = _param.placement, placement = _param_placement === void 0 ? [
|
118
|
+
var className = _param.className, _param_opened = _param.opened, opened = _param_opened === void 0 ? false : _param_opened, outerValue = _param.value, _param_defaultDate = _param.defaultDate, defaultDate = _param_defaultDate === void 0 ? '' : _param_defaultDate, preserveInvalidOnBlur = _param.preserveInvalidOnBlur, label = _param.label, _param_labelPlacement = _param.labelPlacement, labelPlacement = _param_labelPlacement === void 0 ? 'outer' : _param_labelPlacement, keepPlaceholder = _param.keepPlaceholder, _param_required = _param.required, required = _param_required === void 0 ? false : _param_required, _param_requiredPlacement = _param.requiredPlacement, requiredPlacement = _param_requiredPlacement === void 0 ? 'right' : _param_requiredPlacement, _param_hasRequiredIndicator = _param.hasRequiredIndicator, hasRequiredIndicator = _param_hasRequiredIndicator === void 0 ? true : _param_hasRequiredIndicator, placeholder = _param.placeholder, leftHelper = _param.leftHelper, contentLeft = _param.contentLeft, contentRight = _param.contentRight, textBefore = _param.textBefore, textAfter = _param.textAfter, view = _param.view, size = _param.size, _param_readOnly = _param.readOnly, readOnly = _param_readOnly === void 0 ? false : _param_readOnly, _param_disabled = _param.disabled, disabled = _param_disabled === void 0 ? false : _param_disabled, name = _param.name, valueError = _param.valueError, valueSuccess = _param.valueSuccess, _param_format = _param.format, format = _param_format === void 0 ? 'DD.MM.YYYY' : _param_format, _param_lang = _param.lang, lang = _param_lang === void 0 ? 'ru' : _param_lang, maskWithFormat = _param.maskWithFormat, min = _param.min, max = _param.max, renderFromDate = _param.renderFromDate, _param_includeEdgeDates = _param.includeEdgeDates, includeEdgeDates = _param_includeEdgeDates === void 0 ? false : _param_includeEdgeDates, eventList = _param.eventList, disabledList = _param.disabledList, eventMonthList = _param.eventMonthList, disabledMonthList = _param.disabledMonthList, eventQuarterList = _param.eventQuarterList, disabledQuarterList = _param.disabledQuarterList, eventYearList = _param.eventYearList, disabledYearList = _param.disabledYearList, _param_type = _param.type, type = _param_type === void 0 ? 'Days' : _param_type, _param_frame = _param.frame, frame = _param_frame === void 0 ? 'document' : _param_frame, _param_usePortal = _param.usePortal, usePortal = _param_usePortal === void 0 ? false : _param_usePortal, zIndex = _param.zIndex, _param_placement = _param.placement, placement = _param_placement === void 0 ? [
|
119
119
|
'top',
|
120
120
|
'bottom'
|
121
121
|
] : _param_placement, _param_closeOnOverlayClick = _param.closeOnOverlayClick, closeOnOverlayClick = _param_closeOnOverlayClick === void 0 ? true : _param_closeOnOverlayClick, _param_closeOnEsc = _param.closeOnEsc, closeOnEsc = _param_closeOnEsc === void 0 ? true : _param_closeOnEsc, _param_closeAfterDateSelect = _param.closeAfterDateSelect, closeAfterDateSelect = _param_closeAfterDateSelect === void 0 ? true : _param_closeAfterDateSelect, offset = _param.offset, calendarContainerWidth = _param.calendarContainerWidth, calendarContainerHeight = _param.calendarContainerHeight, stretched = _param.stretched, onChangeValue = _param.onChangeValue, onCommitDate = _param.onCommitDate, onToggle = _param.onToggle, onFocus = _param.onFocus, onBlur = _param.onBlur, onChange = _param.onChange, autoComplete = _param.autoComplete, rest = _object_without_properties(_param, [
|
@@ -161,6 +161,7 @@ export var datePickerRoot = function(Root) {
|
|
161
161
|
"type",
|
162
162
|
"frame",
|
163
163
|
"usePortal",
|
164
|
+
"zIndex",
|
164
165
|
"placement",
|
165
166
|
"closeOnOverlayClick",
|
166
167
|
"closeOnEsc",
|
@@ -348,7 +349,8 @@ export var datePickerRoot = function(Root) {
|
|
348
349
|
closeOnOverlayClick: closeOnOverlayClick,
|
349
350
|
isFocusTrapped: false,
|
350
351
|
target: DatePickerInput,
|
351
|
-
preventOverflow: false
|
352
|
+
preventOverflow: false,
|
353
|
+
zIndex: zIndex
|
352
354
|
}, /*#__PURE__*/ React.createElement(Root, {
|
353
355
|
ref: calendarRootRef,
|
354
356
|
view: view,
|
@@ -50,12 +50,24 @@ import { useIsomorphicLayoutEffect } from "../../hooks";
|
|
50
50
|
// Полиморфная версия портала для рендера как на сервере, так и на клиенте.
|
51
51
|
// Позволяет избежать ошибок, связанных с гидрацией.
|
52
52
|
var ClientOnlyPortal = function(param) {
|
53
|
-
var children = param.children;
|
53
|
+
var children = param.children, providerFrame = param.providerFrame;
|
54
54
|
var ref = useRef(null);
|
55
55
|
var _useState = _sliced_to_array(useState(false), 2), mounted = _useState[0], setMounted = _useState[1];
|
56
56
|
useIsomorphicLayoutEffect(function() {
|
57
|
-
ref.current = document.body;
|
58
57
|
setMounted(true);
|
58
|
+
if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current) {
|
59
|
+
ref.current = providerFrame.current;
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
if (typeof providerFrame === 'string' && providerFrame !== 'document') {
|
63
|
+
var containerElement = document.getElementById(providerFrame);
|
64
|
+
if (!containerElement) {
|
65
|
+
ref.current = document.body;
|
66
|
+
}
|
67
|
+
ref.current = containerElement;
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
ref.current = document.body;
|
59
71
|
}, []);
|
60
72
|
return mounted && ref.current ? /*#__PURE__*/ createPortal(children, ref.current) : null;
|
61
73
|
};
|
@@ -69,7 +69,7 @@ export var usePopupContext = function() {
|
|
69
69
|
};
|
70
70
|
// TODO: #1599
|
71
71
|
export var PopupProvider = function(param) {
|
72
|
-
var children = param.children, UNSAFE_SSR_ENABLED = param.UNSAFE_SSR_ENABLED;
|
72
|
+
var children = param.children, providerFrame = param.providerFrame, UNSAFE_SSR_ENABLED = param.UNSAFE_SSR_ENABLED;
|
73
73
|
var prevBodyOverflowY = useRef(canUseDOM ? document.body.style.overflowY : '');
|
74
74
|
var _useState = _sliced_to_array(useState(initialItems), 2), items = _useState[0], setItems = _useState[1];
|
75
75
|
var uuid = safeUseId();
|
@@ -112,13 +112,32 @@ export var PopupProvider = function(param) {
|
|
112
112
|
register: register,
|
113
113
|
unregister: unregister
|
114
114
|
};
|
115
|
+
var getDefaultPortal = function() {
|
116
|
+
if (typeof providerFrame !== 'string' && providerFrame && providerFrame.current && canUseDOM) {
|
117
|
+
return /*#__PURE__*/ React.createElement(Portal, {
|
118
|
+
container: providerFrame.current
|
119
|
+
}, /*#__PURE__*/ React.createElement(StyledPortal, {
|
120
|
+
id: rootId
|
121
|
+
}));
|
122
|
+
}
|
123
|
+
var withFrameId = typeof providerFrame === 'string' && providerFrame !== 'document';
|
124
|
+
var containerElement = withFrameId && canUseDOM && document.getElementById(providerFrame);
|
125
|
+
if (containerElement) {
|
126
|
+
return /*#__PURE__*/ React.createElement(Portal, {
|
127
|
+
container: containerElement
|
128
|
+
}, /*#__PURE__*/ React.createElement(StyledPortal, {
|
129
|
+
id: rootId
|
130
|
+
}));
|
131
|
+
}
|
132
|
+
return /*#__PURE__*/ React.createElement(Portal, {
|
133
|
+
container: document.body
|
134
|
+
}, /*#__PURE__*/ React.createElement(StyledPortal, {
|
135
|
+
id: rootId
|
136
|
+
}));
|
137
|
+
};
|
115
138
|
return /*#__PURE__*/ React.createElement(PopupContext.Provider, {
|
116
139
|
value: context
|
117
140
|
}, children, UNSAFE_SSR_ENABLED ? /*#__PURE__*/ React.createElement(ClientOnlyPortal, null, /*#__PURE__*/ React.createElement(StyledPortal, {
|
118
141
|
id: rootId
|
119
|
-
})) :
|
120
|
-
container: document.body
|
121
|
-
}, /*#__PURE__*/ React.createElement(StyledPortal, {
|
122
|
-
id: rootId
|
123
|
-
})));
|
142
|
+
})) : getDefaultPortal());
|
124
143
|
};
|
@@ -210,7 +210,6 @@ import { Context } from "./Select.context";
|
|
210
210
|
var activeDescendantItemValue = ((_getItemByFocused = getItemByFocused(focusedPath, focusedToValueMap)) === null || _getItemByFocused === void 0 ? void 0 : _getItemByFocused.value.toString()) || '';
|
211
211
|
var closeAfterSelect = outerCloseAfterSelect !== null && outerCloseAfterSelect !== void 0 ? outerCloseAfterSelect : !props.multiselect;
|
212
212
|
var treeId = safeUseId();
|
213
|
-
var listWrapperRef = useRef(null);
|
214
213
|
var view = target === 'textfield-like' && (disabled || readOnly) ? 'default' : getView(status, outerView);
|
215
214
|
// Собираем объект с пропсами для required и прокидываем их напрямую в компонент Textfield.
|
216
215
|
var requiredProps = props.target === 'button-like' ? undefined : {
|
@@ -497,12 +496,12 @@ import { Context } from "./Select.context";
|
|
497
496
|
disabled: disabled,
|
498
497
|
readOnly: readOnly
|
499
498
|
}, rest), /*#__PURE__*/ React.createElement(ListWrapper, {
|
500
|
-
ref: listWrapperRef,
|
501
499
|
listWidth: listWidth
|
502
500
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
503
501
|
role: "tree",
|
504
502
|
id: "".concat(treeId, "_tree_level_1"),
|
505
503
|
"aria-multiselectable": Boolean(props.multiselect),
|
504
|
+
listOverflow: listOverflow,
|
506
505
|
listMaxHeight: listMaxHeight || listHeight,
|
507
506
|
onScroll: virtual ? undefined : handleScroll,
|
508
507
|
ref: targetRef,
|
@@ -523,8 +522,7 @@ import { Context } from "./Select.context";
|
|
523
522
|
path: path,
|
524
523
|
dispatchPath: dispatchPath,
|
525
524
|
index: index,
|
526
|
-
listWidth: listWidth
|
527
|
-
portal: listWrapperRef
|
525
|
+
listWidth: listWidth
|
528
526
|
});
|
529
527
|
}), afterList))))));
|
530
528
|
});
|
@@ -4,7 +4,7 @@ import { getCorrectHeight } from "./utils";
|
|
4
4
|
import { tokens, constants } from "./Select.tokens";
|
5
5
|
export var ListWrapper = styled.div.withConfig({
|
6
6
|
displayName: "Select.styles__ListWrapper",
|
7
|
-
componentId: "sc-
|
7
|
+
componentId: "sc-30266665-0"
|
8
8
|
})([
|
9
9
|
"width:",
|
10
10
|
";padding:calc(var(",
|
@@ -21,7 +21,7 @@ export var ListWrapper = styled.div.withConfig({
|
|
21
21
|
}, tokens.padding, tokens.dropdownBorderWidth, tokens.borderRadius, constants.background, constants.boxShadow, tokens.dropdownBorderWidth, tokens.dropdownBorderColor);
|
22
22
|
export var Ul = styled.ul.withConfig({
|
23
23
|
displayName: "Select.styles__Ul",
|
24
|
-
componentId: "sc-
|
24
|
+
componentId: "sc-30266665-1"
|
25
25
|
})([
|
26
26
|
"max-height:",
|
27
27
|
";overflow-y:",
|
@@ -33,8 +33,8 @@ export var Ul = styled.ul.withConfig({
|
|
33
33
|
return(// eslint-disable-next-line no-nested-ternary
|
34
34
|
virtual ? 'auto' : listMaxHeight ? getCorrectHeight(listMaxHeight) : 'auto');
|
35
35
|
}, function(param) {
|
36
|
-
var virtual = param.virtual;
|
37
|
-
return virtual ? 'visible' : '
|
36
|
+
var virtual = param.virtual, listOverflow = param.listOverflow;
|
37
|
+
return virtual ? 'visible' : listOverflow || 'visible';
|
38
38
|
}, tokens.borderRadius, tokens.dropdownBorderWidth);
|
39
39
|
export var base = css([
|
40
40
|
""
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import React
|
1
|
+
import React from "react";
|
2
2
|
import { isEmpty, safeUseId } from "../../../../utils";
|
3
3
|
import { Ul, ListWrapper } from "../../Select.styles";
|
4
4
|
import { FloatingPopover } from "../../FloatingPopover";
|
5
5
|
import { Item } from "./ui/Item/Item";
|
6
6
|
export var Inner = function(param) {
|
7
|
-
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth
|
7
|
+
var item = param.item, currentLevel = param.currentLevel, path = param.path, dispatchPath = param.dispatchPath, index = param.index, listWidth = param.listWidth;
|
8
8
|
var handleToggle = function(opened) {
|
9
9
|
if (opened) {
|
10
10
|
dispatchPath({
|
@@ -19,7 +19,6 @@ export var Inner = function(param) {
|
|
19
19
|
});
|
20
20
|
}
|
21
21
|
};
|
22
|
-
var listWrapperRef = useRef(null);
|
23
22
|
var isCurrentListOpen = path[currentLevel + 1] === item.value.toString();
|
24
23
|
var treeId = safeUseId();
|
25
24
|
var listId = "".concat(treeId, "_tree_level_").concat(currentLevel + 2);
|
@@ -40,16 +39,13 @@ export var Inner = function(param) {
|
|
40
39
|
ariaLevel: nextLevel,
|
41
40
|
ariaLabel: item.label
|
42
41
|
}),
|
43
|
-
isInner: true
|
44
|
-
portal: portal
|
42
|
+
isInner: true
|
45
43
|
}, /*#__PURE__*/ React.createElement(ListWrapper, {
|
46
|
-
listWidth: listWidth
|
47
|
-
ref: listWrapperRef
|
44
|
+
listWidth: listWidth
|
48
45
|
}, /*#__PURE__*/ React.createElement(Ul, {
|
49
46
|
role: "group",
|
50
47
|
id: listId,
|
51
|
-
virtual: false
|
52
|
-
listMaxHeight: item === null || item === void 0 ? void 0 : item.listMaxHeight
|
48
|
+
virtual: false
|
53
49
|
}, (_item_items = item.items) === null || _item_items === void 0 ? void 0 : _item_items.map(function(innerItem, innerIndex) {
|
54
50
|
return /*#__PURE__*/ React.createElement(Inner, {
|
55
51
|
key: "".concat(innerIndex, "/").concat(currentLevel),
|
@@ -58,8 +54,7 @@ export var Inner = function(param) {
|
|
58
54
|
path: path,
|
59
55
|
dispatchPath: dispatchPath,
|
60
56
|
index: innerIndex,
|
61
|
-
listWidth: listWidth
|
62
|
-
portal: listWrapperRef
|
57
|
+
listWidth: listWidth
|
63
58
|
});
|
64
59
|
}))));
|
65
60
|
}
|