@elliemae/ds-accordion 3.22.0-next.3 → 3.22.0-next.31

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 (66) hide show
  1. package/dist/cjs/DSAccordion.js +2 -2
  2. package/dist/cjs/DSAccordion.js.map +3 -3
  3. package/dist/cjs/DSAccordionCTX.js.map +1 -1
  4. package/dist/cjs/config/useAccordion.js.map +1 -1
  5. package/dist/cjs/config/useAccordionRefs.js.map +1 -1
  6. package/dist/cjs/defaultProps.js +2 -1
  7. package/dist/cjs/defaultProps.js.map +3 -3
  8. package/dist/cjs/exported-related/{theming.js → DSAccordionDefinitions.js} +22 -19
  9. package/dist/cjs/exported-related/DSAccordionDefinitions.js.map +7 -0
  10. package/dist/cjs/exported-related/index.js +1 -2
  11. package/dist/cjs/exported-related/index.js.map +3 -3
  12. package/dist/cjs/index.js.map +3 -3
  13. package/dist/cjs/parts/accordionContent/AccordionContent.js +21 -7
  14. package/dist/cjs/parts/accordionContent/AccordionContent.js.map +3 -3
  15. package/dist/cjs/parts/accordionContent/styles.js.map +1 -1
  16. package/dist/cjs/parts/accordionItem/DSAccordionItem.js +185 -75
  17. package/dist/cjs/parts/accordionItem/DSAccordionItem.js.map +3 -3
  18. package/dist/cjs/parts/accordionItem/styles.js +15 -10
  19. package/dist/cjs/parts/accordionItem/styles.js.map +3 -3
  20. package/dist/cjs/parts/accordionItem/useAccordionItem.js.map +1 -1
  21. package/dist/cjs/propTypes.js.map +1 -1
  22. package/dist/cjs/react-desc-prop-types.js +8 -2
  23. package/dist/cjs/react-desc-prop-types.js.map +3 -3
  24. package/dist/cjs/sharedTypes.js.map +1 -1
  25. package/dist/esm/DSAccordion.js +1 -1
  26. package/dist/esm/DSAccordion.js.map +2 -2
  27. package/dist/esm/DSAccordionCTX.js.map +1 -1
  28. package/dist/esm/config/useAccordion.js.map +1 -1
  29. package/dist/esm/config/useAccordionRefs.js.map +1 -1
  30. package/dist/esm/defaultProps.js +2 -1
  31. package/dist/esm/defaultProps.js.map +3 -3
  32. package/dist/esm/exported-related/DSAccordionDefinitions.js +28 -0
  33. package/dist/esm/exported-related/DSAccordionDefinitions.js.map +7 -0
  34. package/dist/esm/exported-related/index.js +1 -2
  35. package/dist/esm/exported-related/index.js.map +3 -3
  36. package/dist/esm/index.js.map +3 -3
  37. package/dist/esm/parts/accordionContent/AccordionContent.js +22 -8
  38. package/dist/esm/parts/accordionContent/AccordionContent.js.map +3 -3
  39. package/dist/esm/parts/accordionContent/styles.js.map +1 -1
  40. package/dist/esm/parts/accordionItem/DSAccordionItem.js +186 -76
  41. package/dist/esm/parts/accordionItem/DSAccordionItem.js.map +3 -3
  42. package/dist/esm/parts/accordionItem/styles.js +15 -10
  43. package/dist/esm/parts/accordionItem/styles.js.map +3 -3
  44. package/dist/esm/parts/accordionItem/useAccordionItem.js.map +1 -1
  45. package/dist/esm/propTypes.js.map +1 -1
  46. package/dist/esm/react-desc-prop-types.js +14 -3
  47. package/dist/esm/react-desc-prop-types.js.map +3 -3
  48. package/dist/esm/sharedTypes.js.map +1 -1
  49. package/dist/types/DSAccordion.d.ts +1 -0
  50. package/dist/types/exported-related/DSAccordionDefinitions.d.ts +19 -0
  51. package/dist/types/exported-related/index.d.ts +1 -2
  52. package/dist/types/parts/accordionContent/AccordionContent.d.ts +1 -0
  53. package/dist/types/parts/accordionContent/styles.d.ts +1 -0
  54. package/dist/types/parts/accordionItem/DSAccordionItem.d.ts +1 -0
  55. package/dist/types/parts/accordionItem/styles.d.ts +46 -0
  56. package/dist/types/react-desc-prop-types.d.ts +3 -0
  57. package/package.json +20 -16
  58. package/dist/cjs/exported-related/DSAccordionDatatestid.js +0 -43
  59. package/dist/cjs/exported-related/DSAccordionDatatestid.js.map +0 -7
  60. package/dist/cjs/exported-related/theming.js.map +0 -7
  61. package/dist/esm/exported-related/DSAccordionDatatestid.js +0 -13
  62. package/dist/esm/exported-related/DSAccordionDatatestid.js.map +0 -7
  63. package/dist/esm/exported-related/theming.js +0 -25
  64. package/dist/esm/exported-related/theming.js.map +0 -7
  65. package/dist/types/exported-related/DSAccordionDatatestid.d.ts +0 -8
  66. package/dist/types/exported-related/theming.d.ts +0 -19
@@ -40,12 +40,12 @@ var import_AccordionContent = require("./parts/accordionContent/AccordionContent
40
40
  var import_useAccordion = require("./config/useAccordion.js");
41
41
  var import_DSAccordionCTX = require("./DSAccordionCTX.js");
42
42
  var import_react_desc_prop_types = require("./react-desc-prop-types.js");
43
- var import_theming = require("./exported-related/theming.js");
43
+ var import_exported_related = require("./exported-related/index.js");
44
44
  const DSAccordion = (props) => {
45
45
  const ctx = (0, import_useAccordion.useAccordion)(props);
46
46
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DSAccordionCTX.DSAccordionContext.Provider, { value: ctx, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AccordionContent.AccordionContent, {}) });
47
47
  };
48
- DSAccordion.displayName = import_theming.DSAccordionName;
48
+ DSAccordion.displayName = import_exported_related.DSAccordionName;
49
49
  const DSAccordionWithSchema = (0, import_ds_props_helpers.describe)(DSAccordion);
50
50
  DSAccordionWithSchema.propTypes = import_react_desc_prop_types.accordionPropTypes;
51
51
  var DSAccordion_default = DSAccordion;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/DSAccordion.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { AccordionContent } from './parts/accordionContent/AccordionContent.js';\nimport { useAccordion } from './config/useAccordion.js';\nimport { DSAccordionContext } from './DSAccordionCTX.js';\nimport { accordionPropTypes } from './react-desc-prop-types.js';\nimport type { DSAccordionT } from './react-desc-prop-types.js';\nimport { DSAccordionName } from './exported-related/theming.js';\n\nconst DSAccordion = (props: DSAccordionT.Props): JSX.Element => {\n const ctx = useAccordion(props);\n\n return (\n <DSAccordionContext.Provider value={ctx}>\n <AccordionContent />\n </DSAccordionContext.Provider>\n );\n};\n\nDSAccordion.displayName = DSAccordionName;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = accordionPropTypes as WeakValidationMap<unknown>;\n\nexport { DSAccordion, DSAccordionWithSchema };\n\nexport default DSAccordion;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADejB;AAbN,8BAAyB;AACzB,8BAAiC;AACjC,0BAA6B;AAC7B,4BAAmC;AACnC,mCAAmC;AAEnC,qBAAgC;AAEhC,MAAM,cAAc,CAAC,UAA2C;AAC9D,QAAM,UAAM,kCAAa,KAAK;AAE9B,SACE,4CAAC,yCAAmB,UAAnB,EAA4B,OAAO,KAClC,sDAAC,4CAAiB,GACpB;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,4BAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
3
+ "sources": ["../../src/DSAccordion.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { AccordionContent } from './parts/accordionContent/AccordionContent.js';\nimport { useAccordion } from './config/useAccordion.js';\nimport { DSAccordionContext } from './DSAccordionCTX.js';\nimport { accordionPropTypes } from './react-desc-prop-types.js';\nimport type { DSAccordionT } from './react-desc-prop-types.js';\nimport { DSAccordionName } from './exported-related/index.js';\n\nconst DSAccordion = (props: DSAccordionT.Props): JSX.Element => {\n const ctx = useAccordion(props);\n\n return (\n <DSAccordionContext.Provider value={ctx}>\n <AccordionContent />\n </DSAccordionContext.Provider>\n );\n};\n\nDSAccordion.displayName = DSAccordionName;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = accordionPropTypes as WeakValidationMap<unknown>;\n\nexport { DSAccordion, DSAccordionWithSchema };\n\nexport default DSAccordion;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADejB;AAbN,8BAAyB;AACzB,8BAAiC;AACjC,0BAA6B;AAC7B,4BAAmC;AACnC,mCAAmC;AAEnC,8BAAgC;AAEhC,MAAM,cAAc,CAAC,UAA2C;AAC9D,QAAM,UAAM,kCAAa,KAAK;AAE9B,SACE,4CAAC,yCAAmB,UAAnB,EAA4B,OAAO,KAClC,sDAAC,4CAAiB,GACpB;AAEJ;AAEA,YAAY,cAAc;AAC1B,MAAM,4BAAwB,kCAAS,WAAW;AAClD,sBAAsB,YAAY;AAIlC,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/DSAccordionCTX.tsx", "../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../src/DSAccordionCTX.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { createContext } from 'react';\nimport type { DSAccordionT } from './react-desc-prop-types.js';\nimport type { DSAccordionInternalsT } from './sharedTypes.js';\n\ninterface DSAccordionContextT {\n props: DSAccordionT.InternalProps;\n actualActiveValue: DSAccordionInternalsT.InternalActiveValue;\n setActiveValues: (value: string | number, e: React.MouseEvent | React.KeyboardEvent) => void;\n focusableChildrenReferences: DSAccordionInternalsT.FocusableChildrenReferences[];\n allChildrenReferences: DSAccordionInternalsT.AllChildrenReferences;\n}\n\nconst defaultContext = {} as DSAccordionContextT;\n\nexport const DSAccordionContext = createContext<DSAccordionContextT>(defaultContext);\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA8B;AAY9B,MAAM,iBAAiB,CAAC;AAEjB,MAAM,yBAAqB,4BAAmC,cAAc;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/config/useAccordion.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../../src/config/useAccordion.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import type React from 'react';\nimport { useMemo, useState, useCallback } from 'react';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { useAccordionRefs } from './useAccordionRefs.js';\nimport { defaultProps } from '../defaultProps.js';\nimport type { DSAccordionT } from '../react-desc-prop-types.js';\nimport type { DSAccordionInternalsT } from '../sharedTypes.js';\n\ninterface DSAccordionUseAccordionContextT {\n props: DSAccordionT.InternalProps;\n actualActiveValue: DSAccordionInternalsT.InternalActiveValue;\n setActiveValues: (value: string | number, e: React.MouseEvent | React.KeyboardEvent) => void;\n focusableChildrenReferences: DSAccordionInternalsT.FocusableChildrenReferences[];\n allChildrenReferences: DSAccordionInternalsT.AllChildrenReferences;\n}\n\nexport const useAccordion = (props: DSAccordionT.Props): DSAccordionUseAccordionContextT => {\n const propsWithDefaults = useMemoMergePropsWithDefault(props, defaultProps) as DSAccordionT.InternalProps;\n\n const { activeValue, allowMultipleOpen, onChange } = propsWithDefaults;\n\n const { focusableChildrenReferences, allChildrenReferences } = useAccordionRefs(propsWithDefaults);\n\n const [internalActiveValue, setInternalActiveValue] =\n useState<DSAccordionInternalsT.InternalActiveValue>(activeValue);\n\n const actualActiveValue = useMemo(() => {\n if (activeValue === undefined) return internalActiveValue;\n return activeValue;\n }, [activeValue, internalActiveValue]);\n\n const setActiveValues = useCallback(\n (value: string | number, e: React.MouseEvent | React.KeyboardEvent) => {\n let newState: DSAccordionInternalsT.InternalActiveValue;\n if (allowMultipleOpen && (actualActiveValue === undefined || actualActiveValue === null)) newState = [value];\n else if (allowMultipleOpen && Array.isArray(actualActiveValue))\n if (!actualActiveValue.some((currentValues: string | number) => currentValues === value))\n newState = [...actualActiveValue, value];\n else newState = actualActiveValue.filter((currentValues: string | number) => currentValues !== value);\n else if (actualActiveValue === value) newState = null;\n else newState = value;\n setInternalActiveValue(newState);\n return onChange(newState, e);\n },\n [actualActiveValue, allowMultipleOpen, onChange],\n );\n const ctx = useMemo(\n () => ({\n props: propsWithDefaults,\n actualActiveValue,\n setActiveValues,\n focusableChildrenReferences,\n allChildrenReferences,\n }),\n [actualActiveValue, allChildrenReferences, focusableChildrenReferences, propsWithDefaults, setActiveValues],\n );\n\n return ctx;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA+C;AAC/C,8BAA6C;AAC7C,8BAAiC;AACjC,0BAA6B;AAYtB,MAAM,eAAe,CAAC,UAA+D;AAC1F,QAAM,wBAAoB,sDAA6B,OAAO,gCAAY;AAE1E,QAAM,EAAE,aAAa,mBAAmB,SAAS,IAAI;AAErD,QAAM,EAAE,6BAA6B,sBAAsB,QAAI,0CAAiB,iBAAiB;AAEjG,QAAM,CAAC,qBAAqB,sBAAsB,QAChD,uBAAoD,WAAW;AAEjE,QAAM,wBAAoB,sBAAQ,MAAM;AACtC,QAAI,gBAAgB;AAAW,aAAO;AACtC,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,mBAAmB,CAAC;AAErC,QAAM,sBAAkB;AAAA,IACtB,CAAC,OAAwB,MAA8C;AACrE,UAAI;AACJ,UAAI,sBAAsB,sBAAsB,UAAa,sBAAsB;AAAO,mBAAW,CAAC,KAAK;AAAA,eAClG,qBAAqB,MAAM,QAAQ,iBAAiB;AAC3D,YAAI,CAAC,kBAAkB,KAAK,CAAC,kBAAmC,kBAAkB,KAAK;AACrF,qBAAW,CAAC,GAAG,mBAAmB,KAAK;AAAA;AACpC,qBAAW,kBAAkB,OAAO,CAAC,kBAAmC,kBAAkB,KAAK;AAAA,eAC7F,sBAAsB;AAAO,mBAAW;AAAA;AAC5C,mBAAW;AAChB,6BAAuB,QAAQ;AAC/B,aAAO,SAAS,UAAU,CAAC;AAAA,IAC7B;AAAA,IACA,CAAC,mBAAmB,mBAAmB,QAAQ;AAAA,EACjD;AACA,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,mBAAmB,uBAAuB,6BAA6B,mBAAmB,eAAe;AAAA,EAC5G;AAEA,SAAO;AACT;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/config/useAccordionRefs.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../../src/config/useAccordionRefs.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useMemo } from 'react';\nimport type { DSAccordionT } from '../react-desc-prop-types.js';\nimport type { DSAccordionInternalsT } from '../sharedTypes.js';\n\ninterface UseAccordionRefsPropsT {\n children: React.ReactElement<DSAccordionT.InternalItemProps>[];\n}\n\ninterface UseAccordionRefsReturnTypeT {\n focusableChildrenReferences: DSAccordionInternalsT.FocusableChildrenReferences[];\n allChildrenReferences: DSAccordionInternalsT.AllChildrenReferences;\n}\n\nexport const useAccordionRefs = ({ children }: UseAccordionRefsPropsT): UseAccordionRefsReturnTypeT =>\n useMemo(() => {\n const focusableChildrenReferences: DSAccordionInternalsT.FocusableChildrenReferences[] = [];\n const allChildrenReferences: DSAccordionInternalsT.AllChildrenReferences = {};\n\n React.Children.map(children, (child: React.ReactElement<DSAccordionT.InternalItemProps>, index) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { value, disabled } = child.props;\n const currentRef = React.createRef<HTMLButtonElement>();\n allChildrenReferences[index] = currentRef;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n if (!disabled) focusableChildrenReferences.push({ index, value, ref: currentRef });\n });\n return { focusableChildrenReferences, allChildrenReferences };\n }, [children]);\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+B;AAaxB,MAAM,mBAAmB,CAAC,EAAE,SAAS,UAC1C,sBAAQ,MAAM;AACZ,QAAM,8BAAmF,CAAC;AAC1F,QAAM,wBAAqE,CAAC;AAE5E,eAAAA,QAAM,SAAS,IAAI,UAAU,CAAC,OAA2D,UAAU;AAEjG,UAAM,EAAE,OAAO,SAAS,IAAI,MAAM;AAClC,UAAM,aAAa,aAAAA,QAAM,UAA6B;AACtD,0BAAsB,KAAK,IAAI;AAE/B,QAAI,CAAC;AAAU,kCAA4B,KAAK,EAAE,OAAO,OAAO,KAAK,WAAW,CAAC;AAAA,EACnF,CAAC;AACD,SAAO,EAAE,6BAA6B,sBAAsB;AAC9D,GAAG,CAAC,QAAQ,CAAC;",
6
6
  "names": ["React"]
@@ -57,6 +57,7 @@ const accordionItemDefaultProps = {
57
57
  title: "",
58
58
  customActions: [],
59
59
  disabled: false,
60
- xStyledPropsContent: {}
60
+ xStyledPropsContent: {},
61
+ keepContentMounted: false
61
62
  };
62
63
  //# sourceMappingURL=defaultProps.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/defaultProps.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { memo } from 'react';\nimport { ArrowheadRight, ArrowheadDown, ChevronRight, ChevronDown } from '@elliemae/ds-icons';\nimport type { DSAccordionInternalsT } from './sharedTypes.js';\nimport type { DSAccordionT } from './react-desc-prop-types.js';\n\nconst DefaultIconClosed = memo(({ isDSMobile = false }: DSAccordionInternalsT.DefaultIconProps) =>\n isDSMobile ? <ChevronRight width=\"20px\" color={['brand-primary', '800']} /> : <ArrowheadRight width=\"20px\" />,\n);\n\nconst DefaultIconOpen = memo(({ isDSMobile = false }: DSAccordionInternalsT.DefaultIconProps) =>\n isDSMobile ? <ChevronDown width=\"20px\" color={['brand-primary', '800']} /> : <ArrowheadDown width=\"20px\" />,\n);\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\n\nexport const defaultProps: DSAccordionT.DefaultProps = {\n containerProps: {},\n allowMultipleOpen: false,\n onChange: noop,\n children: [],\n isDSMobile: false,\n};\n\nexport const accordionItemDefaultProps: DSAccordionT.ItemDefaultProps = {\n iconClosed: DefaultIconClosed,\n iconOpened: DefaultIconOpen,\n title: '',\n customActions: [],\n disabled: false,\n xStyledPropsContent: {},\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADMR;AANf,mBAA4B;AAC5B,sBAAyE;AAIzE,MAAM,wBAAoB;AAAA,EAAK,CAAC,EAAE,aAAa,MAAM,MACnD,aAAa,4CAAC,gCAAa,OAAM,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAK,4CAAC,kCAAe,OAAM,QAAO;AAC7G;AAEA,MAAM,sBAAkB;AAAA,EAAK,CAAC,EAAE,aAAa,MAAM,MACjD,aAAa,4CAAC,+BAAY,OAAM,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAK,4CAAC,iCAAc,OAAM,QAAO;AAC3G;AAGA,MAAM,OAAO,MAAY;AAAC;AAEnB,MAAM,eAA0C;AAAA,EACrD,gBAAgB,CAAC;AAAA,EACjB,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,UAAU,CAAC;AAAA,EACX,YAAY;AACd;AAEO,MAAM,4BAA2D;AAAA,EACtE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,eAAe,CAAC;AAAA,EAChB,UAAU;AAAA,EACV,qBAAqB,CAAC;AACxB;",
3
+ "sources": ["../../src/defaultProps.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { memo } from 'react';\nimport { ArrowheadRight, ArrowheadDown, ChevronRight, ChevronDown } from '@elliemae/ds-icons';\nimport type { DSAccordionInternalsT } from './sharedTypes.js';\nimport type { DSAccordionT } from './react-desc-prop-types.js';\n\nconst DefaultIconClosed = memo(({ isDSMobile = false }: DSAccordionInternalsT.DefaultIconProps) =>\n isDSMobile ? <ChevronRight width=\"20px\" color={['brand-primary', '800']} /> : <ArrowheadRight width=\"20px\" />,\n);\n\nconst DefaultIconOpen = memo(({ isDSMobile = false }: DSAccordionInternalsT.DefaultIconProps) =>\n isDSMobile ? <ChevronDown width=\"20px\" color={['brand-primary', '800']} /> : <ArrowheadDown width=\"20px\" />,\n);\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop = (): void => {};\n\nexport const defaultProps: DSAccordionT.DefaultProps = {\n containerProps: {},\n allowMultipleOpen: false,\n onChange: noop,\n children: [],\n isDSMobile: false,\n};\n\nexport const accordionItemDefaultProps: DSAccordionT.ItemDefaultProps = {\n iconClosed: DefaultIconClosed,\n iconOpened: DefaultIconOpen,\n title: '',\n customActions: [],\n disabled: false,\n xStyledPropsContent: {},\n keepContentMounted: false,\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADMR;AANf,mBAA4B;AAC5B,sBAAyE;AAIzE,MAAM,wBAAoB;AAAA,EAAK,CAAC,EAAE,aAAa,MAAM,MACnD,aAAa,4CAAC,gCAAa,OAAM,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAK,4CAAC,kCAAe,OAAM,QAAO;AAC7G;AAEA,MAAM,sBAAkB;AAAA,EAAK,CAAC,EAAE,aAAa,MAAM,MACjD,aAAa,4CAAC,+BAAY,OAAM,QAAO,OAAO,CAAC,iBAAiB,KAAK,GAAG,IAAK,4CAAC,iCAAc,OAAM,QAAO;AAC3G;AAGA,MAAM,OAAO,MAAY;AAAC;AAEnB,MAAM,eAA0C;AAAA,EACrD,gBAAgB,CAAC;AAAA,EACjB,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,UAAU,CAAC;AAAA,EACX,YAAY;AACd;AAEO,MAAM,4BAA2D;AAAA,EACtE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,eAAe,CAAC;AAAA,EAChB,UAAU;AAAA,EACV,qBAAqB,CAAC;AAAA,EACtB,oBAAoB;AACtB;",
6
6
  "names": []
7
7
  }
@@ -26,30 +26,33 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var theming_exports = {};
30
- __export(theming_exports, {
29
+ var DSAccordionDefinitions_exports = {};
30
+ __export(DSAccordionDefinitions_exports, {
31
+ DSAccordionDataTestid: () => DSAccordionDataTestid,
31
32
  DSAccordionName: () => DSAccordionName,
32
33
  DSAccordionSlots: () => DSAccordionSlots
33
34
  });
34
- module.exports = __toCommonJS(theming_exports);
35
+ module.exports = __toCommonJS(DSAccordionDefinitions_exports);
35
36
  var React = __toESM(require("react"));
37
+ var import_ds_system = require("@elliemae/ds-system");
36
38
  const DSAccordionName = "DSAccordion";
37
39
  const DSAccordionSlots = {
38
40
  CONTAINER: "root",
39
- ITEM: {
40
- CONTAINER: "item-container",
41
- HEADER: {
42
- CONTAINER: "item-header-container",
43
- ADDON: "item-header-addon",
44
- TITLE_CONTAINER: "item-header-titles-container",
45
- PRIMARY_TITLE: "item-header-primary-title",
46
- SECONDARY_TITLE: "item-header-secondary-title",
47
- CUSTOM_ACTIONS_CONTAINER: "item-header-custom-actions-container",
48
- TOOLTIP: "item-header-tooltip"
49
- },
50
- CONTENT: {
51
- CONTAINER: "item-content-container"
52
- }
53
- }
41
+ ITEM_CONTAINER: "item-container",
42
+ ITEM_HEADER_CONTAINER: "item-header-container",
43
+ ITEM_HEADER_ADDON: "item-header-addon",
44
+ ITEM_HEADER_TITLE_CONTAINER: "item-header-titles-container",
45
+ ITEM_HEADER_PRIMARY_TITLE: "item-header-primary-title",
46
+ ITEM_HEADER_SECONDARY_TITLE: "item-header-secondary-title",
47
+ ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER: "item-header-custom-actions-container",
48
+ ITEM_HEADER_TOOLTIP: "item-header-tooltip",
49
+ ITEM_CONTENT_CONTAINER: "item-content-container"
50
+ };
51
+ const DSAccordionDataTestid = {
52
+ ...(0, import_ds_system.slotObjectToDataTestIds)(DSAccordionName, DSAccordionSlots),
53
+ ITEM_CONTENT_CONTAINER: "ds-accordion_item-content",
54
+ ITEM_HEADER_CONTAINER: "ds-accordion_item-header",
55
+ ITEM_CONTAINER: "ds-accordion_item",
56
+ CONTAINER: "ds-accordion_group"
54
57
  };
55
- //# sourceMappingURL=theming.js.map
58
+ //# sourceMappingURL=DSAccordionDefinitions.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/exported-related/DSAccordionDefinitions.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSAccordionName = 'DSAccordion';\n\nexport const DSAccordionSlots = {\n CONTAINER: 'root',\n ITEM_CONTAINER: 'item-container',\n ITEM_HEADER_CONTAINER: 'item-header-container',\n ITEM_HEADER_ADDON: 'item-header-addon',\n ITEM_HEADER_TITLE_CONTAINER: 'item-header-titles-container',\n ITEM_HEADER_PRIMARY_TITLE: 'item-header-primary-title',\n ITEM_HEADER_SECONDARY_TITLE: 'item-header-secondary-title',\n ITEM_HEADER_CUSTOM_ACTIONS_CONTAINER: 'item-header-custom-actions-container',\n ITEM_HEADER_TOOLTIP: 'item-header-tooltip',\n ITEM_CONTENT_CONTAINER: 'item-content-container',\n};\n\nexport const DSAccordionDataTestid = {\n ...slotObjectToDataTestIds(DSAccordionName, DSAccordionSlots),\n ITEM_CONTENT_CONTAINER: 'ds-accordion_item-content',\n ITEM_HEADER_CONTAINER: 'ds-accordion_item-header',\n ITEM_CONTAINER: 'ds-accordion_item',\n CONTAINER: 'ds-accordion_group',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,kBAAkB;AAExB,MAAM,mBAAmB;AAAA,EAC9B,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,6BAA6B;AAAA,EAC7B,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,sCAAsC;AAAA,EACtC,qBAAqB;AAAA,EACrB,wBAAwB;AAC1B;AAEO,MAAM,wBAAwB;AAAA,EACnC,OAAG,0CAAwB,iBAAiB,gBAAgB;AAAA,EAC5D,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,WAAW;AACb;",
6
+ "names": []
7
+ }
@@ -26,6 +26,5 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
26
26
  var exported_related_exports = {};
27
27
  module.exports = __toCommonJS(exported_related_exports);
28
28
  var React = __toESM(require("react"));
29
- __reExport(exported_related_exports, require("./DSAccordionDatatestid.js"), module.exports);
30
- __reExport(exported_related_exports, require("./theming.js"), module.exports);
29
+ __reExport(exported_related_exports, require("./DSAccordionDefinitions.js"), module.exports);
31
30
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/exported-related/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './DSAccordionDatatestid.js';\nexport * from './theming.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,qCAAc,uCAAd;AACA,qCAAc,yBADd;",
3
+ "sources": ["../../../src/exported-related/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export * from './DSAccordionDefinitions.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;ADAvB,qCAAc,wCAAd;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export * from './DSAccordion.js';\nexport * from './parts/accordionItem/DSAccordionItem.js';\nexport * from './exported-related/index.js';\n\nexport { default } from './DSAccordion.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,6BAAd;AACA,wBAAc,qDADd;AAEA,wBAAc,wCAFd;AAIA,yBAAwB;",
3
+ "sources": ["../../src/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import {} from '@xstyled/system';\nimport {} from '@xstyled/util';\nexport * from './DSAccordion.js';\nexport * from './parts/accordionItem/DSAccordionItem.js';\nexport * from './exported-related/index.js';\n\nexport { default } from './DSAccordion.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,wBAAc,6BAFd;AAGA,wBAAc,qDAHd;AAIA,wBAAc,wCAJd;AAMA,yBAAwB;",
6
6
  "names": []
7
7
  }
@@ -36,15 +36,18 @@ var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
38
38
  var import_DSAccordionCTX = require("../../DSAccordionCTX.js");
39
- var import_DSAccordionDatatestid = require("../../exported-related/DSAccordionDatatestid.js");
39
+ var import_DSAccordionDefinitions = require("../../exported-related/DSAccordionDefinitions.js");
40
40
  var import_styles = require("./styles.js");
41
+ var import_lodash = require("lodash");
41
42
  const AccordionContent = () => {
42
- const {
43
- props: { containerProps, children, onChange, ...rest }
44
- } = (0, import_react.useContext)(import_DSAccordionCTX.DSAccordionContext);
43
+ const { props } = (0, import_react.useContext)(import_DSAccordionCTX.DSAccordionContext);
44
+ const getOwnerProps = (0, import_react.useCallback)(() => props, [props]);
45
+ const getOwnerPropsArguments = (0, import_react.useCallback)(() => ({}), []);
46
+ const { containerProps, children, ...rest } = props;
47
+ const restWithoutOnChange = (0, import_lodash.omit)(rest, "onChange");
45
48
  const childrenWithIndex = [];
46
- const xstyledAttrs = (0, import_ds_props_helpers.useGetXstyledProps)(rest);
47
- const globalAttrs = (0, import_ds_props_helpers.useGetGlobalAttributes)(rest);
49
+ const xstyledAttrs = (0, import_ds_props_helpers.useGetXstyledProps)(restWithoutOnChange);
50
+ const globalAttrs = (0, import_ds_props_helpers.useGetGlobalAttributes)(restWithoutOnChange);
48
51
  import_react.default.Children.forEach(
49
52
  children,
50
53
  (child, index) => childrenWithIndex.push(
@@ -53,6 +56,17 @@ const AccordionContent = () => {
53
56
  })
54
57
  )
55
58
  );
56
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledContainer, { "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.GROUP, ...containerProps, ...globalAttrs, ...xstyledAttrs, children: childrenWithIndex });
59
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
60
+ import_styles.StyledContainer,
61
+ {
62
+ "data-testid": import_DSAccordionDefinitions.DSAccordionDataTestid.CONTAINER,
63
+ ...containerProps,
64
+ ...globalAttrs,
65
+ ...xstyledAttrs,
66
+ getOwnerProps,
67
+ getOwnerPropsArguments,
68
+ children: childrenWithIndex
69
+ }
70
+ );
57
71
  };
58
72
  //# sourceMappingURL=AccordionContent.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/parts/accordionContent/AccordionContent.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useContext } from 'react';\nimport { useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-props-helpers';\nimport { DSAccordionContext } from '../../DSAccordionCTX.js';\nimport { DSAccordionDataTestid } from '../../exported-related/DSAccordionDatatestid.js';\nimport { StyledContainer } from './styles.js';\nimport type { DSAccordionT } from '../../react-desc-prop-types.js';\n\nexport const AccordionContent = (): JSX.Element => {\n const {\n props: { containerProps, children, onChange, ...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;AD2BnB;AA3BJ,mBAAkC;AAClC,8BAA2D;AAC3D,4BAAmC;AACnC,mCAAsC;AACtC,oBAAgC;AAGzB,MAAM,mBAAmB,MAAmB;AACjD,QAAM;AAAA,IACJ,OAAO,EAAE,gBAAgB,UAAU,UAAU,GAAG,KAAK;AAAA,EACvD,QAAI,yBAAW,wCAAkB;AAEjC,QAAM,oBAA0E,CAAC;AAEjF,QAAM,mBAAe,4CAAmB,IAAI;AAE5C,QAAM,kBAAc,gDAAuB,IAAI;AAE/C,eAAAA,QAAM,SAAS;AAAA,IAAQ;AAAA,IAAU,CAAC,OAAO,UACvC,kBAAkB;AAAA,MAChB,aAAAA,QAAM,aAAa,OAAO;AAAA,QACxB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SACE,4CAAC,iCAAgB,eAAa,mDAAsB,OAAQ,GAAG,gBAAiB,GAAG,aAAc,GAAG,cACjG,6BACH;AAEJ;",
3
+ "sources": ["../../../../src/parts/accordionContent/AccordionContent.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React, { useCallback, useContext } from 'react';\nimport { useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-props-helpers';\nimport { DSAccordionContext } from '../../DSAccordionCTX.js';\nimport { DSAccordionDataTestid } from '../../exported-related/DSAccordionDefinitions.js';\nimport { StyledContainer } from './styles.js';\nimport type { DSAccordionT } from '../../react-desc-prop-types.js';\nimport { omit } from 'lodash';\n\nexport const AccordionContent = (): JSX.Element => {\n const { props } = useContext(DSAccordionContext);\n\n const getOwnerProps = useCallback(() => props, [props]);\n const getOwnerPropsArguments = useCallback(() => ({}), []);\n\n const { containerProps, children, ...rest } = props;\n\n const restWithoutOnChange = omit(rest, 'onChange');\n\n const childrenWithIndex: React.ReactElement<DSAccordionT.InternalItemProps>[] = [];\n\n const xstyledAttrs = useGetXstyledProps(restWithoutOnChange);\n\n const globalAttrs = useGetGlobalAttributes(restWithoutOnChange);\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\n data-testid={DSAccordionDataTestid.CONTAINER}\n {...containerProps}\n {...globalAttrs}\n {...xstyledAttrs}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {childrenWithIndex}\n </StyledContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiCnB;AAjCJ,mBAA+C;AAC/C,8BAA2D;AAC3D,4BAAmC;AACnC,oCAAsC;AACtC,oBAAgC;AAEhC,oBAAqB;AAEd,MAAM,mBAAmB,MAAmB;AACjD,QAAM,EAAE,MAAM,QAAI,yBAAW,wCAAkB;AAE/C,QAAM,oBAAgB,0BAAY,MAAM,OAAO,CAAC,KAAK,CAAC;AACtD,QAAM,6BAAyB,0BAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAEzD,QAAM,EAAE,gBAAgB,UAAU,GAAG,KAAK,IAAI;AAE9C,QAAM,0BAAsB,oBAAK,MAAM,UAAU;AAEjD,QAAM,oBAA0E,CAAC;AAEjF,QAAM,mBAAe,4CAAmB,mBAAmB;AAE3D,QAAM,kBAAc,gDAAuB,mBAAmB;AAE9D,eAAAA,QAAM,SAAS;AAAA,IAAQ;AAAA,IAAU,CAAC,OAAO,UACvC,kBAAkB;AAAA,MAChB,aAAAA,QAAM,aAAa,OAAO;AAAA,QACxB,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,oDAAsB;AAAA,MAClC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/parts/accordionContent/styles.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
3
+ "sources": ["../../../../src/parts/accordionContent/styles.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { styled, xStyledCommonProps } from '@elliemae/ds-system';\nimport { DSAccordionName, DSAccordionSlots } from '../../exported-related/index.js';\n\nexport const StyledContainer = styled('div', {\n name: DSAccordionName,\n slot: DSAccordionSlots.CONTAINER,\n})`\n min-width: 240px;\n ${xStyledCommonProps};\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA2C;AAC3C,8BAAkD;AAE3C,MAAM,sBAAkB,yBAAO,OAAO;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM,yCAAiB;AACzB,CAAC;AAAA;AAAA,IAEG;AAAA;",
6
6
  "names": []
@@ -45,13 +45,15 @@ var import_defaultProps = require("../../defaultProps.js");
45
45
  var import_styles = require("./styles.js");
46
46
  var import_useAccordionItem = require("./useAccordionItem.js");
47
47
  var import_DSAccordionCTX = require("../../DSAccordionCTX.js");
48
- var import_DSAccordionDatatestid = require("../../exported-related/DSAccordionDatatestid.js");
48
+ var import_DSAccordionDefinitions = require("../../exported-related/DSAccordionDefinitions.js");
49
49
  var import_react_desc_prop_types = require("../../react-desc-prop-types.js");
50
50
  const DSAccordionItem = (props) => {
51
51
  const propsWithDefaults = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(
52
52
  props,
53
53
  import_defaultProps.accordionItemDefaultProps
54
54
  );
55
+ const getOwnerProps = (0, import_react.useCallback)(() => props, [props]);
56
+ const getOwnerPropsArguments = (0, import_react.useCallback)(() => ({}), []);
55
57
  const {
56
58
  children,
57
59
  title,
@@ -65,6 +67,8 @@ const DSAccordionItem = (props) => {
65
67
  renderCustomActions,
66
68
  CustomActions,
67
69
  xStyledPropsContent,
70
+ keepContentMounted,
71
+ innerRef,
68
72
  ...rest
69
73
  } = propsWithDefaults;
70
74
  const { handleOnClick, handleOnKeyDown, selected } = (0, import_useAccordionItem.useAccordionItem)({ value, disabled });
@@ -76,26 +80,51 @@ const DSAccordionItem = (props) => {
76
80
  props: { isDSMobile }
77
81
  } = (0, import_react.useContext)(import_DSAccordionCTX.DSAccordionContext);
78
82
  const [showPopover, setShowPopover] = (0, import_react.useState)(false);
79
- const [referenceElement, setReferenceElement] = (0, import_react.useState)();
83
+ const [referenceElement, setReferenceElement] = (0, import_react.useState)(null);
80
84
  const CustomActionsContent = (0, import_react.useMemo)(() => {
81
85
  if (!isDSMobile && customActions?.length > 0)
82
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledItemCustomActions, { isDSMobile, children: customActions?.map(({ onClick, id, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
- import_ds_button_v2.DSButtonV2,
86
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
+ import_styles.StyledItemCustomActions,
84
88
  {
85
- onClick: (e) => {
86
- e.stopPropagation();
87
- if (onClick)
88
- onClick(e);
89
- },
90
- ...otherProps,
91
- buttonType: import_ds_button_v2.BUTTON_TYPES.OUTLINE
92
- },
93
- id
94
- )) });
89
+ isDSMobile,
90
+ getOwnerProps,
91
+ getOwnerPropsArguments,
92
+ children: customActions?.map(({ onClick, id, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
93
+ import_ds_button_v2.DSButtonV2,
94
+ {
95
+ onClick: (e) => {
96
+ e.stopPropagation();
97
+ if (onClick)
98
+ onClick(e);
99
+ },
100
+ ...otherProps,
101
+ buttonType: import_ds_button_v2.BUTTON_TYPES.OUTLINE
102
+ },
103
+ id
104
+ ))
105
+ }
106
+ );
95
107
  if (!isDSMobile && (renderCustomActions || CustomActions))
96
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledItemCustomActions, { isDSMobile, children: CustomActions !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomActions, { allRefs: allChildrenReferences, actualActiveValue }) : renderCustomActions?.({ allRefs: allChildrenReferences, actualActiveValue }) });
108
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
109
+ import_styles.StyledItemCustomActions,
110
+ {
111
+ isDSMobile,
112
+ getOwnerProps,
113
+ getOwnerPropsArguments,
114
+ children: CustomActions !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomActions, { allRefs: allChildrenReferences, actualActiveValue }) : renderCustomActions?.({ allRefs: allChildrenReferences, actualActiveValue })
115
+ }
116
+ );
97
117
  return null;
98
- }, [CustomActions, actualActiveValue, allChildrenReferences, customActions, isDSMobile, renderCustomActions]);
118
+ }, [
119
+ CustomActions,
120
+ actualActiveValue,
121
+ allChildrenReferences,
122
+ customActions,
123
+ getOwnerProps,
124
+ getOwnerPropsArguments,
125
+ isDSMobile,
126
+ renderCustomActions
127
+ ]);
99
128
  const { isShowingEllipsis: isPrimaryShowingEllipsis, setElement: setPrimaryElement } = (0, import_ds_utilities.useIsShowingEllipsis)();
100
129
  const { isShowingEllipsis: isSecondaryShowingEllipsis, setElement: setSecondaryElement } = (0, import_ds_utilities.useIsShowingEllipsis)();
101
130
  const onKeyDownWithIndex = (0, import_react.useCallback)(
@@ -131,22 +160,51 @@ const DSAccordionItem = (props) => {
131
160
  width: "100%",
132
161
  children: [
133
162
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { cols: ["20px", "auto"], children: [
134
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledItemAddon, { disabled, children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, {}) }),
135
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledItemTitles, { withSecondaryTitle: secondaryTitle, selected, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
136
- import_styles.StyledPrimaryTitle,
163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
164
+ import_styles.StyledItemAddon,
137
165
  {
138
- ref: setPrimaryElement,
139
- ...title ? { id: `accordion_${title || ""}id-${value}` } : void 0,
140
166
  disabled,
141
- selected,
167
+ getOwnerProps,
168
+ getOwnerPropsArguments,
169
+ children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, {}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, {})
170
+ }
171
+ ),
172
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
173
+ import_styles.StyledItemTitles,
174
+ {
142
175
  withSecondaryTitle: secondaryTitle,
143
- children: title
176
+ selected,
177
+ getOwnerProps,
178
+ getOwnerPropsArguments,
179
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
180
+ import_styles.StyledPrimaryTitle,
181
+ {
182
+ ref: setPrimaryElement,
183
+ ...title ? { id: `accordion_${title || ""}id-${value}` } : void 0,
184
+ disabled,
185
+ selected,
186
+ withSecondaryTitle: Boolean(secondaryTitle),
187
+ getOwnerProps,
188
+ getOwnerPropsArguments,
189
+ children: title
190
+ }
191
+ )
144
192
  }
145
- ) })
193
+ )
146
194
  ] }),
147
195
  secondaryTitle && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { cols: ["20px", "auto"], children: [
148
196
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {}),
149
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledSecondaryTitle, { ref: setSecondaryElement, disabled, selected, children: secondaryTitle })
197
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
198
+ import_styles.StyledSecondaryTitle,
199
+ {
200
+ ref: setSecondaryElement,
201
+ disabled,
202
+ selected,
203
+ getOwnerProps,
204
+ getOwnerPropsArguments,
205
+ children: secondaryTitle
206
+ }
207
+ )
150
208
  ] })
151
209
  ]
152
210
  }
@@ -156,6 +214,8 @@ const DSAccordionItem = (props) => {
156
214
  handleOnBlur,
157
215
  secondaryTitle,
158
216
  disabled,
217
+ getOwnerProps,
218
+ getOwnerPropsArguments,
159
219
  selected,
160
220
  IconOpened,
161
221
  IconClosed,
@@ -175,6 +235,8 @@ const DSAccordionItem = (props) => {
175
235
  isDSMobile: true,
176
236
  withSecondaryTitle: secondaryTitle,
177
237
  selected,
238
+ getOwnerProps,
239
+ getOwnerPropsArguments,
178
240
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
179
241
  import_styles.StyledPrimaryTitle,
180
242
  {
@@ -183,64 +245,112 @@ const DSAccordionItem = (props) => {
183
245
  disabled,
184
246
  isDSMobile: true,
185
247
  selected,
186
- withSecondaryTitle: secondaryTitle,
248
+ withSecondaryTitle: Boolean(secondaryTitle),
249
+ getOwnerProps,
250
+ getOwnerPropsArguments,
187
251
  children: title
188
252
  }
189
253
  )
190
254
  }
191
255
  ),
192
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styles.StyledItemAddon, { disabled, isDSMobile: true, children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, { isDSMobile: true }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, { isDSMobile: true }) })
193
- ] }) }),
194
- [handleOnFocus, handleOnBlur, secondaryTitle, selected, setPrimaryElement, title, disabled, IconOpened, IconClosed]
195
- );
196
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styles.StyledItemContainer, { "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTAINER, className, ...xstyledAttrs, children: [
197
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styles.StyledItemHeaderContainer, { disabled, ref: setReferenceElement, children: [
198
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
199
- import_styles.StyledItemHeader,
256
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
257
+ import_styles.StyledItemAddon,
200
258
  {
201
- type: "button",
202
- withCustomActions: (customActions?.length > 0 || renderCustomActions !== void 0) && !isDSMobile,
203
- withSecondaryTitle: secondaryTitle,
204
- tabIndex: !disabled ? 0 : void 0,
205
259
  disabled,
206
- "data-disabled": disabled,
207
- ref: allChildrenReferences[dsIndex],
208
- onKeyDown: onKeyDownWithIndex,
209
- isDSMobile,
210
- "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.HEADER,
211
- id: `ds-accordion-header-${value}`,
212
- "aria-expanded": selected,
213
- "aria-disabled": disabled,
214
- "aria-controls": `ds-accordion-content-${value}`,
215
- ...handlers,
216
- ...globalAttrs,
217
- children: [
218
- isDSMobile ? titleMobile : titleDesktop,
219
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_popperjs.DSPopperJS, { referenceElement, showPopover: !selected && showPopover, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styles.StyledTooltipContent, { children: [
220
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: title }),
221
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { children: [
222
- " ",
223
- secondaryTitle
224
- ] })
225
- ] }) })
226
- ]
260
+ isDSMobile: true,
261
+ getOwnerProps,
262
+ getOwnerPropsArguments,
263
+ children: selected ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconOpened, { isDSMobile: true }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconClosed, { isDSMobile: true })
227
264
  }
228
- ),
229
- CustomActionsContent
230
- ] }),
231
- selected && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
232
- import_styles.StyledItemContent,
233
- {
234
- "data-testid": import_DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTENT,
235
- "aria-labelledby": `ds-accordion-header-${value}`,
236
- role: "region",
237
- isDSMobile,
238
- id: `ds-accordion-content-${value}`,
239
- ...xstyledContentAttrs,
240
- children
241
- }
242
- )
243
- ] });
265
+ )
266
+ ] }) }),
267
+ [
268
+ handleOnFocus,
269
+ handleOnBlur,
270
+ secondaryTitle,
271
+ selected,
272
+ getOwnerProps,
273
+ getOwnerPropsArguments,
274
+ setPrimaryElement,
275
+ title,
276
+ disabled,
277
+ IconOpened,
278
+ IconClosed
279
+ ]
280
+ );
281
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
282
+ import_styles.StyledItemContainer,
283
+ {
284
+ "data-testid": import_DSAccordionDefinitions.DSAccordionDataTestid.ITEM_CONTAINER,
285
+ className,
286
+ ...xstyledAttrs,
287
+ getOwnerProps,
288
+ getOwnerPropsArguments,
289
+ children: [
290
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
291
+ import_styles.StyledItemHeaderContainer,
292
+ {
293
+ disabled,
294
+ ref: setReferenceElement,
295
+ getOwnerProps,
296
+ getOwnerPropsArguments,
297
+ children: [
298
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
299
+ import_styles.StyledItemHeader,
300
+ {
301
+ withCustomActions: (customActions?.length > 0 || renderCustomActions !== void 0) && !isDSMobile,
302
+ withSecondaryTitle: secondaryTitle,
303
+ tabIndex: !disabled ? 0 : void 0,
304
+ disabled,
305
+ "data-disabled": disabled,
306
+ ref: (0, import_ds_utilities.mergeRefs)(allChildrenReferences[dsIndex], innerRef),
307
+ onKeyDown: onKeyDownWithIndex,
308
+ isDSMobile,
309
+ "data-testid": import_DSAccordionDefinitions.DSAccordionDataTestid.ITEM_HEADER_CONTAINER,
310
+ id: `ds-accordion-header-${value}`,
311
+ "aria-expanded": selected,
312
+ "aria-disabled": disabled,
313
+ "aria-controls": `ds-accordion-content-${value}`,
314
+ ...handlers,
315
+ ...globalAttrs,
316
+ type: "button",
317
+ getOwnerProps,
318
+ getOwnerPropsArguments,
319
+ children: [
320
+ isDSMobile ? titleMobile : titleDesktop,
321
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_popperjs.DSPopperJS, { referenceElement, showPopover: !selected && showPopover, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styles.StyledTooltipContent, { getOwnerProps, getOwnerPropsArguments, children: [
322
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: title }),
323
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { children: [
324
+ " ",
325
+ secondaryTitle
326
+ ] })
327
+ ] }) })
328
+ ]
329
+ }
330
+ ),
331
+ CustomActionsContent
332
+ ]
333
+ }
334
+ ),
335
+ (selected || keepContentMounted) && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
336
+ import_styles.StyledItemContent,
337
+ {
338
+ "data-testid": import_DSAccordionDefinitions.DSAccordionDataTestid.ITEM_CONTENT_CONTAINER,
339
+ "aria-labelledby": `ds-accordion-header-${value}`,
340
+ role: "region",
341
+ isDSMobile,
342
+ id: `ds-accordion-content-${value}`,
343
+ ...xstyledContentAttrs,
344
+ selected,
345
+ keepContentMounted,
346
+ getOwnerProps,
347
+ getOwnerPropsArguments,
348
+ children
349
+ }
350
+ )
351
+ ]
352
+ }
353
+ );
244
354
  };
245
355
  DSAccordionItem.displayName = "DSAccordionItem";
246
356
  const DSAccordionItemWithSchema = (0, import_ds_props_helpers.describe)(DSAccordionItem);