@aiszlab/relax 1.2.63 → 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, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toConsumableArray as toConsumableArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _typeof as typeof, _unsupportedIterableToArray as unsupportedIterableToArray };
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 };
@@ -19,7 +19,7 @@ type TogglableKey = {
19
19
  * @description
20
20
  * extra options
21
21
  */
22
- type Options = {
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, ...options }?: Options) => {
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 { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, createClass as _createClass, classPrivateFieldGet2 as _classPrivateFieldGet2, classCallCheck as _classCallCheck, classPrivateFieldInitSpec as _classPrivateFieldInitSpec, classPrivateFieldSet2 as _classPrivateFieldSet2 } from '../_virtual/_rollupPluginBabelHelpers.js';
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() {
@@ -139,36 +138,34 @@ var Leaf = /*#__PURE__*/function () {
139
138
  var useTogglable = function useTogglable(togglableKeys) {
140
139
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
141
140
  onToggle = _ref.onToggle,
142
- options = _objectWithoutProperties(_ref, _excluded);
143
- /// re-create tree when togglable keys changed
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
144
146
  var tree = useMemo(function () {
145
147
  return togglableKeys.reduce(function (_tree, togglable) {
146
148
  return _tree.grow(togglable);
147
149
  }, new Tree());
148
150
  }, [togglableKeys]);
149
- /// use controlled state to record toggled keys
150
- var _useControlledState = useControlledState(options.toggledKeys, {
151
+ // use controlled state to record toggled keys
152
+ var _useControlledState = useControlledState(toggledKeys, {
151
153
  defaultState: function defaultState() {
152
- return options.isDefaultToggled ? Array.from(Array.from(tree.groupedLeaves.values()).reduce(function (prev, leaves) {
153
- leaves.forEach(function (leaf) {
154
- return prev.add(leaf.key);
155
- });
156
- return prev;
157
- }, new Set())) : [];
154
+ return isDefaultToggled ? Array.from(tree.groupedLeaves.keys()) : defaultToggledKeys;
158
155
  }
159
156
  }),
160
157
  _useControlledState2 = _slicedToArray(_useControlledState, 2),
161
158
  _toggledKeys = _useControlledState2[0],
162
159
  _setToggledKeys = _useControlledState2[1];
163
- /// use set for toggled keys to make it read-only
160
+ // use set for toggled keys to make it read easily
164
161
  var readableToggledKeys = useMemo(function () {
165
162
  return new Set(_toggledKeys);
166
163
  }, [_toggledKeys]);
167
- /// check current key is toggled
164
+ // check current key is toggled
168
165
  var isToggled = useCallback(function (key) {
169
- return !readableToggledKeys || readableToggledKeys.has(key);
166
+ return readableToggledKeys.has(key);
170
167
  }, [readableToggledKeys]);
171
- /// toggle one key
168
+ // toggle one key
172
169
  var toggle = useEvent(function (key) {
173
170
  // get new toggled keys by toggle current key
174
171
  var _toggledKeys = Array.from(tree.toggle(key, readableToggledKeys));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiszlab/relax",
3
- "version": "1.2.63",
3
+ "version": "1.2.64",
4
4
  "description": "react utils collection",
5
5
  "type": "module",
6
6
  "exports": {