@sb1/ffe-accordion-react 9.2.15 → 9.3.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/es/Accordion.js +6 -96
- package/es/AccordionItem.js +42 -56
- package/lib/Accordion.js +6 -107
- package/lib/AccordionItem.js +42 -68
- package/lib/index.js +0 -3
- package/package.json +45 -44
package/es/Accordion.js
CHANGED
|
@@ -1,118 +1,28 @@
|
|
|
1
1
|
var _excluded = ["children", "headingLevel", "className"];
|
|
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
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
-
|
|
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."); }
|
|
8
|
-
|
|
9
|
-
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); }
|
|
10
|
-
|
|
11
|
-
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; }
|
|
12
|
-
|
|
13
|
-
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; }
|
|
14
|
-
|
|
15
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
-
|
|
17
3
|
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; }
|
|
18
|
-
|
|
19
4
|
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; }
|
|
20
|
-
|
|
21
|
-
import React, { createRef, useEffect, useState } from 'react';
|
|
5
|
+
import React from 'react';
|
|
22
6
|
import { node, oneOf, string } from 'prop-types';
|
|
23
7
|
import classNames from 'classnames';
|
|
24
|
-
var ARROW_UP = 'ArrowUp';
|
|
25
|
-
var ARROW_DOWN = 'ArrowDown';
|
|
26
|
-
var HOME = 'Home';
|
|
27
|
-
var END = 'End';
|
|
28
|
-
|
|
29
8
|
var Accordion = function Accordion(_ref) {
|
|
30
9
|
var children = _ref.children,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
var _useState = useState(false),
|
|
36
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
37
|
-
isHeadingFocused = _useState2[0],
|
|
38
|
-
setIsHeadingFocuses = _useState2[1];
|
|
39
|
-
|
|
40
|
-
var _useState3 = useState([]),
|
|
41
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
42
|
-
refs = _useState4[0],
|
|
43
|
-
setRefs = _useState4[1];
|
|
44
|
-
|
|
45
|
-
var handleFocus = function handleFocus() {
|
|
46
|
-
return setIsHeadingFocuses(true);
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
var handleBlur = function handleBlur() {
|
|
50
|
-
return setIsHeadingFocuses(false);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
useEffect(function () {
|
|
54
|
-
setRefs(function (prevRefs) {
|
|
55
|
-
return Array(children.length).fill(null).map(function (_, i) {
|
|
56
|
-
return prevRefs[i] || /*#__PURE__*/createRef();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}, [children.length]);
|
|
60
|
-
|
|
61
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
62
|
-
if (isHeadingFocused) {
|
|
63
|
-
if ([HOME, END, ARROW_UP, ARROW_DOWN].some(function (key) {
|
|
64
|
-
return key === event.key;
|
|
65
|
-
})) {
|
|
66
|
-
event.preventDefault();
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
var focusIndex = refs.findIndex(function (ref) {
|
|
70
|
-
return ref.current === document.activeElement;
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
if (event.key === HOME) {
|
|
74
|
-
refs[0].current.focus();
|
|
75
|
-
} else if (event.key === END) {
|
|
76
|
-
refs[refs.length - 1].current.focus();
|
|
77
|
-
} else if (event.key === ARROW_UP) {
|
|
78
|
-
if (focusIndex === 0) {
|
|
79
|
-
refs[refs.length - 1].current.focus();
|
|
80
|
-
} else {
|
|
81
|
-
refs[focusIndex - 1].current.focus();
|
|
82
|
-
}
|
|
83
|
-
} else if (event.key === ARROW_DOWN) {
|
|
84
|
-
if (focusIndex === refs.length - 1) {
|
|
85
|
-
refs[0].current.focus();
|
|
86
|
-
} else {
|
|
87
|
-
refs[focusIndex + 1].current.focus();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
|
|
10
|
+
headingLevel = _ref.headingLevel,
|
|
11
|
+
className = _ref.className,
|
|
12
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
93
13
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
94
|
-
|
|
95
|
-
onKeyDown: handleKeyDown,
|
|
96
|
-
className: classNames(className, 'ffe-accordion', {
|
|
97
|
-
'ffe-accordion--focus': isHeadingFocused
|
|
98
|
-
})
|
|
14
|
+
className: classNames(className, 'ffe-accordion')
|
|
99
15
|
}, rest), React.Children.map(children, function (child, index) {
|
|
100
16
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
101
|
-
headingLevel: headingLevel
|
|
102
|
-
ref: refs[index],
|
|
103
|
-
onFocus: handleFocus,
|
|
104
|
-
onBlur: handleBlur
|
|
17
|
+
headingLevel: headingLevel
|
|
105
18
|
});
|
|
106
19
|
}));
|
|
107
20
|
};
|
|
108
|
-
|
|
109
21
|
Accordion.propTypes = {
|
|
110
22
|
/** Accordion items */
|
|
111
23
|
children: node,
|
|
112
|
-
|
|
113
24
|
/** The level of headings in the AccordionItems */
|
|
114
25
|
headingLevel: oneOf([1, 2, 3, 4, 5, 6]).isRequired,
|
|
115
|
-
|
|
116
26
|
/** Class assigned the container */
|
|
117
27
|
className: string
|
|
118
28
|
};
|
package/es/AccordionItem.js
CHANGED
|
@@ -1,52 +1,43 @@
|
|
|
1
1
|
var _excluded = ["children", "heading", "defaultOpen", "isOpen", "className", "onToggleOpen", "ariaLabel"],
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_excluded2 = ["headingLevel", "forwardedRef"];
|
|
4
3
|
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); }
|
|
5
|
-
|
|
6
4
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
7
|
-
|
|
8
5
|
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."); }
|
|
9
|
-
|
|
10
6
|
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); }
|
|
11
|
-
|
|
12
7
|
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; }
|
|
13
|
-
|
|
14
8
|
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; }
|
|
15
|
-
|
|
16
9
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
17
|
-
|
|
18
10
|
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; }
|
|
19
|
-
|
|
20
11
|
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; }
|
|
21
|
-
|
|
22
12
|
import React, { useEffect, useRef, useState } from 'react';
|
|
23
13
|
import { bool, func, node, string } from 'prop-types';
|
|
24
14
|
import { v4 as uuid } from 'uuid';
|
|
25
15
|
import ChevronIkon from "@sb1/ffe-icons-react/es/chevron-ikon";
|
|
26
16
|
import Collapse from '@sb1/ffe-collapse-react';
|
|
27
17
|
import classNames from 'classnames';
|
|
28
|
-
|
|
18
|
+
import { Heading6 } from '@sb1/ffe-core-react';
|
|
29
19
|
var AccordionItem = function AccordionItem(_ref) {
|
|
30
20
|
var children = _ref.children,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
21
|
+
heading = _ref.heading,
|
|
22
|
+
defaultOpen = _ref.defaultOpen,
|
|
23
|
+
isOpen = _ref.isOpen,
|
|
24
|
+
className = _ref.className,
|
|
25
|
+
_ref$onToggleOpen = _ref.onToggleOpen,
|
|
26
|
+
onToggleOpen = _ref$onToggleOpen === void 0 ? Function.prototype : _ref$onToggleOpen,
|
|
27
|
+
ariaLabel = _ref.ariaLabel,
|
|
28
|
+
accordionProps = _objectWithoutProperties(_ref, _excluded);
|
|
40
29
|
var _useState = useState(defaultOpen),
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
isExpanded = _useState2[0],
|
|
32
|
+
setIsExpanded = _useState2[1];
|
|
45
33
|
var _useState3 = useState(false),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
34
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
35
|
+
isAnimating = _useState4[0],
|
|
36
|
+
setIsAnimating = _useState4[1];
|
|
37
|
+
var _useState5 = useState(false),
|
|
38
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
39
|
+
isFocused = _useState6[0],
|
|
40
|
+
setFocus = _useState6[1];
|
|
50
41
|
var buttonId = useRef(uuid());
|
|
51
42
|
var contentId = useRef(uuid());
|
|
52
43
|
useEffect(function () {
|
|
@@ -55,29 +46,25 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
55
46
|
setIsExpanded(isOpen);
|
|
56
47
|
}
|
|
57
48
|
}, [isOpen]);
|
|
58
|
-
|
|
59
49
|
var handleOnClick = function handleOnClick() {
|
|
60
50
|
onToggleOpen(!isExpanded);
|
|
61
|
-
|
|
62
51
|
if (isOpen == null) {
|
|
63
52
|
setIsAnimating(true);
|
|
64
53
|
setIsExpanded(!isExpanded);
|
|
65
54
|
}
|
|
66
55
|
};
|
|
67
|
-
|
|
68
56
|
var headingLevel = accordionProps.headingLevel,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
forwardedRef = accordionProps.forwardedRef,
|
|
72
|
-
rest = _objectWithoutProperties(accordionProps, _excluded2);
|
|
73
|
-
|
|
57
|
+
forwardedRef = accordionProps.forwardedRef,
|
|
58
|
+
rest = _objectWithoutProperties(accordionProps, _excluded2);
|
|
74
59
|
var collapseHidden = !isExpanded && !isAnimating;
|
|
75
60
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
76
61
|
className: classNames(className, 'ffe-accordion-item', {
|
|
77
|
-
'ffe-accordion-item--open': isExpanded
|
|
62
|
+
'ffe-accordion-item--open': isExpanded,
|
|
63
|
+
'ffe-accordion-item--focus': isFocused
|
|
78
64
|
})
|
|
79
|
-
}, rest), /*#__PURE__*/React.createElement(
|
|
80
|
-
className:
|
|
65
|
+
}, rest), /*#__PURE__*/React.createElement(Heading6, {
|
|
66
|
+
className: "ffe-accordion-item__heading",
|
|
67
|
+
"aria-level": headingLevel
|
|
81
68
|
}, /*#__PURE__*/React.createElement("button", {
|
|
82
69
|
type: "button",
|
|
83
70
|
id: buttonId.current,
|
|
@@ -85,17 +72,23 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
85
72
|
"aria-expanded": isExpanded ? 'true' : 'false',
|
|
86
73
|
"aria-controls": contentId.current,
|
|
87
74
|
"aria-label": ariaLabel,
|
|
88
|
-
className: classNames('ffe-
|
|
89
|
-
'ffe-
|
|
75
|
+
className: classNames('ffe-accordion-item__heading-button', {
|
|
76
|
+
'ffe-accordion-item__heading-button--open': isExpanded
|
|
90
77
|
}),
|
|
91
78
|
onClick: handleOnClick,
|
|
92
|
-
onFocus: onFocus
|
|
93
|
-
|
|
79
|
+
onFocus: function onFocus() {
|
|
80
|
+
return setFocus(true);
|
|
81
|
+
},
|
|
82
|
+
onBlur: function onBlur() {
|
|
83
|
+
return setFocus(false);
|
|
84
|
+
}
|
|
94
85
|
}, /*#__PURE__*/React.createElement("span", {
|
|
95
|
-
className: "ffe-
|
|
96
|
-
}, heading, /*#__PURE__*/React.createElement(
|
|
97
|
-
className: "ffe-
|
|
98
|
-
}
|
|
86
|
+
className: "ffe-accordion-item__heading-button-content"
|
|
87
|
+
}, heading, /*#__PURE__*/React.createElement("span", {
|
|
88
|
+
className: "ffe-accordion-item__heading-icon-wrapper"
|
|
89
|
+
}, /*#__PURE__*/React.createElement(ChevronIkon, {
|
|
90
|
+
className: "ffe-accordion-item__heading-icon"
|
|
91
|
+
}))))), /*#__PURE__*/React.createElement(Collapse, {
|
|
99
92
|
isOpen: isExpanded,
|
|
100
93
|
onRest: function onRest() {
|
|
101
94
|
return setIsAnimating(false);
|
|
@@ -105,29 +98,22 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
105
98
|
hidden: collapseHidden,
|
|
106
99
|
role: "region"
|
|
107
100
|
}, !collapseHidden && /*#__PURE__*/React.createElement("div", {
|
|
108
|
-
className: "ffe-accordion-
|
|
101
|
+
className: "ffe-accordion-item__body"
|
|
109
102
|
}, children)));
|
|
110
103
|
};
|
|
111
|
-
|
|
112
104
|
AccordionItem.propTypes = {
|
|
113
105
|
/** The heading */
|
|
114
106
|
heading: node.isRequired,
|
|
115
|
-
|
|
116
107
|
/** The content to appear when expanded */
|
|
117
108
|
children: node.isRequired,
|
|
118
|
-
|
|
119
109
|
/** Should it be open by default */
|
|
120
110
|
defaultOpen: bool,
|
|
121
|
-
|
|
122
111
|
/** Is the item open or collapsed? Used for overriding default behaviour */
|
|
123
112
|
isOpen: bool,
|
|
124
|
-
|
|
125
113
|
/** Class assigned the container */
|
|
126
114
|
className: string,
|
|
127
|
-
|
|
128
115
|
/** Callback when the item is open/closed */
|
|
129
116
|
onToggleOpen: func,
|
|
130
|
-
|
|
131
117
|
/** aria-label for the button */
|
|
132
118
|
ariaLabel: string
|
|
133
119
|
};
|
package/lib/Accordion.js
CHANGED
|
@@ -1,136 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
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
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
8
|
var _propTypes = require("prop-types");
|
|
13
|
-
|
|
14
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
-
|
|
16
10
|
var _excluded = ["children", "headingLevel", "className"];
|
|
17
|
-
|
|
18
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
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
|
-
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
12
|
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
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
-
|
|
28
|
-
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."); }
|
|
29
|
-
|
|
30
|
-
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); }
|
|
31
|
-
|
|
32
|
-
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; }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
|
-
|
|
38
13
|
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; }
|
|
39
|
-
|
|
40
14
|
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; }
|
|
41
|
-
|
|
42
|
-
var ARROW_UP = 'ArrowUp';
|
|
43
|
-
var ARROW_DOWN = 'ArrowDown';
|
|
44
|
-
var HOME = 'Home';
|
|
45
|
-
var END = 'End';
|
|
46
|
-
|
|
47
15
|
var Accordion = function Accordion(_ref) {
|
|
48
16
|
var children = _ref.children,
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
var _useState = (0, _react.useState)(false),
|
|
54
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
55
|
-
isHeadingFocused = _useState2[0],
|
|
56
|
-
setIsHeadingFocuses = _useState2[1];
|
|
57
|
-
|
|
58
|
-
var _useState3 = (0, _react.useState)([]),
|
|
59
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
60
|
-
refs = _useState4[0],
|
|
61
|
-
setRefs = _useState4[1];
|
|
62
|
-
|
|
63
|
-
var handleFocus = function handleFocus() {
|
|
64
|
-
return setIsHeadingFocuses(true);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
var handleBlur = function handleBlur() {
|
|
68
|
-
return setIsHeadingFocuses(false);
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
(0, _react.useEffect)(function () {
|
|
72
|
-
setRefs(function (prevRefs) {
|
|
73
|
-
return Array(children.length).fill(null).map(function (_, i) {
|
|
74
|
-
return prevRefs[i] || /*#__PURE__*/(0, _react.createRef)();
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}, [children.length]);
|
|
78
|
-
|
|
79
|
-
var handleKeyDown = function handleKeyDown(event) {
|
|
80
|
-
if (isHeadingFocused) {
|
|
81
|
-
if ([HOME, END, ARROW_UP, ARROW_DOWN].some(function (key) {
|
|
82
|
-
return key === event.key;
|
|
83
|
-
})) {
|
|
84
|
-
event.preventDefault();
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
var focusIndex = refs.findIndex(function (ref) {
|
|
88
|
-
return ref.current === document.activeElement;
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
if (event.key === HOME) {
|
|
92
|
-
refs[0].current.focus();
|
|
93
|
-
} else if (event.key === END) {
|
|
94
|
-
refs[refs.length - 1].current.focus();
|
|
95
|
-
} else if (event.key === ARROW_UP) {
|
|
96
|
-
if (focusIndex === 0) {
|
|
97
|
-
refs[refs.length - 1].current.focus();
|
|
98
|
-
} else {
|
|
99
|
-
refs[focusIndex - 1].current.focus();
|
|
100
|
-
}
|
|
101
|
-
} else if (event.key === ARROW_DOWN) {
|
|
102
|
-
if (focusIndex === refs.length - 1) {
|
|
103
|
-
refs[0].current.focus();
|
|
104
|
-
} else {
|
|
105
|
-
refs[focusIndex + 1].current.focus();
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
|
|
17
|
+
headingLevel = _ref.headingLevel,
|
|
18
|
+
className = _ref.className,
|
|
19
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
111
20
|
return /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
112
|
-
|
|
113
|
-
onKeyDown: handleKeyDown,
|
|
114
|
-
className: (0, _classnames.default)(className, 'ffe-accordion', {
|
|
115
|
-
'ffe-accordion--focus': isHeadingFocused
|
|
116
|
-
})
|
|
21
|
+
className: (0, _classnames.default)(className, 'ffe-accordion')
|
|
117
22
|
}, rest), _react.default.Children.map(children, function (child, index) {
|
|
118
23
|
return /*#__PURE__*/_react.default.cloneElement(child, {
|
|
119
|
-
headingLevel: headingLevel
|
|
120
|
-
ref: refs[index],
|
|
121
|
-
onFocus: handleFocus,
|
|
122
|
-
onBlur: handleBlur
|
|
24
|
+
headingLevel: headingLevel
|
|
123
25
|
});
|
|
124
26
|
}));
|
|
125
27
|
};
|
|
126
|
-
|
|
127
28
|
Accordion.propTypes = {
|
|
128
29
|
/** Accordion items */
|
|
129
30
|
children: _propTypes.node,
|
|
130
|
-
|
|
131
31
|
/** The level of headings in the AccordionItems */
|
|
132
32
|
headingLevel: (0, _propTypes.oneOf)([1, 2, 3, 4, 5, 6]).isRequired,
|
|
133
|
-
|
|
134
33
|
/** Class assigned the container */
|
|
135
34
|
className: _propTypes.string
|
|
136
35
|
};
|
package/lib/AccordionItem.js
CHANGED
|
@@ -1,72 +1,53 @@
|
|
|
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 _uuid = require("uuid");
|
|
15
|
-
|
|
16
11
|
var _chevronIkon = _interopRequireDefault(require("@sb1/ffe-icons-react/lib/chevron-ikon"));
|
|
17
|
-
|
|
18
12
|
var _ffeCollapseReact = _interopRequireDefault(require("@sb1/ffe-collapse-react"));
|
|
19
|
-
|
|
20
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
-
|
|
14
|
+
var _ffeCoreReact = require("@sb1/ffe-core-react");
|
|
22
15
|
var _excluded = ["children", "heading", "defaultOpen", "isOpen", "className", "onToggleOpen", "ariaLabel"],
|
|
23
|
-
|
|
24
|
-
|
|
16
|
+
_excluded2 = ["headingLevel", "forwardedRef"];
|
|
25
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
-
|
|
27
18
|
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); }
|
|
28
|
-
|
|
29
19
|
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; }
|
|
30
|
-
|
|
31
20
|
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); }
|
|
32
|
-
|
|
33
21
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
34
|
-
|
|
35
22
|
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."); }
|
|
36
|
-
|
|
37
23
|
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); }
|
|
38
|
-
|
|
39
24
|
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; }
|
|
40
|
-
|
|
41
25
|
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; }
|
|
42
|
-
|
|
43
26
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
44
|
-
|
|
45
27
|
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; }
|
|
46
|
-
|
|
47
28
|
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; }
|
|
48
|
-
|
|
49
29
|
var AccordionItem = function AccordionItem(_ref) {
|
|
50
30
|
var children = _ref.children,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
31
|
+
heading = _ref.heading,
|
|
32
|
+
defaultOpen = _ref.defaultOpen,
|
|
33
|
+
isOpen = _ref.isOpen,
|
|
34
|
+
className = _ref.className,
|
|
35
|
+
_ref$onToggleOpen = _ref.onToggleOpen,
|
|
36
|
+
onToggleOpen = _ref$onToggleOpen === void 0 ? Function.prototype : _ref$onToggleOpen,
|
|
37
|
+
ariaLabel = _ref.ariaLabel,
|
|
38
|
+
accordionProps = _objectWithoutProperties(_ref, _excluded);
|
|
60
39
|
var _useState = (0, _react.useState)(defaultOpen),
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
40
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
41
|
+
isExpanded = _useState2[0],
|
|
42
|
+
setIsExpanded = _useState2[1];
|
|
65
43
|
var _useState3 = (0, _react.useState)(false),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
44
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
45
|
+
isAnimating = _useState4[0],
|
|
46
|
+
setIsAnimating = _useState4[1];
|
|
47
|
+
var _useState5 = (0, _react.useState)(false),
|
|
48
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
49
|
+
isFocused = _useState6[0],
|
|
50
|
+
setFocus = _useState6[1];
|
|
70
51
|
var buttonId = (0, _react.useRef)((0, _uuid.v4)());
|
|
71
52
|
var contentId = (0, _react.useRef)((0, _uuid.v4)());
|
|
72
53
|
(0, _react.useEffect)(function () {
|
|
@@ -75,29 +56,25 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
75
56
|
setIsExpanded(isOpen);
|
|
76
57
|
}
|
|
77
58
|
}, [isOpen]);
|
|
78
|
-
|
|
79
59
|
var handleOnClick = function handleOnClick() {
|
|
80
60
|
onToggleOpen(!isExpanded);
|
|
81
|
-
|
|
82
61
|
if (isOpen == null) {
|
|
83
62
|
setIsAnimating(true);
|
|
84
63
|
setIsExpanded(!isExpanded);
|
|
85
64
|
}
|
|
86
65
|
};
|
|
87
|
-
|
|
88
66
|
var headingLevel = accordionProps.headingLevel,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
forwardedRef = accordionProps.forwardedRef,
|
|
92
|
-
rest = _objectWithoutProperties(accordionProps, _excluded2);
|
|
93
|
-
|
|
67
|
+
forwardedRef = accordionProps.forwardedRef,
|
|
68
|
+
rest = _objectWithoutProperties(accordionProps, _excluded2);
|
|
94
69
|
var collapseHidden = !isExpanded && !isAnimating;
|
|
95
70
|
return /*#__PURE__*/_react.default.createElement("div", _extends({
|
|
96
71
|
className: (0, _classnames.default)(className, 'ffe-accordion-item', {
|
|
97
|
-
'ffe-accordion-item--open': isExpanded
|
|
72
|
+
'ffe-accordion-item--open': isExpanded,
|
|
73
|
+
'ffe-accordion-item--focus': isFocused
|
|
98
74
|
})
|
|
99
|
-
}, rest), /*#__PURE__*/_react.default.createElement(
|
|
100
|
-
className:
|
|
75
|
+
}, rest), /*#__PURE__*/_react.default.createElement(_ffeCoreReact.Heading6, {
|
|
76
|
+
className: "ffe-accordion-item__heading",
|
|
77
|
+
"aria-level": headingLevel
|
|
101
78
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
102
79
|
type: "button",
|
|
103
80
|
id: buttonId.current,
|
|
@@ -105,17 +82,23 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
105
82
|
"aria-expanded": isExpanded ? 'true' : 'false',
|
|
106
83
|
"aria-controls": contentId.current,
|
|
107
84
|
"aria-label": ariaLabel,
|
|
108
|
-
className: (0, _classnames.default)('ffe-
|
|
109
|
-
'ffe-
|
|
85
|
+
className: (0, _classnames.default)('ffe-accordion-item__heading-button', {
|
|
86
|
+
'ffe-accordion-item__heading-button--open': isExpanded
|
|
110
87
|
}),
|
|
111
88
|
onClick: handleOnClick,
|
|
112
|
-
onFocus: onFocus
|
|
113
|
-
|
|
89
|
+
onFocus: function onFocus() {
|
|
90
|
+
return setFocus(true);
|
|
91
|
+
},
|
|
92
|
+
onBlur: function onBlur() {
|
|
93
|
+
return setFocus(false);
|
|
94
|
+
}
|
|
114
95
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
115
|
-
className: "ffe-
|
|
116
|
-
}, heading, /*#__PURE__*/_react.default.createElement(
|
|
117
|
-
className: "ffe-
|
|
118
|
-
}
|
|
96
|
+
className: "ffe-accordion-item__heading-button-content"
|
|
97
|
+
}, heading, /*#__PURE__*/_react.default.createElement("span", {
|
|
98
|
+
className: "ffe-accordion-item__heading-icon-wrapper"
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement(_chevronIkon.default, {
|
|
100
|
+
className: "ffe-accordion-item__heading-icon"
|
|
101
|
+
}))))), /*#__PURE__*/_react.default.createElement(_ffeCollapseReact.default, {
|
|
119
102
|
isOpen: isExpanded,
|
|
120
103
|
onRest: function onRest() {
|
|
121
104
|
return setIsAnimating(false);
|
|
@@ -125,37 +108,28 @@ var AccordionItem = function AccordionItem(_ref) {
|
|
|
125
108
|
hidden: collapseHidden,
|
|
126
109
|
role: "region"
|
|
127
110
|
}, !collapseHidden && /*#__PURE__*/_react.default.createElement("div", {
|
|
128
|
-
className: "ffe-accordion-
|
|
111
|
+
className: "ffe-accordion-item__body"
|
|
129
112
|
}, children)));
|
|
130
113
|
};
|
|
131
|
-
|
|
132
114
|
AccordionItem.propTypes = {
|
|
133
115
|
/** The heading */
|
|
134
116
|
heading: _propTypes.node.isRequired,
|
|
135
|
-
|
|
136
117
|
/** The content to appear when expanded */
|
|
137
118
|
children: _propTypes.node.isRequired,
|
|
138
|
-
|
|
139
119
|
/** Should it be open by default */
|
|
140
120
|
defaultOpen: _propTypes.bool,
|
|
141
|
-
|
|
142
121
|
/** Is the item open or collapsed? Used for overriding default behaviour */
|
|
143
122
|
isOpen: _propTypes.bool,
|
|
144
|
-
|
|
145
123
|
/** Class assigned the container */
|
|
146
124
|
className: _propTypes.string,
|
|
147
|
-
|
|
148
125
|
/** Callback when the item is open/closed */
|
|
149
126
|
onToggleOpen: _propTypes.func,
|
|
150
|
-
|
|
151
127
|
/** aria-label for the button */
|
|
152
128
|
ariaLabel: _propTypes.string
|
|
153
129
|
};
|
|
154
|
-
|
|
155
130
|
var _default = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
156
131
|
return /*#__PURE__*/_react.default.createElement(AccordionItem, _extends({}, props, {
|
|
157
132
|
forwardedRef: ref
|
|
158
133
|
}));
|
|
159
134
|
});
|
|
160
|
-
|
|
161
135
|
exports.default = _default;
|
package/lib/index.js
CHANGED
|
@@ -15,9 +15,6 @@ Object.defineProperty(exports, "AccordionItem", {
|
|
|
15
15
|
return _AccordionItem.default;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
|
|
19
18
|
var _Accordion = _interopRequireDefault(require("./Accordion"));
|
|
20
|
-
|
|
21
19
|
var _AccordionItem = _interopRequireDefault(require("./AccordionItem"));
|
|
22
|
-
|
|
23
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/package.json
CHANGED
|
@@ -1,46 +1,47 @@
|
|
|
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
|
-
|
|
2
|
+
"name": "@sb1/ffe-accordion-react",
|
|
3
|
+
"version": "9.3.1",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"author": "SpareBank 1",
|
|
6
|
+
"files": [
|
|
7
|
+
"lib",
|
|
8
|
+
"es",
|
|
9
|
+
"types"
|
|
10
|
+
],
|
|
11
|
+
"main": "lib/index.js",
|
|
12
|
+
"module": "es/index.js",
|
|
13
|
+
"types": "types/index.d.ts",
|
|
14
|
+
"sideEffects": false,
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "ssh://git@github.com:SpareBank1/designsystem.git"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "ffe-buildtool babel",
|
|
21
|
+
"watch": "ffe-buildtool babel-watch",
|
|
22
|
+
"lint": "eslint src",
|
|
23
|
+
"test": "ffe-buildtool jest",
|
|
24
|
+
"test:watch": "ffe-buildtool jest --watch"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@sb1/ffe-collapse-react": "^1.1.14",
|
|
28
|
+
"@sb1/ffe-core-react": "^6.0.0",
|
|
29
|
+
"@sb1/ffe-icons-react": "^7.3.3",
|
|
30
|
+
"classnames": "^2.3.1",
|
|
31
|
+
"prop-types": "^15.7.2",
|
|
32
|
+
"uuid": "^8.3.2"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@sb1/ffe-buildtool": "^0.4.1",
|
|
36
|
+
"react": "^16.9.0",
|
|
37
|
+
"react-dom": "^16.9.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@sb1/ffe-accordion": "*",
|
|
41
|
+
"react": ">=16.9.0"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public"
|
|
45
|
+
},
|
|
46
|
+
"gitHead": "98d9ceeaa9bebcd35d5a730227aac61fd28937cf"
|
|
46
47
|
}
|