@elliemae/ds-accordion 3.0.0-next.9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/cjs/DSAccordion.js +14 -21
  2. package/dist/cjs/DSAccordion.js.map +2 -2
  3. package/dist/cjs/DSAccordionCTX.js +10 -26
  4. package/dist/cjs/DSAccordionCTX.js.map +2 -2
  5. package/dist/cjs/config/useAccordion.js +11 -18
  6. package/dist/cjs/config/useAccordion.js.map +2 -2
  7. package/dist/cjs/config/useAccordionRefs.js +9 -16
  8. package/dist/cjs/config/useAccordionRefs.js.map +2 -2
  9. package/dist/cjs/defaultProps.js +13 -19
  10. package/dist/cjs/defaultProps.js.map +2 -2
  11. package/dist/cjs/exported-related/DSAccordionDatatestid.js +35 -0
  12. package/dist/cjs/{DSAccordionDatatestid.js.map → exported-related/DSAccordionDatatestid.js.map} +2 -2
  13. package/dist/cjs/exported-related/index.js +23 -0
  14. package/dist/cjs/exported-related/index.js.map +7 -0
  15. package/dist/cjs/exported-related/theming.js +47 -0
  16. package/dist/cjs/exported-related/theming.js.map +7 -0
  17. package/dist/cjs/index.js +13 -18
  18. package/dist/cjs/index.js.map +3 -3
  19. package/dist/cjs/parts/accordionContent/AccordionContent.js +30 -24
  20. package/dist/cjs/parts/accordionContent/AccordionContent.js.map +2 -2
  21. package/dist/cjs/parts/accordionContent/styles.js +38 -0
  22. package/dist/cjs/parts/accordionContent/styles.js.map +7 -0
  23. package/dist/cjs/parts/accordionItem/DSAccordionItem.js +70 -57
  24. package/dist/cjs/parts/accordionItem/DSAccordionItem.js.map +2 -2
  25. package/dist/cjs/parts/accordionItem/styles.js +101 -47
  26. package/dist/cjs/parts/accordionItem/styles.js.map +2 -2
  27. package/dist/cjs/parts/accordionItem/useAccordionItem.js +15 -16
  28. package/dist/cjs/parts/accordionItem/useAccordionItem.js.map +2 -2
  29. package/dist/cjs/propTypes.js +26 -33
  30. package/dist/cjs/propTypes.js.map +3 -3
  31. package/dist/cjs/react-desc-prop-types.js +67 -0
  32. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  33. package/dist/cjs/sharedTypes.js +20 -0
  34. package/dist/cjs/sharedTypes.js.map +7 -0
  35. package/dist/esm/DSAccordion.js +3 -3
  36. package/dist/esm/DSAccordion.js.map +2 -2
  37. package/dist/esm/DSAccordionCTX.js +1 -10
  38. package/dist/esm/DSAccordionCTX.js.map +2 -2
  39. package/dist/esm/config/useAccordion.js +1 -1
  40. package/dist/esm/config/useAccordion.js.map +2 -2
  41. package/dist/esm/config/useAccordionRefs.js.map +2 -2
  42. package/dist/esm/defaultProps.js +4 -3
  43. package/dist/esm/defaultProps.js.map +2 -2
  44. package/dist/esm/{DSAccordionDatatestid.js → exported-related/DSAccordionDatatestid.js} +0 -0
  45. package/dist/esm/{DSAccordionDatatestid.js.map → exported-related/DSAccordionDatatestid.js.map} +2 -2
  46. package/dist/esm/exported-related/index.js +4 -0
  47. package/dist/esm/exported-related/index.js.map +7 -0
  48. package/dist/esm/exported-related/theming.js +25 -0
  49. package/dist/esm/exported-related/theming.js.map +7 -0
  50. package/dist/esm/index.js +1 -0
  51. package/dist/esm/index.js.map +3 -3
  52. package/dist/esm/parts/accordionContent/AccordionContent.js +21 -8
  53. package/dist/esm/parts/accordionContent/AccordionContent.js.map +2 -2
  54. package/dist/esm/parts/accordionContent/styles.js +16 -0
  55. package/dist/esm/parts/accordionContent/styles.js.map +7 -0
  56. package/dist/esm/parts/accordionItem/DSAccordionItem.js +66 -39
  57. package/dist/esm/parts/accordionItem/DSAccordionItem.js.map +2 -2
  58. package/dist/esm/parts/accordionItem/styles.js +92 -31
  59. package/dist/esm/parts/accordionItem/styles.js.map +2 -2
  60. package/dist/esm/parts/accordionItem/useAccordionItem.js +6 -0
  61. package/dist/esm/parts/accordionItem/useAccordionItem.js.map +2 -2
  62. package/dist/esm/propTypes.js +1 -1
  63. package/dist/esm/propTypes.js.map +3 -3
  64. package/dist/esm/react-desc-prop-types.js +47 -0
  65. package/dist/esm/react-desc-prop-types.js.map +7 -0
  66. package/dist/esm/sharedTypes.js +2 -0
  67. package/dist/esm/{DSAccordionTypes.js.map → sharedTypes.js.map} +0 -0
  68. package/package.json +19 -19
  69. package/dist/cjs/DSAccordionDatatestid.js +0 -42
  70. package/dist/cjs/DSAccordionTypes.js +0 -27
  71. package/dist/cjs/DSAccordionTypes.js.map +0 -7
  72. package/dist/esm/DSAccordionTypes.js +0 -2
@@ -1,8 +1,6 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
5
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
6
  var __getProtoOf = Object.getPrototypeOf;
@@ -20,47 +18,55 @@ var __spreadValues = (a, b) => {
20
18
  }
21
19
  return a;
22
20
  };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
25
33
  var __export = (target, all) => {
26
34
  for (var name in all)
27
35
  __defProp(target, name, { get: all[name], enumerable: true });
28
36
  };
29
- var __reExport = (target, module2, copyDefault, desc) => {
30
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
31
- for (let key of __getOwnPropNames(module2))
32
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
33
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
37
+ var __copyProps = (to, from, except, desc) => {
38
+ if (from && typeof from === "object" || typeof from === "function") {
39
+ for (let key of __getOwnPropNames(from))
40
+ if (!__hasOwnProp.call(to, key) && key !== except)
41
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
34
42
  }
35
- return target;
43
+ return to;
36
44
  };
37
- var __toESM = (module2, isNodeMode) => {
38
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
39
- };
40
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
41
- return (module2, temp) => {
42
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
43
- };
44
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
45
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
46
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
45
47
  var AccordionContent_exports = {};
46
48
  __export(AccordionContent_exports, {
47
49
  AccordionContent: () => AccordionContent
48
50
  });
51
+ module.exports = __toCommonJS(AccordionContent_exports);
49
52
  var React = __toESM(require("react"));
50
53
  var import_react = __toESM(require("react"));
54
+ var import_ds_utilities = require("@elliemae/ds-utilities");
51
55
  var import_DSAccordionCTX = require("../../DSAccordionCTX");
52
- var import_DSAccordionDatatestid = require("../../DSAccordionDatatestid");
56
+ var import_DSAccordionDatatestid = require("../../exported-related/DSAccordionDatatestid");
57
+ var import_styles = require("./styles");
53
58
  const AccordionContent = () => {
54
59
  const {
55
- props: { containerProps, children }
56
- } = (0, import_react.useContext)(import_DSAccordionCTX.DSAccordionContext);
60
+ props: _a
61
+ } = (0, import_react.useContext)(import_DSAccordionCTX.DSAccordionContext), _b = _a, { containerProps, children } = _b, rest = __objRest(_b, ["containerProps", "children"]);
57
62
  const childrenWithIndex = [];
63
+ const xstyledAttrs = (0, import_ds_utilities.useGetXstyledProps)(rest);
64
+ const globalAttrs = (0, import_ds_utilities.useGetGlobalAttributes)(rest);
58
65
  import_react.default.Children.forEach(children, (child, index) => childrenWithIndex.push(import_react.default.cloneElement(child, {
59
66
  dsIndex: index
60
67
  })));
61
- return /* @__PURE__ */ import_react.default.createElement("div", __spreadProps(__spreadValues({}, containerProps), {
68
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledContainer, __spreadValues(__spreadValues(__spreadValues({
62
69
  "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.GROUP
63
- }), childrenWithIndex);
70
+ }, containerProps), globalAttrs), xstyledAttrs), childrenWithIndex);
64
71
  };
65
- module.exports = __toCommonJS(AccordionContent_exports);
66
72
  //# sourceMappingURL=AccordionContent.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/accordionContent/AccordionContent.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { DSAccordionContext } from '../../DSAccordionCTX';\nimport { DSAccordionDataTestid } from '../../DSAccordionDatatestid';\nimport type { DSAccordionItemPropsT } from '../../DSAccordionTypes';\n\nexport const AccordionContent = (): JSX.Element => {\n const {\n props: { containerProps, children },\n } = useContext(DSAccordionContext);\n\n const childrenWithIndex: React.ReactElement<DSAccordionItemPropsT>[] = [];\n\n React.Children.forEach(children, (child, index) =>\n childrenWithIndex.push(\n React.cloneElement(child, {\n dsIndex: index,\n }),\n ),\n );\n\n return (\n <div {...containerProps} data-testid={DSAccordionDataTestid.GROUP}>\n {childrenWithIndex}\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,4BAAmC;AACnC,mCAAsC;AAG/B,MAAM,mBAAmB,MAAmB;AACjD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB;AAAA,MACvB,6BAAW;AAEf,QAAM,oBAAiE;AAEvE,uBAAM,SAAS,QAAQ,UAAU,CAAC,OAAO,UACvC,kBAAkB,KAChB,qBAAM,aAAa,OAAO;AAAA,IACxB,SAAS;AAAA;AAKf,SACE,mDAAC,OAAD,iCAAS,iBAAT;AAAA,IAAyB,eAAa,mDAAsB;AAAA,MACzD;AAAA;",
4
+ "sourcesContent": ["import React, { useContext } from 'react';\nimport { useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-utilities';\nimport { DSAccordionContext } from '../../DSAccordionCTX';\nimport { DSAccordionDataTestid } from '../../exported-related/DSAccordionDatatestid';\nimport { StyledContainer } from './styles';\nimport type { DSAccordionT } from '../../react-desc-prop-types';\n\nexport const AccordionContent = (): JSX.Element => {\n const {\n props: { containerProps, children, ...rest },\n } = useContext(DSAccordionContext);\n\n const childrenWithIndex: React.ReactElement<DSAccordionT.InternalItemProps>[] = [];\n\n const xstyledAttrs = useGetXstyledProps(rest);\n\n const globalAttrs = useGetGlobalAttributes(rest);\n\n React.Children.forEach(children, (child, index) =>\n childrenWithIndex.push(\n React.cloneElement(child, {\n dsIndex: index,\n }),\n ),\n );\n\n return (\n <StyledContainer data-testid={DSAccordionDataTestid.GROUP} {...containerProps} {...globalAttrs} {...xstyledAttrs}>\n {childrenWithIndex}\n </StyledContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkC;AAClC,0BAA2D;AAC3D,4BAAmC;AACnC,mCAAsC;AACtC,oBAAgC;AAGzB,MAAM,mBAAmB,MAAmB;AACjD,QACS;AAAA,IAAP,OAAO;AAAA,MACL,6BAAW,wCAAkB,GADxB,SAAE,kBAAgB,aAAlB,IAA+B,iBAA/B,IAA+B,CAA7B,kBAAgB;AAG3B,QAAM,oBAA0E,CAAC;AAEjF,QAAM,eAAe,4CAAmB,IAAI;AAE5C,QAAM,cAAc,gDAAuB,IAAI;AAE/C,uBAAM,SAAS,QAAQ,UAAU,CAAC,OAAO,UACvC,kBAAkB,KAChB,qBAAM,aAAa,OAAO;AAAA,IACxB,SAAS;AAAA,EACX,CAAC,CACH,CACF;AAEA,SACE,mDAAC;AAAA,IAAgB,eAAa,mDAAsB;AAAA,KAAW,iBAAoB,cAAiB,eACjG,iBACH;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,38 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+ var styles_exports = {};
22
+ __export(styles_exports, {
23
+ StyledContainer: () => StyledContainer
24
+ });
25
+ module.exports = __toCommonJS(styles_exports);
26
+ var React = __toESM(require("react"));
27
+ var import_ds_system = require("@elliemae/ds-system");
28
+ var import_styled_components = require("@xstyled/styled-components");
29
+ var import_exported_related = require("../../exported-related");
30
+ const StyledContainer = (0, import_ds_system.styled)("div", {
31
+ name: import_exported_related.COMPONENT_NAME,
32
+ slot: import_exported_related.slots.CONTAINER
33
+ })`
34
+ ${import_styled_components.sizing}
35
+ ${import_styled_components.space}
36
+ ${import_styled_components.layout}
37
+ `;
38
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/accordionContent/styles.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { styled } from '@elliemae/ds-system';\nimport { sizing, space, layout } from '@xstyled/styled-components';\nimport { COMPONENT_NAME, slots } from '../../exported-related';\n\nexport const StyledContainer = styled('div', {\n name: COMPONENT_NAME,\n slot: slots.CONTAINER,\n})`\n ${sizing}\n ${space}\n ${layout}\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAuB;AACvB,+BAAsC;AACtC,8BAAsC;AAE/B,MAAM,kBAAkB,6BAAO,OAAO;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM,8BAAM;AACd,CAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA;",
6
+ "names": []
7
+ }
@@ -21,7 +21,6 @@ var __spreadValues = (a, b) => {
21
21
  return a;
22
22
  };
23
23
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
24
  var __objRest = (source, exclude) => {
26
25
  var target = {};
27
26
  for (var prop in source)
@@ -38,43 +37,37 @@ var __export = (target, all) => {
38
37
  for (var name in all)
39
38
  __defProp(target, name, { get: all[name], enumerable: true });
40
39
  };
41
- var __reExport = (target, module2, copyDefault, desc) => {
42
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
43
- for (let key of __getOwnPropNames(module2))
44
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
45
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
40
+ var __copyProps = (to, from, except, desc) => {
41
+ if (from && typeof from === "object" || typeof from === "function") {
42
+ for (let key of __getOwnPropNames(from))
43
+ if (!__hasOwnProp.call(to, key) && key !== except)
44
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
45
  }
47
- return target;
48
- };
49
- var __toESM = (module2, isNodeMode) => {
50
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
46
+ return to;
51
47
  };
52
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
53
- return (module2, temp) => {
54
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
55
- };
56
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
48
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
49
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
57
50
  var DSAccordionItem_exports = {};
58
51
  __export(DSAccordionItem_exports, {
59
52
  DSAccordionItem: () => DSAccordionItem,
60
53
  DSAccordionItemWithSchema: () => DSAccordionItemWithSchema,
61
54
  default: () => DSAccordionItem_default
62
55
  });
56
+ module.exports = __toCommonJS(DSAccordionItem_exports);
63
57
  var React = __toESM(require("react"));
64
58
  var import_react = __toESM(require("react"));
65
- var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
59
+ var import_ds_utilities = require("@elliemae/ds-utilities");
66
60
  var import_ds_button = require("@elliemae/ds-button");
67
61
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
68
- var import_ds_utilities = require("@elliemae/ds-utilities");
69
62
  var import_defaultProps = require("../../defaultProps");
70
63
  var import_styles = require("./styles");
71
- var import_propTypes = require("../../propTypes");
72
64
  var import_useAccordionItem = require("./useAccordionItem");
73
65
  var import_DSAccordionCTX = require("../../DSAccordionCTX");
74
- var import_DSAccordionDatatestid = require("../../DSAccordionDatatestid");
66
+ var import_DSAccordionDatatestid = require("../../exported-related/DSAccordionDatatestid");
67
+ var import_react_desc_prop_types = require("../../react-desc-prop-types");
75
68
  const DSAccordionItem = (props) => {
76
- const propsWithDefaults = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_defaultProps.accordionItemDefaultProps);
77
- const {
69
+ const propsWithDefaults = (0, import_ds_utilities.useMemoMergePropsWithDefault)(props, import_defaultProps.accordionItemDefaultProps);
70
+ const _a = propsWithDefaults, {
78
71
  children,
79
72
  title,
80
73
  secondaryTitle,
@@ -85,7 +78,20 @@ const DSAccordionItem = (props) => {
85
78
  disabled,
86
79
  dsIndex,
87
80
  renderCustomActions
88
- } = propsWithDefaults;
81
+ } = _a, rest = __objRest(_a, [
82
+ "children",
83
+ "title",
84
+ "secondaryTitle",
85
+ "customActions",
86
+ "iconOpened",
87
+ "iconClosed",
88
+ "value",
89
+ "disabled",
90
+ "dsIndex",
91
+ "renderCustomActions"
92
+ ]);
93
+ const _b = (0, import_ds_utilities.useGetGlobalAttributes)(rest), { className } = _b, globalAttrs = __objRest(_b, ["className"]);
94
+ const xstyledAttrs = (0, import_ds_utilities.useGetXstyledProps)(rest);
89
95
  const { handleOnClick, handleOnKeyDown, selected } = (0, import_useAccordionItem.useAccordionItem)({ value, disabled });
90
96
  const {
91
97
  allChildrenReferences,
@@ -99,8 +105,10 @@ const DSAccordionItem = (props) => {
99
105
  const [referenceElement, setReferenceElement] = (0, import_react.useState)();
100
106
  const CustomActionsContent = (0, import_react.useMemo)(() => {
101
107
  if (!isDSMobile && customActions?.length > 0)
102
- return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemCustomActions, null, customActions?.map((_a) => {
103
- var _b = _a, { onClick, id } = _b, rest = __objRest(_b, ["onClick", "id"]);
108
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemCustomActions, {
109
+ isDSMobile
110
+ }, customActions?.map((_a2) => {
111
+ var _b2 = _a2, { onClick, id } = _b2, otherProps = __objRest(_b2, ["onClick", "id"]);
104
112
  return /* @__PURE__ */ import_react.default.createElement(import_ds_button.DSButton, __spreadProps(__spreadValues({
105
113
  key: id,
106
114
  onClick: (e) => {
@@ -108,12 +116,14 @@ const DSAccordionItem = (props) => {
108
116
  if (onClick)
109
117
  onClick(e);
110
118
  }
111
- }, rest), {
119
+ }, otherProps), {
112
120
  buttonType: import_ds_button.BUTTON_TYPE.SECONDARY
113
121
  }));
114
122
  }));
115
123
  if (!isDSMobile && renderCustomActions)
116
- return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemCustomActions, null, renderCustomActions({ allRefs: allChildrenReferences, actualActiveValue }));
124
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemCustomActions, {
125
+ isDSMobile
126
+ }, renderCustomActions({ allRefs: allChildrenReferences, actualActiveValue }));
117
127
  return null;
118
128
  }, [actualActiveValue, allChildrenReferences, customActions, isDSMobile, renderCustomActions]);
119
129
  const { isShowingEllipsis: isPrimaryShowingEllipsis, setElement: setPrimaryElement } = (0, import_ds_utilities.useIsShowingEllipsis)();
@@ -121,33 +131,33 @@ const DSAccordionItem = (props) => {
121
131
  const handleOnFocus = (0, import_react.useCallback)(() => setShowPopover(isPrimaryShowingEllipsis || isSecondaryShowingEllipsis), [isPrimaryShowingEllipsis, isSecondaryShowingEllipsis]);
122
132
  const handleOnBlur = (0, import_react.useCallback)(() => setShowPopover(false), []);
123
133
  const Titles = (0, import_react.useMemo)(() => {
124
- if (isPrimaryShowingEllipsis || isSecondaryShowingEllipsis)
125
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledPrimaryTitle, {
126
- ref: setPrimaryElement,
127
- id: `accordion_${title}id`,
134
+ if ((isPrimaryShowingEllipsis || isSecondaryShowingEllipsis) && !isDSMobile)
135
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledPrimaryTitle, __spreadProps(__spreadValues({
136
+ ref: setPrimaryElement
137
+ }, title ? { id: `accordion_${title || ""}id` } : void 0), {
128
138
  disabled,
129
- isDSMobile
130
- }, title), !isDSMobile && secondaryTitle && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSecondaryTitle, {
139
+ isDSMobile,
140
+ selected,
141
+ withSecondaryTitle: secondaryTitle
142
+ }), title), !isDSMobile && secondaryTitle && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSecondaryTitle, {
131
143
  ref: setSecondaryElement,
132
- disabled
144
+ disabled,
145
+ selected
133
146
  }, secondaryTitle), /* @__PURE__ */ import_react.default.createElement(import_ds_popperjs.DSPopperJS, {
134
147
  referenceElement,
135
148
  showPopover
136
- }, /* @__PURE__ */ import_react.default.createElement("div", {
137
- style: { maxWidth: 260, padding: 8, background: "white", display: "grid", gap: 8 }
138
- }, /* @__PURE__ */ import_react.default.createElement("p", {
139
- style: { margin: 0 }
140
- }, title), /* @__PURE__ */ import_react.default.createElement("p", {
141
- style: { margin: 0 }
142
- }, " ", secondaryTitle))));
143
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledPrimaryTitle, {
144
- ref: setPrimaryElement,
145
- id: `accordion_${title}id`,
149
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledTooltipContent, null, /* @__PURE__ */ import_react.default.createElement("p", null, title), /* @__PURE__ */ import_react.default.createElement("p", null, " ", secondaryTitle))));
150
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledPrimaryTitle, __spreadProps(__spreadValues({
151
+ ref: setPrimaryElement
152
+ }, title ? { id: `accordion_${title || ""}id` } : void 0), {
146
153
  disabled,
147
- isDSMobile
148
- }, title), !isDSMobile && secondaryTitle && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSecondaryTitle, {
154
+ isDSMobile,
155
+ selected,
156
+ withSecondaryTitle: secondaryTitle
157
+ }), title), !isDSMobile && secondaryTitle && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledSecondaryTitle, {
149
158
  ref: setSecondaryElement,
150
- disabled
159
+ disabled,
160
+ selected
151
161
  }, secondaryTitle));
152
162
  }, [
153
163
  disabled,
@@ -159,13 +169,16 @@ const DSAccordionItem = (props) => {
159
169
  setPrimaryElement,
160
170
  setSecondaryElement,
161
171
  showPopover,
172
+ selected,
162
173
  title
163
174
  ]);
164
- return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, {
165
- "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTAINER
166
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemHeaderContainer, {
167
- disabled
168
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemHeader, {
175
+ return /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContainer, __spreadValues({
176
+ "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTAINER,
177
+ className
178
+ }, xstyledAttrs), /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemHeaderContainer, {
179
+ disabled,
180
+ ref: setReferenceElement
181
+ }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemHeader, __spreadValues({
169
182
  withCustomActions: (customActions?.length > 0 || renderCustomActions !== void 0) && !isDSMobile,
170
183
  withSecondaryTitle: secondaryTitle,
171
184
  onClick: handleOnClick,
@@ -182,7 +195,7 @@ const DSAccordionItem = (props) => {
182
195
  "aria-controls": `ds-accordion-content-${value}`,
183
196
  onFocus: handleOnFocus,
184
197
  onBlur: handleOnBlur
185
- }, /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemAddon, {
198
+ }, globalAttrs), /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemAddon, {
186
199
  disabled,
187
200
  isDSMobile
188
201
  }, selected ? /* @__PURE__ */ import_react.default.createElement(IconOpened, {
@@ -193,7 +206,8 @@ const DSAccordionItem = (props) => {
193
206
  onMouseEnter: handleOnFocus,
194
207
  onMouseLeave: handleOnBlur,
195
208
  isDSMobile,
196
- ref: setReferenceElement
209
+ withSecondaryTitle: secondaryTitle,
210
+ selected
197
211
  }, Titles)), CustomActionsContent), selected && /* @__PURE__ */ import_react.default.createElement(import_styles.StyledItemContent, {
198
212
  "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTENT,
199
213
  "aria-labelledby": `ds-accordion-header-${value}`,
@@ -202,9 +216,8 @@ const DSAccordionItem = (props) => {
202
216
  id: `ds-accordion-content-${value}`
203
217
  }, children));
204
218
  };
205
- DSAccordionItem.propTypes = import_propTypes.accordionItemPropTypes;
206
- const DSAccordionItemWithSchema = (0, import_ds_props_helpers.describe)(DSAccordionItem);
207
- DSAccordionItemWithSchema.propTypes = import_propTypes.accordionItemPropTypes;
219
+ DSAccordionItem.displayName = "DSAccordionItem";
220
+ const DSAccordionItemWithSchema = (0, import_ds_utilities.describe)(DSAccordionItem);
221
+ DSAccordionItemWithSchema.propTypes = import_react_desc_prop_types.accordionItemPropTypes;
208
222
  var DSAccordionItem_default = DSAccordionItem;
209
- module.exports = __toCommonJS(DSAccordionItem_exports);
210
223
  //# sourceMappingURL=DSAccordionItem.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/parts/accordionItem/DSAccordionItem.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useContext, useCallback, useMemo, WeakValidationMap } from 'react';\nimport { useMemoMergePropsWithDefault, describe } from '@elliemae/ds-props-helpers';\nimport { DSButton, BUTTON_TYPE } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { useIsShowingEllipsis } from '@elliemae/ds-utilities';\nimport { accordionItemDefaultProps } from '../../defaultProps';\nimport {\n StyledItemAddon,\n StyledItemContainer,\n StyledItemContent,\n StyledItemCustomActions,\n StyledItemHeader,\n StyledItemHeaderContainer,\n StyledItemTitles,\n StyledPrimaryTitle,\n StyledSecondaryTitle,\n} from './styles';\nimport { accordionItemPropTypes } from '../../propTypes';\nimport { useAccordionItem } from './useAccordionItem';\nimport { DSAccordionContext } from '../../DSAccordionCTX';\nimport { DSAccordionDataTestid } from '../../DSAccordionDatatestid';\nimport type { DSAccordionItemPropsT, DSAccordionItemPropsWithDefaultsT } from '../../DSAccordionTypes';\n\nconst DSAccordionItem = (props: DSAccordionItemPropsT): JSX.Element => {\n const propsWithDefaults = useMemoMergePropsWithDefault(\n props,\n accordionItemDefaultProps,\n ) as DSAccordionItemPropsWithDefaultsT;\n\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n iconOpened: IconOpened,\n iconClosed: IconClosed,\n value,\n disabled,\n dsIndex,\n renderCustomActions,\n } = propsWithDefaults;\n\n const { handleOnClick, handleOnKeyDown, selected } = useAccordionItem({ value, disabled });\n const {\n allChildrenReferences,\n actualActiveValue,\n props: { isDSMobile },\n } = useContext(DSAccordionContext);\n\n const onKeyDownWithIndex = useCallback(\n (e: React.KeyboardEvent) => {\n handleOnKeyDown(e, dsIndex);\n },\n [dsIndex, handleOnKeyDown],\n );\n\n const [showPopover, setShowPopover] = useState(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>();\n\n const CustomActionsContent = useMemo(() => {\n if (!isDSMobile && customActions?.length > 0)\n return (\n <StyledItemCustomActions>\n {customActions?.map(({ onClick, id, ...rest }) => (\n <DSButton\n key={id}\n onClick={(e: React.MouseEvent<HTMLElement, MouseEvent> | React.KeyboardEvent<HTMLElement>): void => {\n e.stopPropagation();\n if (onClick) onClick(e as React.MouseEvent<HTMLElement, MouseEvent>);\n }}\n {...rest}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </StyledItemCustomActions>\n );\n\n if (!isDSMobile && renderCustomActions)\n return (\n <StyledItemCustomActions>\n {renderCustomActions({ allRefs: allChildrenReferences, actualActiveValue })}\n </StyledItemCustomActions>\n );\n return null;\n }, [actualActiveValue, allChildrenReferences, customActions, isDSMobile, renderCustomActions]);\n\n const { isShowingEllipsis: isPrimaryShowingEllipsis, setElement: setPrimaryElement } = useIsShowingEllipsis();\n\n const { isShowingEllipsis: isSecondaryShowingEllipsis, setElement: setSecondaryElement } = useIsShowingEllipsis();\n\n const handleOnFocus = useCallback(\n () => setShowPopover(isPrimaryShowingEllipsis || isSecondaryShowingEllipsis),\n [isPrimaryShowingEllipsis, isSecondaryShowingEllipsis],\n );\n\n const handleOnBlur = useCallback(() => setShowPopover(false), []);\n\n const Titles = useMemo(() => {\n if (isPrimaryShowingEllipsis || isSecondaryShowingEllipsis)\n return (\n <>\n <StyledPrimaryTitle\n ref={setPrimaryElement}\n id={`accordion_${title}id`}\n disabled={disabled}\n isDSMobile={isDSMobile}\n >\n {title}\n </StyledPrimaryTitle>\n {!isDSMobile && secondaryTitle && (\n <StyledSecondaryTitle ref={setSecondaryElement} disabled={disabled}>\n {secondaryTitle}\n </StyledSecondaryTitle>\n )}\n <DSPopperJS referenceElement={referenceElement} showPopover={showPopover}>\n <div style={{ maxWidth: 260, padding: 8, background: 'white', display: 'grid', gap: 8 }}>\n <p style={{ margin: 0 }}>{title}</p>\n <p style={{ margin: 0 }}> {secondaryTitle}</p>\n </div>\n </DSPopperJS>\n </>\n );\n\n return (\n <>\n <StyledPrimaryTitle\n ref={setPrimaryElement}\n id={`accordion_${title}id`}\n disabled={disabled}\n isDSMobile={isDSMobile}\n >\n {title}\n </StyledPrimaryTitle>\n {!isDSMobile && secondaryTitle && (\n <StyledSecondaryTitle ref={setSecondaryElement} disabled={disabled}>\n {secondaryTitle}\n </StyledSecondaryTitle>\n )}\n </>\n );\n }, [\n disabled,\n isDSMobile,\n isPrimaryShowingEllipsis,\n isSecondaryShowingEllipsis,\n referenceElement,\n secondaryTitle,\n setPrimaryElement,\n setSecondaryElement,\n showPopover,\n title,\n ]);\n\n return (\n <StyledItemContainer data-testid={DSAccordionDataTestid.ITEM.CONTAINER}>\n <StyledItemHeaderContainer disabled={disabled}>\n <StyledItemHeader\n withCustomActions={(customActions?.length > 0 || renderCustomActions !== undefined) && !isDSMobile}\n withSecondaryTitle={secondaryTitle}\n onClick={handleOnClick}\n tabIndex={!disabled ? 0 : undefined}\n disabled={disabled}\n data-disabled={disabled}\n ref={allChildrenReferences[dsIndex]}\n onKeyDown={onKeyDownWithIndex}\n isDSMobile={isDSMobile}\n data-testid={DSAccordionDataTestid.ITEM.HEADER}\n id={`ds-accordion-header-${value}`}\n aria-expanded={selected}\n aria-disabled={disabled}\n aria-controls={`ds-accordion-content-${value}`}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n >\n <StyledItemAddon disabled={disabled} isDSMobile={isDSMobile}>\n {selected ? <IconOpened isDSMobile={isDSMobile} /> : <IconClosed isDSMobile={isDSMobile} />}\n </StyledItemAddon>\n <StyledItemTitles\n onMouseEnter={handleOnFocus}\n onMouseLeave={handleOnBlur}\n isDSMobile={isDSMobile}\n ref={setReferenceElement}\n >\n {Titles}\n </StyledItemTitles>\n </StyledItemHeader>\n {CustomActionsContent}\n </StyledItemHeaderContainer>\n {selected && (\n <StyledItemContent\n data-testid={DSAccordionDataTestid.ITEM.CONTENT}\n aria-labelledby={`ds-accordion-header-${value}`}\n role=\"region\"\n isDSMobile={isDSMobile}\n id={`ds-accordion-content-${value}`}\n >\n {children}\n </StyledItemContent>\n )}\n </StyledItemContainer>\n );\n};\n\nDSAccordionItem.propTypes = accordionItemPropTypes;\n\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = accordionItemPropTypes as WeakValidationMap<unknown>;\n\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useContext, useCallback, useMemo, WeakValidationMap } from 'react';\nimport {\n useMemoMergePropsWithDefault,\n describe,\n useIsShowingEllipsis,\n useGetGlobalAttributes,\n useGetXstyledProps,\n} from '@elliemae/ds-utilities';\nimport { DSButton, BUTTON_TYPE } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { accordionItemDefaultProps } from '../../defaultProps';\nimport {\n StyledItemAddon,\n StyledItemContainer,\n StyledItemContent,\n StyledItemCustomActions,\n StyledItemHeader,\n StyledItemHeaderContainer,\n StyledItemTitles,\n StyledPrimaryTitle,\n StyledSecondaryTitle,\n StyledTooltipContent,\n} from './styles';\nimport { useAccordionItem } from './useAccordionItem';\nimport { DSAccordionContext } from '../../DSAccordionCTX';\nimport { DSAccordionDataTestid } from '../../exported-related/DSAccordionDatatestid';\nimport { accordionItemPropTypes } from '../../react-desc-prop-types';\nimport type { DSAccordionT } from '../../react-desc-prop-types';\n\nconst DSAccordionItem = (props: DSAccordionT.ItemProps): JSX.Element => {\n const propsWithDefaults = useMemoMergePropsWithDefault(\n props,\n accordionItemDefaultProps,\n ) as DSAccordionT.InternalItemProps;\n\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n iconOpened: IconOpened,\n iconClosed: IconClosed,\n value,\n disabled,\n dsIndex,\n renderCustomActions,\n ...rest\n } = propsWithDefaults;\n\n const { className, ...globalAttrs } = useGetGlobalAttributes(rest);\n const xstyledAttrs = useGetXstyledProps(rest);\n\n const { handleOnClick, handleOnKeyDown, selected } = useAccordionItem({ value, disabled });\n const {\n allChildrenReferences,\n actualActiveValue,\n props: { isDSMobile },\n } = useContext(DSAccordionContext);\n\n const onKeyDownWithIndex = useCallback(\n (e: React.KeyboardEvent) => {\n handleOnKeyDown(e, dsIndex);\n },\n [dsIndex, handleOnKeyDown],\n );\n\n const [showPopover, setShowPopover] = useState(false);\n const [referenceElement, setReferenceElement] = useState<HTMLElement | null>();\n\n const CustomActionsContent = useMemo(() => {\n if (!isDSMobile && customActions?.length > 0)\n return (\n <StyledItemCustomActions isDSMobile={isDSMobile}>\n {customActions?.map(({ onClick, id, ...otherProps }) => (\n <DSButton\n key={id}\n onClick={(e: React.MouseEvent<HTMLElement, MouseEvent> | React.KeyboardEvent<HTMLElement>): void => {\n e.stopPropagation();\n if (onClick) onClick(e as React.MouseEvent<HTMLElement, MouseEvent>);\n }}\n {...otherProps}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </StyledItemCustomActions>\n );\n\n if (!isDSMobile && renderCustomActions)\n return (\n <StyledItemCustomActions isDSMobile={isDSMobile}>\n {renderCustomActions({ allRefs: allChildrenReferences, actualActiveValue })}\n </StyledItemCustomActions>\n );\n return null;\n }, [actualActiveValue, allChildrenReferences, customActions, isDSMobile, renderCustomActions]);\n\n const { isShowingEllipsis: isPrimaryShowingEllipsis, setElement: setPrimaryElement } = useIsShowingEllipsis();\n\n const { isShowingEllipsis: isSecondaryShowingEllipsis, setElement: setSecondaryElement } = useIsShowingEllipsis();\n\n const handleOnFocus = useCallback(\n () => setShowPopover(isPrimaryShowingEllipsis || isSecondaryShowingEllipsis),\n [isPrimaryShowingEllipsis, isSecondaryShowingEllipsis],\n );\n\n const handleOnBlur = useCallback(() => setShowPopover(false), []);\n\n // eslint-disable-next-line complexity\n const Titles = useMemo(() => {\n if ((isPrimaryShowingEllipsis || isSecondaryShowingEllipsis) && !isDSMobile)\n return (\n <>\n <StyledPrimaryTitle\n ref={setPrimaryElement}\n {...(title ? { id: `accordion_${title || ''}id` } : undefined)}\n disabled={disabled}\n isDSMobile={isDSMobile}\n selected={selected}\n withSecondaryTitle={secondaryTitle}\n >\n {title}\n </StyledPrimaryTitle>\n {!isDSMobile && secondaryTitle && (\n <StyledSecondaryTitle ref={setSecondaryElement} disabled={disabled} selected={selected}>\n {secondaryTitle}\n </StyledSecondaryTitle>\n )}\n <DSPopperJS referenceElement={referenceElement} showPopover={showPopover}>\n <StyledTooltipContent>\n <p>{title}</p>\n <p> {secondaryTitle}</p>\n </StyledTooltipContent>\n </DSPopperJS>\n </>\n );\n\n return (\n <>\n <StyledPrimaryTitle\n ref={setPrimaryElement}\n {...(title ? { id: `accordion_${title || ''}id` } : undefined)}\n disabled={disabled}\n isDSMobile={isDSMobile}\n selected={selected}\n withSecondaryTitle={secondaryTitle}\n >\n {title}\n </StyledPrimaryTitle>\n {!isDSMobile && secondaryTitle && (\n <StyledSecondaryTitle ref={setSecondaryElement} disabled={disabled} selected={selected}>\n {secondaryTitle}\n </StyledSecondaryTitle>\n )}\n </>\n );\n }, [\n disabled,\n isDSMobile,\n isPrimaryShowingEllipsis,\n isSecondaryShowingEllipsis,\n referenceElement,\n secondaryTitle,\n setPrimaryElement,\n setSecondaryElement,\n showPopover,\n selected,\n title,\n ]);\n\n return (\n <StyledItemContainer data-testid={DSAccordionDataTestid.ITEM.CONTAINER} className={className} {...xstyledAttrs}>\n <StyledItemHeaderContainer disabled={disabled} ref={setReferenceElement}>\n <StyledItemHeader\n withCustomActions={(customActions?.length > 0 || renderCustomActions !== undefined) && !isDSMobile}\n withSecondaryTitle={secondaryTitle}\n onClick={handleOnClick}\n tabIndex={!disabled ? 0 : undefined}\n disabled={disabled}\n data-disabled={disabled}\n ref={allChildrenReferences[dsIndex]}\n onKeyDown={onKeyDownWithIndex}\n isDSMobile={isDSMobile}\n data-testid={DSAccordionDataTestid.ITEM.HEADER}\n id={`ds-accordion-header-${value}`}\n aria-expanded={selected}\n aria-disabled={disabled}\n aria-controls={`ds-accordion-content-${value}`}\n onFocus={handleOnFocus}\n onBlur={handleOnBlur}\n {...globalAttrs}\n >\n <StyledItemAddon disabled={disabled} isDSMobile={isDSMobile}>\n {selected ? <IconOpened isDSMobile={isDSMobile} /> : <IconClosed isDSMobile={isDSMobile} />}\n </StyledItemAddon>\n <StyledItemTitles\n onMouseEnter={handleOnFocus}\n onMouseLeave={handleOnBlur}\n isDSMobile={isDSMobile}\n withSecondaryTitle={secondaryTitle}\n selected={selected}\n >\n {Titles}\n </StyledItemTitles>\n </StyledItemHeader>\n {CustomActionsContent}\n </StyledItemHeaderContainer>\n {selected && (\n <StyledItemContent\n data-testid={DSAccordionDataTestid.ITEM.CONTENT}\n aria-labelledby={`ds-accordion-header-${value}`}\n role=\"region\"\n isDSMobile={isDSMobile}\n id={`ds-accordion-content-${value}`}\n >\n {children}\n </StyledItemContent>\n )}\n </StyledItemContainer>\n );\n};\n\nDSAccordionItem.displayName = 'DSAccordionItem';\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = accordionItemPropTypes as WeakValidationMap<unknown>;\n\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }