@hi-ui/check-cascader 4.0.0-alpha.22 → 4.0.0-alpha.27

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.
@@ -1,27 +1,12 @@
1
1
  import React from 'react';
2
- import { PopperJS } from '@hi-ui/popper';
3
2
  import { CheckCascaderItem, ExpandTrigger, CheckCascaderItemEventData, FlattedCheckCascaderItem } from './types';
3
+ import { PickerProps } from '@hi-ui/picker';
4
+ import { UseDataSource } from '@hi-ui/use-data-source';
4
5
  /**
5
6
  * TODO: What is CheckCascader
6
7
  */
7
8
  export declare const CheckCascader: React.ForwardRefExoticComponent<CheckCascaderProps & React.RefAttributes<HTMLDivElement | null>>;
8
- export interface CheckCascaderProps {
9
- /**
10
- * 组件默认的选择器类
11
- */
12
- prefixCls?: string;
13
- /**
14
- * 组件的语义化 Role 属性
15
- */
16
- role?: string;
17
- /**
18
- * 组件的注入选择器类
19
- */
20
- className?: string;
21
- /**
22
- * 组件的注入样式
23
- */
24
- style?: React.CSSProperties;
9
+ export interface CheckCascaderProps extends Omit<PickerProps, 'trigger'> {
25
10
  /**
26
11
  * 设置选择项数据源
27
12
  */
@@ -41,6 +26,7 @@ export interface CheckCascaderProps {
41
26
  onChange?: (values: React.ReactText[]) => void;
42
27
  /**
43
28
  * 选项被点击时的回调
29
+ * @private
44
30
  */
45
31
  onSelect?: (selectedId: React.ReactText, selectedOption: CheckCascaderItemEventData) => void;
46
32
  /**
@@ -101,10 +87,21 @@ export interface CheckCascaderProps {
101
87
  onLoadChildren?: (item: CheckCascaderItemEventData) => Promise<CheckCascaderItem[] | void> | void;
102
88
  /**
103
89
  * 是否单行展示,超出 +1
90
+ * @private
104
91
  */
105
92
  wrap?: boolean;
106
93
  /**
107
- * 相对 reference 的位置
94
+ * 设置展现形式
95
+ */
96
+ appearance?: 'outline' | 'unset' | 'filled';
97
+ /**
98
+ * 自定义搜索过滤器,仅在 searchable 为 true 时有效
99
+ * 第一个参数为输入的关键字,
100
+ * 第二个为数据项,返回值为 true 时将出现在结果项
101
+ */
102
+ filterOption?: (keyword: string, item: any) => boolean;
103
+ /**
104
+ * 异步加载数据
108
105
  */
109
- placement?: PopperJS.Placement;
106
+ dataSource?: UseDataSource<any>;
110
107
  }
@@ -1,6 +1,5 @@
1
1
  export * from './use-search';
2
2
  export * from './use-check';
3
3
  export * from './use-select';
4
- export * from './use-tag-input';
5
4
  export * from './use-cache';
6
5
  export * from './use-async-switch';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/check-cascader",
3
- "version": "4.0.0-alpha.22",
3
+ "version": "4.0.0-alpha.27",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HIUI <mi-hiui@xiaomi.com>",
@@ -43,22 +43,28 @@
43
43
  "url": "https://github.com/XiaoMi/hiui/issues"
44
44
  },
45
45
  "dependencies": {
46
- "@hi-ui/checkbox": "^4.0.0-alpha.19",
47
- "@hi-ui/classname": "^4.0.0-alpha.2",
48
- "@hi-ui/core-css": "^4.0.0-alpha.9",
49
- "@hi-ui/env": "^4.0.0-alpha.4",
50
- "@hi-ui/icons": "^4.0.0-alpha.17",
51
- "@hi-ui/input": "^4.0.0-alpha.21",
52
- "@hi-ui/popper": "^4.0.0-alpha.14",
53
- "@hi-ui/times": "^4.0.0-alpha.3",
54
- "@hi-ui/tree-utils": "^4.0.0-alpha.7",
55
- "@hi-ui/use-check": "^4.0.0-alpha.13",
56
- "@hi-ui/use-latest": "^4.0.0-alpha.3",
57
- "@hi-ui/use-merge-refs": "^4.0.0-alpha.3",
58
- "@hi-ui/use-outside-click": "^4.0.0-alpha.6",
59
- "@hi-ui/use-toggle": "^4.0.0-alpha.9",
60
- "@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.11",
46
+ "@hi-ui/checkbox": "^4.0.0-alpha.22",
47
+ "@hi-ui/classname": "^4.0.0-alpha.3",
48
+ "@hi-ui/core-css": "^4.0.0-alpha.10",
49
+ "@hi-ui/env": "^4.0.0-alpha.5",
50
+ "@hi-ui/icons": "^4.0.0-alpha.20",
51
+ "@hi-ui/input": "^4.0.0-alpha.24",
52
+ "@hi-ui/picker": "^4.0.0-alpha.8",
53
+ "@hi-ui/popper": "^4.0.0-alpha.17",
54
+ "@hi-ui/tag-input": "^4.0.0-alpha.15",
55
+ "@hi-ui/times": "^4.0.0-alpha.4",
56
+ "@hi-ui/tree-utils": "^4.0.0-alpha.8",
57
+ "@hi-ui/type-assertion": "^4.0.0-alpha.13",
58
+ "@hi-ui/use-check": "^4.0.0-alpha.15",
59
+ "@hi-ui/use-data-source": "^4.0.0-alpha.5",
60
+ "@hi-ui/use-latest": "^4.0.0-alpha.4",
61
+ "@hi-ui/use-merge-refs": "^4.0.0-alpha.4",
62
+ "@hi-ui/use-outside-click": "^4.0.0-alpha.7",
63
+ "@hi-ui/use-search-mode": "^4.0.0-alpha.7",
64
+ "@hi-ui/use-toggle": "^4.0.0-alpha.10",
65
+ "@hi-ui/use-uncontrolled-state": "^4.0.0-alpha.12",
61
66
  "@popperjs/core": "^2.9.3",
67
+ "lodash": "^4.17.21",
62
68
  "react-popper": "^2.2.5"
63
69
  },
64
70
  "peerDependencies": {
@@ -66,9 +72,9 @@
66
72
  "react-dom": "^17.0.1"
67
73
  },
68
74
  "devDependencies": {
69
- "@hi-ui/hi-build": "^4.0.0-alpha.3",
75
+ "@hi-ui/hi-build": "^4.0.0-alpha.4",
70
76
  "react": "^17.0.1",
71
77
  "react-dom": "^17.0.1"
72
78
  },
73
- "gitHead": "37cbc875cd26474cfc9ddbd1eeb0abd797a31835"
79
+ "gitHead": "90f526d81b6e564427caf34ba49655c07943c195"
74
80
  }
@@ -1,241 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/check-cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- 'use strict';
11
-
12
- var _typeof = require("@babel/runtime/helpers/typeof");
13
-
14
- Object.defineProperty(exports, '__esModule', {
15
- value: true
16
- });
17
-
18
- var tslib = require('tslib');
19
-
20
- var React = require('react');
21
-
22
- var classname = require('@hi-ui/classname');
23
-
24
- var env = require('@hi-ui/env');
25
-
26
- var useUncontrolledState = require('@hi-ui/use-uncontrolled-state');
27
-
28
- var times = require('@hi-ui/times');
29
-
30
- var icons = require('@hi-ui/icons');
31
-
32
- var useMergeRefs = require('@hi-ui/use-merge-refs');
33
-
34
- require('@hi-ui/use-latest');
35
-
36
- require('@hi-ui/use-check');
37
-
38
- var useTagInput = require('./hooks/use-tag-input.js');
39
-
40
- require('@babel/runtime/regenerator');
41
-
42
- require('@hi-ui/tree-utils');
43
-
44
- var index = require('./utils/index.js');
45
-
46
- var useOutsideClick = require('@hi-ui/use-outside-click');
47
-
48
- function _interopDefaultLegacy(e) {
49
- return e && _typeof(e) === 'object' && 'default' in e ? e : {
50
- 'default': e
51
- };
52
- }
53
-
54
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
55
-
56
- var _role = 'tag-input';
57
-
58
- var _prefix = classname.getPrefixCls(_role);
59
-
60
- var NOOP_ARRAY = [];
61
- /**
62
- * TODO: What is TagInput
63
- */
64
-
65
- var TagInput = /*#__PURE__*/React.forwardRef(function (_a, ref) {
66
- var _a$prefixCls = _a.prefixCls,
67
- prefixCls = _a$prefixCls === void 0 ? _prefix : _a$prefixCls,
68
- _a$role = _a.role,
69
- role = _a$role === void 0 ? _role : _a$role,
70
- className = _a.className,
71
- _a$defaultValue = _a.defaultValue,
72
- defaultValue = _a$defaultValue === void 0 ? NOOP_ARRAY : _a$defaultValue,
73
- valueProp = _a.value,
74
- onChange = _a.onChange,
75
- placeholder = _a.placeholder,
76
- data = _a.data,
77
- _a$wrap = _a.wrap,
78
- wrap = _a$wrap === void 0 ? true : _a$wrap,
79
- _a$clearable = _a.clearable,
80
- clearable = _a$clearable === void 0 ? false : _a$clearable,
81
- _a$disabled = _a.disabled,
82
- disabled = _a$disabled === void 0 ? false : _a$disabled,
83
- displayRender = _a.displayRender,
84
- suffix = _a.suffix,
85
- onClick = _a.onClick,
86
- rest = tslib.__rest(_a, ["prefixCls", "role", "className", "defaultValue", "value", "onChange", "placeholder", "data", "wrap", "clearable", "disabled", "displayRender", "suffix", "onClick"]);
87
-
88
- var flattedData = React.useMemo(function () {
89
- return index.flattenTreeData(data);
90
- }, [data]);
91
-
92
- var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
93
- value = _useUncontrolledState[0],
94
- tryChangeValue = _useUncontrolledState[1];
95
-
96
- var showData = React.useMemo(function () {
97
- return flattedData.filter(function (item) {
98
- return item && item.checkable && value.indexOf(item.id) !== -1;
99
- });
100
- }, [flattedData, value]);
101
- var tagSelector = "." + prefixCls + "__tag";
102
- var tagInputRef = React.useRef(null);
103
-
104
- var _useTagInput = useTagInput.useTagInput(true, tagSelector, showData, tagInputRef),
105
- tagMaxWidth = _useTagInput[0],
106
- showTagCount = _useTagInput[1];
107
-
108
- var handleClear = React.useCallback(function (evt) {
109
- if (disabled) return;
110
- evt.stopPropagation();
111
- tryChangeValue(NOOP_ARRAY, {
112
- trigger: 'clear'
113
- });
114
- }, [tryChangeValue, disabled]);
115
-
116
- var _useState = React.useState(false),
117
- hover = _useState[0],
118
- setHover = _useState[1];
119
-
120
- var trySetHover = function trySetHover(hovered) {
121
- if (disabled) return;
122
- setHover(hovered);
123
- }; // 在开启 clearable 下展示 清除内容按钮,可点击进行内容清楚
124
-
125
-
126
- var showClearableIcon = clearable && value.length > 0 && !disabled;
127
-
128
- var _useState2 = React.useState(false),
129
- expanded = _useState2[0],
130
- setExpanded = _useState2[1];
131
-
132
- var handleExpand = React.useCallback(function (evt) {
133
- evt.stopPropagation();
134
- setExpanded(true);
135
- }, []);
136
- useOutsideClick.useOutsideClick(tagInputRef, function () {
137
- return setExpanded(false);
138
- });
139
- var cls = classname.cx(prefixCls, className, expanded ? prefixCls + "--expanded" : wrap ? prefixCls + "--wrap" : prefixCls + "--nowrap");
140
- return /*#__PURE__*/React__default['default'].createElement("div", Object.assign({
141
- ref: useMergeRefs.useMergeRefs(ref, tagInputRef),
142
- role: role,
143
- className: cls,
144
- onMouseOver: function onMouseOver(e) {
145
- trySetHover(true);
146
- },
147
- onMouseLeave: function onMouseLeave(e) {
148
- trySetHover(false);
149
- }
150
- }, rest), /*#__PURE__*/React__default['default'].createElement("div", {
151
- className: classname.cx(prefixCls + "__container", disabled && 'disabled'),
152
- onClick: onClick
153
- }, value.length !== 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
154
- className: prefixCls + "__value"
155
- }, /*#__PURE__*/React__default['default'].createElement("span", {
156
- className: classname.cx(prefixCls + "__tags", wrap && prefixCls + "__tags--all")
157
- }, times.times(showTagCount, function (index) {
158
- var option = showData[index];
159
- if (!option) return null;
160
- var title = displayRender ? displayRender(option) : true;
161
- var closeable = !option.disabled;
162
- return /*#__PURE__*/React__default['default'].createElement("span", {
163
- className: prefixCls + "__tag",
164
- key: option.id
165
- }, /*#__PURE__*/React__default['default'].createElement("span", {
166
- className: prefixCls + "__tag-content",
167
- style: {
168
- maxWidth: tagMaxWidth
169
- }
170
- }, title === true ? option.title : title), closeable ? /*#__PURE__*/React__default['default'].createElement("span", {
171
- className: prefixCls + "__tag-closed",
172
- onClick: function onClick(evt) {
173
- if (disabled) return;
174
- evt.stopPropagation();
175
- var nextValue = [].concat(value).filter(function (id) {
176
- return id !== option.id;
177
- }); // TODO: 点击 close 时,级联选项也需要处理,让其取消级联
178
-
179
- tryChangeValue(nextValue, {
180
- trigger: 'close'
181
- });
182
- }
183
- }, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)) : null);
184
- }))) : /*#__PURE__*/React__default['default'].createElement("span", {
185
- className: prefixCls + "__placeholder"
186
- }, placeholder), suffix || showClearableIcon || !wrap && showTagCount > 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
187
- className: prefixCls + "__suffix"
188
- }, !wrap && showTagCount > 0 ? /*#__PURE__*/React__default['default'].createElement("span", {
189
- className: classname.cx(prefixCls + "__tag--total"),
190
- onClick: handleExpand
191
- }, "" + (showTagCount > 99 ? '+99' : showTagCount)) : null, showClearableIcon && hover ? /*#__PURE__*/React__default['default'].createElement("span", {
192
- className: prefixCls + "__clear",
193
- role: "button",
194
- tabIndex: -1,
195
- onClick: handleClear
196
- }, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : suffix) : null), value.length !== 0 && expanded ? /*#__PURE__*/React__default['default'].createElement("div", {
197
- className: prefixCls + "__container__expand"
198
- }, /*#__PURE__*/React__default['default'].createElement("span", {
199
- className: classname.cx(prefixCls + "__value")
200
- }, /*#__PURE__*/React__default['default'].createElement("span", {
201
- className: classname.cx(prefixCls + "__tags", prefixCls + "__tags--all")
202
- }, times.times(showTagCount, function (index) {
203
- var option = showData[index];
204
- if (!option) return null;
205
- var title = displayRender ? displayRender(option) : true;
206
- var closeable = !option.disabled;
207
- return /*#__PURE__*/React__default['default'].createElement("span", {
208
- className: prefixCls + "__tag",
209
- key: option.id
210
- }, /*#__PURE__*/React__default['default'].createElement("span", {
211
- className: prefixCls + "__tag-content",
212
- style: {
213
- maxWidth: tagMaxWidth
214
- }
215
- }, title === true ? option.title : title), closeable ? /*#__PURE__*/React__default['default'].createElement("span", {
216
- className: prefixCls + "__tag-closed",
217
- onClick: function onClick(evt) {
218
- if (disabled) return;
219
- evt.stopPropagation();
220
- var nextValue = [].concat(value).filter(function (id) {
221
- return id !== option.id;
222
- });
223
- tryChangeValue(nextValue);
224
- }
225
- }, /*#__PURE__*/React__default['default'].createElement(icons.CloseOutlined, null)) : null);
226
- })), suffix || showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
227
- className: prefixCls + "__suffix"
228
- }, showClearableIcon ? /*#__PURE__*/React__default['default'].createElement("span", {
229
- className: prefixCls + "__clear",
230
- role: "button",
231
- tabIndex: -1,
232
- onClick: handleClear
233
- }, /*#__PURE__*/React__default['default'].createElement(icons.CloseCircleFilled, null)) : suffix) : null)) : null);
234
- });
235
-
236
- if (env.__DEV__) {
237
- TagInput.displayName = 'TagInput';
238
- }
239
-
240
- exports.TagInput = TagInput;
241
- //# sourceMappingURL=TagInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagInput.js","sources":["../../src/TagInput.tsx"],"sourcesContent":[null],"names":["_role","_prefix","getPrefixCls","NOOP_ARRAY","TagInput","forwardRef","_a","ref","prefixCls","role","className","defaultValue","valueProp","value","onChange","placeholder","data","wrap","clearable","disabled","displayRender","suffix","onClick","rest","flattedData","useMemo","flattenTreeData","useUncontrolledState","tryChangeValue","showData","filter","item","checkable","indexOf","id","tagSelector","tagInputRef","useRef","useTagInput","tagMaxWidth","showTagCount","handleClear","useCallback","evt","stopPropagation","trigger","useState","hover","setHover","trySetHover","hovered","showClearableIcon","length","expanded","setExpanded","handleExpand","useOutsideClick","cls","cx","React","useMergeRefs","onMouseOver","e","onMouseLeave","times","index","option","title","closeable","key","style","maxWidth","nextValue","CloseOutlined","tabIndex","CloseCircleFilled","__DEV__","displayName"],"mappings":"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"}
@@ -1,122 +0,0 @@
1
- /** @LICENSE
2
- * @hi-ui/check-cascader
3
- * https://github.com/XiaoMi/hiui/tree/master/packages/ui/check-cascader#readme
4
- *
5
- * Copyright (c) HIUI <mi-hiui@xiaomi.com>.
6
- *
7
- * This source code is licensed under the MIT license found in the
8
- * LICENSE file in the root directory of this source tree.
9
- */
10
- 'use strict';
11
-
12
- Object.defineProperty(exports, '__esModule', {
13
- value: true
14
- });
15
-
16
- var React = require('react');
17
-
18
- var index = require('../utils/index.js');
19
-
20
- var TAG_MARGIN_RIGHT = 4; // 留给显示剩余选项的宽度:suffix + paddingLeft + paddingRight + leftCountTag (16 + 10 + + 10 + 54)
21
-
22
- var LEFT_SPACE_WIDTH = 100 + TAG_MARGIN_RIGHT;
23
-
24
- var useTagInput = function useTagInput(wrap, selector, tags, ref) {
25
- var shouldCalcTagCountRef = React.useRef(false);
26
-
27
- var _useState = React.useState(0),
28
- showCount = _useState[0],
29
- setShowCount = _useState[1];
30
-
31
- var _useReducer = React.useReducer(function (v) {
32
- return !v;
33
- }, false),
34
- trigger = _useReducer[0],
35
- forceUpdate = _useReducer[1];
36
-
37
- var inputWidth = useResizeWidth(ref);
38
- React.useEffect(function () {
39
- forceUpdate();
40
- }, [inputWidth, tags]);
41
- var calSowCount = React.useCallback(function () {
42
- if (shouldCalcTagCountRef.current && ref.current) {
43
- // tags 多个展示超过一行时,以数字显示
44
- var tagElements = ref.current.querySelectorAll(selector);
45
- var tagWrapperWidth = ref.current.getBoundingClientRect().width;
46
- var width = 0;
47
-
48
- for (var i = 0; i < tagElements.length; ++i) {
49
- var tag = tagElements[i];
50
- var tagRect = tag.getBoundingClientRect();
51
- width += tagRect.width + TAG_MARGIN_RIGHT;
52
-
53
- if (shouldCalcTagCountRef.current && width + LEFT_SPACE_WIDTH > tagWrapperWidth) {
54
- shouldCalcTagCountRef.current = false; // 开始显示折行的位置,如果为 0,则必展示一个
55
-
56
- var nextShowCount = i === 0 ? 1 : i;
57
- setShowCount(nextShowCount);
58
- break;
59
- }
60
- }
61
- }
62
- }, [ref, selector]);
63
- var debouncedResizeRef = React.useRef();
64
- React.useEffect(function () {
65
- var _a;
66
-
67
- (_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
68
- debouncedResizeRef.current = index.debounce(calSowCount, 60);
69
- }, [calSowCount]);
70
- React.useEffect(function () {
71
- var _a;
72
-
73
- setShowCount(0);
74
- shouldCalcTagCountRef.current = true;
75
- (_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.call(debouncedResizeRef);
76
- return function () {
77
- var _a;
78
-
79
- shouldCalcTagCountRef.current = false;
80
- (_a = debouncedResizeRef.current) === null || _a === void 0 ? void 0 : _a.cancel();
81
- };
82
- }, [trigger, ref]);
83
- var showTagCount = showCount > 0 ? showCount : tags.length;
84
- var leftTagCount = tags.length - showTagCount;
85
- var tagMaxWidth = inputWidth ? inputWidth - (LEFT_SPACE_WIDTH + 1) : '100%';
86
-
87
- if (wrap) {
88
- return [tagMaxWidth, tags.length, 0];
89
- }
90
-
91
- return [tagMaxWidth, showTagCount, leftTagCount];
92
- };
93
-
94
- var useResizeWidth = function useResizeWidth(ref) {
95
- var _useState2 = React.useState(0),
96
- width = _useState2[0],
97
- setWidth = _useState2[1];
98
-
99
- var tryUpdateWidth = React.useCallback(function () {
100
- var _a;
101
-
102
- var nextWidth = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width;
103
- setWidth(function (prev) {
104
- return nextWidth || prev || 0;
105
- });
106
- }, [ref]);
107
- React.useLayoutEffect(function () {
108
- // init with resize
109
- tryUpdateWidth();
110
- var debouncedResize = index.debounce(tryUpdateWidth, 60);
111
- window.addEventListener('resize', debouncedResize);
112
- return function () {
113
- window.removeEventListener('resize', debouncedResize);
114
- debouncedResize.cancel();
115
- };
116
- }, [tryUpdateWidth]);
117
- return width;
118
- };
119
-
120
- exports.useResizeWidth = useResizeWidth;
121
- exports.useTagInput = useTagInput;
122
- //# sourceMappingURL=use-tag-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-tag-input.js","sources":["../../../src/hooks/use-tag-input.ts"],"sourcesContent":[null],"names":["TAG_MARGIN_RIGHT","LEFT_SPACE_WIDTH","useTagInput","wrap","selector","tags","ref","shouldCalcTagCountRef","useRef","useState","showCount","setShowCount","useReducer","v","trigger","forceUpdate","inputWidth","useResizeWidth","useEffect","calSowCount","useCallback","current","tagElements","querySelectorAll","tagWrapperWidth","getBoundingClientRect","width","i","length","tag","tagRect","nextShowCount","debouncedResizeRef","cancel","debounce","showTagCount","leftTagCount","tagMaxWidth","setWidth","tryUpdateWidth","nextWidth","prev","useLayoutEffect","debouncedResize","window","addEventListener","removeEventListener"],"mappings":"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"}