@chayns-components/core 5.0.0-beta.2 → 5.0.0-beta.23

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 (115) hide show
  1. package/lib/components/accordion/Accordion.d.ts +64 -0
  2. package/lib/components/accordion/Accordion.js +134 -0
  3. package/lib/components/accordion/Accordion.js.map +1 -0
  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 +3 -0
  8. package/lib/components/accordion/accordion-body/AccordionBody.js +36 -0
  9. package/lib/components/accordion/accordion-body/AccordionBody.js.map +1 -0
  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 +3 -0
  14. package/lib/components/accordion/accordion-content/AccordionContent.js +30 -0
  15. package/lib/components/accordion/accordion-content/AccordionContent.js.map +1 -0
  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 +18 -0
  20. package/lib/components/accordion/accordion-group/AccordionGroup.js +70 -0
  21. package/lib/components/accordion/accordion-group/AccordionGroup.js.map +1 -0
  22. package/lib/components/accordion/accordion-head/AccordionHead.d.ts +17 -0
  23. package/lib/components/accordion/accordion-head/AccordionHead.js +157 -0
  24. package/lib/components/accordion/accordion-head/AccordionHead.js.map +1 -0
  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.d.ts +13 -0
  38. package/lib/components/badge/Badge.js +28 -0
  39. package/lib/components/badge/Badge.js.map +1 -0
  40. package/lib/components/badge/Badge.styles.d.ts +1 -0
  41. package/lib/components/badge/Badge.styles.js +25 -0
  42. package/lib/components/badge/Badge.styles.js.map +1 -0
  43. package/lib/components/button/Button.d.ts +33 -0
  44. package/lib/components/button/Button.js +51 -0
  45. package/lib/components/button/Button.js.map +1 -0
  46. package/lib/components/button/Button.styles.d.ts +7 -0
  47. package/lib/components/button/Button.styles.js +37 -0
  48. package/lib/components/button/Button.styles.js.map +1 -0
  49. package/lib/components/color-scheme-provider/ColorSchemeProvider.d.ts +44 -0
  50. package/lib/components/color-scheme-provider/ColorSchemeProvider.js +109 -0
  51. package/lib/components/color-scheme-provider/ColorSchemeProvider.js.map +1 -0
  52. package/lib/components/context-menu/ContextMenu.d.ts +51 -0
  53. package/lib/components/context-menu/ContextMenu.js +173 -0
  54. package/lib/components/context-menu/ContextMenu.js.map +1 -0
  55. package/lib/components/context-menu/ContextMenu.styles.d.ts +1 -0
  56. package/lib/components/context-menu/ContextMenu.styles.js +19 -0
  57. package/lib/components/context-menu/ContextMenu.styles.js.map +1 -0
  58. package/lib/components/context-menu/constants/alignment.d.ts +8 -0
  59. package/lib/components/context-menu/constants/alignment.js +18 -0
  60. package/lib/components/context-menu/constants/alignment.js.map +1 -0
  61. package/lib/components/context-menu/context-menu-content/ContextMenuContent.d.ts +10 -0
  62. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js +74 -0
  63. package/lib/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -0
  64. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.d.ts +11 -0
  65. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js +66 -0
  66. package/lib/components/context-menu/context-menu-content/ContextMenuContent.styles.js.map +1 -0
  67. package/lib/components/grid-image/GridImage.d.ts +19 -0
  68. package/lib/components/grid-image/GridImage.js +83 -0
  69. package/lib/components/grid-image/GridImage.js.map +1 -0
  70. package/lib/components/grid-image/GridImage.styles.d.ts +21 -0
  71. package/lib/components/grid-image/GridImage.styles.js +61 -0
  72. package/lib/components/grid-image/GridImage.styles.js.map +1 -0
  73. package/lib/components/icon/Icon.d.ts +41 -0
  74. package/lib/components/icon/Icon.js +86 -0
  75. package/lib/components/icon/Icon.js.map +1 -0
  76. package/lib/components/icon/Icon.styles.d.ts +15 -0
  77. package/lib/components/icon/Icon.styles.js +54 -0
  78. package/lib/components/icon/Icon.styles.js.map +1 -0
  79. package/lib/components/icon/utils.d.ts +1 -0
  80. package/lib/components/icon/utils.js +16 -0
  81. package/lib/components/icon/utils.js.map +1 -0
  82. package/lib/components/list/List.d.ts +18 -0
  83. package/lib/components/list/List.js +91 -0
  84. package/lib/components/list/List.js.map +1 -0
  85. package/lib/components/list/list-item/ListItem.d.ts +58 -0
  86. package/lib/components/list/list-item/ListItem.js +102 -0
  87. package/lib/components/list/list-item/ListItem.js.map +1 -0
  88. package/lib/components/list/list-item/ListItem.styles.d.ts +6 -0
  89. package/lib/components/list/list-item/ListItem.styles.js +38 -0
  90. package/lib/components/list/list-item/ListItem.styles.js.map +1 -0
  91. package/lib/components/list/list-item/list-item-body/ListItemBody.d.ts +3 -0
  92. package/lib/components/list/list-item/list-item-body/ListItemBody.js +39 -0
  93. package/lib/components/list/list-item/list-item-body/ListItemBody.js.map +1 -0
  94. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.d.ts +1 -0
  95. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js +20 -0
  96. package/lib/components/list/list-item/list-item-body/ListItemBody.styles.js.map +1 -0
  97. package/lib/components/list/list-item/list-item-content/ListItemContent.d.ts +3 -0
  98. package/lib/components/list/list-item/list-item-content/ListItemContent.js +24 -0
  99. package/lib/components/list/list-item/list-item-content/ListItemContent.js.map +1 -0
  100. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.d.ts +1 -0
  101. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js +22 -0
  102. package/lib/components/list/list-item/list-item-content/ListItemContent.styles.js.map +1 -0
  103. package/lib/components/list/list-item/list-item-head/ListItemHead.d.ts +17 -0
  104. package/lib/components/list/list-item/list-item-head/ListItemHead.js +151 -0
  105. package/lib/components/list/list-item/list-item-head/ListItemHead.js.map +1 -0
  106. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.d.ts +30 -0
  107. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js +103 -0
  108. package/lib/components/list/list-item/list-item-head/ListItemHead.styles.js.map +1 -0
  109. package/lib/hooks/uuid.d.ts +1 -0
  110. package/lib/hooks/uuid.js +33 -0
  111. package/lib/hooks/uuid.js.map +1 -0
  112. package/lib/index.d.ts +13 -0
  113. package/lib/index.js +112 -0
  114. package/lib/index.js.map +1 -0
  115. package/package.json +63 -61
@@ -0,0 +1,64 @@
1
+ import React, { ChangeEventHandler, FC, ReactNode } from 'react';
2
+ export declare const AccordionContext: React.Context<{
3
+ isWrapped: boolean;
4
+ }>;
5
+ declare type AccordionProps = {
6
+ /**
7
+ * The content of the accordion body
8
+ */
9
+ children: ReactNode;
10
+ /**
11
+ * The icon that is displayed in front of the title
12
+ */
13
+ icon?: string;
14
+ /**
15
+ * This can be used to automatically expand the Accordion during the first render.
16
+ */
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;
31
+ /**
32
+ * This value must be set for nested Accordions. This adjusts the style of
33
+ * the head and the padding of the content.
34
+ */
35
+ isWrapped?: boolean;
36
+ /**
37
+ * Function that is executed when the text of the search in the accordion
38
+ * head changes. When this function is given, the search field is displayed
39
+ * in the Accordion Head.
40
+ */
41
+ onSearchChange?: ChangeEventHandler<HTMLInputElement>;
42
+ /**
43
+ * Content to be displayed on the right side in the head of the Accordion
44
+ */
45
+ rightElement?: ReactNode;
46
+ /**
47
+ * Icon to be displayed on the right side in the search input
48
+ */
49
+ searchIcon?: string[];
50
+ /**
51
+ * The placeholder to be used for the search
52
+ */
53
+ searchPlaceholder?: string;
54
+ /**
55
+ * Title of the Accordion displayed in the head
56
+ */
57
+ title: string;
58
+ /**
59
+ * Additional elements to be displayed in the header next to the title.
60
+ */
61
+ titleElement?: ReactNode;
62
+ };
63
+ declare const Accordion: FC<AccordionProps>;
64
+ export default Accordion;
@@ -0,0 +1,134 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AccordionContext = void 0;
9
+
10
+ var _framerMotion = require("framer-motion");
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _uuid = require("../../hooks/uuid");
15
+
16
+ var _AccordionBody = _interopRequireDefault(require("./accordion-body/AccordionBody"));
17
+
18
+ var _AccordionGroup = require("./accordion-group/AccordionGroup");
19
+
20
+ var _AccordionHead = _interopRequireDefault(require("./accordion-head/AccordionHead"));
21
+
22
+ var _Accordion = require("./Accordion.styles");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ 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."); }
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ 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; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ var AccordionContext = /*#__PURE__*/_react.default.createContext({
43
+ isWrapped: false
44
+ });
45
+
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
+ onSearchChange = _ref.onSearchChange,
63
+ rightElement = _ref.rightElement,
64
+ searchIcon = _ref.searchIcon,
65
+ searchPlaceholder = _ref.searchPlaceholder,
66
+ title = _ref.title,
67
+ titleElement = _ref.titleElement;
68
+
69
+ var _useContext = (0, _react.useContext)(_AccordionGroup.AccordionGroupContext),
70
+ openAccordionUuid = _useContext.openAccordionUuid,
71
+ updateOpenAccordionUuid = _useContext.updateOpenAccordionUuid;
72
+
73
+ var _useState = (0, _react.useState)(isDefaultOpen),
74
+ _useState2 = _slicedToArray(_useState, 2),
75
+ isAccordionOpen = _useState2[0],
76
+ setIsAccordionOpen = _useState2[1];
77
+
78
+ var uuid = (0, _uuid.useUuid)();
79
+ var isInGroup = typeof updateOpenAccordionUuid === 'function';
80
+ var isOpen = isInGroup ? openAccordionUuid === uuid : isAccordionOpen;
81
+ var handleHeadClick = (0, _react.useCallback)(function () {
82
+ if (isDisabled) {
83
+ return;
84
+ }
85
+
86
+ if (typeof updateOpenAccordionUuid === 'function') {
87
+ updateOpenAccordionUuid(uuid);
88
+ }
89
+
90
+ setIsAccordionOpen(function (currentIsAccordionOpen) {
91
+ return !currentIsAccordionOpen;
92
+ });
93
+ }, [isDisabled, updateOpenAccordionUuid, uuid]);
94
+ (0, _react.useEffect)(function () {
95
+ if (isDefaultOpen && typeof updateOpenAccordionUuid === 'function') {
96
+ updateOpenAccordionUuid(uuid, {
97
+ shouldOnlyOpen: true
98
+ });
99
+ }
100
+ }, [isDefaultOpen, updateOpenAccordionUuid, uuid]);
101
+ return /*#__PURE__*/_react.default.createElement(_Accordion.StyledAccordion, {
102
+ className: "beta-chayns-accordion",
103
+ isOpen: isOpen,
104
+ isWrapped: isWrapped
105
+ }, /*#__PURE__*/_react.default.createElement(AccordionContext.Provider, {
106
+ value: {
107
+ isWrapped: isWrapped
108
+ }
109
+ }, /*#__PURE__*/_react.default.createElement(_framerMotion.MotionConfig, {
110
+ transition: {
111
+ type: 'tween'
112
+ }
113
+ }, /*#__PURE__*/_react.default.createElement(_AccordionHead.default, {
114
+ icon: icon,
115
+ isOpen: isOpen,
116
+ isFixed: isFixed,
117
+ isTitleGreyed: isTitleGreyed || isDisabled,
118
+ isWrapped: isWrapped,
119
+ onClick: handleHeadClick,
120
+ onSearchChange: onSearchChange,
121
+ rightElement: rightElement,
122
+ searchIcon: searchIcon,
123
+ searchPlaceholder: searchPlaceholder,
124
+ title: title,
125
+ titleElement: titleElement
126
+ }), /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
127
+ initial: false
128
+ }, isOpen && /*#__PURE__*/_react.default.createElement(_AccordionBody.default, null, children)))));
129
+ };
130
+
131
+ Accordion.displayName = 'Accordion';
132
+ var _default = Accordion;
133
+ exports.default = _default;
134
+ //# sourceMappingURL=Accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/accordion/Accordion.tsx"],"names":["AccordionContext","React","createContext","isWrapped","displayName","Accordion","children","icon","isDefaultOpen","isDisabled","isFixed","isTitleGreyed","onSearchChange","rightElement","searchIcon","searchPlaceholder","title","titleElement","AccordionGroupContext","openAccordionUuid","updateOpenAccordionUuid","isAccordionOpen","setIsAccordionOpen","uuid","isInGroup","isOpen","handleHeadClick","currentIsAccordionOpen","shouldOnlyOpen","type"],"mappings":";;;;;;;;;AAAA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,gBAAgB,gBAAGC,eAAMC,aAAN,CAAoB;AAAEC,EAAAA,SAAS,EAAE;AAAb,CAApB,CAAzB;;;AAEPH,gBAAgB,CAACI,WAAjB,GAA+B,kBAA/B;;AA6DA,IAAMC,SAA6B,GAAG,SAAhCA,SAAgC,OAchC;AAAA,MAbFC,QAaE,QAbFA,QAaE;AAAA,MAZFC,IAYE,QAZFA,IAYE;AAAA,gCAXFC,aAWE;AAAA,MAXFA,aAWE,mCAXc,KAWd;AAAA,6BAVFC,UAUE;AAAA,MAVFA,UAUE,gCAVW,KAUX;AAAA,0BATFC,OASE;AAAA,MATFA,OASE,6BATQ,KASR;AAAA,gCARFC,aAQE;AAAA,MARFA,aAQE,mCARc,KAQd;AAAA,4BAPFR,SAOE;AAAA,MAPFA,SAOE,+BAPU,KAOV;AAAA,MANFS,cAME,QANFA,cAME;AAAA,MALFC,YAKE,QALFA,YAKE;AAAA,MAJFC,UAIE,QAJFA,UAIE;AAAA,MAHFC,iBAGE,QAHFA,iBAGE;AAAA,MAFFC,KAEE,QAFFA,KAEE;AAAA,MADFC,YACE,QADFA,YACE;;AACF,oBAAuD,uBAAWC,qCAAX,CAAvD;AAAA,MAAQC,iBAAR,eAAQA,iBAAR;AAAA,MAA2BC,uBAA3B,eAA2BA,uBAA3B;;AAEA,kBAA8C,qBAAkBZ,aAAlB,CAA9C;AAAA;AAAA,MAAOa,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,IAAI,GAAG,oBAAb;AAEA,MAAMC,SAAS,GAAG,OAAOJ,uBAAP,KAAmC,UAArD;AAEA,MAAMK,MAAM,GAAGD,SAAS,GAAGL,iBAAiB,KAAKI,IAAzB,GAAgCF,eAAxD;AAEA,MAAMK,eAAe,GAAG,wBAAY,YAAM;AACtC,QAAIjB,UAAJ,EAAgB;AACZ;AACH;;AAED,QAAI,OAAOW,uBAAP,KAAmC,UAAvC,EAAmD;AAC/CA,MAAAA,uBAAuB,CAACG,IAAD,CAAvB;AACH;;AAEDD,IAAAA,kBAAkB,CAAC,UAACK,sBAAD;AAAA,aAA4B,CAACA,sBAA7B;AAAA,KAAD,CAAlB;AACH,GAVuB,EAUrB,CAAClB,UAAD,EAAaW,uBAAb,EAAsCG,IAAtC,CAVqB,CAAxB;AAYA,wBAAU,YAAM;AACZ,QAAIf,aAAa,IAAI,OAAOY,uBAAP,KAAmC,UAAxD,EAAoE;AAChEA,MAAAA,uBAAuB,CAACG,IAAD,EAAO;AAAEK,QAAAA,cAAc,EAAE;AAAlB,OAAP,CAAvB;AACH;AACJ,GAJD,EAIG,CAACpB,aAAD,EAAgBY,uBAAhB,EAAyCG,IAAzC,CAJH;AAMA,sBACI,6BAAC,0BAAD;AAAiB,IAAA,SAAS,EAAC,uBAA3B;AAAmD,IAAA,MAAM,EAAEE,MAA3D;AAAmE,IAAA,SAAS,EAAEtB;AAA9E,kBACI,6BAAC,gBAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAE;AAAEA,MAAAA,SAAS,EAATA;AAAF;AAAlC,kBACI,6BAAC,0BAAD;AAAc,IAAA,UAAU,EAAE;AAAE0B,MAAAA,IAAI,EAAE;AAAR;AAA1B,kBACI,6BAAC,sBAAD;AACI,IAAA,IAAI,EAAEtB,IADV;AAEI,IAAA,MAAM,EAAEkB,MAFZ;AAGI,IAAA,OAAO,EAAEf,OAHb;AAII,IAAA,aAAa,EAAEC,aAAa,IAAIF,UAJpC;AAKI,IAAA,SAAS,EAAEN,SALf;AAMI,IAAA,OAAO,EAAEuB,eANb;AAOI,IAAA,cAAc,EAAEd,cAPpB;AAQI,IAAA,YAAY,EAAEC,YARlB;AASI,IAAA,UAAU,EAAEC,UAThB;AAUI,IAAA,iBAAiB,EAAEC,iBAVvB;AAWI,IAAA,KAAK,EAAEC,KAXX;AAYI,IAAA,YAAY,EAAEC;AAZlB,IADJ,eAeI,6BAAC,6BAAD;AAAiB,IAAA,OAAO,EAAE;AAA1B,KACKQ,MAAM,iBAAI,6BAAC,sBAAD,QAAgBnB,QAAhB,CADf,CAfJ,CADJ,CADJ,CADJ;AAyBH,CApED;;AAsEAD,SAAS,CAACD,WAAV,GAAwB,WAAxB;eAEeC,S","sourcesContent":["import { AnimatePresence, MotionConfig } from 'framer-motion';\nimport React, {\n ChangeEventHandler,\n FC,\n ReactNode,\n useCallback,\n useContext,\n useEffect,\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 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 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 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 (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"; 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
+ 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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ declare const AccordionBody: FC;
3
+ export default AccordionBody;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ 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;
16
+ return /*#__PURE__*/_react.default.createElement(_AccordionBody.StyledMotionAccordionBody, {
17
+ animate: {
18
+ height: 'auto',
19
+ opacity: 1
20
+ },
21
+ className: "beta-chayns-accordion-body",
22
+ exit: {
23
+ height: 0,
24
+ opacity: 0
25
+ },
26
+ initial: {
27
+ height: 0,
28
+ opacity: 0
29
+ }
30
+ }, children);
31
+ };
32
+
33
+ AccordionBody.displayName = 'AccordionBody';
34
+ var _default = AccordionBody;
35
+ exports.default = _default;
36
+ //# sourceMappingURL=AccordionBody.js.map
@@ -0,0 +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"}
@@ -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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ declare const AccordionContent: FC;
3
+ export default AccordionContent;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Accordion = require("../Accordion");
11
+
12
+ var _AccordionContent = require("./AccordionContent.styles");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
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
+ });
25
+ };
26
+
27
+ AccordionContent.displayName = 'AccordionContent';
28
+ var _default = AccordionContent;
29
+ exports.default = _default;
30
+ //# sourceMappingURL=AccordionContent.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,18 @@
1
+ import React, { FC, ReactNode } from 'react';
2
+ declare type IUpdateOpenAccordionUuid = (uuid: string, options?: {
3
+ shouldOnlyOpen?: boolean;
4
+ }) => void;
5
+ interface IAccordionGroupContext {
6
+ openAccordionUuid: string | undefined;
7
+ updateOpenAccordionUuid?: IUpdateOpenAccordionUuid;
8
+ }
9
+ export declare const AccordionGroupContext: React.Context<IAccordionGroupContext>;
10
+ declare type AccordionGroupProps = {
11
+ /**
12
+ * The Accordions that should be grouped. Accordions with the same group are
13
+ * automatically closed when an `Accordion` of the group is opened.
14
+ */
15
+ children: ReactNode;
16
+ };
17
+ declare const AccordionGroup: FC<AccordionGroupProps>;
18
+ export default AccordionGroup;
@@ -0,0 +1,70 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.AccordionGroupContext = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ 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); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+
18
+ 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."); }
19
+
20
+ 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); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ 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; }
25
+
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+
28
+ var AccordionGroupContext = /*#__PURE__*/_react.default.createContext({
29
+ openAccordionUuid: undefined,
30
+ updateOpenAccordionUuid: undefined
31
+ });
32
+
33
+ exports.AccordionGroupContext = AccordionGroupContext;
34
+ AccordionGroupContext.displayName = 'AccordionGroupContext';
35
+
36
+ var AccordionGroup = function AccordionGroup(_ref) {
37
+ var children = _ref.children;
38
+
39
+ var _useState = (0, _react.useState)(undefined),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ openAccordionUuid = _useState2[0],
42
+ setOpenAccordionUuid = _useState2[1];
43
+
44
+ var updateOpenAccordionUuid = (0, _react.useCallback)(function (uuid) {
45
+ var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
46
+ shouldOnlyOpen = _ref2.shouldOnlyOpen;
47
+
48
+ setOpenAccordionUuid(function (currentOpenAccordionUuid) {
49
+ if (currentOpenAccordionUuid === uuid && shouldOnlyOpen !== true) {
50
+ return undefined;
51
+ }
52
+
53
+ return uuid;
54
+ });
55
+ }, [setOpenAccordionUuid]);
56
+ var providerValue = (0, _react.useMemo)(function () {
57
+ return {
58
+ openAccordionUuid: openAccordionUuid,
59
+ updateOpenAccordionUuid: updateOpenAccordionUuid
60
+ };
61
+ }, [openAccordionUuid, updateOpenAccordionUuid]);
62
+ return /*#__PURE__*/_react.default.createElement(AccordionGroupContext.Provider, {
63
+ value: providerValue
64
+ }, children);
65
+ };
66
+
67
+ AccordionGroup.displayName = 'AccordionGroup';
68
+ var _default = AccordionGroup;
69
+ exports.default = _default;
70
+ //# sourceMappingURL=AccordionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/accordion/accordion-group/AccordionGroup.tsx"],"names":["AccordionGroupContext","React","createContext","openAccordionUuid","undefined","updateOpenAccordionUuid","displayName","AccordionGroup","children","setOpenAccordionUuid","uuid","shouldOnlyOpen","currentOpenAccordionUuid","providerValue"],"mappings":";;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AASO,IAAMA,qBAAqB,gBAAGC,eAAMC,aAAN,CAA4C;AAC7EC,EAAAA,iBAAiB,EAAEC,SAD0D;AAE7EC,EAAAA,uBAAuB,EAAED;AAFoD,CAA5C,CAA9B;;;AAKPJ,qBAAqB,CAACM,WAAtB,GAAoC,uBAApC;;AAUA,IAAMC,cAAuC,GAAG,SAA1CA,cAA0C,OAAkB;AAAA,MAAfC,QAAe,QAAfA,QAAe;;AAC9D,kBACI,qBAAsDJ,SAAtD,CADJ;AAAA;AAAA,MAAOD,iBAAP;AAAA,MAA0BM,oBAA1B;;AAGA,MAAMJ,uBAAuB,GAAG,wBAC5B,UAACK,IAAD,EAAmC;AAAA,oFAAP,EAAO;AAAA,QAA1BC,cAA0B,SAA1BA,cAA0B;;AAC/BF,IAAAA,oBAAoB,CAAC,UAACG,wBAAD,EAA8B;AAC/C,UAAIA,wBAAwB,KAAKF,IAA7B,IAAqCC,cAAc,KAAK,IAA5D,EAAkE;AAC9D,eAAOP,SAAP;AACH;;AAED,aAAOM,IAAP;AACH,KANmB,CAApB;AAOH,GAT2B,EAU5B,CAACD,oBAAD,CAV4B,CAAhC;AAaA,MAAMI,aAAa,GAAG,oBAClB;AAAA,WAAO;AACHV,MAAAA,iBAAiB,EAAjBA,iBADG;AAEHE,MAAAA,uBAAuB,EAAvBA;AAFG,KAAP;AAAA,GADkB,EAKlB,CAACF,iBAAD,EAAoBE,uBAApB,CALkB,CAAtB;AAQA,sBACI,6BAAC,qBAAD,CAAuB,QAAvB;AAAgC,IAAA,KAAK,EAAEQ;AAAvC,KACKL,QADL,CADJ;AAKH,CA9BD;;AAgCAD,cAAc,CAACD,WAAf,GAA6B,gBAA7B;eAEeC,c","sourcesContent":["import React, { FC, ReactNode, useCallback, useMemo, useState } from 'react';\n\ntype IUpdateOpenAccordionUuid = (uuid: string, options?: { shouldOnlyOpen?: boolean }) => void;\n\ninterface IAccordionGroupContext {\n openAccordionUuid: string | undefined;\n updateOpenAccordionUuid?: IUpdateOpenAccordionUuid;\n}\n\nexport const AccordionGroupContext = React.createContext<IAccordionGroupContext>({\n openAccordionUuid: undefined,\n updateOpenAccordionUuid: undefined,\n});\n\nAccordionGroupContext.displayName = 'AccordionGroupContext';\n\ntype AccordionGroupProps = {\n /**\n * The Accordions that should be grouped. Accordions with the same group are\n * automatically closed when an `Accordion` of the group is opened.\n */\n children: ReactNode;\n};\n\nconst AccordionGroup: FC<AccordionGroupProps> = ({ children }) => {\n const [openAccordionUuid, setOpenAccordionUuid] =\n useState<IAccordionGroupContext['openAccordionUuid']>(undefined);\n\n const updateOpenAccordionUuid = useCallback<IUpdateOpenAccordionUuid>(\n (uuid, { shouldOnlyOpen } = {}) => {\n setOpenAccordionUuid((currentOpenAccordionUuid) => {\n if (currentOpenAccordionUuid === uuid && shouldOnlyOpen !== true) {\n return undefined;\n }\n\n return uuid;\n });\n },\n [setOpenAccordionUuid]\n );\n\n const providerValue = useMemo<IAccordionGroupContext>(\n () => ({\n openAccordionUuid,\n updateOpenAccordionUuid,\n }),\n [openAccordionUuid, updateOpenAccordionUuid]\n );\n\n return (\n <AccordionGroupContext.Provider value={providerValue}>\n {children}\n </AccordionGroupContext.Provider>\n );\n};\n\nAccordionGroup.displayName = 'AccordionGroup';\n\nexport default AccordionGroup;\n"],"file":"AccordionGroup.js"}
@@ -0,0 +1,17 @@
1
+ import { ChangeEventHandler, FC, MouseEventHandler, ReactNode } from 'react';
2
+ declare type AccordionHeadProps = {
3
+ icon?: string;
4
+ isOpen: boolean;
5
+ isFixed: boolean;
6
+ isTitleGreyed: boolean;
7
+ isWrapped: boolean;
8
+ onClick: MouseEventHandler<HTMLDivElement>;
9
+ onSearchChange?: ChangeEventHandler<HTMLInputElement>;
10
+ rightElement?: ReactNode;
11
+ searchIcon?: string[];
12
+ searchPlaceholder?: string;
13
+ title: string;
14
+ titleElement?: ReactNode;
15
+ };
16
+ declare const AccordionHead: FC<AccordionHeadProps>;
17
+ export default AccordionHead;