@sb1/ffe-collapse-react 1.1.14 → 1.1.15
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/es/Collapse.js +19 -45
- package/lib/Collapse.js +19 -52
- package/lib/index.js +0 -2
- package/package.json +47 -47
package/es/Collapse.js
CHANGED
|
@@ -1,72 +1,51 @@
|
|
|
1
1
|
var _excluded = ["className", "style", "isOpen", "onRest"];
|
|
2
|
-
|
|
3
2
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
4
|
-
|
|
5
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
-
|
|
7
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
-
|
|
9
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
-
|
|
11
6
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
12
|
-
|
|
13
7
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
-
|
|
15
8
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
16
|
-
|
|
17
9
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
-
|
|
19
10
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
20
|
-
|
|
21
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
|
-
|
|
23
12
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
24
|
-
|
|
25
13
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
26
|
-
|
|
27
14
|
import React, { useRef, useState, useEffect } from 'react';
|
|
28
15
|
import { string, bool, func, object } from 'prop-types';
|
|
29
16
|
import classNames from 'classnames';
|
|
30
|
-
|
|
31
17
|
var Collapse = function Collapse(_ref) {
|
|
32
18
|
var className = _ref.className,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
19
|
+
style = _ref.style,
|
|
20
|
+
isOpen = _ref.isOpen,
|
|
21
|
+
onRest = _ref.onRest,
|
|
22
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
23
|
var content = useRef();
|
|
39
|
-
|
|
40
24
|
var _useState = useState(function () {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
25
|
+
return isOpen ? 'auto' : '0';
|
|
26
|
+
}),
|
|
27
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
28
|
+
height = _useState2[0],
|
|
29
|
+
setHeight = _useState2[1];
|
|
47
30
|
var _useState3 = useState(function () {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
31
|
+
return isOpen ? 'visible' : 'hidden';
|
|
32
|
+
}),
|
|
33
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
34
|
+
overflow = _useState4[0],
|
|
35
|
+
setOverflow = _useState4[1];
|
|
54
36
|
var _useState5 = useState(function () {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
37
|
+
return isOpen ? 'visible' : 'hidden';
|
|
38
|
+
}),
|
|
39
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
40
|
+
visibility = _useState6[0],
|
|
41
|
+
setVisibility = _useState6[1];
|
|
61
42
|
var setExpanded = function setExpanded() {
|
|
62
43
|
setHeight('auto');
|
|
63
44
|
setOverflow('visible');
|
|
64
45
|
};
|
|
65
|
-
|
|
66
46
|
var setCollapsed = function setCollapsed() {
|
|
67
47
|
setVisibility('hidden');
|
|
68
48
|
};
|
|
69
|
-
|
|
70
49
|
useEffect(function () {
|
|
71
50
|
if (content.current) {
|
|
72
51
|
if (isOpen && height !== 'auto') {
|
|
@@ -83,7 +62,6 @@ var Collapse = function Collapse(_ref) {
|
|
|
83
62
|
}
|
|
84
63
|
}
|
|
85
64
|
}, [isOpen, height]);
|
|
86
|
-
|
|
87
65
|
var onTransitionEnd = function onTransitionEnd(e) {
|
|
88
66
|
if (e.target === content.current && e.propertyName === 'height') {
|
|
89
67
|
if (isOpen) {
|
|
@@ -91,20 +69,17 @@ var Collapse = function Collapse(_ref) {
|
|
|
91
69
|
} else {
|
|
92
70
|
setCollapsed();
|
|
93
71
|
}
|
|
94
|
-
|
|
95
72
|
if (onRest) {
|
|
96
73
|
onRest();
|
|
97
74
|
}
|
|
98
75
|
}
|
|
99
76
|
};
|
|
100
|
-
|
|
101
77
|
var mergedStyles = _objectSpread(_objectSpread({}, style), {}, {
|
|
102
78
|
willChange: 'height',
|
|
103
79
|
height: height,
|
|
104
80
|
overflow: overflow,
|
|
105
81
|
visibility: visibility
|
|
106
82
|
});
|
|
107
|
-
|
|
108
83
|
return /*#__PURE__*/React.createElement("div", _extends({}, rest, {
|
|
109
84
|
ref: content,
|
|
110
85
|
style: mergedStyles,
|
|
@@ -112,7 +87,6 @@ var Collapse = function Collapse(_ref) {
|
|
|
112
87
|
onTransitionEnd: onTransitionEnd
|
|
113
88
|
}));
|
|
114
89
|
};
|
|
115
|
-
|
|
116
90
|
Collapse.displayName = 'Collapse';
|
|
117
91
|
Collapse.propTypes = {
|
|
118
92
|
className: string,
|
package/lib/Collapse.js
CHANGED
|
@@ -1,89 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
9
|
var _propTypes = require("prop-types");
|
|
13
|
-
|
|
14
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
-
|
|
16
11
|
var _excluded = ["className", "style", "isOpen", "onRest"];
|
|
17
|
-
|
|
18
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
25
|
-
|
|
26
16
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
-
|
|
28
17
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
-
|
|
30
18
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
|
-
|
|
32
19
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
33
|
-
|
|
34
20
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
35
|
-
|
|
36
21
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
37
|
-
|
|
38
22
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
39
|
-
|
|
40
23
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
41
|
-
|
|
42
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
43
|
-
|
|
44
25
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
45
|
-
|
|
46
26
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
47
|
-
|
|
48
27
|
var Collapse = function Collapse(_ref) {
|
|
49
28
|
var className = _ref.className,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
29
|
+
style = _ref.style,
|
|
30
|
+
isOpen = _ref.isOpen,
|
|
31
|
+
onRest = _ref.onRest,
|
|
32
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
55
33
|
var content = (0, _react.useRef)();
|
|
56
|
-
|
|
57
34
|
var _useState = (0, _react.useState)(function () {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
35
|
+
return isOpen ? 'auto' : '0';
|
|
36
|
+
}),
|
|
37
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
+
height = _useState2[0],
|
|
39
|
+
setHeight = _useState2[1];
|
|
64
40
|
var _useState3 = (0, _react.useState)(function () {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
41
|
+
return isOpen ? 'visible' : 'hidden';
|
|
42
|
+
}),
|
|
43
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
|
+
overflow = _useState4[0],
|
|
45
|
+
setOverflow = _useState4[1];
|
|
71
46
|
var _useState5 = (0, _react.useState)(function () {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
47
|
+
return isOpen ? 'visible' : 'hidden';
|
|
48
|
+
}),
|
|
49
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
50
|
+
visibility = _useState6[0],
|
|
51
|
+
setVisibility = _useState6[1];
|
|
78
52
|
var setExpanded = function setExpanded() {
|
|
79
53
|
setHeight('auto');
|
|
80
54
|
setOverflow('visible');
|
|
81
55
|
};
|
|
82
|
-
|
|
83
56
|
var setCollapsed = function setCollapsed() {
|
|
84
57
|
setVisibility('hidden');
|
|
85
58
|
};
|
|
86
|
-
|
|
87
59
|
(0, _react.useEffect)(function () {
|
|
88
60
|
if (content.current) {
|
|
89
61
|
if (isOpen && height !== 'auto') {
|
|
@@ -100,7 +72,6 @@ var Collapse = function Collapse(_ref) {
|
|
|
100
72
|
}
|
|
101
73
|
}
|
|
102
74
|
}, [isOpen, height]);
|
|
103
|
-
|
|
104
75
|
var onTransitionEnd = function onTransitionEnd(e) {
|
|
105
76
|
if (e.target === content.current && e.propertyName === 'height') {
|
|
106
77
|
if (isOpen) {
|
|
@@ -108,20 +79,17 @@ var Collapse = function Collapse(_ref) {
|
|
|
108
79
|
} else {
|
|
109
80
|
setCollapsed();
|
|
110
81
|
}
|
|
111
|
-
|
|
112
82
|
if (onRest) {
|
|
113
83
|
onRest();
|
|
114
84
|
}
|
|
115
85
|
}
|
|
116
86
|
};
|
|
117
|
-
|
|
118
87
|
var mergedStyles = _objectSpread(_objectSpread({}, style), {}, {
|
|
119
88
|
willChange: 'height',
|
|
120
89
|
height: height,
|
|
121
90
|
overflow: overflow,
|
|
122
91
|
visibility: visibility
|
|
123
92
|
});
|
|
124
|
-
|
|
125
93
|
return /*#__PURE__*/_react.default.createElement("div", _extends({}, rest, {
|
|
126
94
|
ref: content,
|
|
127
95
|
style: mergedStyles,
|
|
@@ -129,7 +97,6 @@ var Collapse = function Collapse(_ref) {
|
|
|
129
97
|
onTransitionEnd: onTransitionEnd
|
|
130
98
|
}));
|
|
131
99
|
};
|
|
132
|
-
|
|
133
100
|
Collapse.displayName = 'Collapse';
|
|
134
101
|
Collapse.propTypes = {
|
|
135
102
|
className: _propTypes.string,
|
package/lib/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
2
|
+
"name": "@sb1/ffe-collapse-react",
|
|
3
|
+
"version": "1.1.15",
|
|
4
|
+
"description": "React component for expand/collapse",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ffe"
|
|
7
|
+
],
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"author": "SpareBank 1",
|
|
10
|
+
"files": [
|
|
11
|
+
"lib",
|
|
12
|
+
"es",
|
|
13
|
+
"less",
|
|
14
|
+
"types"
|
|
15
|
+
],
|
|
16
|
+
"main": "lib/index.js",
|
|
17
|
+
"module": "es/index.js",
|
|
18
|
+
"types": "types/index.d.ts",
|
|
19
|
+
"sideEffects": false,
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "ssh://git@github.com:SpareBank1/designsystem.git"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "ffe-buildtool babel",
|
|
26
|
+
"watch": "ffe-buildtool babel-watch",
|
|
27
|
+
"lint": "eslint src",
|
|
28
|
+
"test": "ffe-buildtool jest",
|
|
29
|
+
"test:watch": "ffe-buildtool jest --watch"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"classnames": "^2.3.1"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@sb1/ffe-buildtool": "^0.5.0",
|
|
36
|
+
"eslint": "^5.9.0",
|
|
37
|
+
"prop-types": "^15.7.2",
|
|
38
|
+
"react": "^16.9.0",
|
|
39
|
+
"react-dom": "^16.9.0"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"@sb1/ffe-core": "*",
|
|
43
|
+
"react": ">=16.9.0"
|
|
44
|
+
},
|
|
45
|
+
"publishConfig": {
|
|
46
|
+
"access": "public"
|
|
47
|
+
},
|
|
48
|
+
"gitHead": "816e0f967f7b2d8fd6cca41bb9d363a4c7933116"
|
|
49
49
|
}
|