@aiszlab/relax 1.2.62 → 1.2.64
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.
|
@@ -93,26 +93,6 @@ function _nonIterableRest() {
|
|
|
93
93
|
function _nonIterableSpread() {
|
|
94
94
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
95
95
|
}
|
|
96
|
-
function _objectWithoutProperties(e, t) {
|
|
97
|
-
if (null == e) return {};
|
|
98
|
-
var o,
|
|
99
|
-
r,
|
|
100
|
-
i = _objectWithoutPropertiesLoose(e, t);
|
|
101
|
-
if (Object.getOwnPropertySymbols) {
|
|
102
|
-
var s = Object.getOwnPropertySymbols(e);
|
|
103
|
-
for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
|
|
104
|
-
}
|
|
105
|
-
return i;
|
|
106
|
-
}
|
|
107
|
-
function _objectWithoutPropertiesLoose(r, e) {
|
|
108
|
-
if (null == r) return {};
|
|
109
|
-
var t = {};
|
|
110
|
-
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
111
|
-
if (e.includes(n)) continue;
|
|
112
|
-
t[n] = r[n];
|
|
113
|
-
}
|
|
114
|
-
return t;
|
|
115
|
-
}
|
|
116
96
|
function _slicedToArray(r, e) {
|
|
117
97
|
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
|
118
98
|
}
|
|
@@ -150,4 +130,4 @@ function _unsupportedIterableToArray(r, a) {
|
|
|
150
130
|
}
|
|
151
131
|
}
|
|
152
132
|
|
|
153
|
-
export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertClassBrand as assertClassBrand, _checkPrivateRedeclaration as checkPrivateRedeclaration, _classCallCheck as classCallCheck, _classPrivateFieldGet2 as classPrivateFieldGet2, _classPrivateFieldInitSpec as classPrivateFieldInitSpec, _classPrivateFieldSet2 as classPrivateFieldSet2, _classPrivateMethodInitSpec as classPrivateMethodInitSpec, _construct as construct, _createClass as createClass, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread,
|
|
133
|
+
export { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _arrayWithoutHoles as arrayWithoutHoles, _assertClassBrand as assertClassBrand, _checkPrivateRedeclaration as checkPrivateRedeclaration, _classCallCheck as classCallCheck, _classPrivateFieldGet2 as classPrivateFieldGet2, _classPrivateFieldInitSpec as classPrivateFieldInitSpec, _classPrivateFieldSet2 as classPrivateFieldSet2, _classPrivateMethodInitSpec as classPrivateMethodInitSpec, _construct as construct, _createClass as createClass, _isNativeReflectConstruct as isNativeReflectConstruct, _iterableToArray as iterableToArray, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _nonIterableSpread as nonIterableSpread, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
|
|
@@ -12,9 +12,9 @@ var useClickAway = function useClickAway(onClickAway, target) {
|
|
|
12
12
|
onClickAway(event);
|
|
13
13
|
});
|
|
14
14
|
useEffect(function () {
|
|
15
|
-
|
|
15
|
+
document.addEventListener("click", clickAway);
|
|
16
16
|
return function () {
|
|
17
|
-
|
|
17
|
+
document.removeEventListener("click", clickAway);
|
|
18
18
|
};
|
|
19
19
|
}, []);
|
|
20
20
|
};
|
|
@@ -19,7 +19,7 @@ type TogglableKey = {
|
|
|
19
19
|
* @description
|
|
20
20
|
* extra options
|
|
21
21
|
*/
|
|
22
|
-
type
|
|
22
|
+
type UseTogglableOptions = {
|
|
23
23
|
/**
|
|
24
24
|
* @description
|
|
25
25
|
* default toggled
|
|
@@ -35,12 +35,17 @@ type Options = {
|
|
|
35
35
|
* on toggle callback
|
|
36
36
|
*/
|
|
37
37
|
onToggle?: (keys: Key[]) => void;
|
|
38
|
+
/**
|
|
39
|
+
* @description
|
|
40
|
+
* default toggled keys
|
|
41
|
+
*/
|
|
42
|
+
defaultToggledKeys?: Key[];
|
|
38
43
|
};
|
|
39
44
|
/**
|
|
40
45
|
* @description
|
|
41
46
|
* toggle able
|
|
42
47
|
*/
|
|
43
|
-
export declare const useTogglable: (togglableKeys: TogglableKey[], { onToggle,
|
|
48
|
+
export declare const useTogglable: (togglableKeys: TogglableKey[], { onToggle, defaultToggledKeys, isDefaultToggled, toggledKeys }?: UseTogglableOptions) => {
|
|
44
49
|
toggledKeys: Set<Key>;
|
|
45
50
|
isToggled: (key: Key) => boolean;
|
|
46
51
|
toggle: (key: Key) => void;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { slicedToArray as _slicedToArray, createClass as _createClass, classPrivateFieldGet2 as _classPrivateFieldGet2, classCallCheck as _classCallCheck, classPrivateFieldInitSpec as _classPrivateFieldInitSpec, classPrivateFieldSet2 as _classPrivateFieldSet2 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import { useMemo, useCallback } from 'react';
|
|
3
3
|
import { useControlledState } from './use-controlled-state.js';
|
|
4
4
|
import { useEvent } from './use-event.js';
|
|
5
5
|
|
|
6
|
-
var _excluded = ["onToggle"];
|
|
7
6
|
var _groupedLeaves = /*#__PURE__*/new WeakMap();
|
|
8
7
|
var Tree = /*#__PURE__*/function () {
|
|
9
8
|
function Tree() {
|
|
@@ -41,13 +40,21 @@ var Tree = /*#__PURE__*/function () {
|
|
|
41
40
|
}
|
|
42
41
|
}, {
|
|
43
42
|
key: "toggleBy",
|
|
44
|
-
value: function toggleBy(key, isToggled,
|
|
43
|
+
value: function toggleBy(key, isToggled, _toggledKeys) {
|
|
45
44
|
var _classPrivateFieldGet2$1;
|
|
45
|
+
var toggledKeys = new Set(_toggledKeys);
|
|
46
|
+
// toggle current leaf
|
|
47
|
+
if (isToggled) {
|
|
48
|
+
toggledKeys.add(key);
|
|
49
|
+
} else {
|
|
50
|
+
toggledKeys["delete"](key);
|
|
51
|
+
}
|
|
46
52
|
return Array.from((_classPrivateFieldGet2$1 = _classPrivateFieldGet2(_groupedLeaves, this).get(key)) !== null && _classPrivateFieldGet2$1 !== void 0 ? _classPrivateFieldGet2$1 : []).reduce(function (prev, leaf) {
|
|
47
53
|
// deep fall, add or remove child key
|
|
54
|
+
return leaf.rise(
|
|
48
55
|
// deep rise, add or remove parent key
|
|
49
|
-
|
|
50
|
-
},
|
|
56
|
+
leaf.fall(isToggled, prev));
|
|
57
|
+
}, toggledKeys);
|
|
51
58
|
}
|
|
52
59
|
}]);
|
|
53
60
|
}();
|
|
@@ -92,17 +99,19 @@ var Leaf = /*#__PURE__*/function () {
|
|
|
92
99
|
}
|
|
93
100
|
}, {
|
|
94
101
|
key: "rise",
|
|
95
|
-
value: function rise(
|
|
96
|
-
var rised = new Set(
|
|
97
|
-
if (
|
|
98
|
-
|
|
102
|
+
value: function rise(_toggledKeys) {
|
|
103
|
+
var rised = new Set(_toggledKeys);
|
|
104
|
+
if (!_classPrivateFieldGet2(_parent, this)) return rised;
|
|
105
|
+
var isChildrenToggled = _classPrivateFieldGet2(_children, _classPrivateFieldGet2(_parent, this)).every(function (child) {
|
|
106
|
+
return rised.has(child.key);
|
|
107
|
+
});
|
|
108
|
+
if (isChildrenToggled) {
|
|
109
|
+
rised.add(_classPrivateFieldGet2(_parent, this).key);
|
|
99
110
|
} else {
|
|
100
|
-
rised["delete"](_classPrivateFieldGet2(
|
|
101
|
-
}
|
|
102
|
-
if (_classPrivateFieldGet2(_parent, this)) {
|
|
103
|
-
return _classPrivateFieldGet2(_parent, this).rise(isToggled, rised);
|
|
111
|
+
rised["delete"](_classPrivateFieldGet2(_parent, this).key);
|
|
104
112
|
}
|
|
105
|
-
|
|
113
|
+
// go on parent
|
|
114
|
+
return _classPrivateFieldGet2(_parent, this).rise(rised);
|
|
106
115
|
}
|
|
107
116
|
}, {
|
|
108
117
|
key: "fall",
|
|
@@ -129,36 +138,34 @@ var Leaf = /*#__PURE__*/function () {
|
|
|
129
138
|
var useTogglable = function useTogglable(togglableKeys) {
|
|
130
139
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
131
140
|
onToggle = _ref.onToggle,
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
_ref$defaultToggledKe = _ref.defaultToggledKeys,
|
|
142
|
+
defaultToggledKeys = _ref$defaultToggledKe === void 0 ? [] : _ref$defaultToggledKe,
|
|
143
|
+
isDefaultToggled = _ref.isDefaultToggled,
|
|
144
|
+
toggledKeys = _ref.toggledKeys;
|
|
145
|
+
// re-create tree when togglable keys changed
|
|
134
146
|
var tree = useMemo(function () {
|
|
135
147
|
return togglableKeys.reduce(function (_tree, togglable) {
|
|
136
148
|
return _tree.grow(togglable);
|
|
137
149
|
}, new Tree());
|
|
138
150
|
}, [togglableKeys]);
|
|
139
|
-
|
|
140
|
-
var _useControlledState = useControlledState(
|
|
151
|
+
// use controlled state to record toggled keys
|
|
152
|
+
var _useControlledState = useControlledState(toggledKeys, {
|
|
141
153
|
defaultState: function defaultState() {
|
|
142
|
-
return
|
|
143
|
-
leaves.forEach(function (leaf) {
|
|
144
|
-
return prev.add(leaf.key);
|
|
145
|
-
});
|
|
146
|
-
return prev;
|
|
147
|
-
}, new Set())) : [];
|
|
154
|
+
return isDefaultToggled ? Array.from(tree.groupedLeaves.keys()) : defaultToggledKeys;
|
|
148
155
|
}
|
|
149
156
|
}),
|
|
150
157
|
_useControlledState2 = _slicedToArray(_useControlledState, 2),
|
|
151
158
|
_toggledKeys = _useControlledState2[0],
|
|
152
159
|
_setToggledKeys = _useControlledState2[1];
|
|
153
|
-
|
|
160
|
+
// use set for toggled keys to make it read easily
|
|
154
161
|
var readableToggledKeys = useMemo(function () {
|
|
155
162
|
return new Set(_toggledKeys);
|
|
156
163
|
}, [_toggledKeys]);
|
|
157
|
-
|
|
164
|
+
// check current key is toggled
|
|
158
165
|
var isToggled = useCallback(function (key) {
|
|
159
|
-
return
|
|
166
|
+
return readableToggledKeys.has(key);
|
|
160
167
|
}, [readableToggledKeys]);
|
|
161
|
-
|
|
168
|
+
// toggle one key
|
|
162
169
|
var toggle = useEvent(function (key) {
|
|
163
170
|
// get new toggled keys by toggle current key
|
|
164
171
|
var _toggledKeys = Array.from(tree.toggle(key, readableToggledKeys));
|