@snack-uikit/list 0.30.2-preview-92d6fde1.0 → 0.31.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 +22 -0
- package/dist/cjs/components/Lists/Droplist/DropList.d.ts +1 -1
- package/dist/cjs/components/Lists/Droplist/DropList.js +4 -2
- package/dist/esm/components/Lists/Droplist/DropList.d.ts +1 -1
- package/dist/esm/components/Lists/Droplist/DropList.js +2 -2
- package/package.json +13 -13
- package/src/components/Lists/Droplist/DropList.tsx +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 0.31.1 (2025-07-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **PDS-2556:** prop closeOnPopstate for dropdown ([139dc62](https://github.com/cloud-ru-tech/snack-uikit/commit/139dc62e1e03212a748977f197e1e5dca8736789))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# 0.31.0 (2025-07-07)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **PDS-2556:** add closeOnPopstate prop ([7f56996](https://github.com/cloud-ru-tech/snack-uikit/commit/7f5699646fd3c3eee2c00bd0c0d4dc94ccc019f8))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## 0.30.1 (2025-06-27)
|
|
7
29
|
|
|
8
30
|
### Only dependencies have been changed
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { DroplistProps } from '../types';
|
|
2
|
-
export declare function Droplist({ items: itemsProp, search, pinBottom: pinBottomProp, pinTop: pinTopProp, footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse, triggerClassName, selection, contentRender, size, marker, closeDroplistOnItemClick, className, listRef: listRefProp, untouchableScrollbars, virtualized, ...props }: DroplistProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function Droplist({ items: itemsProp, search, pinBottom: pinBottomProp, pinTop: pinTopProp, footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse, triggerClassName, selection, contentRender, size, marker, closeDroplistOnItemClick, className, listRef: listRefProp, untouchableScrollbars, virtualized, closeOnPopstate, ...props }: DroplistProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -54,9 +54,10 @@ function Droplist(_a) {
|
|
|
54
54
|
className,
|
|
55
55
|
listRef: listRefProp,
|
|
56
56
|
untouchableScrollbars = false,
|
|
57
|
-
virtualized = false
|
|
57
|
+
virtualized = false,
|
|
58
|
+
closeOnPopstate
|
|
58
59
|
} = _a,
|
|
59
|
-
props = __rest(_a, ["items", "search", "pinBottom", "pinTop", "footerActiveElementsRefs", "children", "trigger", "placement", "widthStrategy", "triggerElemRef", "open", "onOpenChange", "collapse", "triggerClassName", "selection", "contentRender", "size", "marker", "closeDroplistOnItemClick", "className", "listRef", "untouchableScrollbars", "virtualized"]);
|
|
60
|
+
props = __rest(_a, ["items", "search", "pinBottom", "pinTop", "footerActiveElementsRefs", "children", "trigger", "placement", "widthStrategy", "triggerElemRef", "open", "onOpenChange", "collapse", "triggerClassName", "selection", "contentRender", "size", "marker", "closeDroplistOnItemClick", "className", "listRef", "untouchableScrollbars", "virtualized", "closeOnPopstate"]);
|
|
60
61
|
const hasSearch = (0, react_1.useMemo)(() => Boolean(search), [search]);
|
|
61
62
|
const [openCollapseItems = [], setOpenCollapsedItems] = (0, utils_1.useValueControl)(collapse);
|
|
62
63
|
const toggleOpenCollapseItem = (0, react_1.useCallback)(id => setOpenCollapsedItems(items => (items === null || items === void 0 ? void 0 : items.includes(id)) ? items.filter(item => item !== id) : (items !== null && items !== void 0 ? items : []).concat([id])), [setOpenCollapsedItems]);
|
|
@@ -262,6 +263,7 @@ function Droplist(_a) {
|
|
|
262
263
|
triggerRef: !triggerElemRefProp ? triggerElemRef : isValid && triggerElemRefProp || undefined,
|
|
263
264
|
open: open,
|
|
264
265
|
onOpenChange: handleOpenChange,
|
|
266
|
+
closeOnPopstate: closeOnPopstate,
|
|
265
267
|
children: triggerElem
|
|
266
268
|
})
|
|
267
269
|
})
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { DroplistProps } from '../types';
|
|
2
|
-
export declare function Droplist({ items: itemsProp, search, pinBottom: pinBottomProp, pinTop: pinTopProp, footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse, triggerClassName, selection, contentRender, size, marker, closeDroplistOnItemClick, className, listRef: listRefProp, untouchableScrollbars, virtualized, ...props }: DroplistProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function Droplist({ items: itemsProp, search, pinBottom: pinBottomProp, pinTop: pinTopProp, footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse, triggerClassName, selection, contentRender, size, marker, closeDroplistOnItemClick, className, listRef: listRefProp, untouchableScrollbars, virtualized, closeOnPopstate, ...props }: DroplistProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -23,7 +23,7 @@ import { ListPrivate } from '../ListPrivate';
|
|
|
23
23
|
import styles from '../styles.module.css';
|
|
24
24
|
const DEFAULT_FALLBACK_PLACEMENTS = ['top', 'right', 'bottom', 'left'];
|
|
25
25
|
export function Droplist(_a) {
|
|
26
|
-
var { items: itemsProp, search, pinBottom: pinBottomProp = [], pinTop: pinTopProp = [], footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse = {}, triggerClassName, selection, contentRender, size = 's', marker = true, closeDroplistOnItemClick = false, className, listRef: listRefProp, untouchableScrollbars = false, virtualized = false } = _a, props = __rest(_a, ["items", "search", "pinBottom", "pinTop", "footerActiveElementsRefs", "children", "trigger", "placement", "widthStrategy", "triggerElemRef", "open", "onOpenChange", "collapse", "triggerClassName", "selection", "contentRender", "size", "marker", "closeDroplistOnItemClick", "className", "listRef", "untouchableScrollbars", "virtualized"]);
|
|
26
|
+
var { items: itemsProp, search, pinBottom: pinBottomProp = [], pinTop: pinTopProp = [], footerActiveElementsRefs, children, trigger, placement, widthStrategy, triggerElemRef: triggerElemRefProp, open: openProp, onOpenChange, collapse = {}, triggerClassName, selection, contentRender, size = 's', marker = true, closeDroplistOnItemClick = false, className, listRef: listRefProp, untouchableScrollbars = false, virtualized = false, closeOnPopstate } = _a, props = __rest(_a, ["items", "search", "pinBottom", "pinTop", "footerActiveElementsRefs", "children", "trigger", "placement", "widthStrategy", "triggerElemRef", "open", "onOpenChange", "collapse", "triggerClassName", "selection", "contentRender", "size", "marker", "closeDroplistOnItemClick", "className", "listRef", "untouchableScrollbars", "virtualized", "closeOnPopstate"]);
|
|
27
27
|
const hasSearch = useMemo(() => Boolean(search), [search]);
|
|
28
28
|
const [openCollapseItems = [], setOpenCollapsedItems] = useValueControl(collapse);
|
|
29
29
|
const toggleOpenCollapseItem = useCallback((id) => setOpenCollapsedItems((items) => (items === null || items === void 0 ? void 0 : items.includes(id)) ? items.filter(item => item !== id) : (items !== null && items !== void 0 ? items : []).concat([id])), [setOpenCollapsedItems]);
|
|
@@ -146,5 +146,5 @@ export function Droplist(_a) {
|
|
|
146
146
|
}, children: _jsx(Dropdown, { content: _jsx("div", { className: cn(styles.wrapper, className), children: _jsx(ListPrivate, Object.assign({}, props, { items: memorizedItems.items.focusCloseChildIds, pinTop: memorizedItems.pinTop.focusCloseChildIds, pinBottom: memorizedItems.pinBottom.focusCloseChildIds, virtualized: virtualized, onKeyDown: handleListKeyDown, searchItem: searchItem, tabIndex: 0, ref: mergeRefs(listRef, listRefProp), search: search, onFocus: e => {
|
|
147
147
|
e.stopPropagation();
|
|
148
148
|
forceUpdateActiveItemId === null || forceUpdateActiveItemId === void 0 ? void 0 : forceUpdateActiveItemId(ids[0]);
|
|
149
|
-
}, limitedScrollHeight: true, untouchableScrollbars: untouchableScrollbars })) }), outsideClick: true, triggerClassName: triggerClassName, fallbackPlacements: DEFAULT_FALLBACK_PLACEMENTS, trigger: trigger, placement: placement, widthStrategy: widthStrategy, triggerRef: !triggerElemRefProp ? triggerElemRef : (isValid && triggerElemRefProp) || undefined, open: open, onOpenChange: handleOpenChange, children: triggerElem }) }) }) }) })) }));
|
|
149
|
+
}, limitedScrollHeight: true, untouchableScrollbars: untouchableScrollbars })) }), outsideClick: true, triggerClassName: triggerClassName, fallbackPlacements: DEFAULT_FALLBACK_PLACEMENTS, trigger: trigger, placement: placement, widthStrategy: widthStrategy, triggerRef: !triggerElemRefProp ? triggerElemRef : (isValid && triggerElemRefProp) || undefined, open: open, onOpenChange: handleOpenChange, closeOnPopstate: closeOnPopstate, children: triggerElem }) }) }) }) })) }));
|
|
150
150
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"title": "List",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.31.1",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"*.css",
|
|
10
10
|
"*.woff",
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"license": "Apache-2.0",
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@snack-uikit/button": "0.19.12
|
|
40
|
-
"@snack-uikit/divider": "3.2.7
|
|
41
|
-
"@snack-uikit/dropdown": "0.
|
|
42
|
-
"@snack-uikit/icons": "0.27.1
|
|
43
|
-
"@snack-uikit/info-block": "0.6.27
|
|
44
|
-
"@snack-uikit/loaders": "0.9.6
|
|
45
|
-
"@snack-uikit/scroll": "0.10.2
|
|
46
|
-
"@snack-uikit/search-private": "0.4.23
|
|
47
|
-
"@snack-uikit/toggles": "0.13.17
|
|
48
|
-
"@snack-uikit/truncate-string": "0.6.23
|
|
49
|
-
"@snack-uikit/utils": "3.
|
|
39
|
+
"@snack-uikit/button": "0.19.12",
|
|
40
|
+
"@snack-uikit/divider": "3.2.7",
|
|
41
|
+
"@snack-uikit/dropdown": "0.5.0",
|
|
42
|
+
"@snack-uikit/icons": "0.27.1",
|
|
43
|
+
"@snack-uikit/info-block": "0.6.27",
|
|
44
|
+
"@snack-uikit/loaders": "0.9.6",
|
|
45
|
+
"@snack-uikit/scroll": "0.10.2",
|
|
46
|
+
"@snack-uikit/search-private": "0.4.23",
|
|
47
|
+
"@snack-uikit/toggles": "0.13.17",
|
|
48
|
+
"@snack-uikit/truncate-string": "0.6.23",
|
|
49
|
+
"@snack-uikit/utils": "3.9.0",
|
|
50
50
|
"@tanstack/react-virtual": "3.11.2",
|
|
51
51
|
"classnames": "2.5.1",
|
|
52
52
|
"merge-refs": "1.3.0"
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"peerDependencies": {
|
|
55
55
|
"@snack-uikit/locale": "*"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "9c9cc64e6c8016b01773e9a3a7233729eafc727c"
|
|
58
58
|
}
|
|
@@ -45,6 +45,7 @@ export function Droplist({
|
|
|
45
45
|
listRef: listRefProp,
|
|
46
46
|
untouchableScrollbars = false,
|
|
47
47
|
virtualized = false,
|
|
48
|
+
closeOnPopstate,
|
|
48
49
|
...props
|
|
49
50
|
}: DroplistProps) {
|
|
50
51
|
const hasSearch = useMemo(() => Boolean(search), [search]);
|
|
@@ -267,6 +268,7 @@ export function Droplist({
|
|
|
267
268
|
triggerRef={!triggerElemRefProp ? triggerElemRef : (isValid && triggerElemRefProp) || undefined}
|
|
268
269
|
open={open}
|
|
269
270
|
onOpenChange={handleOpenChange}
|
|
271
|
+
closeOnPopstate={closeOnPopstate}
|
|
270
272
|
>
|
|
271
273
|
{triggerElem}
|
|
272
274
|
</Dropdown>
|