@elliemae/ds-accordion 1.61.12 → 1.61.13
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.
- package/cjs/DSAccordion.js.map +1 -1
- package/cjs/DSAccordionHeader.js.map +1 -1
- package/cjs/DSAccordionHeaderActions.js.map +1 -1
- package/cjs/DSAccordionHeaderTitle.js.map +1 -1
- package/cjs/DSAccordionItem.js.map +1 -1
- package/esm/DSAccordion.js.map +1 -1
- package/esm/DSAccordionHeader.js.map +1 -1
- package/esm/DSAccordionHeaderActions.js.map +1 -1
- package/esm/DSAccordionHeaderTitle.js.map +1 -1
- package/esm/DSAccordionItem.js.map +1 -1
- package/package.json +7 -7
package/cjs/DSAccordion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordion.js","sources":["../../src/DSAccordion.tsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport Group from '@elliemae/ds-shared/GroupContext/Group';\nimport { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport DSAccordionItem from './DSAccordionItem';\n\nconst DSAccordion = ({\n containerProps = {},\n activeValue = '',\n children,\n allowMultipleOpen = false,\n contentExpandable = false,\n onChange = () => {},\n}) => {\n const { cssClassName } = convertPropToCssClassName('accordion');\n const tabsRef = {};\n const handleKeyPress = (index, e) => {\n if (e.keyCode === 39 || e.keyCode === 40) {\n const nextTab = tabsRef[index + 1];\n if (!nextTab) return;\n tabsRef[index + 1].focus();\n }\n if (e.keyCode === 37 || e.keyCode === 38) {\n const nextTab = tabsRef[index - 1];\n if (!nextTab) return;\n tabsRef[index - 1].focus();\n }\n };\n return (\n <TooltipTextProvider>\n <Group\n activeValue={activeValue}\n multiple={allowMultipleOpen}\n onChange={onChange}\n >\n <section className={cssClassName} {...containerProps}>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n idx,\n expandable: contentExpandable,\n setTabRef: (ref) => {\n tabsRef[idx] = ref;\n },\n handleKeyPress,\n }),\n null,\n )}\n </section>\n </Group>\n </TooltipTextProvider>\n );\n};\n\nconst props = {\n /** inject props to wrapper */\n containerProps: PropTypes.object.description('inject props to wrapper'),\n /**\n * Selected default active value\n */\n activeValue: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n PropTypes.string,\n PropTypes.number,\n ]).description('Selected default active value'),\n /**\n * Accordion items to show\n */\n children: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.instanceOf(DSAccordionItem),\n }),\n ).isRequired.description('Accordion items to show'),\n /**\n * Allows multiple accordion items to be open at the same time\n */\n allowMultipleOpen: PropTypes.bool.description(\n 'Allows multiple accordion items to be open at the same time',\n ),\n /**\n * Whether content is expandable or not\n */\n contentExpandable: PropTypes.bool.description(\n 'Whether content is expandable or not',\n ),\n /**\n * Allows a function that is triggered once the accordion changes\n */\n onChange: PropTypes.func.description(\n 'Allows a function that is triggered once the accordion changes',\n ),\n};\n\nDSAccordion.propTypes = props;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = props;\n\nexport { DSAccordion, DSAccordionWithSchema };\nexport default DSAccordion;\n"],"names":["DSAccordion","containerProps","activeValue","children","allowMultipleOpen","contentExpandable","onChange","convertPropToCssClassName","cssClassName","tabsRef","handleKeyPress","index","e","keyCode","nextTab","focus","React","TooltipTextProvider","Group","Children","map","child","idx","cloneElement","key","expandable","setTabRef","ref","props","PropTypes","object","description","oneOfType","arrayOf","string","number","shape","type","instanceOf","DSAccordionItem","isRequired","bool","func","propTypes","DSAccordionWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOMA,WAAW,GAAG,SAAdA,WAAc,OAOd;
|
|
1
|
+
{"version":3,"file":"DSAccordion.js","sources":["../../src/DSAccordion.tsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport Group from '@elliemae/ds-shared/GroupContext/Group';\nimport { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport DSAccordionItem from './DSAccordionItem';\n\nconst DSAccordion = ({\n containerProps = {},\n activeValue = '',\n children,\n allowMultipleOpen = false,\n contentExpandable = false,\n onChange = () => {},\n}) => {\n const { cssClassName } = convertPropToCssClassName('accordion');\n const tabsRef = {};\n const handleKeyPress = (index, e) => {\n if (e.keyCode === 39 || e.keyCode === 40) {\n const nextTab = tabsRef[index + 1];\n if (!nextTab) return;\n tabsRef[index + 1].focus();\n }\n if (e.keyCode === 37 || e.keyCode === 38) {\n const nextTab = tabsRef[index - 1];\n if (!nextTab) return;\n tabsRef[index - 1].focus();\n }\n };\n return (\n <TooltipTextProvider>\n <Group\n activeValue={activeValue}\n multiple={allowMultipleOpen}\n onChange={onChange}\n >\n <section className={cssClassName} {...containerProps}>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n idx,\n expandable: contentExpandable,\n setTabRef: (ref) => {\n tabsRef[idx] = ref;\n },\n handleKeyPress,\n }),\n null,\n )}\n </section>\n </Group>\n </TooltipTextProvider>\n );\n};\n\nconst props = {\n /** inject props to wrapper */\n containerProps: PropTypes.object.description('inject props to wrapper'),\n /**\n * Selected default active value\n */\n activeValue: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n PropTypes.string,\n PropTypes.number,\n ]).description('Selected default active value'),\n /**\n * Accordion items to show\n */\n children: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.instanceOf(DSAccordionItem),\n }),\n ).isRequired.description('Accordion items to show'),\n /**\n * Allows multiple accordion items to be open at the same time\n */\n allowMultipleOpen: PropTypes.bool.description(\n 'Allows multiple accordion items to be open at the same time',\n ),\n /**\n * Whether content is expandable or not\n */\n contentExpandable: PropTypes.bool.description(\n 'Whether content is expandable or not',\n ),\n /**\n * Allows a function that is triggered once the accordion changes\n */\n onChange: PropTypes.func.description(\n 'Allows a function that is triggered once the accordion changes',\n ),\n};\n\nDSAccordion.propTypes = props;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = props;\n\nexport { DSAccordion, DSAccordionWithSchema };\nexport default DSAccordion;\n"],"names":["DSAccordion","containerProps","activeValue","children","allowMultipleOpen","contentExpandable","onChange","convertPropToCssClassName","cssClassName","tabsRef","handleKeyPress","index","e","keyCode","nextTab","focus","React","TooltipTextProvider","Group","Children","map","child","idx","cloneElement","key","expandable","setTabRef","ref","props","PropTypes","object","description","oneOfType","arrayOf","string","number","shape","type","instanceOf","DSAccordionItem","isRequired","bool","func","propTypes","DSAccordionWithSchema","describe"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeader.js","sources":["../../src/DSAccordionHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { withTheme, useIsMobile } from '@elliemae/ds-system';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport DSAccordionHeaderActions from './DSAccordionHeaderActions';\nimport DSAccordionHeaderTitle from './DSAccordionHeaderTitle';\nimport { accordionTitle, accordionButton } from './blocks';\n\nconst DSAccordionHeader = withTheme(\n ({ title, secondaryTitle, customActions, idx, icon, selected, setTabRef, onClick, onKeyDown }) => {\n const mobile = useIsMobile();\n const hasSecondaryTitle = Boolean(secondaryTitle);\n const selectedClass = selected ? 'selected' : '';\n const labelClass = hasSecondaryTitle ? 'secondary-title' : '';\n const IconMobile = selected ? ChevronDown : ChevronRight;\n return (\n <DSButton\n aria-controls={`sec${idx}`}\n aria-expanded={selected}\n aria-label={title}\n as=\"div\"\n buttonType=\"secondary\"\n className={`${accordionButton} ${selectedClass} ${hasSecondaryTitle ? 'with-secondary-title' : ''}`}\n data-testid=\"ds-accordion_item-header\"\n innerRef={setTabRef}\n labelText={\n <div className={`${accordionTitle} ${selectedClass} ${labelClass}`}>\n {!mobile && icon}\n <DSAccordionHeaderTitle idx={idx} secondaryTitle={secondaryTitle} title={title} />\n {!mobile && <DSAccordionHeaderActions customActions={customActions} />}\n {mobile && <IconMobile />}\n </div>\n }\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n );\n },\n);\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","withTheme","title","secondaryTitle","customActions","idx","icon","selected","setTabRef","onClick","onKeyDown","mobile","useIsMobile","hasSecondaryTitle","Boolean","selectedClass","labelClass","IconMobile","ChevronDown","ChevronRight","React","DSButton","accordionButton","accordionTitle"],"mappings":";;;;;;;;;;;;;;;;;;;IAQMA,iBAAiB,GAAGC,kBAAS,CACjC,gBAAkG;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeader.js","sources":["../../src/DSAccordionHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { withTheme, useIsMobile } from '@elliemae/ds-system';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport DSAccordionHeaderActions from './DSAccordionHeaderActions';\nimport DSAccordionHeaderTitle from './DSAccordionHeaderTitle';\nimport { accordionTitle, accordionButton } from './blocks';\n\nconst DSAccordionHeader = withTheme(\n ({ title, secondaryTitle, customActions, idx, icon, selected, setTabRef, onClick, onKeyDown }) => {\n const mobile = useIsMobile();\n const hasSecondaryTitle = Boolean(secondaryTitle);\n const selectedClass = selected ? 'selected' : '';\n const labelClass = hasSecondaryTitle ? 'secondary-title' : '';\n const IconMobile = selected ? ChevronDown : ChevronRight;\n return (\n <DSButton\n aria-controls={`sec${idx}`}\n aria-expanded={selected}\n aria-label={title}\n as=\"div\"\n buttonType=\"secondary\"\n className={`${accordionButton} ${selectedClass} ${hasSecondaryTitle ? 'with-secondary-title' : ''}`}\n data-testid=\"ds-accordion_item-header\"\n innerRef={setTabRef}\n labelText={\n <div className={`${accordionTitle} ${selectedClass} ${labelClass}`}>\n {!mobile && icon}\n <DSAccordionHeaderTitle idx={idx} secondaryTitle={secondaryTitle} title={title} />\n {!mobile && <DSAccordionHeaderActions customActions={customActions} />}\n {mobile && <IconMobile />}\n </div>\n }\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n );\n },\n);\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","withTheme","title","secondaryTitle","customActions","idx","icon","selected","setTabRef","onClick","onKeyDown","mobile","useIsMobile","hasSecondaryTitle","Boolean","selectedClass","labelClass","IconMobile","ChevronDown","ChevronRight","React","DSButton","accordionButton","accordionTitle"],"mappings":";;;;;;;;;;;;;;;;;;;IAQMA,iBAAiB,GAAGC,kBAAS,CACjC,gBAAkG;EAAA,IAA/FC,KAA+F,QAA/FA,KAA+F;MAAxFC,cAAwF,QAAxFA,cAAwF;MAAxEC,aAAwE,QAAxEA,aAAwE;MAAzDC,GAAyD,QAAzDA,GAAyD;MAApDC,IAAoD,QAApDA,IAAoD;MAA9CC,QAA8C,QAA9CA,QAA8C;MAApCC,SAAoC,QAApCA,SAAoC;MAAzBC,OAAyB,QAAzBA,OAAyB;MAAhBC,SAAgB,QAAhBA,SAAgB;EAChG,IAAMC,MAAM,GAAGC,oBAAW,EAA1B;EACA,IAAMC,iBAAiB,GAAGC,OAAO,CAACX,cAAD,CAAjC;EACA,IAAMY,aAAa,GAAGR,QAAQ,GAAG,UAAH,GAAgB,EAA9C;EACA,IAAMS,UAAU,GAAGH,iBAAiB,GAAG,iBAAH,GAAuB,EAA3D;EACA,IAAMI,UAAU,GAAGV,QAAQ,GAAGW,mBAAH,GAAiBC,oBAA5C;EACA,oBACEC,wCAACC,4BAAD;IACE,8BAAqBhB,GAArB,CADF;IAEE,iBAAeE,QAFjB;IAGE,cAAYL,KAHd;IAIE,EAAE,EAAC,KAJL;IAKE,UAAU,EAAC,WALb;IAME,SAAS,YAAKoB,sBAAL,cAAwBP,aAAxB,cAAyCF,iBAAiB,GAAG,sBAAH,GAA4B,EAAtF,CANX;IAOE,eAAY,0BAPd;IAQE,QAAQ,EAAEL,SARZ;IASE,SAAS,eACPY;MAAK,SAAS,YAAKG,qBAAL,cAAuBR,aAAvB,cAAwCC,UAAxC;OACX,CAACL,MAAD,IAAWL,IADd,eAEEc,wCAAC,sBAAD;MAAwB,GAAG,EAAEf,GAA7B;MAAkC,cAAc,EAAEF,cAAlD;MAAkE,KAAK,EAAED;MAF3E,EAGG,CAACS,MAAD,iBAAWS,wCAAC,wBAAD;MAA0B,aAAa,EAAEhB;MAHvD,EAIGO,MAAM,iBAAIS,wCAAC,UAAD,OAJb,CAVJ;IAiBE,OAAO,EAAEX,OAjBX;IAkBE,SAAS,EAAEC;IAnBf;AAsBD,CA7BgC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeaderActions.js","sources":["../../src/DSAccordionHeaderActions.tsx"],"sourcesContent":["import React from 'react';\nimport DSButton, { BUTTON_TYPE } from '@elliemae/ds-button';\nimport { accordionActions } from './blocks';\n\nconst DSAccordionHeaderActions = ({ customActions }) => {\n if (!customActions) return null;\n\n return (\n <div className={`${accordionActions}`}>\n {customActions.map(({ onClick, ...rest }, key) => (\n <DSButton\n key={key}\n onClick={(e) => {\n e.stopPropagation();\n if (onClick) onClick(e);\n }}\n {...rest}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </div>\n );\n};\n\nexport default DSAccordionHeaderActions;\n"],"names":["DSAccordionHeaderActions","customActions","React","accordionActions","map","key","onClick","rest","DSButton","e","stopPropagation","BUTTON_TYPE","SECONDARY"],"mappings":";;;;;;;;;;;;;;;;;;IAIMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAAuB;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeaderActions.js","sources":["../../src/DSAccordionHeaderActions.tsx"],"sourcesContent":["import React from 'react';\nimport DSButton, { BUTTON_TYPE } from '@elliemae/ds-button';\nimport { accordionActions } from './blocks';\n\nconst DSAccordionHeaderActions = ({ customActions }) => {\n if (!customActions) return null;\n\n return (\n <div className={`${accordionActions}`}>\n {customActions.map(({ onClick, ...rest }, key) => (\n <DSButton\n key={key}\n onClick={(e) => {\n e.stopPropagation();\n if (onClick) onClick(e);\n }}\n {...rest}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </div>\n );\n};\n\nexport default DSAccordionHeaderActions;\n"],"names":["DSAccordionHeaderActions","customActions","React","accordionActions","map","key","onClick","rest","DSButton","e","stopPropagation","BUTTON_TYPE","SECONDARY"],"mappings":";;;;;;;;;;;;;;;;;;IAIMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAAuB;EAAA,IAApBC,aAAoB,QAApBA,aAAoB;EACtD,IAAI,CAACA,aAAL,EAAoB,OAAO,IAAP;EAEpB,oBACEC;IAAK,SAAS,YAAKC,uBAAL;KACXF,aAAa,CAACG,GAAd,CAAkB,iBAAuBC,GAAvB;IAAA,IAAGC,QAAH,SAAGA,OAAH;QAAeC,IAAf;;IAAA,oBACjBL,wCAACM,4BAAD;MACE,GAAG,EAAEH,GADP;MAEE,OAAO,EAAE,iBAACI,CAAD,EAAO;QACdA,CAAC,CAACC,eAAF;QACA,IAAIJ,QAAJ,EAAaA,QAAO,CAACG,CAAD,CAAP;;OAEXF,IANN;MAOE,UAAU,EAAEI,oBAAW,CAACC;OART;GAAlB,CADH,CADF;AAeD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeaderTitle.js","sources":["../../src/DSAccordionHeaderTitle.tsx"],"sourcesContent":["import React from 'react';\nimport DSTruncatedTooltipText from '@elliemae/ds-truncated-tooltip-text';\nimport {\n accordionTitleWrapper,\n accordionH2Title,\n accordionSecondaryTitle,\n} from './blocks';\n\nconst DSAccordionHeader = ({ title, secondaryTitle, idx }) => {\n const hasSecondaryTitle = Boolean(secondaryTitle);\n return (\n <div\n className={`${accordionTitleWrapper} ${\n hasSecondaryTitle ? 'with-secondary-title' : ''\n }`}\n >\n <h2 id={`accordion_${idx}id`}>\n <DSTruncatedTooltipText className={accordionH2Title} value={title} />\n </h2>\n {hasSecondaryTitle && (\n <DSTruncatedTooltipText\n className={accordionSecondaryTitle}\n containerComponent={<div />}\n value={secondaryTitle}\n />\n )}\n </div>\n );\n};\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","title","secondaryTitle","idx","hasSecondaryTitle","Boolean","React","accordionTitleWrapper","DSTruncatedTooltipText","accordionH2Title","accordionSecondaryTitle"],"mappings":";;;;;;;;;;;;IAQMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAAoC;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeaderTitle.js","sources":["../../src/DSAccordionHeaderTitle.tsx"],"sourcesContent":["import React from 'react';\nimport DSTruncatedTooltipText from '@elliemae/ds-truncated-tooltip-text';\nimport {\n accordionTitleWrapper,\n accordionH2Title,\n accordionSecondaryTitle,\n} from './blocks';\n\nconst DSAccordionHeader = ({ title, secondaryTitle, idx }) => {\n const hasSecondaryTitle = Boolean(secondaryTitle);\n return (\n <div\n className={`${accordionTitleWrapper} ${\n hasSecondaryTitle ? 'with-secondary-title' : ''\n }`}\n >\n <h2 id={`accordion_${idx}id`}>\n <DSTruncatedTooltipText className={accordionH2Title} value={title} />\n </h2>\n {hasSecondaryTitle && (\n <DSTruncatedTooltipText\n className={accordionSecondaryTitle}\n containerComponent={<div />}\n value={secondaryTitle}\n />\n )}\n </div>\n );\n};\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","title","secondaryTitle","idx","hasSecondaryTitle","Boolean","React","accordionTitleWrapper","DSTruncatedTooltipText","accordionH2Title","accordionSecondaryTitle"],"mappings":";;;;;;;;;;;;IAQMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAAoC;EAAA,IAAjCC,KAAiC,QAAjCA,KAAiC;MAA1BC,cAA0B,QAA1BA,cAA0B;MAAVC,GAAU,QAAVA,GAAU;EAC5D,IAAMC,iBAAiB,GAAGC,OAAO,CAACH,cAAD,CAAjC;EACA,oBACEI;IACE,SAAS,YAAKC,4BAAL,cACPH,iBAAiB,GAAG,sBAAH,GAA4B,EADtC;kBAITE;IAAI,EAAE,sBAAeH,GAAf;kBACJG,wCAACE,0CAAD;IAAwB,SAAS,EAAEC,uBAAnC;IAAqD,KAAK,EAAER;IAD9D,CALF,EAQGG,iBAAiB,iBAChBE,wCAACE,0CAAD;IACE,SAAS,EAAEE,8BADb;IAEE,kBAAkB,eAAEJ,oDAFtB;IAGE,KAAK,EAAEJ;IAZb,CADF;AAkBD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionItem.js","sources":["../../src/DSAccordionItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { ArrowheadRight, ArrowheadDown } from '@elliemae/ds-icons';\nimport GroupItem from '@elliemae/ds-shared/GroupContext/GroupItem';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { PropTypes, describe } from 'react-desc';\nimport DSAccordionHeader from './DSAccordionHeader';\n\nconst ICON_SIZE = 's';\nconst INCREMENT = 8;\nconst QTY_PADDING = 40;\nconst { cssClassName, classNameElement } = convertPropToCssClassName('accordion-item');\n\nclass DSAccordionItem extends Component {\n constructor(props) {\n super(props);\n this.childElements = React.createRef();\n this.state = {\n actualHeight: null,\n };\n }\n\n componentDidMount() {\n this.setHeight(this.childElements.current);\n }\n\n componentDidUpdate() {\n const { expandable } = this.props;\n if (expandable) {\n this.setHeight(this.childElements.current);\n }\n }\n\n setHeight = (element) => {\n const { actualHeight } = this.state;\n setTimeout(() => {\n const { height } = element.getBoundingClientRect();\n if (height) {\n const newHeight = INCREMENT * QTY_PADDING + height;\n if (actualHeight === newHeight) return;\n this.setState({\n actualHeight: 'auto', // newHeight,\n });\n }\n }, 0);\n };\n\n render() {\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n value,\n idx,\n iconOpened,\n iconClosed,\n setTabRef,\n handleKeyPress,\n } = this.props;\n const { actualHeight } = this.state;\n return (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n const selected =\n activeValue !== undefined &&\n (activeValue === value || (activeValue.length && activeValue.indexOf(value) > -1));\n const OpenedCloseIcon = selected ? iconOpened : iconClosed;\n return (\n <div className={cssClassName} data-testid=\"ds-accordion_item\">\n <DSAccordionHeader\n customActions={customActions}\n icon={<OpenedCloseIcon size={ICON_SIZE} />}\n idx={idx}\n onClick={() => context.onChange(value)}\n onKeyDown={(e) => handleKeyPress(idx, e)}\n secondaryTitle={secondaryTitle}\n selected={selected}\n setTabRef={setTabRef}\n title={title}\n />\n <div\n data-testid=\"ds-accordion_item-content\"\n aria-hidden={!selected}\n aria-labelledby={`accordion_${idx}id`}\n className={`${classNameElement('container')} ${selected ? 'expanded' : 'closed'}`}\n data-testid=\"ds-accordion_item-content\"\n id={`sec${idx}`}\n role=\"region\"\n style={{ height: selected ? actualHeight : 0 }}\n >\n <div ref={this.childElements} className={classNameElement('expand-zone')}>\n <div className={classNameElement('expand-zone-space')}>{selected && children}</div>\n </div>\n </div>\n </div>\n );\n }}\n />\n );\n }\n}\n\nconst props = {\n /** accordion content */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired.description(\n 'accordion content',\n ),\n /** accordion title */\n title: PropTypes.string.description('accordion title'),\n /** accordion item value, for selected */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired.description(\n 'accordion item value, for selected',\n ),\n /** icon for closed accordion */\n iconClosed: PropTypes.node.description('icon for closed accordion'),\n /** icon for open accordion */\n iconOpened: PropTypes.node.description('icon for open accordion'),\n /** secondary title */\n secondaryTitle: PropTypes.string.description('secondary title'),\n /** accordion item custom actions */\n customActions: PropTypes.arrayOf(PropTypes.object).description('accordion item custom actions'),\n};\n\nDSAccordionItem.propTypes = props;\n\nDSAccordionItem.defaultProps = {\n iconClosed: () => <ArrowheadRight width=\"20px\" color={['brand-primary', 800]} />,\n iconOpened: () => <ArrowheadDown width=\"20px\" color={['brand-primary', 800]} />,\n title: '',\n secondaryTitle: null,\n customActions: null,\n};\n\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = props;\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n"],"names":["ICON_SIZE","INCREMENT","QTY_PADDING","convertPropToCssClassName","cssClassName","classNameElement","DSAccordionItem","props","setHeight","element","actualHeight","state","setTimeout","getBoundingClientRect","height","newHeight","setState","childElements","React","createRef","current","expandable","children","title","secondaryTitle","customActions","value","idx","iconOpened","iconClosed","setTabRef","handleKeyPress","GroupItem","context","activeValue","selected","undefined","length","indexOf","OpenedCloseIcon","onChange","e","Component","PropTypes","oneOfType","arrayOf","node","isRequired","description","string","number","object","propTypes","defaultProps","ArrowheadRight","ArrowheadDown","DSAccordionItemWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,SAAS,GAAG,GAAlB;AACA,IAAMC,SAAS,GAAG,CAAlB;AACA,IAAMC,WAAW,GAAG,EAApB;;AACA,4BAA2CC,sCAAyB,CAAC,gBAAD,CAApE;AAAA,IAAQC,YAAR,yBAAQA,YAAR;AAAA,IAAsBC,gBAAtB,yBAAsBA,gBAAtB;;IAEMC;;;;;
|
|
1
|
+
{"version":3,"file":"DSAccordionItem.js","sources":["../../src/DSAccordionItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { ArrowheadRight, ArrowheadDown } from '@elliemae/ds-icons';\nimport GroupItem from '@elliemae/ds-shared/GroupContext/GroupItem';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { PropTypes, describe } from 'react-desc';\nimport DSAccordionHeader from './DSAccordionHeader';\n\nconst ICON_SIZE = 's';\nconst INCREMENT = 8;\nconst QTY_PADDING = 40;\nconst { cssClassName, classNameElement } = convertPropToCssClassName('accordion-item');\n\nclass DSAccordionItem extends Component {\n constructor(props) {\n super(props);\n this.childElements = React.createRef();\n this.state = {\n actualHeight: null,\n };\n }\n\n componentDidMount() {\n this.setHeight(this.childElements.current);\n }\n\n componentDidUpdate() {\n const { expandable } = this.props;\n if (expandable) {\n this.setHeight(this.childElements.current);\n }\n }\n\n setHeight = (element) => {\n const { actualHeight } = this.state;\n setTimeout(() => {\n const { height } = element.getBoundingClientRect();\n if (height) {\n const newHeight = INCREMENT * QTY_PADDING + height;\n if (actualHeight === newHeight) return;\n this.setState({\n actualHeight: 'auto', // newHeight,\n });\n }\n }, 0);\n };\n\n render() {\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n value,\n idx,\n iconOpened,\n iconClosed,\n setTabRef,\n handleKeyPress,\n } = this.props;\n const { actualHeight } = this.state;\n return (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n const selected =\n activeValue !== undefined &&\n (activeValue === value || (activeValue.length && activeValue.indexOf(value) > -1));\n const OpenedCloseIcon = selected ? iconOpened : iconClosed;\n return (\n <div className={cssClassName} data-testid=\"ds-accordion_item\">\n <DSAccordionHeader\n customActions={customActions}\n icon={<OpenedCloseIcon size={ICON_SIZE} />}\n idx={idx}\n onClick={() => context.onChange(value)}\n onKeyDown={(e) => handleKeyPress(idx, e)}\n secondaryTitle={secondaryTitle}\n selected={selected}\n setTabRef={setTabRef}\n title={title}\n />\n <div\n data-testid=\"ds-accordion_item-content\"\n aria-hidden={!selected}\n aria-labelledby={`accordion_${idx}id`}\n className={`${classNameElement('container')} ${selected ? 'expanded' : 'closed'}`}\n data-testid=\"ds-accordion_item-content\"\n id={`sec${idx}`}\n role=\"region\"\n style={{ height: selected ? actualHeight : 0 }}\n >\n <div ref={this.childElements} className={classNameElement('expand-zone')}>\n <div className={classNameElement('expand-zone-space')}>{selected && children}</div>\n </div>\n </div>\n </div>\n );\n }}\n />\n );\n }\n}\n\nconst props = {\n /** accordion content */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired.description(\n 'accordion content',\n ),\n /** accordion title */\n title: PropTypes.string.description('accordion title'),\n /** accordion item value, for selected */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired.description(\n 'accordion item value, for selected',\n ),\n /** icon for closed accordion */\n iconClosed: PropTypes.node.description('icon for closed accordion'),\n /** icon for open accordion */\n iconOpened: PropTypes.node.description('icon for open accordion'),\n /** secondary title */\n secondaryTitle: PropTypes.string.description('secondary title'),\n /** accordion item custom actions */\n customActions: PropTypes.arrayOf(PropTypes.object).description('accordion item custom actions'),\n};\n\nDSAccordionItem.propTypes = props;\n\nDSAccordionItem.defaultProps = {\n iconClosed: () => <ArrowheadRight width=\"20px\" color={['brand-primary', 800]} />,\n iconOpened: () => <ArrowheadDown width=\"20px\" color={['brand-primary', 800]} />,\n title: '',\n secondaryTitle: null,\n customActions: null,\n};\n\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = props;\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n"],"names":["ICON_SIZE","INCREMENT","QTY_PADDING","convertPropToCssClassName","cssClassName","classNameElement","DSAccordionItem","props","_classCallCheck","setHeight","element","actualHeight","state","setTimeout","getBoundingClientRect","height","newHeight","setState","childElements","React","createRef","current","expandable","children","title","secondaryTitle","customActions","value","idx","iconOpened","iconClosed","setTabRef","handleKeyPress","GroupItem","context","activeValue","selected","undefined","length","indexOf","OpenedCloseIcon","onChange","e","Component","PropTypes","oneOfType","arrayOf","node","isRequired","description","string","number","object","propTypes","defaultProps","ArrowheadRight","ArrowheadDown","DSAccordionItemWithSchema","describe"],"mappings":"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"}
|
package/esm/DSAccordion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordion.js","sources":["../../src/DSAccordion.tsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport Group from '@elliemae/ds-shared/GroupContext/Group';\nimport { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport DSAccordionItem from './DSAccordionItem';\n\nconst DSAccordion = ({\n containerProps = {},\n activeValue = '',\n children,\n allowMultipleOpen = false,\n contentExpandable = false,\n onChange = () => {},\n}) => {\n const { cssClassName } = convertPropToCssClassName('accordion');\n const tabsRef = {};\n const handleKeyPress = (index, e) => {\n if (e.keyCode === 39 || e.keyCode === 40) {\n const nextTab = tabsRef[index + 1];\n if (!nextTab) return;\n tabsRef[index + 1].focus();\n }\n if (e.keyCode === 37 || e.keyCode === 38) {\n const nextTab = tabsRef[index - 1];\n if (!nextTab) return;\n tabsRef[index - 1].focus();\n }\n };\n return (\n <TooltipTextProvider>\n <Group\n activeValue={activeValue}\n multiple={allowMultipleOpen}\n onChange={onChange}\n >\n <section className={cssClassName} {...containerProps}>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n idx,\n expandable: contentExpandable,\n setTabRef: (ref) => {\n tabsRef[idx] = ref;\n },\n handleKeyPress,\n }),\n null,\n )}\n </section>\n </Group>\n </TooltipTextProvider>\n );\n};\n\nconst props = {\n /** inject props to wrapper */\n containerProps: PropTypes.object.description('inject props to wrapper'),\n /**\n * Selected default active value\n */\n activeValue: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n PropTypes.string,\n PropTypes.number,\n ]).description('Selected default active value'),\n /**\n * Accordion items to show\n */\n children: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.instanceOf(DSAccordionItem),\n }),\n ).isRequired.description('Accordion items to show'),\n /**\n * Allows multiple accordion items to be open at the same time\n */\n allowMultipleOpen: PropTypes.bool.description(\n 'Allows multiple accordion items to be open at the same time',\n ),\n /**\n * Whether content is expandable or not\n */\n contentExpandable: PropTypes.bool.description(\n 'Whether content is expandable or not',\n ),\n /**\n * Allows a function that is triggered once the accordion changes\n */\n onChange: PropTypes.func.description(\n 'Allows a function that is triggered once the accordion changes',\n ),\n};\n\nDSAccordion.propTypes = props;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = props;\n\nexport { DSAccordion, DSAccordionWithSchema };\nexport default DSAccordion;\n"],"names":["DSAccordion","containerProps","activeValue","children","allowMultipleOpen","contentExpandable","onChange","convertPropToCssClassName","cssClassName","tabsRef","handleKeyPress","index","e","keyCode","nextTab","focus","React","Children","map","child","idx","cloneElement","key","expandable","setTabRef","ref","props","PropTypes","object","description","oneOfType","arrayOf","string","number","shape","type","instanceOf","DSAccordionItem","isRequired","bool","func","propTypes","DSAccordionWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;IAOMA,WAAW,GAAG,SAAdA,WAAc,OAOd;
|
|
1
|
+
{"version":3,"file":"DSAccordion.js","sources":["../../src/DSAccordion.tsx"],"sourcesContent":["import React from 'react';\nimport { PropTypes, describe } from 'react-desc';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport Group from '@elliemae/ds-shared/GroupContext/Group';\nimport { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport DSAccordionItem from './DSAccordionItem';\n\nconst DSAccordion = ({\n containerProps = {},\n activeValue = '',\n children,\n allowMultipleOpen = false,\n contentExpandable = false,\n onChange = () => {},\n}) => {\n const { cssClassName } = convertPropToCssClassName('accordion');\n const tabsRef = {};\n const handleKeyPress = (index, e) => {\n if (e.keyCode === 39 || e.keyCode === 40) {\n const nextTab = tabsRef[index + 1];\n if (!nextTab) return;\n tabsRef[index + 1].focus();\n }\n if (e.keyCode === 37 || e.keyCode === 38) {\n const nextTab = tabsRef[index - 1];\n if (!nextTab) return;\n tabsRef[index - 1].focus();\n }\n };\n return (\n <TooltipTextProvider>\n <Group\n activeValue={activeValue}\n multiple={allowMultipleOpen}\n onChange={onChange}\n >\n <section className={cssClassName} {...containerProps}>\n {React.Children.map(\n children,\n (child, idx) =>\n React.cloneElement(child, {\n key: idx,\n idx,\n expandable: contentExpandable,\n setTabRef: (ref) => {\n tabsRef[idx] = ref;\n },\n handleKeyPress,\n }),\n null,\n )}\n </section>\n </Group>\n </TooltipTextProvider>\n );\n};\n\nconst props = {\n /** inject props to wrapper */\n containerProps: PropTypes.object.description('inject props to wrapper'),\n /**\n * Selected default active value\n */\n activeValue: PropTypes.oneOfType([\n PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n ),\n PropTypes.string,\n PropTypes.number,\n ]).description('Selected default active value'),\n /**\n * Accordion items to show\n */\n children: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.instanceOf(DSAccordionItem),\n }),\n ).isRequired.description('Accordion items to show'),\n /**\n * Allows multiple accordion items to be open at the same time\n */\n allowMultipleOpen: PropTypes.bool.description(\n 'Allows multiple accordion items to be open at the same time',\n ),\n /**\n * Whether content is expandable or not\n */\n contentExpandable: PropTypes.bool.description(\n 'Whether content is expandable or not',\n ),\n /**\n * Allows a function that is triggered once the accordion changes\n */\n onChange: PropTypes.func.description(\n 'Allows a function that is triggered once the accordion changes',\n ),\n};\n\nDSAccordion.propTypes = props;\nconst DSAccordionWithSchema = describe(DSAccordion);\nDSAccordionWithSchema.propTypes = props;\n\nexport { DSAccordion, DSAccordionWithSchema };\nexport default DSAccordion;\n"],"names":["DSAccordion","containerProps","activeValue","children","allowMultipleOpen","contentExpandable","onChange","convertPropToCssClassName","cssClassName","tabsRef","handleKeyPress","index","e","keyCode","nextTab","focus","React","Children","map","child","idx","cloneElement","key","expandable","setTabRef","ref","props","PropTypes","object","description","oneOfType","arrayOf","string","number","shape","type","instanceOf","DSAccordionItem","isRequired","bool","func","propTypes","DSAccordionWithSchema","describe"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeader.js","sources":["../../src/DSAccordionHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { withTheme, useIsMobile } from '@elliemae/ds-system';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport DSAccordionHeaderActions from './DSAccordionHeaderActions';\nimport DSAccordionHeaderTitle from './DSAccordionHeaderTitle';\nimport { accordionTitle, accordionButton } from './blocks';\n\nconst DSAccordionHeader = withTheme(\n ({ title, secondaryTitle, customActions, idx, icon, selected, setTabRef, onClick, onKeyDown }) => {\n const mobile = useIsMobile();\n const hasSecondaryTitle = Boolean(secondaryTitle);\n const selectedClass = selected ? 'selected' : '';\n const labelClass = hasSecondaryTitle ? 'secondary-title' : '';\n const IconMobile = selected ? ChevronDown : ChevronRight;\n return (\n <DSButton\n aria-controls={`sec${idx}`}\n aria-expanded={selected}\n aria-label={title}\n as=\"div\"\n buttonType=\"secondary\"\n className={`${accordionButton} ${selectedClass} ${hasSecondaryTitle ? 'with-secondary-title' : ''}`}\n data-testid=\"ds-accordion_item-header\"\n innerRef={setTabRef}\n labelText={\n <div className={`${accordionTitle} ${selectedClass} ${labelClass}`}>\n {!mobile && icon}\n <DSAccordionHeaderTitle idx={idx} secondaryTitle={secondaryTitle} title={title} />\n {!mobile && <DSAccordionHeaderActions customActions={customActions} />}\n {mobile && <IconMobile />}\n </div>\n }\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n );\n },\n);\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","withTheme","title","secondaryTitle","customActions","idx","icon","selected","setTabRef","onClick","onKeyDown","mobile","useIsMobile","hasSecondaryTitle","Boolean","selectedClass","labelClass","IconMobile","ChevronDown","ChevronRight","accordionButton","accordionTitle","DSAccordionHeaderTitle"],"mappings":";;;;;;;;;;;;IAQMA,iBAAiB,GAAGC,SAAS,CACjC,gBAAkG;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeader.js","sources":["../../src/DSAccordionHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { withTheme, useIsMobile } from '@elliemae/ds-system';\nimport { ChevronDown, ChevronRight } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport DSAccordionHeaderActions from './DSAccordionHeaderActions';\nimport DSAccordionHeaderTitle from './DSAccordionHeaderTitle';\nimport { accordionTitle, accordionButton } from './blocks';\n\nconst DSAccordionHeader = withTheme(\n ({ title, secondaryTitle, customActions, idx, icon, selected, setTabRef, onClick, onKeyDown }) => {\n const mobile = useIsMobile();\n const hasSecondaryTitle = Boolean(secondaryTitle);\n const selectedClass = selected ? 'selected' : '';\n const labelClass = hasSecondaryTitle ? 'secondary-title' : '';\n const IconMobile = selected ? ChevronDown : ChevronRight;\n return (\n <DSButton\n aria-controls={`sec${idx}`}\n aria-expanded={selected}\n aria-label={title}\n as=\"div\"\n buttonType=\"secondary\"\n className={`${accordionButton} ${selectedClass} ${hasSecondaryTitle ? 'with-secondary-title' : ''}`}\n data-testid=\"ds-accordion_item-header\"\n innerRef={setTabRef}\n labelText={\n <div className={`${accordionTitle} ${selectedClass} ${labelClass}`}>\n {!mobile && icon}\n <DSAccordionHeaderTitle idx={idx} secondaryTitle={secondaryTitle} title={title} />\n {!mobile && <DSAccordionHeaderActions customActions={customActions} />}\n {mobile && <IconMobile />}\n </div>\n }\n onClick={onClick}\n onKeyDown={onKeyDown}\n />\n );\n },\n);\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","withTheme","title","secondaryTitle","customActions","idx","icon","selected","setTabRef","onClick","onKeyDown","mobile","useIsMobile","hasSecondaryTitle","Boolean","selectedClass","labelClass","IconMobile","ChevronDown","ChevronRight","accordionButton","accordionTitle","DSAccordionHeaderTitle"],"mappings":";;;;;;;;;;;;IAQMA,iBAAiB,GAAGC,SAAS,CACjC,gBAAkG;EAAA,IAA/FC,KAA+F,QAA/FA,KAA+F;MAAxFC,cAAwF,QAAxFA,cAAwF;MAAxEC,aAAwE,QAAxEA,aAAwE;MAAzDC,GAAyD,QAAzDA,GAAyD;MAApDC,IAAoD,QAApDA,IAAoD;MAA9CC,QAA8C,QAA9CA,QAA8C;MAApCC,SAAoC,QAApCA,SAAoC;MAAzBC,OAAyB,QAAzBA,OAAyB;MAAhBC,SAAgB,QAAhBA,SAAgB;EAChG,IAAMC,MAAM,GAAGC,WAAW,EAA1B;EACA,IAAMC,iBAAiB,GAAGC,OAAO,CAACX,cAAD,CAAjC;EACA,IAAMY,aAAa,GAAGR,QAAQ,GAAG,UAAH,GAAgB,EAA9C;EACA,IAAMS,UAAU,GAAGH,iBAAiB,GAAG,iBAAH,GAAuB,EAA3D;EACA,IAAMI,UAAU,GAAGV,QAAQ,GAAGW,WAAH,GAAiBC,YAA5C;EACA,oBACE,oBAAC,QAAD;IACE,8BAAqBd,GAArB,CADF;IAEE,iBAAeE,QAFjB;IAGE,cAAYL,KAHd;IAIE,EAAE,EAAC,KAJL;IAKE,UAAU,EAAC,WALb;IAME,SAAS,YAAKkB,eAAL,cAAwBL,aAAxB,cAAyCF,iBAAiB,GAAG,sBAAH,GAA4B,EAAtF,CANX;IAOE,eAAY,0BAPd;IAQE,QAAQ,EAAEL,SARZ;IASE,SAAS,eACP;MAAK,SAAS,YAAKa,cAAL,cAAuBN,aAAvB,cAAwCC,UAAxC;OACX,CAACL,MAAD,IAAWL,IADd,eAEE,oBAACgB,mBAAD;MAAwB,GAAG,EAAEjB,GAA7B;MAAkC,cAAc,EAAEF,cAAlD;MAAkE,KAAK,EAAED;MAF3E,EAGG,CAACS,MAAD,iBAAW,oBAAC,wBAAD;MAA0B,aAAa,EAAEP;MAHvD,EAIGO,MAAM,iBAAI,oBAAC,UAAD,OAJb,CAVJ;IAiBE,OAAO,EAAEF,OAjBX;IAkBE,SAAS,EAAEC;IAnBf;AAsBD,CA7BgC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeaderActions.js","sources":["../../src/DSAccordionHeaderActions.tsx"],"sourcesContent":["import React from 'react';\nimport DSButton, { BUTTON_TYPE } from '@elliemae/ds-button';\nimport { accordionActions } from './blocks';\n\nconst DSAccordionHeaderActions = ({ customActions }) => {\n if (!customActions) return null;\n\n return (\n <div className={`${accordionActions}`}>\n {customActions.map(({ onClick, ...rest }, key) => (\n <DSButton\n key={key}\n onClick={(e) => {\n e.stopPropagation();\n if (onClick) onClick(e);\n }}\n {...rest}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </div>\n );\n};\n\nexport default DSAccordionHeaderActions;\n"],"names":["DSAccordionHeaderActions","customActions","accordionActions","map","key","onClick","rest","e","stopPropagation","BUTTON_TYPE","SECONDARY"],"mappings":";;;;;;;;;IAIMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAAuB;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeaderActions.js","sources":["../../src/DSAccordionHeaderActions.tsx"],"sourcesContent":["import React from 'react';\nimport DSButton, { BUTTON_TYPE } from '@elliemae/ds-button';\nimport { accordionActions } from './blocks';\n\nconst DSAccordionHeaderActions = ({ customActions }) => {\n if (!customActions) return null;\n\n return (\n <div className={`${accordionActions}`}>\n {customActions.map(({ onClick, ...rest }, key) => (\n <DSButton\n key={key}\n onClick={(e) => {\n e.stopPropagation();\n if (onClick) onClick(e);\n }}\n {...rest}\n buttonType={BUTTON_TYPE.SECONDARY}\n />\n ))}\n </div>\n );\n};\n\nexport default DSAccordionHeaderActions;\n"],"names":["DSAccordionHeaderActions","customActions","accordionActions","map","key","onClick","rest","e","stopPropagation","BUTTON_TYPE","SECONDARY"],"mappings":";;;;;;;;;IAIMA,wBAAwB,GAAG,SAA3BA,wBAA2B,OAAuB;EAAA,IAApBC,aAAoB,QAApBA,aAAoB;EACtD,IAAI,CAACA,aAAL,EAAoB,OAAO,IAAP;EAEpB,oBACE;IAAK,SAAS,YAAKC,gBAAL;KACXD,aAAa,CAACE,GAAd,CAAkB,iBAAuBC,GAAvB;IAAA,IAAGC,QAAH,SAAGA,OAAH;QAAeC,IAAf;;IAAA,oBACjB,oBAAC,QAAD;MACE,GAAG,EAAEF,GADP;MAEE,OAAO,EAAE,iBAACG,CAAD,EAAO;QACdA,CAAC,CAACC,eAAF;QACA,IAAIH,QAAJ,EAAaA,QAAO,CAACE,CAAD,CAAP;;OAEXD,IANN;MAOE,UAAU,EAAEG,WAAW,CAACC;OART;GAAlB,CADH,CADF;AAeD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionHeaderTitle.js","sources":["../../src/DSAccordionHeaderTitle.tsx"],"sourcesContent":["import React from 'react';\nimport DSTruncatedTooltipText from '@elliemae/ds-truncated-tooltip-text';\nimport {\n accordionTitleWrapper,\n accordionH2Title,\n accordionSecondaryTitle,\n} from './blocks';\n\nconst DSAccordionHeader = ({ title, secondaryTitle, idx }) => {\n const hasSecondaryTitle = Boolean(secondaryTitle);\n return (\n <div\n className={`${accordionTitleWrapper} ${\n hasSecondaryTitle ? 'with-secondary-title' : ''\n }`}\n >\n <h2 id={`accordion_${idx}id`}>\n <DSTruncatedTooltipText className={accordionH2Title} value={title} />\n </h2>\n {hasSecondaryTitle && (\n <DSTruncatedTooltipText\n className={accordionSecondaryTitle}\n containerComponent={<div />}\n value={secondaryTitle}\n />\n )}\n </div>\n );\n};\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","title","secondaryTitle","idx","hasSecondaryTitle","Boolean","accordionTitleWrapper","accordionH2Title","accordionSecondaryTitle"],"mappings":";;;;;IAQMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAAoC;
|
|
1
|
+
{"version":3,"file":"DSAccordionHeaderTitle.js","sources":["../../src/DSAccordionHeaderTitle.tsx"],"sourcesContent":["import React from 'react';\nimport DSTruncatedTooltipText from '@elliemae/ds-truncated-tooltip-text';\nimport {\n accordionTitleWrapper,\n accordionH2Title,\n accordionSecondaryTitle,\n} from './blocks';\n\nconst DSAccordionHeader = ({ title, secondaryTitle, idx }) => {\n const hasSecondaryTitle = Boolean(secondaryTitle);\n return (\n <div\n className={`${accordionTitleWrapper} ${\n hasSecondaryTitle ? 'with-secondary-title' : ''\n }`}\n >\n <h2 id={`accordion_${idx}id`}>\n <DSTruncatedTooltipText className={accordionH2Title} value={title} />\n </h2>\n {hasSecondaryTitle && (\n <DSTruncatedTooltipText\n className={accordionSecondaryTitle}\n containerComponent={<div />}\n value={secondaryTitle}\n />\n )}\n </div>\n );\n};\n\nexport default DSAccordionHeader;\n"],"names":["DSAccordionHeader","title","secondaryTitle","idx","hasSecondaryTitle","Boolean","accordionTitleWrapper","accordionH2Title","accordionSecondaryTitle"],"mappings":";;;;;IAQMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAAoC;EAAA,IAAjCC,KAAiC,QAAjCA,KAAiC;MAA1BC,cAA0B,QAA1BA,cAA0B;MAAVC,GAAU,QAAVA,GAAU;EAC5D,IAAMC,iBAAiB,GAAGC,OAAO,CAACH,cAAD,CAAjC;EACA,oBACE;IACE,SAAS,YAAKI,qBAAL,cACPF,iBAAiB,GAAG,sBAAH,GAA4B,EADtC;kBAIT;IAAI,EAAE,sBAAeD,GAAf;kBACJ,oBAAC,sBAAD;IAAwB,SAAS,EAAEI,gBAAnC;IAAqD,KAAK,EAAEN;IAD9D,CALF,EAQGG,iBAAiB,iBAChB,oBAAC,sBAAD;IACE,SAAS,EAAEI,uBADb;IAEE,kBAAkB,eAAE,gCAFtB;IAGE,KAAK,EAAEN;IAZb,CADF;AAkBD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSAccordionItem.js","sources":["../../src/DSAccordionItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { ArrowheadRight, ArrowheadDown } from '@elliemae/ds-icons';\nimport GroupItem from '@elliemae/ds-shared/GroupContext/GroupItem';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { PropTypes, describe } from 'react-desc';\nimport DSAccordionHeader from './DSAccordionHeader';\n\nconst ICON_SIZE = 's';\nconst INCREMENT = 8;\nconst QTY_PADDING = 40;\nconst { cssClassName, classNameElement } = convertPropToCssClassName('accordion-item');\n\nclass DSAccordionItem extends Component {\n constructor(props) {\n super(props);\n this.childElements = React.createRef();\n this.state = {\n actualHeight: null,\n };\n }\n\n componentDidMount() {\n this.setHeight(this.childElements.current);\n }\n\n componentDidUpdate() {\n const { expandable } = this.props;\n if (expandable) {\n this.setHeight(this.childElements.current);\n }\n }\n\n setHeight = (element) => {\n const { actualHeight } = this.state;\n setTimeout(() => {\n const { height } = element.getBoundingClientRect();\n if (height) {\n const newHeight = INCREMENT * QTY_PADDING + height;\n if (actualHeight === newHeight) return;\n this.setState({\n actualHeight: 'auto', // newHeight,\n });\n }\n }, 0);\n };\n\n render() {\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n value,\n idx,\n iconOpened,\n iconClosed,\n setTabRef,\n handleKeyPress,\n } = this.props;\n const { actualHeight } = this.state;\n return (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n const selected =\n activeValue !== undefined &&\n (activeValue === value || (activeValue.length && activeValue.indexOf(value) > -1));\n const OpenedCloseIcon = selected ? iconOpened : iconClosed;\n return (\n <div className={cssClassName} data-testid=\"ds-accordion_item\">\n <DSAccordionHeader\n customActions={customActions}\n icon={<OpenedCloseIcon size={ICON_SIZE} />}\n idx={idx}\n onClick={() => context.onChange(value)}\n onKeyDown={(e) => handleKeyPress(idx, e)}\n secondaryTitle={secondaryTitle}\n selected={selected}\n setTabRef={setTabRef}\n title={title}\n />\n <div\n data-testid=\"ds-accordion_item-content\"\n aria-hidden={!selected}\n aria-labelledby={`accordion_${idx}id`}\n className={`${classNameElement('container')} ${selected ? 'expanded' : 'closed'}`}\n data-testid=\"ds-accordion_item-content\"\n id={`sec${idx}`}\n role=\"region\"\n style={{ height: selected ? actualHeight : 0 }}\n >\n <div ref={this.childElements} className={classNameElement('expand-zone')}>\n <div className={classNameElement('expand-zone-space')}>{selected && children}</div>\n </div>\n </div>\n </div>\n );\n }}\n />\n );\n }\n}\n\nconst props = {\n /** accordion content */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired.description(\n 'accordion content',\n ),\n /** accordion title */\n title: PropTypes.string.description('accordion title'),\n /** accordion item value, for selected */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired.description(\n 'accordion item value, for selected',\n ),\n /** icon for closed accordion */\n iconClosed: PropTypes.node.description('icon for closed accordion'),\n /** icon for open accordion */\n iconOpened: PropTypes.node.description('icon for open accordion'),\n /** secondary title */\n secondaryTitle: PropTypes.string.description('secondary title'),\n /** accordion item custom actions */\n customActions: PropTypes.arrayOf(PropTypes.object).description('accordion item custom actions'),\n};\n\nDSAccordionItem.propTypes = props;\n\nDSAccordionItem.defaultProps = {\n iconClosed: () => <ArrowheadRight width=\"20px\" color={['brand-primary', 800]} />,\n iconOpened: () => <ArrowheadDown width=\"20px\" color={['brand-primary', 800]} />,\n title: '',\n secondaryTitle: null,\n customActions: null,\n};\n\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = props;\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n"],"names":["ICON_SIZE","INCREMENT","QTY_PADDING","convertPropToCssClassName","cssClassName","classNameElement","DSAccordionItem","props","setHeight","element","actualHeight","state","setTimeout","getBoundingClientRect","height","newHeight","setState","childElements","React","createRef","current","expandable","children","title","secondaryTitle","customActions","value","idx","iconOpened","iconClosed","setTabRef","handleKeyPress","context","activeValue","selected","undefined","length","indexOf","OpenedCloseIcon","onChange","e","Component","PropTypes","oneOfType","arrayOf","node","isRequired","description","string","number","object","propTypes","defaultProps","DSAccordionItemWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,SAAS,GAAG,GAAlB;AACA,IAAMC,SAAS,GAAG,CAAlB;AACA,IAAMC,WAAW,GAAG,EAApB;;AACA,4BAA2CC,yBAAyB,CAAC,gBAAD,CAApE;AAAA,IAAQC,YAAR,yBAAQA,YAAR;AAAA,IAAsBC,gBAAtB,yBAAsBA,gBAAtB;;IAEMC;;;;;
|
|
1
|
+
{"version":3,"file":"DSAccordionItem.js","sources":["../../src/DSAccordionItem.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport { ArrowheadRight, ArrowheadDown } from '@elliemae/ds-icons';\nimport GroupItem from '@elliemae/ds-shared/GroupContext/GroupItem';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { PropTypes, describe } from 'react-desc';\nimport DSAccordionHeader from './DSAccordionHeader';\n\nconst ICON_SIZE = 's';\nconst INCREMENT = 8;\nconst QTY_PADDING = 40;\nconst { cssClassName, classNameElement } = convertPropToCssClassName('accordion-item');\n\nclass DSAccordionItem extends Component {\n constructor(props) {\n super(props);\n this.childElements = React.createRef();\n this.state = {\n actualHeight: null,\n };\n }\n\n componentDidMount() {\n this.setHeight(this.childElements.current);\n }\n\n componentDidUpdate() {\n const { expandable } = this.props;\n if (expandable) {\n this.setHeight(this.childElements.current);\n }\n }\n\n setHeight = (element) => {\n const { actualHeight } = this.state;\n setTimeout(() => {\n const { height } = element.getBoundingClientRect();\n if (height) {\n const newHeight = INCREMENT * QTY_PADDING + height;\n if (actualHeight === newHeight) return;\n this.setState({\n actualHeight: 'auto', // newHeight,\n });\n }\n }, 0);\n };\n\n render() {\n const {\n children,\n title,\n secondaryTitle,\n customActions,\n value,\n idx,\n iconOpened,\n iconClosed,\n setTabRef,\n handleKeyPress,\n } = this.props;\n const { actualHeight } = this.state;\n return (\n <GroupItem\n render={(context) => {\n const { activeValue } = context;\n const selected =\n activeValue !== undefined &&\n (activeValue === value || (activeValue.length && activeValue.indexOf(value) > -1));\n const OpenedCloseIcon = selected ? iconOpened : iconClosed;\n return (\n <div className={cssClassName} data-testid=\"ds-accordion_item\">\n <DSAccordionHeader\n customActions={customActions}\n icon={<OpenedCloseIcon size={ICON_SIZE} />}\n idx={idx}\n onClick={() => context.onChange(value)}\n onKeyDown={(e) => handleKeyPress(idx, e)}\n secondaryTitle={secondaryTitle}\n selected={selected}\n setTabRef={setTabRef}\n title={title}\n />\n <div\n data-testid=\"ds-accordion_item-content\"\n aria-hidden={!selected}\n aria-labelledby={`accordion_${idx}id`}\n className={`${classNameElement('container')} ${selected ? 'expanded' : 'closed'}`}\n data-testid=\"ds-accordion_item-content\"\n id={`sec${idx}`}\n role=\"region\"\n style={{ height: selected ? actualHeight : 0 }}\n >\n <div ref={this.childElements} className={classNameElement('expand-zone')}>\n <div className={classNameElement('expand-zone-space')}>{selected && children}</div>\n </div>\n </div>\n </div>\n );\n }}\n />\n );\n }\n}\n\nconst props = {\n /** accordion content */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired.description(\n 'accordion content',\n ),\n /** accordion title */\n title: PropTypes.string.description('accordion title'),\n /** accordion item value, for selected */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired.description(\n 'accordion item value, for selected',\n ),\n /** icon for closed accordion */\n iconClosed: PropTypes.node.description('icon for closed accordion'),\n /** icon for open accordion */\n iconOpened: PropTypes.node.description('icon for open accordion'),\n /** secondary title */\n secondaryTitle: PropTypes.string.description('secondary title'),\n /** accordion item custom actions */\n customActions: PropTypes.arrayOf(PropTypes.object).description('accordion item custom actions'),\n};\n\nDSAccordionItem.propTypes = props;\n\nDSAccordionItem.defaultProps = {\n iconClosed: () => <ArrowheadRight width=\"20px\" color={['brand-primary', 800]} />,\n iconOpened: () => <ArrowheadDown width=\"20px\" color={['brand-primary', 800]} />,\n title: '',\n secondaryTitle: null,\n customActions: null,\n};\n\nconst DSAccordionItemWithSchema = describe(DSAccordionItem);\nDSAccordionItemWithSchema.propTypes = props;\nexport { DSAccordionItem, DSAccordionItemWithSchema };\nexport default DSAccordionItem;\n"],"names":["ICON_SIZE","INCREMENT","QTY_PADDING","convertPropToCssClassName","cssClassName","classNameElement","DSAccordionItem","props","setHeight","element","actualHeight","state","setTimeout","getBoundingClientRect","height","newHeight","setState","childElements","React","createRef","current","expandable","children","title","secondaryTitle","customActions","value","idx","iconOpened","iconClosed","setTabRef","handleKeyPress","context","activeValue","selected","undefined","length","indexOf","OpenedCloseIcon","onChange","e","Component","PropTypes","oneOfType","arrayOf","node","isRequired","description","string","number","object","propTypes","defaultProps","DSAccordionItemWithSchema","describe"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-accordion",
|
|
3
|
-
"version": "1.61.
|
|
3
|
+
"version": "1.61.13",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Accordion",
|
|
6
6
|
"module": "esm/index.js",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-button": "1.61.
|
|
20
|
-
"@elliemae/ds-classnames": "1.61.
|
|
21
|
-
"@elliemae/ds-icons": "1.61.
|
|
22
|
-
"@elliemae/ds-shared": "1.61.
|
|
23
|
-
"@elliemae/ds-system": "1.61.
|
|
24
|
-
"@elliemae/ds-truncated-tooltip-text": "1.61.
|
|
19
|
+
"@elliemae/ds-button": "1.61.13",
|
|
20
|
+
"@elliemae/ds-classnames": "1.61.13",
|
|
21
|
+
"@elliemae/ds-icons": "1.61.13",
|
|
22
|
+
"@elliemae/ds-shared": "1.61.13",
|
|
23
|
+
"@elliemae/ds-system": "1.61.13",
|
|
24
|
+
"@elliemae/ds-truncated-tooltip-text": "1.61.13",
|
|
25
25
|
"react-desc": "^4.1.2"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|