This repository was archived by the owner on Aug 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathindex-8a482fc5.js
88 lines (77 loc) · 2.85 KB
/
index-8a482fc5.js
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import { d as __spreadArray } from './LocalizationContext-ec52e278.js';
import React__default, { useState } from 'react';
import { I as Icon, c as IconTypes } from './index-4456ba1e.js';
import { n as noop } from './utils-eb6e2fbe.js';
var Context = /*#__PURE__*/React__default.createContext({
opened: '',
setOpened: noop
});
var Consumer = Context.Consumer;
var Provider = Context.Provider;
// Wraps all the accordions in an accordion set
function AccordionGroup$1(_a) {
var children = _a.children,
_b = _a.className,
className = _b === void 0 ? '' : _b;
var _c = useState(''),
opened = _c[0],
setOpened = _c[1];
return /*#__PURE__*/React__default.createElement(Provider, {
value: {
opened: opened,
setOpened: setOpened
}
}, /*#__PURE__*/React__default.createElement("div", {
className: className
}, children));
}
function Accordion(_a) {
var className = _a.className,
id = _a.id,
renderTitle = _a.renderTitle,
renderContent = _a.renderContent,
renderFooter = _a.renderFooter;
var _b = useState(false),
showAccordion = _b[0],
setShowAccordion = _b[1];
return /*#__PURE__*/React__default.createElement(Consumer, null, // Function is considered like a react component
function (value) {
var opened = value.opened,
setOpened = value.setOpened; // props from Provider
if (id === opened) {
setShowAccordion(true);
} else {
setShowAccordion(false);
}
var handleClick = function handleClick() {
if (showAccordion) {
setOpened('');
} else {
setOpened(id);
}
};
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
className: __spreadArray(__spreadArray([], Array.isArray(className) ? className : [className]), ['sendbird-accordion__panel-header']).join(' '),
id: id,
role: "switch",
"aria-checked": false,
onClick: handleClick,
onKeyDown: handleClick,
tabIndex: 0
}, renderTitle(), /*#__PURE__*/React__default.createElement(Icon, {
type: IconTypes.CHEVRON_RIGHT,
className: ['sendbird-accordion__panel-icon-right', 'sendbird-accordion__panel-icon--chevron', showAccordion ? 'sendbird-accordion__panel-icon--open' : ''].join(' '),
height: "24px",
width: "24px"
})), showAccordion && /*#__PURE__*/React__default.createElement("div", {
className: "sendbird-accordion"
}, /*#__PURE__*/React__default.createElement("div", {
className: "sendbird-accordion__list"
}, renderContent()), renderFooter && /*#__PURE__*/React__default.createElement("div", {
className: "sendbird-accordion__footer"
}, renderFooter())));
});
}
var AccordionGroup = AccordionGroup$1;
export { AccordionGroup as A, Accordion as a };
//# sourceMappingURL=index-8a482fc5.js.map