@chayns-components/core 5.0.0-beta.9 → 5.0.0-beta.98

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 (144) hide show
  1. package/README.md +3 -9
  2. package/lib/components/accordion/Accordion.d.ts +47 -9
  3. package/lib/components/accordion/Accordion.js +83 -87
  4. package/lib/components/accordion/Accordion.js.map +1 -1
  5. package/lib/components/accordion/Accordion.styles.d.ts +6 -5
  6. package/lib/components/accordion/Accordion.styles.js +67 -26
  7. package/lib/components/accordion/Accordion.styles.js.map +1 -1
  8. package/lib/components/accordion/accordion-body/AccordionBody.d.ts +13 -2
  9. package/lib/components/accordion/accordion-body/AccordionBody.js +19 -11
  10. package/lib/components/accordion/accordion-body/AccordionBody.js.map +1 -1
  11. package/lib/components/accordion/accordion-body/AccordionBody.styles.d.ts +4 -1
  12. package/lib/components/accordion/accordion-body/AccordionBody.styles.js +15 -10
  13. package/lib/components/accordion/accordion-body/AccordionBody.styles.js.map +1 -1
  14. package/lib/components/accordion/accordion-content/AccordionContent.d.ts +11 -3
  15. package/lib/components/accordion/accordion-content/AccordionContent.js +13 -11
  16. package/lib/components/accordion/accordion-content/AccordionContent.js.map +1 -1
  17. package/lib/components/accordion/accordion-content/AccordionContent.styles.d.ts +5 -4
  18. package/lib/components/accordion/accordion-content/AccordionContent.styles.js +25 -12
  19. package/lib/components/accordion/accordion-content/AccordionContent.styles.js.map +1 -1
  20. package/lib/components/accordion/accordion-group/AccordionGroup.d.ts +26 -0
  21. package/lib/components/accordion/accordion-group/AccordionGroup.js +57 -0
  22. package/lib/components/accordion/accordion-group/AccordionGroup.js.map +1 -0
  23. package/lib/components/accordion/accordion-head/AccordionHead.d.ts +8 -4
  24. package/lib/components/accordion/accordion-head/AccordionHead.js +79 -64
  25. package/lib/components/accordion/accordion-head/AccordionHead.js.map +1 -1
  26. package/lib/components/accordion/accordion-head/AccordionHead.styles.d.ts +10 -5
  27. package/lib/components/accordion/accordion-head/AccordionHead.styles.js +142 -32
  28. package/lib/components/accordion/accordion-head/AccordionHead.styles.js.map +1 -1
  29. package/lib/components/accordion/accordion-intro/AccordionIntro.d.ts +9 -0
  30. package/lib/components/accordion/accordion-intro/AccordionIntro.js +21 -0
  31. package/lib/components/accordion/accordion-intro/AccordionIntro.js.map +1 -0
  32. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.d.ts +1 -0
  33. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.js +13 -0
  34. package/lib/components/accordion/accordion-intro/AccordionIntro.styles.js.map +1 -0
  35. package/lib/components/accordion/utils.js +10 -12
  36. package/lib/components/accordion/utils.js.map +1 -1
  37. package/lib/components/badge/Badge.d.ts +9 -1
  38. package/lib/components/badge/Badge.js +12 -12
  39. package/lib/components/badge/Badge.js.map +1 -1
  40. package/lib/components/badge/Badge.styles.d.ts +4 -1
  41. package/lib/components/badge/Badge.styles.js +22 -15
  42. package/lib/components/badge/Badge.styles.js.map +1 -1
  43. package/lib/components/button/Button.d.ts +2 -2
  44. package/lib/components/button/Button.js +12 -20
  45. package/lib/components/button/Button.js.map +1 -1
  46. package/lib/components/button/Button.styles.d.ts +2 -0
  47. package/lib/components/button/Button.styles.js +47 -24
  48. package/lib/components/button/Button.styles.js.map +1 -1
  49. package/lib/components/checkbox/Checkbox.d.ts +25 -0
  50. package/lib/components/checkbox/Checkbox.js +44 -0
  51. package/lib/components/checkbox/Checkbox.js.map +1 -0
  52. package/lib/components/checkbox/Checkbox.styles.d.ts +6 -0
  53. package/lib/components/checkbox/Checkbox.styles.js +131 -0
  54. package/lib/components/checkbox/Checkbox.styles.js.map +1 -0
  55. package/lib/components/color-scheme-provider/ColorSchemeProvider.d.ts +7 -1
  56. package/lib/components/color-scheme-provider/ColorSchemeProvider.js +41 -78
  57. package/lib/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -1
  58. package/lib/components/color-scheme-provider/font.d.ts +6 -0
  59. package/lib/components/color-scheme-provider/font.js +59 -0
  60. package/lib/components/color-scheme-provider/font.js.map +1 -0
  61. package/lib/components/context-menu/ContextMenu.d.ts +51 -0
  62. package/lib/components/context-menu/ContextMenu.js +154 -0
  63. package/lib/components/context-menu/ContextMenu.js.map +1 -0
  64. package/lib/components/context-menu/ContextMenu.styles.d.ts +1 -0
  65. package/lib/components/context-menu/ContextMenu.styles.js +13 -0
  66. package/lib/components/context-menu/ContextMenu.styles.js.map +1 -0
  67. package/lib/components/context-menu/constants/alignment.d.ts +8 -0
  68. package/lib/components/context-menu/constants/alignment.js +17 -0
  69. package/lib/components/context-menu/constants/alignment.js.map +1 -0
  70. package/lib/components/context-menu/context-menu-content/ContextMenuContent.d.ts +10 -0
  71. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js +78 -0
  72. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -0
  73. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +11 -0
  74. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js +117 -0
  75. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js.map +1 -0
  76. package/lib/components/grid-image/GridImage.d.ts +19 -0
  77. package/lib/components/grid-image/GridImage.js +46 -0
  78. package/lib/components/grid-image/GridImage.js.map +1 -0
  79. package/lib/components/grid-image/GridImage.styles.d.ts +21 -0
  80. package/lib/components/grid-image/GridImage.styles.js +105 -0
  81. package/lib/components/grid-image/GridImage.styles.js.map +1 -0
  82. package/lib/components/icon/Icon.d.ts +11 -3
  83. package/lib/components/icon/Icon.js +32 -30
  84. package/lib/components/icon/Icon.js.map +1 -1
  85. package/lib/components/icon/Icon.styles.d.ts +8 -1
  86. package/lib/components/icon/Icon.styles.js +64 -42
  87. package/lib/components/icon/Icon.styles.js.map +1 -1
  88. package/lib/components/icon/utils.js +2 -5
  89. package/lib/components/icon/utils.js.map +1 -1
  90. package/lib/components/input/Input.d.ts +37 -0
  91. package/lib/components/input/Input.js +75 -0
  92. package/lib/components/input/Input.js.map +1 -0
  93. package/lib/components/input/Input.styles.d.ts +7 -0
  94. package/lib/components/input/Input.styles.js +71 -0
  95. package/lib/components/input/Input.styles.js.map +1 -0
  96. package/lib/components/list/List.d.ts +18 -0
  97. package/lib/components/list/List.js +54 -0
  98. package/lib/components/list/List.js.map +1 -0
  99. package/lib/components/list/list-item/ListItem.d.ts +67 -0
  100. package/lib/components/list/list-item/ListItem.js +90 -0
  101. package/lib/components/list/list-item/ListItem.js.map +1 -0
  102. package/lib/components/list/list-item/ListItem.styles.d.ts +6 -0
  103. package/lib/components/list/list-item/ListItem.styles.js +56 -0
  104. package/lib/components/list/list-item/ListItem.styles.js.map +1 -0
  105. package/lib/components/list/list-item/list-item-body/ListItemBody.d.ts +3 -0
  106. package/lib/components/list/list-item/list-item-body/ListItemBody.js +36 -0
  107. package/lib/components/list/list-item/list-item-body/ListItemBody.js.map +1 -0
  108. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +1 -0
  109. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js +14 -0
  110. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js.map +1 -0
  111. package/lib/components/list/list-item/list-item-content/ListItemContent.d.ts +3 -0
  112. package/lib/components/list/list-item/list-item-content/ListItemContent.js +21 -0
  113. package/lib/components/list/list-item/list-item-content/ListItemContent.js.map +1 -0
  114. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.d.ts +1 -0
  115. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js +19 -0
  116. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js.map +1 -0
  117. package/lib/components/list/list-item/list-item-head/ListItemHead.d.ts +18 -0
  118. package/lib/components/list/list-item/list-item-head/ListItemHead.js +100 -0
  119. package/lib/components/list/list-item/list-item-head/ListItemHead.js.map +1 -0
  120. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +20 -0
  121. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js +110 -0
  122. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -0
  123. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.d.ts +6 -0
  124. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js +23 -0
  125. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.js.map +1 -0
  126. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.d.ts +1 -0
  127. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js +32 -0
  128. package/lib/components/list/list-item/list-item-head/list-item-icon/ListItemIcon.styles.js.map +1 -0
  129. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.d.ts +7 -0
  130. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +44 -0
  131. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -0
  132. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.d.ts +10 -0
  133. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +52 -0
  134. package/lib/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +1 -0
  135. package/lib/hooks/uuid.d.ts +1 -0
  136. package/lib/hooks/uuid.js +14 -0
  137. package/lib/hooks/uuid.js.map +1 -0
  138. package/lib/index.d.ts +10 -0
  139. package/lib/index.js +69 -13
  140. package/lib/index.js.map +1 -1
  141. package/lib/types/chayns.d.ts +57 -0
  142. package/lib/types/chayns.js +14 -0
  143. package/lib/types/chayns.js.map +1 -0
  144. package/package.json +64 -62
package/README.md CHANGED
@@ -26,8 +26,8 @@ yarn add @chayns-components/core
26
26
  ```
27
27
 
28
28
  > **Information:** Since the components have now been implemented with the styled-components
29
- > library, the styles are delivered directly with the components. There is no need to load an
30
- > extra stylesheet anymore.
29
+ > library, the styles are delivered directly with the components. There is no need to load an extra
30
+ > stylesheet anymore.
31
31
 
32
32
  ## Usage
33
33
 
@@ -40,11 +40,5 @@ const handleButtonClick: MouseEventHandler<HTMLButtonElement> = (event) => {
40
40
  // Your code
41
41
  };
42
42
 
43
- <Button onClick={handleButtonClick}>
44
- Click me!
45
- </Button>
43
+ <Button onClick={handleButtonClick}>Click me!</Button>;
46
44
  ```
47
-
48
- ## Components Overview
49
-
50
- `coming soon`
@@ -1,17 +1,17 @@
1
- import React, { FC, ReactNode } from 'react';
1
+ import React, { ChangeEventHandler, FC, ReactNode, UIEvent } from 'react';
2
2
  export declare const AccordionContext: React.Context<{
3
3
  isWrapped: boolean;
4
4
  }>;
5
- declare type AccordionProps = {
5
+ export type AccordionProps = {
6
6
  /**
7
- * The content of the accordion body
7
+ * Maximum height of the accordion body element. This automatically makes the content of the
8
+ * body element scrollable.
8
9
  */
9
- children: ReactNode;
10
+ bodyMaxHeight?: number;
10
11
  /**
11
- * Defines the group of the Accordion. Accordions with the same group are
12
- * automatically closed when an Accordion of the group is opened.
12
+ * The content of the accordion body
13
13
  */
14
- group?: string;
14
+ children: ReactNode;
15
15
  /**
16
16
  * The icon that is displayed in front of the title
17
17
  */
@@ -20,6 +20,10 @@ declare type AccordionProps = {
20
20
  * This can be used to automatically expand the Accordion during the first render.
21
21
  */
22
22
  isDefaultOpen?: boolean;
23
+ /**
24
+ * This will disable the Accordion so that it cannot be opened and will gray out the title.
25
+ */
26
+ isDisabled?: boolean;
23
27
  /**
24
28
  * This can be used so that the Accordion cannot be opened or closed.
25
29
  * In addition, in this case the icon is exchanged to mark the Accordions.
@@ -34,14 +38,48 @@ declare type AccordionProps = {
34
38
  * the head and the padding of the content.
35
39
  */
36
40
  isWrapped?: boolean;
41
+ /**
42
+ * Function that is executed when the accordion body will be scrolled
43
+ */
44
+ onBodyScroll?: (event: UIEvent<HTMLDivElement>) => void;
45
+ /**
46
+ * Function that is executed when the accordion will be closed.
47
+ */
48
+ onClose?: VoidFunction;
49
+ /**
50
+ * Function that is executed when the accordion will be opened.
51
+ */
52
+ onOpen?: VoidFunction;
53
+ /**
54
+ * Function that is executed when the text of the search in the accordion
55
+ * head changes. When this function is given, the search field is displayed
56
+ * in the Accordion Head.
57
+ */
58
+ onSearchChange?: ChangeEventHandler<HTMLInputElement>;
37
59
  /**
38
60
  * Content to be displayed on the right side in the head of the Accordion
39
61
  */
40
- right?: ReactNode;
62
+ rightElement?: ReactNode;
63
+ /**
64
+ * Icon to be displayed on the right side in the search input
65
+ */
66
+ searchIcon?: string[];
67
+ /**
68
+ * The placeholder to be used for the search
69
+ */
70
+ searchPlaceholder?: string;
71
+ /**
72
+ * This will hide the background color of the accordion
73
+ */
74
+ shouldHideBackground?: boolean;
41
75
  /**
42
76
  * Title of the Accordion displayed in the head
43
77
  */
44
- title: ReactNode;
78
+ title: string;
79
+ /**
80
+ * Additional elements to be displayed in the header next to the title.
81
+ */
82
+ titleElement?: ReactNode;
45
83
  };
46
84
  declare const Accordion: FC<AccordionProps>;
47
85
  export default Accordion;
@@ -1,123 +1,119 @@
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); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = exports.AccordionContext = void 0;
9
-
10
7
  var _framerMotion = require("framer-motion");
11
-
12
8
  var _react = _interopRequireWildcard(require("react"));
13
-
9
+ var _uuid = require("../../hooks/uuid");
14
10
  var _AccordionBody = _interopRequireDefault(require("./accordion-body/AccordionBody"));
15
-
11
+ var _AccordionGroup = require("./accordion-group/AccordionGroup");
16
12
  var _AccordionHead = _interopRequireDefault(require("./accordion-head/AccordionHead"));
17
-
18
13
  var _Accordion = require("./Accordion.styles");
19
-
20
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
-
22
- 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); }
23
-
24
- 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; }
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
- var AccordionContext = /*#__PURE__*/_react.default.createContext({
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
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
+ const AccordionContext = /*#__PURE__*/_react.default.createContext({
39
18
  isWrapped: false
40
19
  });
41
-
42
20
  exports.AccordionContext = AccordionContext;
43
21
  AccordionContext.displayName = 'AccordionContext';
44
-
45
- var Accordion = function Accordion(_ref) {
46
- var children = _ref.children,
47
- group = _ref.group,
48
- icon = _ref.icon,
49
- _ref$isDefaultOpen = _ref.isDefaultOpen,
50
- isDefaultOpen = _ref$isDefaultOpen === void 0 ? false : _ref$isDefaultOpen,
51
- _ref$isFixed = _ref.isFixed,
52
- isFixed = _ref$isFixed === void 0 ? false : _ref$isFixed,
53
- _ref$isTitleGreyed = _ref.isTitleGreyed,
54
- isTitleGreyed = _ref$isTitleGreyed === void 0 ? false : _ref$isTitleGreyed,
55
- _ref$isWrapped = _ref.isWrapped,
56
- isWrapped = _ref$isWrapped === void 0 ? false : _ref$isWrapped,
57
- right = _ref.right,
58
- title = _ref.title;
59
-
60
- var _useState = (0, _react.useState)(isDefaultOpen),
61
- _useState2 = _slicedToArray(_useState, 2),
62
- isOpen = _useState2[0],
63
- setIsOpen = _useState2[1];
64
-
65
- var accordionRef = (0, _react.useRef)(null);
66
- var handleHeadClick = (0, _react.useCallback)(function () {
67
- if (!isOpen && typeof group === 'string') {
68
- var customEvent = new CustomEvent('accordionOpen', {
69
- detail: {
70
- group: group,
71
- ref: accordionRef
72
- }
73
- });
74
- document.body.dispatchEvent(customEvent);
22
+ const Accordion = _ref => {
23
+ let {
24
+ bodyMaxHeight,
25
+ children,
26
+ icon,
27
+ isDefaultOpen = false,
28
+ isDisabled = false,
29
+ isFixed = false,
30
+ isTitleGreyed = false,
31
+ isWrapped = false,
32
+ onBodyScroll,
33
+ onClose,
34
+ onOpen,
35
+ onSearchChange,
36
+ rightElement,
37
+ searchIcon,
38
+ searchPlaceholder,
39
+ shouldHideBackground = false,
40
+ title,
41
+ titleElement
42
+ } = _ref;
43
+ const {
44
+ openAccordionUuid,
45
+ updateOpenAccordionUuid
46
+ } = (0, _react.useContext)(_AccordionGroup.AccordionGroupContext);
47
+ const {
48
+ isWrapped: isParentWrapped
49
+ } = (0, _react.useContext)(AccordionContext);
50
+ const [isAccordionOpen, setIsAccordionOpen] = (0, _react.useState)(isDefaultOpen);
51
+ const uuid = (0, _uuid.useUuid)();
52
+ const isInitialRenderRef = (0, _react.useRef)(true);
53
+ const isInGroup = typeof updateOpenAccordionUuid === 'function';
54
+ const isOpen = isInGroup ? openAccordionUuid === uuid : isAccordionOpen;
55
+ const handleHeadClick = (0, _react.useCallback)(() => {
56
+ if (isDisabled) {
57
+ return;
75
58
  }
76
-
77
- setIsOpen(!isOpen);
78
- }, [group, isOpen]);
79
- var handleAccordionOpen = (0, _react.useCallback)(function (_ref2) {
80
- var detail = _ref2.detail;
81
-
82
- if (isOpen && group === detail.group && accordionRef.current !== detail.ref.current) {
83
- setIsOpen(false);
59
+ if (typeof updateOpenAccordionUuid === 'function') {
60
+ updateOpenAccordionUuid(uuid);
84
61
  }
85
- }, [group, isOpen]);
86
- (0, _react.useEffect)(function () {
87
- // @ts-expect-error: Type is correct here because its a custom event
88
- document.body.addEventListener('accordionOpen', handleAccordionOpen);
89
- return function () {
90
- // @ts-expect-error: Type is correct here because its a custom event
91
- document.body.removeEventListener('accordionOpen', handleAccordionOpen);
92
- };
93
- }, [handleAccordionOpen]);
94
- return /*#__PURE__*/_react.default.createElement(_framerMotion.MotionConfig, {
95
- transition: {
96
- duration: 0.25
62
+ setIsAccordionOpen(currentIsAccordionOpen => !currentIsAccordionOpen);
63
+ }, [isDisabled, updateOpenAccordionUuid, uuid]);
64
+ (0, _react.useEffect)(() => {
65
+ if (isInitialRenderRef.current) {
66
+ isInitialRenderRef.current = false;
67
+ } else if (isOpen) {
68
+ if (typeof onOpen === 'function') {
69
+ onOpen();
70
+ }
71
+ } else if (typeof onClose === 'function') {
72
+ onClose();
97
73
  }
98
- }, /*#__PURE__*/_react.default.createElement(_Accordion.StyledAccordion, {
74
+ }, [isOpen, onClose, onOpen]);
75
+ (0, _react.useEffect)(() => {
76
+ if (isDefaultOpen && typeof updateOpenAccordionUuid === 'function') {
77
+ updateOpenAccordionUuid(uuid, {
78
+ shouldOnlyOpen: true
79
+ });
80
+ }
81
+ }, [isDefaultOpen, updateOpenAccordionUuid, uuid]);
82
+ const accordionContextProviderValue = (0, _react.useMemo)(() => ({
83
+ isWrapped
84
+ }), [isWrapped]);
85
+ return /*#__PURE__*/_react.default.createElement(_Accordion.StyledAccordion, {
99
86
  className: "beta-chayns-accordion",
100
87
  isOpen: isOpen,
88
+ isParentWrapped: isParentWrapped,
101
89
  isWrapped: isWrapped,
102
- ref: accordionRef
90
+ shouldHideBackground: shouldHideBackground
103
91
  }, /*#__PURE__*/_react.default.createElement(AccordionContext.Provider, {
104
- value: {
105
- isWrapped: isWrapped
92
+ value: accordionContextProviderValue
93
+ }, /*#__PURE__*/_react.default.createElement(_framerMotion.MotionConfig, {
94
+ transition: {
95
+ type: 'tween'
106
96
  }
107
97
  }, /*#__PURE__*/_react.default.createElement(_AccordionHead.default, {
108
98
  icon: icon,
109
99
  isOpen: isOpen,
110
100
  isFixed: isFixed,
111
- isTitleGreyed: isTitleGreyed,
101
+ isTitleGreyed: isTitleGreyed || isDisabled,
112
102
  isWrapped: isWrapped,
113
103
  onClick: handleHeadClick,
114
- right: right,
115
- title: title
104
+ onSearchChange: onSearchChange,
105
+ rightElement: rightElement,
106
+ searchIcon: searchIcon,
107
+ searchPlaceholder: searchPlaceholder,
108
+ title: title,
109
+ titleElement: titleElement
116
110
  }), /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
117
111
  initial: false
118
- }, isOpen && /*#__PURE__*/_react.default.createElement(_AccordionBody.default, null, children)))));
112
+ }, isOpen && /*#__PURE__*/_react.default.createElement(_AccordionBody.default, {
113
+ maxHeight: bodyMaxHeight,
114
+ onScroll: onBodyScroll
115
+ }, children)))));
119
116
  };
120
-
121
117
  Accordion.displayName = 'Accordion';
122
118
  var _default = Accordion;
123
119
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"names":["AccordionContext","React","createContext","isWrapped","displayName","Accordion","children","group","icon","isDefaultOpen","isFixed","isTitleGreyed","right","title","isOpen","setIsOpen","accordionRef","handleHeadClick","customEvent","CustomEvent","detail","ref","document","body","dispatchEvent","handleAccordionOpen","current","addEventListener","removeEventListener","duration"],"mappings":"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","sourcesContent":["import { AnimatePresence, MotionConfig } from 'framer-motion';\nimport React, { FC, ReactNode, useCallback, useEffect, useRef, useState } from 'react';\nimport AccordionBody from './accordion-body/AccordionBody';\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 * 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 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 * 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: ReactNode;\n};\n\ninterface AccordionOpenData {\n group: string;\n ref: React.RefObject<HTMLDivElement>;\n}\n\nconst Accordion: FC<AccordionProps> = ({\n children,\n group,\n icon,\n isDefaultOpen = false,\n isFixed = false,\n isTitleGreyed = false,\n isWrapped = false,\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 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 <AccordionContext.Provider value={{ isWrapped }}>\n <AccordionHead\n icon={icon}\n isOpen={isOpen}\n isFixed={isFixed}\n isTitleGreyed={isTitleGreyed}\n isWrapped={isWrapped}\n onClick={handleHeadClick}\n right={right}\n title={title}\n />\n <AnimatePresence initial={false}>\n {isOpen && <AccordionBody>{children}</AccordionBody>}\n </AnimatePresence>\n </AccordionContext.Provider>\n </StyledAccordion>\n </MotionConfig>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"file":"Accordion.js"}
1
+ {"version":3,"file":"Accordion.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_uuid","_AccordionBody","_interopRequireDefault","_AccordionGroup","_AccordionHead","_Accordion","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccordionContext","React","createContext","isWrapped","exports","displayName","Accordion","_ref","bodyMaxHeight","children","icon","isDefaultOpen","isDisabled","isFixed","isTitleGreyed","onBodyScroll","onClose","onOpen","onSearchChange","rightElement","searchIcon","searchPlaceholder","shouldHideBackground","title","titleElement","openAccordionUuid","updateOpenAccordionUuid","useContext","AccordionGroupContext","isParentWrapped","isAccordionOpen","setIsAccordionOpen","useState","uuid","useUuid","isInitialRenderRef","useRef","isInGroup","isOpen","handleHeadClick","useCallback","currentIsAccordionOpen","useEffect","current","shouldOnlyOpen","accordionContextProviderValue","useMemo","createElement","StyledAccordion","className","Provider","value","MotionConfig","transition","type","onClick","AnimatePresence","initial","maxHeight","onScroll","_default"],"sources":["../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import { AnimatePresence, MotionConfig } from 'framer-motion';\nimport React, {\n ChangeEventHandler,\n FC,\n ReactNode,\n UIEvent,\n useCallback,\n useContext,\n useEffect,\n useMemo,\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\nexport type AccordionProps = {\n /**\n * Maximum height of the accordion body element. This automatically makes the content of the\n * body element scrollable.\n */\n bodyMaxHeight?: number;\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 body will be scrolled\n */\n onBodyScroll?: (event: UIEvent<HTMLDivElement>) => void;\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 * This will hide the background color of the accordion\n */\n shouldHideBackground?: boolean;\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 bodyMaxHeight,\n children,\n icon,\n isDefaultOpen = false,\n isDisabled = false,\n isFixed = false,\n isTitleGreyed = false,\n isWrapped = false,\n onBodyScroll,\n onClose,\n onOpen,\n onSearchChange,\n rightElement,\n searchIcon,\n searchPlaceholder,\n shouldHideBackground = false,\n title,\n titleElement,\n}) => {\n const { openAccordionUuid, updateOpenAccordionUuid } = useContext(AccordionGroupContext);\n const { isWrapped: isParentWrapped } = useContext(AccordionContext);\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 const accordionContextProviderValue = useMemo(() => ({ isWrapped }), [isWrapped]);\n\n return (\n <StyledAccordion\n className=\"beta-chayns-accordion\"\n isOpen={isOpen}\n isParentWrapped={isParentWrapped}\n isWrapped={isWrapped}\n shouldHideBackground={shouldHideBackground}\n >\n <AccordionContext.Provider value={accordionContextProviderValue}>\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 && (\n <AccordionBody maxHeight={bodyMaxHeight} onScroll={onBodyScroll}>\n {children}\n </AccordionBody>\n )}\n </AnimatePresence>\n </MotionConfig>\n </AccordionContext.Provider>\n </StyledAccordion>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- declare type StyledMotionAccordionProps = {
1
+ import type { AccordionProps } from './Accordion';
2
+ export declare const StyledAccordion: import("styled-components").StyledComponent<"div", any, {
2
3
  isOpen: boolean;
3
- isWrapped: boolean;
4
- };
5
- export declare const StyledAccordion: import("styled-components").StyledComponent<"div", any, StyledMotionAccordionProps, never>;
6
- export {};
4
+ isParentWrapped: boolean;
5
+ } & {
6
+ theme: import("../color-scheme-provider/ColorSchemeProvider").Theme;
7
+ } & Pick<AccordionProps, "isWrapped" | "shouldHideBackground">, never>;
@@ -1,40 +1,81 @@
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); }
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.StyledAccordion = void 0;
9
-
10
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ 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; }
10
+ const StyledAccordion = _styledComponents.default.div`
11
+ ${_ref => {
12
+ let {
13
+ isOpen,
14
+ isWrapped,
15
+ shouldHideBackground
16
+ } = _ref;
17
+ return isOpen && !isWrapped && !shouldHideBackground && (0, _styledComponents.css)`
18
+ background-color: rgba(
19
+ ${_ref2 => {
20
+ let {
21
+ theme
22
+ } = _ref2;
23
+ return theme['100-rgb'];
24
+ }},
25
+ 0.85
26
+ );
27
+ border-radius: 3px; // ToDo: Add correct border-radius here
28
+ box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15); // ToDo: Add correct box-shadow here
29
+ `;
30
+ }}
11
31
 
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); }
32
+ margin-bottom: ${_ref3 => {
33
+ let {
34
+ isOpen,
35
+ isWrapped
36
+ } = _ref3;
37
+ return isOpen && !isWrapped ? '30px' : '0px';
38
+ }};
39
+ transition: background-color 0.3s ease, border-radius 0.3s ease, box-shadow 0.3s ease,
40
+ margin-bottom 0.3s ease;
15
41
 
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; }
42
+ ${_ref4 => {
43
+ let {
44
+ isParentWrapped
45
+ } = _ref4;
46
+ return isParentWrapped && (0, _styledComponents.css)`
47
+ padding-left: 17px;
48
+ `;
49
+ }}
17
50
 
18
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
51
+ ${_ref5 => {
52
+ let {
53
+ isWrapped
54
+ } = _ref5;
55
+ return !isWrapped && (0, _styledComponents.css)`
56
+ margin-top: 10px;
57
+ `;
58
+ }}
19
59
 
20
- var StyledAccordion = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n\n margin-bottom: ", ";\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) {
21
- var isOpen = _ref.isOpen,
22
- isWrapped = _ref.isWrapped;
23
- 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) {
24
- var theme = _ref2.theme;
60
+ ${_ref6 => {
61
+ let {
62
+ isWrapped,
63
+ shouldHideBackground
64
+ } = _ref6;
65
+ return !isWrapped && !shouldHideBackground && (0, _styledComponents.css)`
66
+ &:hover {
67
+ background-color: rgba(
68
+ ${_ref7 => {
69
+ let {
70
+ theme
71
+ } = _ref7;
25
72
  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(", ", 0.85);\n }\n "])), function (_ref5) {
34
- var theme = _ref5.theme;
35
- return theme['100-rgb'];
36
- });
37
- });
38
-
73
+ }},
74
+ 0.85
75
+ );
76
+ }
77
+ `;
78
+ }}
79
+ `;
39
80
  exports.StyledAccordion = StyledAccordion;
40
81
  //# sourceMappingURL=Accordion.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/accordion/Accordion.styles.ts"],"names":["StyledAccordion","styled","div","isOpen","isWrapped","css","theme"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;AAOO,IAAMA,eAAe,GAAGC,0BAAOC,GAAV,wPACtB;AAAA,MAAGC,MAAH,QAAGA,MAAH;AAAA,MAAWC,SAAX,QAAWA,SAAX;AAAA,SACED,MAAM,IACN,CAACC,SADD,QAEAC,qBAFA,4SAG6B;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,WAAeA,KAAK,CAAC,SAAD,CAApB;AAAA,GAH7B,CADF;AAAA,CADsB,EAUP;AAAA,MAAGH,MAAH,SAAGA,MAAH;AAAA,MAAWC,SAAX,SAAWA,SAAX;AAAA,SAA4BD,MAAM,IAAI,CAACC,SAAX,GAAuB,MAAvB,GAAgC,KAA5D;AAAA,CAVO,EActB;AAAA,MAAGA,SAAH,SAAGA,SAAH;AAAA,SACE,CAACA,SAAD,QACAC,qBADA,+MAKiC;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,WAAeA,KAAK,CAAC,SAAD,CAApB;AAAA,GALjC,CADF;AAAA,CAdsB,CAArB","sourcesContent":["import styled, { css } from 'styled-components';\n\ntype StyledMotionAccordionProps = {\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(${({ 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 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"],"file":"Accordion.styles.js"}
1
+ {"version":3,"file":"Accordion.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","StyledAccordion","styled","div","_ref","isOpen","isWrapped","shouldHideBackground","css","_ref2","theme","_ref3","_ref4","isParentWrapped","_ref5","_ref6","_ref7","exports"],"sources":["../../../src/components/accordion/Accordion.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport type { AccordionProps } from './Accordion';\n\ntype StyledMotionAccordionProps = WithTheme<{\n isOpen: boolean;\n isParentWrapped: boolean;\n}> &\n Pick<AccordionProps, 'isWrapped' | 'shouldHideBackground'>;\n\nexport const StyledAccordion = styled.div<StyledMotionAccordionProps>`\n ${({ isOpen, isWrapped, shouldHideBackground }) =>\n isOpen &&\n !isWrapped &&\n !shouldHideBackground &&\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 ${({ isParentWrapped }) =>\n isParentWrapped &&\n css`\n padding-left: 17px;\n `}\n\n ${({ isWrapped }) =>\n !isWrapped &&\n css`\n margin-top: 10px;\n `}\n\n ${({ isWrapped, shouldHideBackground }) =>\n !isWrapped &&\n !shouldHideBackground &&\n css`\n &:hover {\n background-color: rgba(\n ${({ theme }: StyledMotionAccordionProps) => theme['100-rgb']},\n 0.85\n );\n }\n `}\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAUzC,MAAMW,eAAe,GAAGC,yBAAM,CAACC,GAAgC;AACtE,MAAMC,IAAA;EAAA,IAAC;IAAEC,MAAM;IAAEC,SAAS;IAAEC;EAAqB,CAAC,GAAAH,IAAA;EAAA,OAC1CC,MAAM,IACN,CAACC,SAAS,IACV,CAACC,oBAAoB,IACrB,IAAAC,qBAAG,CAAC;AACZ;AACA,kBAAkBC,KAAA;IAAA,IAAC;MAAEC;IAAkC,CAAC,GAAAD,KAAA;IAAA,OAAKC,KAAK,CAAC,SAAS,CAAC;EAAA,CAAC;AAC9E;AACA;AACA;AACA;AACA,SAAS;AAAA,CAAC;AACV;AACA,qBAAqBC,KAAA;EAAA,IAAC;IAAEN,MAAM;IAAEC;EAAU,CAAC,GAAAK,KAAA;EAAA,OAAMN,MAAM,IAAI,CAACC,SAAS,GAAG,MAAM,GAAG,KAAK;AAAA,CAAE;AACxF;AACA;AACA;AACA,MAAMM,KAAA;EAAA,IAAC;IAAEC;EAAgB,CAAC,GAAAD,KAAA;EAAA,OAClBC,eAAe,IACf,IAAAL,qBAAG,CAAC;AACZ;AACA,SAAS;AAAA,CAAC;AACV;AACA,MAAMM,KAAA;EAAA,IAAC;IAAER;EAAU,CAAC,GAAAQ,KAAA;EAAA,OACZ,CAACR,SAAS,IACV,IAAAE,qBAAG,CAAC;AACZ;AACA,SAAS;AAAA,CAAC;AACV;AACA,MAAMO,KAAA;EAAA,IAAC;IAAET,SAAS;IAAEC;EAAqB,CAAC,GAAAQ,KAAA;EAAA,OAClC,CAACT,SAAS,IACV,CAACC,oBAAoB,IACrB,IAAAC,qBAAG,CAAC;AACZ;AACA;AACA,sBAAsBQ,KAAA;IAAA,IAAC;MAAEN;IAAkC,CAAC,GAAAM,KAAA;IAAA,OAAKN,KAAK,CAAC,SAAS,CAAC;EAAA,CAAC;AAClF;AACA;AACA;AACA,SAAS;AAAA,CAAC;AACV,CAAC;AAACO,OAAA,CAAAhB,eAAA,GAAAA,eAAA"}
@@ -1,3 +1,14 @@
1
- import { FC } from 'react';
2
- declare const AccordionBody: FC;
1
+ import { FC, UIEvent } from 'react';
2
+ import type { AccordionProps } from '../Accordion';
3
+ export type AccordionBodyProps = {
4
+ /**
5
+ * Maximum height of the element. This automatically makes the content of the element scrollable.
6
+ */
7
+ maxHeight: AccordionProps['bodyMaxHeight'];
8
+ /**
9
+ * Function that is executed when the element will be scrolled
10
+ */
11
+ onScroll?: (event: UIEvent<HTMLDivElement>) => void;
12
+ };
13
+ declare const AccordionBody: FC<AccordionBodyProps>;
3
14
  export default AccordionBody;
@@ -4,15 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _AccordionGroup = require("../accordion-group/AccordionGroup");
10
9
  var _AccordionBody = require("./AccordionBody.styles");
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- var AccordionBody = function AccordionBody(_ref) {
15
- var children = _ref.children;
10
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
+ 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; }
12
+ const AccordionBody = _ref => {
13
+ let {
14
+ children,
15
+ maxHeight,
16
+ onScroll
17
+ } = _ref;
18
+ const AccordionGroupContextProviderValue = (0, _react.useMemo)(() => ({
19
+ openAccordionUuid: undefined
20
+ }), []);
16
21
  return /*#__PURE__*/_react.default.createElement(_AccordionBody.StyledMotionAccordionBody, {
17
22
  animate: {
18
23
  height: 'auto',
@@ -26,10 +31,13 @@ var AccordionBody = function AccordionBody(_ref) {
26
31
  initial: {
27
32
  height: 0,
28
33
  opacity: 0
29
- }
30
- }, children);
34
+ },
35
+ maxHeight: maxHeight,
36
+ onScroll: onScroll
37
+ }, /*#__PURE__*/_react.default.createElement(_AccordionGroup.AccordionGroupContext.Provider, {
38
+ value: AccordionGroupContextProviderValue
39
+ }, children));
31
40
  };
32
-
33
41
  AccordionBody.displayName = 'AccordionBody';
34
42
  var _default = AccordionBody;
35
43
  exports.default = _default;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"AccordionBody.js","names":["_react","_interopRequireWildcard","require","_AccordionGroup","_AccordionBody","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","AccordionBody","_ref","children","maxHeight","onScroll","AccordionGroupContextProviderValue","useMemo","openAccordionUuid","undefined","createElement","StyledMotionAccordionBody","animate","height","opacity","className","exit","initial","AccordionGroupContext","Provider","value","displayName","_default","exports"],"sources":["../../../../src/components/accordion/accordion-body/AccordionBody.tsx"],"sourcesContent":["import React, { FC, UIEvent, useMemo } from 'react';\nimport type { AccordionProps } from '../Accordion';\nimport { AccordionGroupContext } from '../accordion-group/AccordionGroup';\nimport { StyledMotionAccordionBody } from './AccordionBody.styles';\n\nexport type AccordionBodyProps = {\n /**\n * Maximum height of the element. This automatically makes the content of the element scrollable.\n */\n maxHeight: AccordionProps['bodyMaxHeight'];\n /**\n * Function that is executed when the element will be scrolled\n */\n onScroll?: (event: UIEvent<HTMLDivElement>) => void;\n};\n\nconst AccordionBody: FC<AccordionBodyProps> = ({ children, maxHeight, onScroll }) => {\n const AccordionGroupContextProviderValue = useMemo(\n () => ({ openAccordionUuid: undefined }),\n []\n );\n\n return (\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 maxHeight={maxHeight}\n onScroll={onScroll}\n >\n <AccordionGroupContext.Provider value={AccordionGroupContextProviderValue}>\n {children}\n </AccordionGroupContext.Provider>\n </StyledMotionAccordionBody>\n );\n};\n\nAccordionBody.displayName = 'AccordionBody';\n\nexport default AccordionBody;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAAmE,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAanE,MAAMW,aAAqC,GAAGC,IAAA,IAAuC;EAAA,IAAtC;IAAEC,QAAQ;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAAH,IAAA;EAC5E,MAAMI,kCAAkC,GAAG,IAAAC,cAAO,EAC9C,OAAO;IAAEC,iBAAiB,EAAEC;EAAU,CAAC,CAAC,EACxC,EAAE,CACL;EAED,oBACInC,MAAA,CAAAY,OAAA,CAAAwB,aAAA,CAAChC,cAAA,CAAAiC,yBAAyB;IACtBC,OAAO,EAAE;MAAEC,MAAM,EAAE,MAAM;MAAEC,OAAO,EAAE;IAAE,CAAE;IACxCC,SAAS,EAAC,4BAA4B;IACtCC,IAAI,EAAE;MAAEH,MAAM,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAE,CAAE;IAChCG,OAAO,EAAE;MAAEJ,MAAM,EAAE,CAAC;MAAEC,OAAO,EAAE;IAAE,CAAE;IACnCV,SAAS,EAAEA,SAAU;IACrBC,QAAQ,EAAEA;EAAS,gBAEnB/B,MAAA,CAAAY,OAAA,CAAAwB,aAAA,CAACjC,eAAA,CAAAyC,qBAAqB,CAACC,QAAQ;IAACC,KAAK,EAAEd;EAAmC,GACrEH,QAAQ,CACoB,CACT;AAEpC,CAAC;AAEDF,aAAa,CAACoB,WAAW,GAAG,eAAe;AAAC,IAAAC,QAAA,GAE7BrB,aAAa;AAAAsB,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
@@ -1 +1,4 @@
1
- export declare const StyledMotionAccordionBody: import("styled-components").StyledComponent<import("framer-motion").ForwardRefComponent<HTMLDivElement, import("framer-motion").HTMLMotionProps<"div">>, any, {}, never>;
1
+ import type { AccordionBodyProps } from './AccordionBody';
2
+ type StyledMotionAccordionBodyProps = Pick<AccordionBodyProps, 'maxHeight'>;
3
+ export declare const StyledMotionAccordionBody: import("styled-components").StyledComponent<import("framer-motion").ForwardRefComponent<HTMLDivElement, import("framer-motion").HTMLMotionProps<"div">>, any, StyledMotionAccordionBodyProps, never>;
4
+ export {};