@chayns-components/core 5.0.0-beta.3 → 5.0.0-beta.30

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.
Files changed (129) hide show
  1. package/lib/components/accordion/Accordion.d.ts +46 -5
  2. package/lib/components/accordion/Accordion.js +85 -130
  3. package/lib/components/accordion/Accordion.js.map +1 -1
  4. package/lib/components/accordion/Accordion.styles.d.ts +6 -0
  5. package/lib/components/accordion/Accordion.styles.js +40 -0
  6. package/lib/components/accordion/Accordion.styles.js.map +1 -0
  7. package/lib/components/accordion/accordion-body/AccordionBody.d.ts +1 -2
  8. package/lib/components/accordion/accordion-body/AccordionBody.js +2 -10
  9. package/lib/components/accordion/accordion-body/AccordionBody.js.map +1 -1
  10. package/lib/components/accordion/accordion-body/AccordionBody.styles.d.ts +1 -0
  11. package/lib/components/accordion/accordion-body/AccordionBody.styles.js +20 -0
  12. package/lib/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -0
  13. package/lib/components/accordion/accordion-content/AccordionContent.d.ts +1 -4
  14. package/lib/components/accordion/accordion-content/AccordionContent.js +11 -16
  15. package/lib/components/accordion/accordion-content/AccordionContent.js.map +1 -1
  16. package/lib/components/accordion/accordion-content/AccordionContent.styles.d.ts +5 -0
  17. package/lib/components/accordion/accordion-content/AccordionContent.styles.js +25 -0
  18. package/lib/components/accordion/accordion-content/AccordionContent.styles.js.map +1 -0
  19. package/lib/components/accordion/accordion-group/AccordionGroup.d.ts +26 -0
  20. package/lib/components/accordion/accordion-group/AccordionGroup.js +84 -0
  21. package/lib/components/accordion/accordion-group/AccordionGroup.js.map +1 -0
  22. package/lib/components/accordion/accordion-head/AccordionHead.d.ts +9 -3
  23. package/lib/components/accordion/accordion-head/AccordionHead.js +81 -85
  24. package/lib/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  25. package/lib/components/accordion/accordion-head/AccordionHead.styles.d.ts +19 -0
  26. package/lib/components/accordion/accordion-head/AccordionHead.styles.js +77 -0
  27. package/lib/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -0
  28. package/lib/components/accordion/accordion-intro/AccordionIntro.d.ts +3 -0
  29. package/lib/components/accordion/accordion-intro/AccordionIntro.js +24 -0
  30. package/lib/components/accordion/accordion-intro/AccordionIntro.js.map +1 -0
  31. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.d.ts +1 -0
  32. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.js +19 -0
  33. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.js.map +1 -0
  34. package/lib/components/accordion/utils.d.ts +11 -0
  35. package/lib/components/accordion/utils.js +38 -0
  36. package/lib/components/accordion/utils.js.map +1 -0
  37. package/lib/components/badge/Badge.js +5 -17
  38. package/lib/components/badge/Badge.js.map +1 -1
  39. package/lib/components/badge/Badge.styles.d.ts +1 -0
  40. package/lib/components/badge/Badge.styles.js +25 -0
  41. package/lib/components/badge/Badge.styles.js.map +1 -0
  42. package/lib/components/button/Button.d.ts +1 -1
  43. package/lib/components/button/Button.js +11 -32
  44. package/lib/components/button/Button.js.map +1 -1
  45. package/lib/components/button/Button.styles.d.ts +7 -0
  46. package/lib/components/button/Button.styles.js +37 -0
  47. package/lib/components/button/Button.styles.js.map +1 -0
  48. package/lib/components/color-scheme-provider/ColorSchemeProvider.d.ts +6 -0
  49. package/lib/components/color-scheme-provider/ColorSchemeProvider.js +3 -6
  50. package/lib/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  51. package/lib/components/context-menu/ContextMenu.d.ts +51 -0
  52. package/lib/components/context-menu/ContextMenu.js +217 -0
  53. package/lib/components/context-menu/ContextMenu.js.map +1 -0
  54. package/lib/components/context-menu/ContextMenu.styles.d.ts +1 -0
  55. package/lib/components/context-menu/ContextMenu.styles.js +19 -0
  56. package/lib/components/context-menu/ContextMenu.styles.js.map +1 -0
  57. package/lib/components/context-menu/constants/alignment.d.ts +8 -0
  58. package/lib/components/context-menu/constants/alignment.js +18 -0
  59. package/lib/components/context-menu/constants/alignment.js.map +1 -0
  60. package/lib/components/context-menu/context-menu-content/ContextMenuContent.d.ts +10 -0
  61. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js +74 -0
  62. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -0
  63. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +11 -0
  64. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js +66 -0
  65. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js.map +1 -0
  66. package/lib/components/grid-image/GridImage.d.ts +19 -0
  67. package/lib/components/grid-image/GridImage.js +83 -0
  68. package/lib/components/grid-image/GridImage.js.map +1 -0
  69. package/lib/components/grid-image/GridImage.styles.d.ts +21 -0
  70. package/lib/components/grid-image/GridImage.styles.js +61 -0
  71. package/lib/components/grid-image/GridImage.styles.js.map +1 -0
  72. package/lib/components/icon/Icon.d.ts +11 -3
  73. package/lib/components/icon/Icon.js +30 -62
  74. package/lib/components/icon/Icon.js.map +1 -1
  75. package/lib/components/icon/Icon.styles.d.ts +15 -0
  76. package/lib/components/icon/Icon.styles.js +54 -0
  77. package/lib/components/icon/Icon.styles.js.map +1 -0
  78. package/lib/components/icon/utils.d.ts +1 -0
  79. package/lib/components/icon/utils.js +16 -0
  80. package/lib/components/icon/utils.js.map +1 -0
  81. package/lib/components/list/List.d.ts +18 -0
  82. package/lib/components/list/List.js +91 -0
  83. package/lib/components/list/List.js.map +1 -0
  84. package/lib/components/list/list-item/ListItem.d.ts +67 -0
  85. package/lib/components/list/list-item/ListItem.js +105 -0
  86. package/lib/components/list/list-item/ListItem.js.map +1 -0
  87. package/lib/components/list/list-item/ListItem.styles.d.ts +6 -0
  88. package/lib/components/list/list-item/ListItem.styles.js +38 -0
  89. package/lib/components/list/list-item/ListItem.styles.js.map +1 -0
  90. package/lib/components/list/list-item/list-item-body/ListItemBody.d.ts +3 -0
  91. package/lib/components/list/list-item/list-item-body/ListItemBody.js +39 -0
  92. package/lib/components/list/list-item/list-item-body/ListItemBody.js.map +1 -0
  93. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +1 -0
  94. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js +20 -0
  95. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js.map +1 -0
  96. package/lib/components/list/list-item/list-item-content/ListItemContent.d.ts +3 -0
  97. package/lib/components/list/list-item/list-item-content/ListItemContent.js +24 -0
  98. package/lib/components/list/list-item/list-item-content/ListItemContent.js.map +1 -0
  99. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.d.ts +1 -0
  100. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js +22 -0
  101. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js.map +1 -0
  102. package/lib/components/list/list-item/list-item-head/ListItemHead.d.ts +18 -0
  103. package/lib/components/list/list-item/list-item-head/ListItemHead.js +133 -0
  104. package/lib/components/list/list-item/list-item-head/ListItemHead.js.map +1 -0
  105. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +20 -0
  106. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js +73 -0
  107. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -0
  108. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.d.ts +6 -0
  109. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js +27 -0
  110. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js.map +1 -0
  111. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.d.ts +1 -0
  112. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js +25 -0
  113. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js.map +1 -0
  114. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.d.ts +7 -0
  115. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +72 -0
  116. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -0
  117. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.d.ts +10 -0
  118. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +35 -0
  119. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +1 -0
  120. package/lib/hooks/uuid.d.ts +1 -0
  121. package/lib/hooks/uuid.js +33 -0
  122. package/lib/hooks/uuid.js.map +1 -0
  123. package/lib/index.d.ts +8 -0
  124. package/lib/index.js +64 -0
  125. package/lib/index.js.map +1 -1
  126. package/lib/types/chayns.d.ts +56 -0
  127. package/lib/types/chayns.js +15 -0
  128. package/lib/types/chayns.js.map +1 -0
  129. package/package.json +63 -62
@@ -1,10 +1,12 @@
1
- import { FC, ReactNode } from 'react';
1
+ import React, { ChangeEventHandler, FC, ReactNode } from 'react';
2
+ export declare const AccordionContext: React.Context<{
3
+ isWrapped: boolean;
4
+ }>;
2
5
  declare type AccordionProps = {
3
6
  /**
4
- * Defines the group of the Accordion. Accordions with the same group are
5
- * automatically closed when an Accordion of the group is opened.
7
+ * The content of the accordion body
6
8
  */
7
- group?: string;
9
+ children: ReactNode;
8
10
  /**
9
11
  * The icon that is displayed in front of the title
10
12
  */
@@ -13,19 +15,58 @@ declare type AccordionProps = {
13
15
  * This can be used to automatically expand the Accordion during the first render.
14
16
  */
15
17
  isDefaultOpen?: boolean;
18
+ /**
19
+ * This will disable the Accordion so that it cannot be opened and will gray out the title.
20
+ */
21
+ isDisabled?: boolean;
22
+ /**
23
+ * This can be used so that the Accordion cannot be opened or closed.
24
+ * In addition, in this case the icon is exchanged to mark the Accordions.
25
+ */
26
+ isFixed?: boolean;
27
+ /**
28
+ * This will gray out the title of the Accordion to indicate hidden content, for example.
29
+ */
30
+ isTitleGreyed?: boolean;
16
31
  /**
17
32
  * This value must be set for nested Accordions. This adjusts the style of
18
33
  * the head and the padding of the content.
19
34
  */
20
35
  isWrapped?: boolean;
36
+ /**
37
+ * Function that is executed when the accordion will be closed.
38
+ */
39
+ onClose?: VoidFunction;
40
+ /**
41
+ * Function that is executed when the accordion will be opened.
42
+ */
43
+ onOpen?: VoidFunction;
44
+ /**
45
+ * Function that is executed when the text of the search in the accordion
46
+ * head changes. When this function is given, the search field is displayed
47
+ * in the Accordion Head.
48
+ */
49
+ onSearchChange?: ChangeEventHandler<HTMLInputElement>;
21
50
  /**
22
51
  * Content to be displayed on the right side in the head of the Accordion
23
52
  */
24
- right?: ReactNode;
53
+ rightElement?: ReactNode;
54
+ /**
55
+ * Icon to be displayed on the right side in the search input
56
+ */
57
+ searchIcon?: string[];
58
+ /**
59
+ * The placeholder to be used for the search
60
+ */
61
+ searchPlaceholder?: string;
25
62
  /**
26
63
  * Title of the Accordion displayed in the head
27
64
  */
28
65
  title: string;
66
+ /**
67
+ * Additional elements to be displayed in the header next to the title.
68
+ */
69
+ titleElement?: ReactNode;
29
70
  };
30
71
  declare const Accordion: FC<AccordionProps>;
31
72
  export default Accordion;
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
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
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.default = exports.AccordionContext = void 0;
9
9
 
10
10
  var _framerMotion = require("framer-motion");
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
+ var _uuid = require("../../hooks/uuid");
15
15
 
16
16
  var _AccordionBody = _interopRequireDefault(require("./accordion-body/AccordionBody"));
17
17
 
18
- var _AccordionContent = _interopRequireDefault(require("./accordion-content/AccordionContent"));
18
+ var _AccordionGroup = require("./accordion-group/AccordionGroup");
19
19
 
20
20
  var _AccordionHead = _interopRequireDefault(require("./accordion-head/AccordionHead"));
21
21
 
22
- var _templateObject, _templateObject2, _templateObject3;
22
+ var _Accordion = require("./Accordion.styles");
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
 
@@ -39,155 +39,110 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
39
39
 
40
40
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
41
 
42
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
43
-
44
- var StyledAccordion = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n\n margin-bottom: ", ";\n\n transition: background-color 0.2s ease, border-radius 0.2s ease, box-shadow 0.2s ease,\n margin-bottom 0.2s ease;\n\n ", "\n"])), function (_ref) {
45
- var isOpen = _ref.isOpen,
46
- isWrapped = _ref.isWrapped;
47
- return isOpen && !isWrapped && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: rgba(", ", 0.85);\n border-radius: 3px; // ToDo: Add correct border-radius here\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); // ToDo: Add correct box-shadow here\n "])), function (_ref2) {
48
- var theme = _ref2.theme;
49
- return theme['100-rgb'];
50
- });
51
- }, function (_ref3) {
52
- var isOpen = _ref3.isOpen,
53
- isWrapped = _ref3.isWrapped;
54
- return isOpen && !isWrapped ? '30px' : '0px';
55
- }, function (_ref4) {
56
- var isWrapped = _ref4.isWrapped;
57
- return !isWrapped && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-top: 10px;\n\n &:hover {\n background-color: rgba(", ", 0.85);\n }\n "])), function (_ref5) {
58
- var theme = _ref5.theme;
59
- return theme['100-rgb'];
60
- });
42
+ var AccordionContext = /*#__PURE__*/_react.default.createContext({
43
+ isWrapped: false
61
44
  });
62
45
 
63
- var Accordion = function Accordion(_ref6) {
64
- var children = _ref6.children,
65
- group = _ref6.group,
66
- icon = _ref6.icon,
67
- _ref6$isDefaultOpen = _ref6.isDefaultOpen,
68
- isDefaultOpen = _ref6$isDefaultOpen === void 0 ? false : _ref6$isDefaultOpen,
69
- isWrapped = _ref6.isWrapped,
70
- right = _ref6.right,
71
- title = _ref6.title;
46
+ exports.AccordionContext = AccordionContext;
47
+ AccordionContext.displayName = 'AccordionContext';
48
+
49
+ var Accordion = function Accordion(_ref) {
50
+ var children = _ref.children,
51
+ icon = _ref.icon,
52
+ _ref$isDefaultOpen = _ref.isDefaultOpen,
53
+ isDefaultOpen = _ref$isDefaultOpen === void 0 ? false : _ref$isDefaultOpen,
54
+ _ref$isDisabled = _ref.isDisabled,
55
+ isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
56
+ _ref$isFixed = _ref.isFixed,
57
+ isFixed = _ref$isFixed === void 0 ? false : _ref$isFixed,
58
+ _ref$isTitleGreyed = _ref.isTitleGreyed,
59
+ isTitleGreyed = _ref$isTitleGreyed === void 0 ? false : _ref$isTitleGreyed,
60
+ _ref$isWrapped = _ref.isWrapped,
61
+ isWrapped = _ref$isWrapped === void 0 ? false : _ref$isWrapped,
62
+ onClose = _ref.onClose,
63
+ onOpen = _ref.onOpen,
64
+ onSearchChange = _ref.onSearchChange,
65
+ rightElement = _ref.rightElement,
66
+ searchIcon = _ref.searchIcon,
67
+ searchPlaceholder = _ref.searchPlaceholder,
68
+ title = _ref.title,
69
+ titleElement = _ref.titleElement;
70
+
71
+ var _useContext = (0, _react.useContext)(_AccordionGroup.AccordionGroupContext),
72
+ openAccordionUuid = _useContext.openAccordionUuid,
73
+ updateOpenAccordionUuid = _useContext.updateOpenAccordionUuid;
72
74
 
73
75
  var _useState = (0, _react.useState)(isDefaultOpen),
74
76
  _useState2 = _slicedToArray(_useState, 2),
75
- isOpen = _useState2[0],
76
- setIsOpen = _useState2[1];
77
+ isAccordionOpen = _useState2[0],
78
+ setIsAccordionOpen = _useState2[1];
77
79
 
78
- var accordionRef = (0, _react.useRef)(null);
80
+ var uuid = (0, _uuid.useUuid)();
81
+ var isInitialRenderRef = (0, _react.useRef)(true);
82
+ var isInGroup = typeof updateOpenAccordionUuid === 'function';
83
+ var isOpen = isInGroup ? openAccordionUuid === uuid : isAccordionOpen;
79
84
  var handleHeadClick = (0, _react.useCallback)(function () {
80
- if (!isOpen && typeof group === 'string') {
81
- var customEvent = new CustomEvent('accordionOpen', {
82
- detail: {
83
- group: group,
84
- ref: accordionRef
85
- }
86
- });
87
- document.body.dispatchEvent(customEvent);
85
+ if (isDisabled) {
86
+ return;
88
87
  }
89
88
 
90
- setIsOpen(!isOpen);
91
- }, [group, isOpen]);
92
- var handleAccordionOpen = (0, _react.useCallback)(function (_ref7) {
93
- var detail = _ref7.detail;
89
+ if (typeof updateOpenAccordionUuid === 'function') {
90
+ updateOpenAccordionUuid(uuid);
91
+ }
94
92
 
95
- if (isOpen && group === detail.group && accordionRef.current !== detail.ref.current) {
96
- setIsOpen(false);
93
+ setIsAccordionOpen(function (currentIsAccordionOpen) {
94
+ return !currentIsAccordionOpen;
95
+ });
96
+ }, [isDisabled, updateOpenAccordionUuid, uuid]);
97
+ (0, _react.useEffect)(function () {
98
+ if (isInitialRenderRef.current) {
99
+ isInitialRenderRef.current = false;
100
+ } else if (isOpen) {
101
+ if (typeof onOpen === 'function') {
102
+ onOpen();
103
+ }
104
+ } else if (typeof onClose === 'function') {
105
+ onClose();
97
106
  }
98
- }, [group, isOpen]);
107
+ }, [isOpen, onClose, onOpen]);
99
108
  (0, _react.useEffect)(function () {
100
- // @ts-expect-error: Type is correct here because its a custom event
101
- document.body.addEventListener('accordionOpen', handleAccordionOpen);
102
- return function () {
103
- // @ts-expect-error: Type is correct here because its a custom event
104
- document.body.removeEventListener('accordionOpen', handleAccordionOpen);
105
- };
106
- }, [handleAccordionOpen]);
107
- var items = (0, _react.useMemo)(function () {
108
- return getBodyItems(children, {
109
- isWrapped: isWrapped
110
- });
111
- }, [children, isWrapped]);
112
- return /*#__PURE__*/_react.default.createElement(_framerMotion.MotionConfig, {
113
- transition: {
114
- duration: 0.25
109
+ if (isDefaultOpen && typeof updateOpenAccordionUuid === 'function') {
110
+ updateOpenAccordionUuid(uuid, {
111
+ shouldOnlyOpen: true
112
+ });
115
113
  }
116
- }, /*#__PURE__*/_react.default.createElement(StyledAccordion, {
114
+ }, [isDefaultOpen, updateOpenAccordionUuid, uuid]);
115
+ return /*#__PURE__*/_react.default.createElement(_Accordion.StyledAccordion, {
117
116
  className: "beta-chayns-accordion",
118
117
  isOpen: isOpen,
119
- isWrapped: isWrapped,
120
- ref: accordionRef
118
+ isWrapped: isWrapped
119
+ }, /*#__PURE__*/_react.default.createElement(AccordionContext.Provider, {
120
+ value: {
121
+ isWrapped: isWrapped
122
+ }
123
+ }, /*#__PURE__*/_react.default.createElement(_framerMotion.MotionConfig, {
124
+ transition: {
125
+ type: 'tween'
126
+ }
121
127
  }, /*#__PURE__*/_react.default.createElement(_AccordionHead.default, {
122
128
  icon: icon,
123
129
  isOpen: isOpen,
130
+ isFixed: isFixed,
131
+ isTitleGreyed: isTitleGreyed || isDisabled,
124
132
  isWrapped: isWrapped,
125
133
  onClick: handleHeadClick,
126
- right: right,
127
- title: title
134
+ onSearchChange: onSearchChange,
135
+ rightElement: rightElement,
136
+ searchIcon: searchIcon,
137
+ searchPlaceholder: searchPlaceholder,
138
+ title: title,
139
+ titleElement: titleElement
128
140
  }), /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
129
141
  initial: false
130
- }, isOpen && /*#__PURE__*/_react.default.createElement(_AccordionBody.default, null, items))));
142
+ }, isOpen && /*#__PURE__*/_react.default.createElement(_AccordionBody.default, null, children)))));
131
143
  };
132
144
 
133
145
  Accordion.displayName = 'Accordion';
134
- var _default = Accordion; //region Utils
135
-
146
+ var _default = Accordion;
136
147
  exports.default = _default;
137
-
138
- var isAccordion = function isAccordion(maybeAccordion) {
139
- return maybeAccordion !== null && maybeAccordion !== undefined && typeof maybeAccordion !== 'boolean' && typeof maybeAccordion !== 'string' && typeof maybeAccordion !== 'number' && 'type' in maybeAccordion && (maybeAccordion === null || maybeAccordion === void 0 ? void 0 : maybeAccordion.type) === Accordion;
140
- };
141
-
142
- var getBodyItems = function getBodyItems(children, _ref8) {
143
- var _children;
144
-
145
- var isWrapped = _ref8.isWrapped;
146
- var items = [];
147
- var contentItems = [];
148
-
149
- if (children && typeof children !== 'boolean' && typeof children !== 'string' && typeof children !== 'number' && 'type' in children && ((_children = children) === null || _children === void 0 ? void 0 : _children.type) === _react.default.Fragment) {
150
- children = children.props.children;
151
- }
152
-
153
- if (Array.isArray(children)) {
154
- children.forEach(function (child) {
155
- if (!child) {
156
- return;
157
- }
158
-
159
- if (isAccordion(child)) {
160
- if (contentItems.length > 0) {
161
- items.push( /*#__PURE__*/_react.default.createElement(_AccordionContent.default, {
162
- key: "accordionContent__".concat(items.length),
163
- isWrapped: isWrapped
164
- }, contentItems));
165
- contentItems = [];
166
- }
167
-
168
- items.push(child);
169
- } else {
170
- contentItems.push(child);
171
- }
172
- });
173
-
174
- if (contentItems.length > 0) {
175
- items.push( /*#__PURE__*/_react.default.createElement(_AccordionContent.default, {
176
- key: "accordionContent__".concat(items.length),
177
- isWrapped: isWrapped
178
- }, contentItems));
179
- }
180
- } else {
181
- if (isAccordion(children)) {
182
- items.push(children);
183
- } else {
184
- items.push( /*#__PURE__*/_react.default.createElement(_AccordionContent.default, {
185
- key: "accordionContent",
186
- isWrapped: isWrapped
187
- }, children));
188
- }
189
- }
190
-
191
- return items;
192
- }; //endregion
193
148
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"names":["StyledAccordion","styled","div","isOpen","isWrapped","css","theme","Accordion","children","group","icon","isDefaultOpen","right","title","setIsOpen","accordionRef","handleHeadClick","customEvent","CustomEvent","detail","ref","document","body","dispatchEvent","handleAccordionOpen","current","addEventListener","removeEventListener","items","getBodyItems","duration","displayName","isAccordion","maybeAccordion","undefined","type","contentItems","React","Fragment","props","Array","isArray","forEach","child","length","push"],"mappings":"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","sourcesContent":["import { AnimatePresence, MotionConfig } from 'framer-motion';\nimport React, { FC, ReactNode, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport styled, { css } from 'styled-components';\nimport AccordionBody from './accordion-body/AccordionBody';\nimport AccordionContent from './accordion-content/AccordionContent';\nimport AccordionHead from './accordion-head/AccordionHead';\n\ntype AccordionProps = {\n /**\n * Defines the group of the Accordion. Accordions with the same group are\n * automatically closed when an Accordion of the group is opened.\n */\n group?: string;\n /**\n * The icon that is displayed in front of the title\n */\n icon?: string;\n /**\n * This can be used to automatically expand the Accordion during the first render.\n */\n isDefaultOpen?: boolean;\n /**\n * This value must be set for nested Accordions. This adjusts the style of\n * the head and the padding of the content.\n */\n isWrapped?: boolean;\n /**\n * Content to be displayed on the right side in the head of the Accordion\n */\n right?: ReactNode;\n /**\n * Title of the Accordion displayed in the head\n */\n title: string;\n};\n\ninterface AccordionOpenData {\n group: string;\n ref: React.RefObject<HTMLDivElement>;\n}\n\ntype StyledMotionAccordionProps = Omit<AccordionProps, 'title'> & {\n isOpen: boolean;\n};\n\nconst StyledAccordion = styled.div<StyledMotionAccordionProps>`\n ${({ isOpen, isWrapped }) =>\n isOpen &&\n !isWrapped &&\n css`\n background-color: rgba(${({ theme }) => theme['100-rgb']}, 0.85);\n border-radius: 3px; // ToDo: Add correct border-radius here\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); // ToDo: Add correct box-shadow here\n `}\n\n margin-bottom: ${({ isOpen, isWrapped }) => (isOpen && !isWrapped ? '30px' : '0px')};\n\n transition: background-color 0.2s ease, border-radius 0.2s ease, box-shadow 0.2s ease,\n margin-bottom 0.2s ease;\n\n ${({ isWrapped }) =>\n !isWrapped &&\n css`\n margin-top: 10px;\n\n &:hover {\n background-color: rgba(${({ theme }) => theme['100-rgb']}, 0.85);\n }\n `}\n`;\n\nconst Accordion: FC<AccordionProps> = ({\n children,\n group,\n icon,\n isDefaultOpen = false,\n isWrapped,\n right,\n title,\n}) => {\n const [isOpen, setIsOpen] = useState(isDefaultOpen);\n\n const accordionRef = useRef<HTMLDivElement>(null);\n\n const handleHeadClick = useCallback(() => {\n if (!isOpen && typeof group === 'string') {\n const customEvent = new CustomEvent<AccordionOpenData>('accordionOpen', {\n detail: { group, ref: accordionRef },\n });\n\n document.body.dispatchEvent(customEvent);\n }\n\n setIsOpen(!isOpen);\n }, [group, isOpen]);\n\n const handleAccordionOpen = useCallback(\n ({ detail }: CustomEvent<AccordionOpenData>) => {\n if (isOpen && group === detail.group && accordionRef.current !== detail.ref.current) {\n setIsOpen(false);\n }\n },\n [group, isOpen]\n );\n\n useEffect(() => {\n // @ts-expect-error: Type is correct here because its a custom event\n document.body.addEventListener('accordionOpen', handleAccordionOpen);\n\n return () => {\n // @ts-expect-error: Type is correct here because its a custom event\n document.body.removeEventListener('accordionOpen', handleAccordionOpen);\n };\n }, [handleAccordionOpen]);\n\n const items = useMemo(() => getBodyItems(children, { isWrapped }), [children, isWrapped]);\n\n return (\n <MotionConfig transition={{ duration: 0.25 }}>\n <StyledAccordion\n className=\"beta-chayns-accordion\"\n isOpen={isOpen}\n isWrapped={isWrapped}\n ref={accordionRef}\n >\n <AccordionHead\n icon={icon}\n isOpen={isOpen}\n isWrapped={isWrapped}\n onClick={handleHeadClick}\n right={right}\n title={title}\n />\n <AnimatePresence initial={false}>\n {isOpen && <AccordionBody>{items}</AccordionBody>}\n </AnimatePresence>\n </StyledAccordion>\n </MotionConfig>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n\n//region Utils\nconst isAccordion = (maybeAccordion: ReactNode): boolean =>\n maybeAccordion !== null &&\n maybeAccordion !== undefined &&\n typeof maybeAccordion !== 'boolean' &&\n typeof maybeAccordion !== 'string' &&\n typeof maybeAccordion !== 'number' &&\n 'type' in maybeAccordion &&\n maybeAccordion?.type === Accordion;\n\ninterface GetBodyItemsOptions {\n isWrapped?: boolean;\n}\n\nconst getBodyItems = (children: ReactNode, { isWrapped }: GetBodyItemsOptions) => {\n const items: ReactNode[] = [];\n let contentItems: ReactNode[] = [];\n\n if (\n children &&\n typeof children !== 'boolean' &&\n typeof children !== 'string' &&\n typeof children !== 'number' &&\n 'type' in children &&\n children?.type === React.Fragment\n ) {\n children = children.props.children;\n }\n\n if (Array.isArray(children)) {\n children.forEach((child) => {\n if (!child) {\n return;\n }\n\n if (isAccordion(child)) {\n if (contentItems.length > 0) {\n items.push(\n <AccordionContent\n key={`accordionContent__${items.length}`}\n isWrapped={isWrapped}\n >\n {contentItems}\n </AccordionContent>\n );\n\n contentItems = [];\n }\n items.push(child);\n } else {\n contentItems.push(child as JSX.Element);\n }\n });\n\n if (contentItems.length > 0) {\n items.push(\n <AccordionContent key={`accordionContent__${items.length}`} isWrapped={isWrapped}>\n {contentItems}\n </AccordionContent>\n );\n }\n } else {\n if (isAccordion(children)) {\n items.push(children);\n } else {\n items.push(\n <AccordionContent key=\"accordionContent\" isWrapped={isWrapped}>\n {children}\n </AccordionContent>\n );\n }\n }\n\n return items;\n};\n//endregion\n"],"file":"Accordion.js"}
1
+ {"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"names":["AccordionContext","React","createContext","isWrapped","displayName","Accordion","children","icon","isDefaultOpen","isDisabled","isFixed","isTitleGreyed","onClose","onOpen","onSearchChange","rightElement","searchIcon","searchPlaceholder","title","titleElement","AccordionGroupContext","openAccordionUuid","updateOpenAccordionUuid","isAccordionOpen","setIsAccordionOpen","uuid","isInitialRenderRef","isInGroup","isOpen","handleHeadClick","currentIsAccordionOpen","current","shouldOnlyOpen","type"],"mappings":"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","sourcesContent":["import { AnimatePresence, MotionConfig } from 'framer-motion';\nimport React, {\n ChangeEventHandler,\n FC,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { useUuid } from '../../hooks/uuid';\nimport AccordionBody from './accordion-body/AccordionBody';\nimport { AccordionGroupContext } from './accordion-group/AccordionGroup';\nimport AccordionHead from './accordion-head/AccordionHead';\nimport { StyledAccordion } from './Accordion.styles';\n\nexport const AccordionContext = React.createContext({ isWrapped: false });\n\nAccordionContext.displayName = 'AccordionContext';\n\ntype AccordionProps = {\n /**\n * The content of the accordion body\n */\n children: ReactNode;\n /**\n * The icon that is displayed in front of the title\n */\n icon?: string;\n /**\n * This can be used to automatically expand the Accordion during the first render.\n */\n isDefaultOpen?: boolean;\n /**\n * This will disable the Accordion so that it cannot be opened and will gray out the title.\n */\n isDisabled?: boolean;\n /**\n * This can be used so that the Accordion cannot be opened or closed.\n * In addition, in this case the icon is exchanged to mark the Accordions.\n */\n isFixed?: boolean;\n /**\n * This will gray out the title of the Accordion to indicate hidden content, for example.\n */\n isTitleGreyed?: boolean;\n /**\n * This value must be set for nested Accordions. This adjusts the style of\n * the head and the padding of the content.\n */\n isWrapped?: boolean;\n /**\n * Function that is executed when the accordion will be closed.\n */\n onClose?: VoidFunction;\n /**\n * Function that is executed when the accordion will be opened.\n */\n onOpen?: VoidFunction;\n /**\n * Function that is executed when the text of the search in the accordion\n * head changes. When this function is given, the search field is displayed\n * in the Accordion Head.\n */\n onSearchChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Content to be displayed on the right side in the head of the Accordion\n */\n rightElement?: ReactNode;\n /**\n * Icon to be displayed on the right side in the search input\n */\n searchIcon?: string[];\n /**\n * The placeholder to be used for the search\n */\n searchPlaceholder?: string;\n /**\n * Title of the Accordion displayed in the head\n */\n title: string;\n /**\n * Additional elements to be displayed in the header next to the title.\n */\n titleElement?: ReactNode;\n};\n\nconst Accordion: FC<AccordionProps> = ({\n children,\n icon,\n isDefaultOpen = false,\n isDisabled = false,\n isFixed = false,\n isTitleGreyed = false,\n isWrapped = false,\n onClose,\n onOpen,\n onSearchChange,\n rightElement,\n searchIcon,\n searchPlaceholder,\n title,\n titleElement,\n}) => {\n const { openAccordionUuid, updateOpenAccordionUuid } = useContext(AccordionGroupContext);\n\n const [isAccordionOpen, setIsAccordionOpen] = useState<boolean>(isDefaultOpen);\n\n const uuid = useUuid();\n\n const isInitialRenderRef = useRef(true);\n\n const isInGroup = typeof updateOpenAccordionUuid === 'function';\n\n const isOpen = isInGroup ? openAccordionUuid === uuid : isAccordionOpen;\n\n const handleHeadClick = useCallback(() => {\n if (isDisabled) {\n return;\n }\n\n if (typeof updateOpenAccordionUuid === 'function') {\n updateOpenAccordionUuid(uuid);\n }\n\n setIsAccordionOpen((currentIsAccordionOpen) => !currentIsAccordionOpen);\n }, [isDisabled, updateOpenAccordionUuid, uuid]);\n\n useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else if (isOpen) {\n if (typeof onOpen === 'function') {\n onOpen();\n }\n } else if (typeof onClose === 'function') {\n onClose();\n }\n }, [isOpen, onClose, onOpen]);\n\n useEffect(() => {\n if (isDefaultOpen && typeof updateOpenAccordionUuid === 'function') {\n updateOpenAccordionUuid(uuid, { shouldOnlyOpen: true });\n }\n }, [isDefaultOpen, updateOpenAccordionUuid, uuid]);\n\n return (\n <StyledAccordion className=\"beta-chayns-accordion\" isOpen={isOpen} isWrapped={isWrapped}>\n <AccordionContext.Provider value={{ isWrapped }}>\n <MotionConfig transition={{ type: 'tween' }}>\n <AccordionHead\n icon={icon}\n isOpen={isOpen}\n isFixed={isFixed}\n isTitleGreyed={isTitleGreyed || isDisabled}\n isWrapped={isWrapped}\n onClick={handleHeadClick}\n onSearchChange={onSearchChange}\n rightElement={rightElement}\n searchIcon={searchIcon}\n searchPlaceholder={searchPlaceholder}\n title={title}\n titleElement={titleElement}\n />\n <AnimatePresence initial={false}>\n {isOpen && <AccordionBody>{children}</AccordionBody>}\n </AnimatePresence>\n </MotionConfig>\n </AccordionContext.Provider>\n </StyledAccordion>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"file":"Accordion.js"}
@@ -0,0 +1,6 @@
1
+ export declare const StyledAccordion: import("styled-components").StyledComponent<"div", any, {
2
+ isOpen: boolean;
3
+ isWrapped: boolean;
4
+ } & {
5
+ theme: import("../color-scheme-provider/ColorSchemeProvider").Theme;
6
+ }, never>;
@@ -0,0 +1,40 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.StyledAccordion = void 0;
9
+
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
+
12
+ var _templateObject, _templateObject2, _templateObject3;
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
19
+
20
+ var StyledAccordion = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n\n margin-bottom: ", ";\n transition: background-color 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease,\n margin-bottom 0.3s ease;\n\n ", "\n"])), function (_ref) {
21
+ var isOpen = _ref.isOpen,
22
+ isWrapped = _ref.isWrapped;
23
+ return isOpen && !isWrapped && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: rgba(\n ", ",\n 0.85\n );\n border-radius: 3px; // ToDo: Add correct border-radius here\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); // ToDo: Add correct box-shadow here\n "])), function (_ref2) {
24
+ var theme = _ref2.theme;
25
+ return theme['100-rgb'];
26
+ });
27
+ }, function (_ref3) {
28
+ var isOpen = _ref3.isOpen,
29
+ isWrapped = _ref3.isWrapped;
30
+ return isOpen && !isWrapped ? '30px' : '0px';
31
+ }, function (_ref4) {
32
+ var isWrapped = _ref4.isWrapped;
33
+ return !isWrapped && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-top: 10px;\n\n &:hover {\n background-color: rgba(\n ", ",\n 0.85\n );\n }\n "])), function (_ref5) {
34
+ var theme = _ref5.theme;
35
+ return theme['100-rgb'];
36
+ });
37
+ });
38
+
39
+ exports.StyledAccordion = StyledAccordion;
40
+ //# sourceMappingURL=Accordion.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/accordion/Accordion.styles.ts"],"names":["StyledAccordion","styled","div","isOpen","isWrapped","css","theme"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;AAQO,IAAMA,eAAe,GAAGC,0BAAOC,GAAV,wPACtB;AAAA,MAAGC,MAAH,QAAGA,MAAH;AAAA,MAAWC,SAAX,QAAWA,SAAX;AAAA,SACED,MAAM,IACN,CAACC,SADD,QAEAC,qBAFA,6VAIU;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,WAA2CA,KAAK,CAAC,SAAD,CAAhD;AAAA,GAJV,CADF;AAAA,CADsB,EAaP;AAAA,MAAGH,MAAH,SAAGA,MAAH;AAAA,MAAWC,SAAX,SAAWA,SAAX;AAAA,SAA4BD,MAAM,IAAI,CAACC,SAAX,GAAuB,MAAvB,GAAgC,KAA5D;AAAA,CAbO,EAiBtB;AAAA,MAAGA,SAAH,SAAGA,SAAH;AAAA,SACE,CAACA,SAAD,QACAC,qBADA,4QAMc;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,WAA2CA,KAAK,CAAC,SAAD,CAAhD;AAAA,GANd,CADF;AAAA,CAjBsB,CAArB","sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledMotionAccordionProps = WithTheme<{\n isOpen: boolean;\n isWrapped: boolean;\n}>;\n\nexport const StyledAccordion = styled.div<StyledMotionAccordionProps>`\n ${({ isOpen, isWrapped }) =>\n isOpen &&\n !isWrapped &&\n css`\n background-color: rgba(\n ${({ theme }: StyledMotionAccordionProps) => theme['100-rgb']},\n 0.85\n );\n border-radius: 3px; // ToDo: Add correct border-radius here\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); // ToDo: Add correct box-shadow here\n `}\n\n margin-bottom: ${({ isOpen, isWrapped }) => (isOpen && !isWrapped ? '30px' : '0px')};\n transition: background-color 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease,\n margin-bottom 0.3s ease;\n\n ${({ isWrapped }) =>\n !isWrapped &&\n css`\n margin-top: 10px;\n\n &:hover {\n background-color: rgba(\n ${({ theme }: StyledMotionAccordionProps) => theme['100-rgb']},\n 0.85\n );\n }\n `}\n`;\n"],"file":"Accordion.styles.js"}
@@ -1,4 +1,3 @@
1
1
  import { FC } from 'react';
2
- declare type AccordionBodyProps = {};
3
- declare const AccordionBody: FC<AccordionBodyProps>;
2
+ declare const AccordionBody: FC;
4
3
  export default AccordionBody;
@@ -5,23 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _framerMotion = require("framer-motion");
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
9
 
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
- var _templateObject;
10
+ var _AccordionBody = require("./AccordionBody.styles");
15
11
 
16
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
13
 
18
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
19
-
20
- var StyledMotionAccordionBody = (0, _styledComponents.default)(_framerMotion.motion.div)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n"])));
21
-
22
14
  var AccordionBody = function AccordionBody(_ref) {
23
15
  var children = _ref.children;
24
- return /*#__PURE__*/_react.default.createElement(StyledMotionAccordionBody, {
16
+ return /*#__PURE__*/_react.default.createElement(_AccordionBody.StyledMotionAccordionBody, {
25
17
  animate: {
26
18
  height: 'auto',
27
19
  opacity: 1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/accordion/accordion-body/AccordionBody.tsx"],"names":["StyledMotionAccordionBody","motion","div","AccordionBody","children","height","opacity","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAIA,IAAMA,yBAAyB,GAAG,+BAAOC,qBAAOC,GAAd,CAAH,8FAA/B;;AAIA,IAAMC,aAAqC,GAAG,SAAxCA,aAAwC;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,sBAC1C,6BAAC,yBAAD;AACI,IAAA,OAAO,EAAE;AAAEC,MAAAA,MAAM,EAAE,MAAV;AAAkBC,MAAAA,OAAO,EAAE;AAA3B,KADb;AAEI,IAAA,SAAS,EAAC,4BAFd;AAGI,IAAA,IAAI,EAAE;AAAED,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,OAAO,EAAE;AAAtB,KAHV;AAII,IAAA,OAAO,EAAE;AAAED,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,OAAO,EAAE;AAAtB;AAJb,KAMKF,QANL,CAD0C;AAAA,CAA9C;;AAWAD,aAAa,CAACI,WAAd,GAA4B,eAA5B;eAEeJ,a","sourcesContent":["import { motion } from 'framer-motion';\nimport React, { FC } from 'react';\nimport styled from 'styled-components';\n\ntype AccordionBodyProps = {};\n\nconst StyledMotionAccordionBody = styled(motion.div)`\n overflow: hidden;\n`;\n\nconst AccordionBody: FC<AccordionBodyProps> = ({ children }) => (\n <StyledMotionAccordionBody\n animate={{ height: 'auto', opacity: 1 }}\n className=\"beta-chayns-accordion-body\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n >\n {children}\n </StyledMotionAccordionBody>\n);\n\nAccordionBody.displayName = 'AccordionBody';\n\nexport default AccordionBody;\n"],"file":"AccordionBody.js"}
1
+ {"version":3,"sources":["../../../../src/components/accordion/accordion-body/AccordionBody.tsx"],"names":["AccordionBody","children","height","opacity","displayName"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,IAAMA,aAAiB,GAAG,SAApBA,aAAoB;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,sBACtB,6BAAC,wCAAD;AACI,IAAA,OAAO,EAAE;AAAEC,MAAAA,MAAM,EAAE,MAAV;AAAkBC,MAAAA,OAAO,EAAE;AAA3B,KADb;AAEI,IAAA,SAAS,EAAC,4BAFd;AAGI,IAAA,IAAI,EAAE;AAAED,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,OAAO,EAAE;AAAtB,KAHV;AAII,IAAA,OAAO,EAAE;AAAED,MAAAA,MAAM,EAAE,CAAV;AAAaC,MAAAA,OAAO,EAAE;AAAtB;AAJb,KAMKF,QANL,CADsB;AAAA,CAA1B;;AAWAD,aAAa,CAACI,WAAd,GAA4B,eAA5B;eAEeJ,a","sourcesContent":["import React, { FC } from 'react';\nimport { StyledMotionAccordionBody } from './AccordionBody.styles';\n\nconst AccordionBody: FC = ({ children }) => (\n <StyledMotionAccordionBody\n animate={{ height: 'auto', opacity: 1 }}\n className=\"beta-chayns-accordion-body\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n >\n {children}\n </StyledMotionAccordionBody>\n);\n\nAccordionBody.displayName = 'AccordionBody';\n\nexport default AccordionBody;\n"],"file":"AccordionBody.js"}
@@ -0,0 +1 @@
1
+ export declare const StyledMotionAccordionBody: import("styled-components").StyledComponent<import("framer-motion").ForwardRefComponent<HTMLDivElement, import("framer-motion").HTMLMotionProps<"div">>, any, {}, never>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledMotionAccordionBody = void 0;
7
+
8
+ var _framerMotion = require("framer-motion");
9
+
10
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
+
12
+ var _templateObject;
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
+
18
+ var StyledMotionAccordionBody = (0, _styledComponents.default)(_framerMotion.motion.div)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n overflow: hidden;\n"])));
19
+ exports.StyledMotionAccordionBody = StyledMotionAccordionBody;
20
+ //# sourceMappingURL=AccordionBody.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/accordion/accordion-body/AccordionBody.styles.ts"],"names":["StyledMotionAccordionBody","motion","div"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAEO,IAAMA,yBAAyB,GAAG,+BAAOC,qBAAOC,GAAd,CAAH,8FAA/B","sourcesContent":["import { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledMotionAccordionBody = styled(motion.div)`\n overflow: hidden;\n`;\n"],"file":"AccordionBody.styles.js"}
@@ -1,6 +1,3 @@
1
1
  import { FC } from 'react';
2
- declare type AccordionContentProps = {
3
- isWrapped?: boolean;
4
- };
5
- declare const AccordionContent: FC<AccordionContentProps>;
2
+ declare const AccordionContent: FC;
6
3
  export default AccordionContent;
@@ -7,26 +7,21 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _styledComponents = _interopRequireDefault(require("styled-components"));
10
+ var _Accordion = require("../Accordion");
11
11
 
12
- var _templateObject;
12
+ var _AccordionContent = require("./AccordionContent.styles");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
-
18
- var StyledAccordionContent = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", ";\n"])), function (_ref) {
19
- var isWrapped = _ref.isWrapped;
20
- return isWrapped ? '0 9px 18px 26px' : '0 9px 9px 10px';
21
- });
22
-
23
- var AccordionContent = function AccordionContent(_ref2) {
24
- var children = _ref2.children,
25
- isWrapped = _ref2.isWrapped;
26
- return /*#__PURE__*/_react.default.createElement(StyledAccordionContent, {
27
- className: "beta-chayns-accordion-content",
28
- isWrapped: isWrapped
29
- }, children);
16
+ var AccordionContent = function AccordionContent(_ref) {
17
+ var children = _ref.children;
18
+ return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionContext.Consumer, null, function (_ref2) {
19
+ var isWrapped = _ref2.isWrapped;
20
+ return /*#__PURE__*/_react.default.createElement(_AccordionContent.StyledAccordionContent, {
21
+ className: "beta-chayns-accordion-content",
22
+ isWrapped: isWrapped
23
+ }, children);
24
+ });
30
25
  };
31
26
 
32
27
  AccordionContent.displayName = 'AccordionContent';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/accordion/accordion-content/AccordionContent.tsx"],"names":["StyledAccordionContent","styled","div","isWrapped","AccordionContent","children","displayName"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AAMA,IAAMA,sBAAsB,GAAGC,0BAAOC,GAAV,4FACb;AAAA,MAAGC,SAAH,QAAGA,SAAH;AAAA,SAAoBA,SAAS,GAAG,iBAAH,GAAuB,gBAApD;AAAA,CADa,CAA5B;;AAIA,IAAMC,gBAA2C,GAAG,SAA9CA,gBAA8C;AAAA,MAAGC,QAAH,SAAGA,QAAH;AAAA,MAAaF,SAAb,SAAaA,SAAb;AAAA,sBAChD,6BAAC,sBAAD;AAAwB,IAAA,SAAS,EAAC,+BAAlC;AAAkE,IAAA,SAAS,EAAEA;AAA7E,KACKE,QADL,CADgD;AAAA,CAApD;;AAMAD,gBAAgB,CAACE,WAAjB,GAA+B,kBAA/B;eAEeF,gB","sourcesContent":["import React, { FC } from 'react';\nimport styled from 'styled-components';\n\ntype AccordionContentProps = {\n isWrapped?: boolean;\n};\n\nconst StyledAccordionContent = styled.div<AccordionContentProps>`\n padding: ${({ isWrapped }) => (isWrapped ? '0 9px 18px 26px' : '0 9px 9px 10px')};\n`;\n\nconst AccordionContent: FC<AccordionContentProps> = ({ children, isWrapped }) => (\n <StyledAccordionContent className=\"beta-chayns-accordion-content\" isWrapped={isWrapped}>\n {children}\n </StyledAccordionContent>\n);\n\nAccordionContent.displayName = 'AccordionContent';\n\nexport default AccordionContent;\n"],"file":"AccordionContent.js"}
1
+ {"version":3,"sources":["../../../../src/components/accordion/accordion-content/AccordionContent.tsx"],"names":["AccordionContent","children","isWrapped","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,IAAMA,gBAAoB,GAAG,SAAvBA,gBAAuB;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,sBACzB,6BAAC,2BAAD,CAAkB,QAAlB,QACK;AAAA,QAAGC,SAAH,SAAGA,SAAH;AAAA,wBACG,6BAAC,wCAAD;AAAwB,MAAA,SAAS,EAAC,+BAAlC;AAAkE,MAAA,SAAS,EAAEA;AAA7E,OACKD,QADL,CADH;AAAA,GADL,CADyB;AAAA,CAA7B;;AAUAD,gBAAgB,CAACG,WAAjB,GAA+B,kBAA/B;eAEeH,gB","sourcesContent":["import React, { FC } from 'react';\nimport { AccordionContext } from '../Accordion';\nimport { StyledAccordionContent } from './AccordionContent.styles';\n\nconst AccordionContent: FC = ({ children }) => (\n <AccordionContext.Consumer>\n {({ isWrapped }) => (\n <StyledAccordionContent className=\"beta-chayns-accordion-content\" isWrapped={isWrapped}>\n {children}\n </StyledAccordionContent>\n )}\n </AccordionContext.Consumer>\n);\n\nAccordionContent.displayName = 'AccordionContent';\n\nexport default AccordionContent;\n"],"file":"AccordionContent.js"}
@@ -0,0 +1,5 @@
1
+ export declare const StyledAccordionContent: import("styled-components").StyledComponent<"div", any, {
2
+ isWrapped: boolean;
3
+ } & {
4
+ theme: import("../../color-scheme-provider/ColorSchemeProvider").Theme;
5
+ }, never>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledAccordionContent = void 0;
7
+
8
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
9
+
10
+ var _templateObject;
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
+
16
+ var StyledAccordionContent = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n padding: ", ";\n"])), function (_ref) {
17
+ var theme = _ref.theme;
18
+ return theme.text;
19
+ }, function (_ref2) {
20
+ var isWrapped = _ref2.isWrapped;
21
+ return isWrapped ? '0 9px 18px 26px' : '0 9px 9px 10px';
22
+ });
23
+
24
+ exports.StyledAccordionContent = StyledAccordionContent;
25
+ //# sourceMappingURL=AccordionContent.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/accordion/accordion-content/AccordionContent.styles.ts"],"names":["StyledAccordionContent","styled","div","theme","text","isWrapped"],"mappings":";;;;;;;AAAA;;;;;;;;AAOO,IAAMA,sBAAsB,GAAGC,0BAAOC,GAAV,8GACtB;AAAA,MAAGC,KAAH,QAAGA,KAAH;AAAA,SAA4CA,KAAK,CAACC,IAAlD;AAAA,CADsB,EAEpB;AAAA,MAAGC,SAAH,SAAGA,SAAH;AAAA,SAAoBA,SAAS,GAAG,iBAAH,GAAuB,gBAApD;AAAA,CAFoB,CAA5B","sourcesContent":["import styled from 'styled-components';\nimport type { WithTheme } from '../../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledAccordionContentProps = WithTheme<{\n isWrapped: boolean;\n}>;\n\nexport const StyledAccordionContent = styled.div<StyledAccordionContentProps>`\n color: ${({ theme }: StyledAccordionContentProps) => theme.text};\n padding: ${({ isWrapped }) => (isWrapped ? '0 9px 18px 26px' : '0 9px 9px 10px')};\n`;\n"],"file":"AccordionContent.styles.js"}