@elliemae/ds-accordion 2.3.1 → 3.0.0-alpha.3

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 (93) hide show
  1. package/dist/cjs/DSAccordion.js +52 -0
  2. package/dist/cjs/DSAccordion.js.map +7 -0
  3. package/dist/cjs/DSAccordionCTX.js +46 -0
  4. package/dist/cjs/DSAccordionCTX.js.map +7 -0
  5. package/dist/cjs/DSAccordionDatatestid.js +42 -0
  6. package/dist/cjs/DSAccordionDatatestid.js.map +7 -0
  7. package/dist/cjs/DSAccordionTypes.js +27 -0
  8. package/dist/cjs/DSAccordionTypes.js.map +7 -0
  9. package/dist/cjs/config/useAccordion.js +73 -0
  10. package/dist/cjs/config/useAccordion.js.map +7 -0
  11. package/dist/cjs/config/useAccordionRefs.js +47 -0
  12. package/dist/cjs/config/useAccordionRefs.js.map +7 -0
  13. package/dist/cjs/defaultProps.js +64 -0
  14. package/dist/cjs/defaultProps.js.map +7 -0
  15. package/dist/cjs/index.js +37 -0
  16. package/dist/cjs/index.js.map +7 -0
  17. package/dist/cjs/parts/accordionContent/AccordionContent.js +66 -0
  18. package/dist/cjs/parts/accordionContent/AccordionContent.js.map +7 -0
  19. package/dist/cjs/parts/accordionItem/DSAccordionItem.js +211 -0
  20. package/dist/cjs/parts/accordionItem/DSAccordionItem.js.map +7 -0
  21. package/dist/cjs/parts/accordionItem/styles.js +143 -0
  22. package/dist/cjs/parts/accordionItem/styles.js.map +7 -0
  23. package/dist/cjs/parts/accordionItem/useAccordionItem.js +66 -0
  24. package/dist/cjs/parts/accordionItem/useAccordionItem.js.map +7 -0
  25. package/dist/cjs/propTypes.js +57 -0
  26. package/dist/cjs/propTypes.js.map +7 -0
  27. package/dist/esm/DSAccordion.js +23 -0
  28. package/dist/esm/DSAccordion.js.map +7 -0
  29. package/dist/esm/DSAccordionCTX.js +17 -0
  30. package/dist/esm/DSAccordionCTX.js.map +7 -0
  31. package/dist/esm/DSAccordionDatatestid.js +13 -0
  32. package/dist/esm/DSAccordionDatatestid.js.map +7 -0
  33. package/dist/esm/DSAccordionTypes.js +2 -0
  34. package/dist/esm/DSAccordionTypes.js.map +7 -0
  35. package/dist/esm/config/useAccordion.js +44 -0
  36. package/dist/esm/config/useAccordion.js.map +7 -0
  37. package/dist/esm/config/useAccordionRefs.js +18 -0
  38. package/dist/esm/config/useAccordionRefs.js.map +7 -0
  39. package/dist/esm/defaultProps.js +35 -0
  40. package/dist/esm/defaultProps.js.map +7 -0
  41. package/dist/esm/index.js +8 -0
  42. package/dist/esm/index.js.map +7 -0
  43. package/dist/esm/parts/accordionContent/AccordionContent.js +39 -0
  44. package/dist/esm/parts/accordionContent/AccordionContent.js.map +7 -0
  45. package/dist/esm/parts/accordionItem/DSAccordionItem.js +194 -0
  46. package/dist/esm/parts/accordionItem/DSAccordionItem.js.map +7 -0
  47. package/dist/esm/parts/accordionItem/styles.js +114 -0
  48. package/dist/esm/parts/accordionItem/styles.js.map +7 -0
  49. package/dist/esm/parts/accordionItem/useAccordionItem.js +37 -0
  50. package/dist/esm/parts/accordionItem/useAccordionItem.js.map +7 -0
  51. package/dist/esm/propTypes.js +28 -0
  52. package/dist/esm/propTypes.js.map +7 -0
  53. package/package.json +59 -49
  54. package/cjs/DSAccordion.js +0 -31
  55. package/cjs/DSAccordionCTX.js +0 -20
  56. package/cjs/DSAccordionDatatestid.js +0 -14
  57. package/cjs/DSAccordionTypes.js +0 -2
  58. package/cjs/config/useAccordion.js +0 -50
  59. package/cjs/config/useAccordionRefs.js +0 -40
  60. package/cjs/defaultProps.js +0 -54
  61. package/cjs/index.js +0 -14
  62. package/cjs/parts/accordionContent/AccordionContent.js +0 -41
  63. package/cjs/parts/accordionItem/DSAccordionItem.js +0 -206
  64. package/cjs/parts/accordionItem/styles.js +0 -149
  65. package/cjs/parts/accordionItem/useAccordionItem.js +0 -53
  66. package/cjs/propTypes.js +0 -26
  67. package/esm/DSAccordion.js +0 -21
  68. package/esm/DSAccordionCTX.js +0 -16
  69. package/esm/DSAccordionDatatestid.js +0 -10
  70. package/esm/DSAccordionTypes.js +0 -1
  71. package/esm/config/useAccordion.js +0 -46
  72. package/esm/config/useAccordionRefs.js +0 -32
  73. package/esm/defaultProps.js +0 -45
  74. package/esm/index.js +0 -2
  75. package/esm/parts/accordionContent/AccordionContent.js +0 -32
  76. package/esm/parts/accordionItem/DSAccordionItem.js +0 -193
  77. package/esm/parts/accordionItem/styles.js +0 -133
  78. package/esm/parts/accordionItem/useAccordionItem.js +0 -49
  79. package/esm/propTypes.js +0 -21
  80. package/types/DSAccordion.d.ts +0 -45
  81. package/types/DSAccordionCTX.d.ts +0 -3
  82. package/types/DSAccordionDatatestid.d.ts +0 -8
  83. package/types/DSAccordionTypes.d.ts +0 -137
  84. package/types/config/useAccordion.d.ts +0 -2
  85. package/types/config/useAccordionRefs.d.ts +0 -2
  86. package/types/defaultProps.d.ts +0 -3
  87. package/types/index.d.ts +0 -4
  88. package/types/parts/accordionContent/AccordionContent.d.ts +0 -2
  89. package/types/parts/accordionItem/DSAccordionItem.d.ts +0 -53
  90. package/types/parts/accordionItem/styles.d.ts +0 -10
  91. package/types/parts/accordionItem/useAccordionItem.d.ts +0 -2
  92. package/types/propTypes.d.ts +0 -73
  93. package/types/tests/Accordion.test.d.ts +0 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/propTypes.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from 'react-desc';\n\nexport const accordionItemPropTypes = {\n children: PropTypes.node.description('Dimsum AccordionItem content.').isRequired,\n title: PropTypes.string.description('Set a primary title.'),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description(\n 'Dimsum AccordionItem value, this value should be unique.',\n ).isRequired,\n iconClosed: PropTypes.node.description('Custom Dimsum Icon when it is closed.'),\n iconOpened: PropTypes.node.description('Custom Dimsum Icon when it is open.'),\n secondaryTitle: PropTypes.string.description('Set a secondary title'),\n customActions: PropTypes.arrayOf(PropTypes.object).description('Set Dimsum AccordionItem custom actions.'),\n renderCustomActions: PropTypes.func.description(\n 'This property will render any JSX in the custom actions area. You can access to all references and active values within the props.',\n ),\n};\n\nexport const accordionPropTypes = {\n containerProps: PropTypes.object.description('Adds props to the container.'),\n activeValue: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n PropTypes.string,\n PropTypes.number,\n ]).description('Selected active value. This property makes the component a controlled one.'),\n children: PropTypes.node.description('Dimsum AccordionItems to show.'),\n allowMultipleOpen: PropTypes.bool.description('Allows multiple Dimsum AccordionItems to be open at the same time.'),\n onChange: PropTypes.func.description('Callback function once the Dimsum Accordion changes.'),\n};\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,yBAAyB;AAAA,EACpC,UAAU,UAAU,KAAK,YAAY,iCAAiC;AAAA,EACtE,OAAO,UAAU,OAAO,YAAY;AAAA,EACpC,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,SAAS,YAC/D,4DACA;AAAA,EACF,YAAY,UAAU,KAAK,YAAY;AAAA,EACvC,YAAY,UAAU,KAAK,YAAY;AAAA,EACvC,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,eAAe,UAAU,QAAQ,UAAU,QAAQ,YAAY;AAAA,EAC/D,qBAAqB,UAAU,KAAK,YAClC;AAAA;AAIG,MAAM,qBAAqB;AAAA,EAChC,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,aAAa,UAAU,UAAU;AAAA,IAC/B,UAAU,QAAQ,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU;AAAA,IACnE,UAAU;AAAA,IACV,UAAU;AAAA,KACT,YAAY;AAAA,EACf,UAAU,UAAU,KAAK,YAAY;AAAA,EACrC,mBAAmB,UAAU,KAAK,YAAY;AAAA,EAC9C,UAAU,UAAU,KAAK,YAAY;AAAA;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,63 +1,66 @@
1
1
  {
2
2
  "name": "@elliemae/ds-accordion",
3
- "version": "2.3.1",
3
+ "version": "3.0.0-alpha.3",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Accordion",
6
- "module": "./esm/index.js",
7
- "main": "./cjs/index.js",
8
- "types": "./types/index.d.ts",
6
+ "files": [
7
+ "dist"
8
+ ],
9
+ "module": "./dist/esm/index.js",
10
+ "main": "./dist/cjs/index.js",
11
+ "types": "./dist/types/index.d.ts",
9
12
  "exports": {
10
13
  ".": {
11
- "import": "./esm/index.js",
12
- "require": "./cjs/index.js"
14
+ "import": "./dist/esm/index.js",
15
+ "require": "./dist/cjs/index.js"
13
16
  },
14
17
  "./propTypes": {
15
- "import": "./esm/propTypes.js",
16
- "require": "./cjs/propTypes.js"
18
+ "import": "./dist/esm/propTypes.js",
19
+ "require": "./dist/cjs/propTypes.js"
17
20
  },
18
21
  "./parts/accordionItem/useAccordionItem": {
19
- "import": "./esm/parts/accordionItem/useAccordionItem.js",
20
- "require": "./cjs/parts/accordionItem/useAccordionItem.js"
22
+ "import": "./dist/esm/parts/accordionItem/useAccordionItem.js",
23
+ "require": "./dist/cjs/parts/accordionItem/useAccordionItem.js"
21
24
  },
22
25
  "./parts/accordionItem/styles": {
23
- "import": "./esm/parts/accordionItem/styles.js",
24
- "require": "./cjs/parts/accordionItem/styles.js"
26
+ "import": "./dist/esm/parts/accordionItem/styles.js",
27
+ "require": "./dist/cjs/parts/accordionItem/styles.js"
25
28
  },
26
29
  "./parts/accordionItem/DSAccordionItem": {
27
- "import": "./esm/parts/accordionItem/DSAccordionItem.js",
28
- "require": "./cjs/parts/accordionItem/DSAccordionItem.js"
30
+ "import": "./dist/esm/parts/accordionItem/DSAccordionItem.js",
31
+ "require": "./dist/cjs/parts/accordionItem/DSAccordionItem.js"
29
32
  },
30
33
  "./parts/accordionContent/AccordionContent": {
31
- "import": "./esm/parts/accordionContent/AccordionContent.js",
32
- "require": "./cjs/parts/accordionContent/AccordionContent.js"
34
+ "import": "./dist/esm/parts/accordionContent/AccordionContent.js",
35
+ "require": "./dist/cjs/parts/accordionContent/AccordionContent.js"
33
36
  },
34
37
  "./DSAccordionTypes": {
35
- "import": "./esm/DSAccordionTypes.js",
36
- "require": "./cjs/DSAccordionTypes.js"
38
+ "import": "./dist/esm/DSAccordionTypes.js",
39
+ "require": "./dist/cjs/DSAccordionTypes.js"
37
40
  },
38
41
  "./DSAccordionDatatestid": {
39
- "import": "./esm/DSAccordionDatatestid.js",
40
- "require": "./cjs/DSAccordionDatatestid.js"
42
+ "import": "./dist/esm/DSAccordionDatatestid.js",
43
+ "require": "./dist/cjs/DSAccordionDatatestid.js"
41
44
  },
42
45
  "./DSAccordionCTX": {
43
- "import": "./esm/DSAccordionCTX.js",
44
- "require": "./cjs/DSAccordionCTX.js"
46
+ "import": "./dist/esm/DSAccordionCTX.js",
47
+ "require": "./dist/cjs/DSAccordionCTX.js"
45
48
  },
46
49
  "./DSAccordion": {
47
- "import": "./esm/DSAccordion.js",
48
- "require": "./cjs/DSAccordion.js"
50
+ "import": "./dist/esm/DSAccordion.js",
51
+ "require": "./dist/cjs/DSAccordion.js"
49
52
  },
50
53
  "./defaultProps": {
51
- "import": "./esm/defaultProps.js",
52
- "require": "./cjs/defaultProps.js"
54
+ "import": "./dist/esm/defaultProps.js",
55
+ "require": "./dist/cjs/defaultProps.js"
53
56
  },
54
57
  "./config/useAccordionRefs": {
55
- "import": "./esm/config/useAccordionRefs.js",
56
- "require": "./cjs/config/useAccordionRefs.js"
58
+ "import": "./dist/esm/config/useAccordionRefs.js",
59
+ "require": "./dist/cjs/config/useAccordionRefs.js"
57
60
  },
58
61
  "./config/useAccordion": {
59
- "import": "./esm/config/useAccordion.js",
60
- "require": "./cjs/config/useAccordion.js"
62
+ "import": "./dist/esm/config/useAccordion.js",
63
+ "require": "./dist/cjs/config/useAccordion.js"
61
64
  }
62
65
  },
63
66
  "sideEffects": [
@@ -69,40 +72,47 @@
69
72
  "url": "https://git.elliemae.io/platform-ui/dimsum.git"
70
73
  },
71
74
  "engines": {
72
- "npm": ">=7",
73
- "node": ">=14"
75
+ "pnpm": ">=6",
76
+ "node": ">=16"
74
77
  },
75
78
  "author": "ICE MT",
76
- "scripts": {
77
- "dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
78
- "prebuild": "exit 0",
79
- "predev": "exit 0",
80
- "build": "node ../../scripts/build/build.js"
79
+ "jestSonar": {
80
+ "sonar56x": true,
81
+ "reportPath": "reports",
82
+ "reportFile": "tests.xml",
83
+ "indent": 4
81
84
  },
82
85
  "dependencies": {
83
- "@elliemae/ds-button": "2.3.1",
84
- "@elliemae/ds-icons": "2.3.1",
85
- "@elliemae/ds-popperjs": "2.3.1",
86
- "@elliemae/ds-props-helpers": "2.3.1",
87
- "@elliemae/ds-system": "2.3.1",
88
- "@elliemae/ds-utilities": "2.3.1",
86
+ "@elliemae/ds-button": "3.0.0-alpha.3",
87
+ "@elliemae/ds-classnames": "3.0.0-alpha.3",
88
+ "@elliemae/ds-icons": "3.0.0-alpha.3",
89
+ "@elliemae/ds-popperjs": "3.0.0-alpha.3",
90
+ "@elliemae/ds-props-helpers": "3.0.0-alpha.3",
91
+ "@elliemae/ds-shared": "3.0.0-alpha.3",
92
+ "@elliemae/ds-system": "3.0.0-alpha.3",
93
+ "@elliemae/ds-truncated-tooltip-text": "3.0.0-alpha.3",
94
+ "@elliemae/ds-utilities": "3.0.0-alpha.3",
89
95
  "react-desc": "^4.1.3"
90
96
  },
91
97
  "devDependencies": {
92
- "@testing-library/jest-dom": "~5.15.0",
98
+ "@testing-library/jest-dom": "~5.16.1",
93
99
  "@testing-library/react": "~12.1.2",
94
- "@testing-library/user-event": "~13.5.0",
95
100
  "react": "^17.0.2",
96
101
  "react-dom": "^17.0.2"
97
102
  },
98
103
  "peerDependencies": {
99
104
  "react": "^17.0.2",
100
- "react-dom": "^17.0.2",
101
- "styled-components": "^5.3.3"
105
+ "react-dom": "^17.0.2"
102
106
  },
103
107
  "publishConfig": {
104
108
  "access": "public",
105
- "directory": "dist",
106
- "generateSubmodules": true
109
+ "typeSafety": false
110
+ },
111
+ "scripts": {
112
+ "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
113
+ "test": "node ../../scripts/testing/test.mjs",
114
+ "lint": "node ../../scripts/lint.mjs",
115
+ "dts": "node ../../scripts/dts.mjs",
116
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
107
117
  }
108
118
  }
@@ -1,31 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx2 = require('@babel/runtime/helpers/jsx');
6
- require('react');
7
- var reactDesc = require('react-desc');
8
- var AccordionContent = require('./parts/accordionContent/AccordionContent.js');
9
- var useAccordion = require('./config/useAccordion.js');
10
- var DSAccordionCTX = require('./DSAccordionCTX.js');
11
- var propTypes = require('./propTypes.js');
12
-
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var _jsx2__default = /*#__PURE__*/_interopDefaultLegacy(_jsx2);
16
-
17
- var _AccordionContent;
18
-
19
- const DSAccordion = props => {
20
- const ctx = useAccordion.useAccordion(props);
21
- return /*#__PURE__*/_jsx2__default["default"](DSAccordionCTX.DSAccordionContext.Provider, {
22
- value: ctx
23
- }, void 0, _AccordionContent || (_AccordionContent = /*#__PURE__*/_jsx2__default["default"](AccordionContent.AccordionContent, {})));
24
- };
25
-
26
- const DSAccordionWithSchema = reactDesc.describe(DSAccordion);
27
- DSAccordionWithSchema.propTypes = propTypes.accordionPropTypes;
28
-
29
- exports.DSAccordion = DSAccordion;
30
- exports.DSAccordionWithSchema = DSAccordionWithSchema;
31
- exports["default"] = DSAccordion;
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var defaultProps = require('./defaultProps.js');
7
-
8
- // eslint-disable-next-line @typescript-eslint/no-empty-function
9
- const noop = () => {};
10
-
11
- const defaultContext = {
12
- props: defaultProps.defaultProps,
13
- actualActiveValue: [],
14
- setActiveValues: noop,
15
- focusableChildrenReferences: [],
16
- allChildrenReferences: {}
17
- };
18
- const DSAccordionContext = /*#__PURE__*/React.createContext(defaultContext);
19
-
20
- exports.DSAccordionContext = DSAccordionContext;
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const DSAccordionDataTestid = {
6
- ITEM: {
7
- CONTENT: 'ds-accordion_item-content',
8
- HEADER: 'ds-accordion_item-header',
9
- CONTAINER: 'ds-accordion_item'
10
- },
11
- GROUP: 'ds-accordion_group'
12
- };
13
-
14
- exports.DSAccordionDataTestid = DSAccordionDataTestid;
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/web.dom-collections.iterator.js');
6
- require('core-js/modules/esnext.async-iterator.some.js');
7
- require('core-js/modules/esnext.iterator.constructor.js');
8
- require('core-js/modules/esnext.iterator.some.js');
9
- require('core-js/modules/esnext.async-iterator.filter.js');
10
- require('core-js/modules/esnext.iterator.filter.js');
11
- var React = require('react');
12
- var dsPropsHelpers = require('@elliemae/ds-props-helpers');
13
- var useAccordionRefs = require('./useAccordionRefs.js');
14
- var defaultProps = require('../defaultProps.js');
15
-
16
- const useAccordion = props => {
17
- const propsWithDefaults = dsPropsHelpers.useMemoMergePropsWithDefault(props, defaultProps.defaultProps);
18
- const {
19
- activeValue,
20
- allowMultipleOpen,
21
- onChange
22
- } = propsWithDefaults;
23
- const {
24
- focusableChildrenReferences,
25
- allChildrenReferences
26
- } = useAccordionRefs.useAccordionRefs(propsWithDefaults);
27
- const [internalActiveValue, setInternalActiveValue] = React.useState(activeValue);
28
- const actualActiveValue = React.useMemo(() => {
29
- if (activeValue === undefined) return internalActiveValue;
30
- return activeValue;
31
- }, [activeValue, internalActiveValue]);
32
- const setActiveValues = React.useCallback((value, e) => {
33
- let newState;
34
- if (allowMultipleOpen && (actualActiveValue === undefined || actualActiveValue === null)) newState = [value];else if (allowMultipleOpen && Array.isArray(actualActiveValue)) {
35
- if (!actualActiveValue.some(currentValues => currentValues === value)) newState = [...actualActiveValue, value];else newState = actualActiveValue.filter(currentValues => currentValues !== value);
36
- } else if (actualActiveValue === value) newState = null;else newState = value;
37
- setInternalActiveValue(newState);
38
- return onChange(newState, e);
39
- }, [actualActiveValue, allowMultipleOpen, onChange]);
40
- const ctx = React.useMemo(() => ({
41
- props: propsWithDefaults,
42
- actualActiveValue,
43
- setActiveValues,
44
- focusableChildrenReferences,
45
- allChildrenReferences
46
- }), [actualActiveValue, allChildrenReferences, focusableChildrenReferences, propsWithDefaults, setActiveValues]);
47
- return ctx;
48
- };
49
-
50
- exports.useAccordion = useAccordion;
@@ -1,40 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.map.js');
6
- require('core-js/modules/esnext.iterator.map.js');
7
- var React = require('react');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
-
13
- const useAccordionRefs = _ref => {
14
- let {
15
- children
16
- } = _ref;
17
- return React.useMemo(() => {
18
- const focusableChildrenReferences = [];
19
- const allChildrenReferences = {};
20
- React__default["default"].Children.map(children, (child, index) => {
21
- const {
22
- value,
23
- disabled
24
- } = child.props;
25
- const currentRef = /*#__PURE__*/React__default["default"].createRef();
26
- allChildrenReferences[index] = currentRef;
27
- if (!disabled) focusableChildrenReferences.push({
28
- index,
29
- value,
30
- ref: currentRef
31
- });
32
- });
33
- return {
34
- focusableChildrenReferences,
35
- allChildrenReferences
36
- };
37
- }, [children]);
38
- };
39
-
40
- exports.useAccordionRefs = useAccordionRefs;
@@ -1,54 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx2 = require('@babel/runtime/helpers/jsx');
6
- var React = require('react');
7
- var dsIcons = require('@elliemae/ds-icons');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var _jsx2__default = /*#__PURE__*/_interopDefaultLegacy(_jsx2);
12
-
13
- var _ChevronRight, _ArrowheadRight, _ChevronDown, _ArrowheadDown;
14
- const DefaultIconClosed = /*#__PURE__*/React.memo(_ref => {
15
- let {
16
- isDSMobile = false
17
- } = _ref;
18
- return isDSMobile ? _ChevronRight || (_ChevronRight = /*#__PURE__*/_jsx2__default["default"](dsIcons.ChevronRight, {
19
- width: "20px"
20
- })) : _ArrowheadRight || (_ArrowheadRight = /*#__PURE__*/_jsx2__default["default"](dsIcons.ArrowheadRight, {
21
- width: "20px"
22
- }));
23
- });
24
- const DefaultIconOpen = /*#__PURE__*/React.memo(_ref2 => {
25
- let {
26
- isDSMobile = false
27
- } = _ref2;
28
- return isDSMobile ? _ChevronDown || (_ChevronDown = /*#__PURE__*/_jsx2__default["default"](dsIcons.ChevronDown, {
29
- width: "20px"
30
- })) : _ArrowheadDown || (_ArrowheadDown = /*#__PURE__*/_jsx2__default["default"](dsIcons.ArrowheadDown, {
31
- width: "20px"
32
- }));
33
- }); // eslint-disable-next-line @typescript-eslint/no-empty-function
34
-
35
- const noop = () => {};
36
-
37
- const defaultProps = {
38
- containerProps: {},
39
- allowMultipleOpen: false,
40
- contentExpandable: false,
41
- onChange: noop,
42
- children: [],
43
- isDSMobile: false
44
- };
45
- const accordionItemDefaultProps = {
46
- iconClosed: DefaultIconClosed,
47
- iconOpened: DefaultIconOpen,
48
- title: '',
49
- customActions: [],
50
- disabled: false
51
- };
52
-
53
- exports.accordionItemDefaultProps = accordionItemDefaultProps;
54
- exports.defaultProps = defaultProps;
package/cjs/index.js DELETED
@@ -1,14 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var DSAccordion = require('./DSAccordion.js');
6
- var DSAccordionItem = require('./parts/accordionItem/DSAccordionItem.js');
7
-
8
-
9
-
10
- exports.DSAccordion = DSAccordion.DSAccordion;
11
- exports.DSAccordionWithSchema = DSAccordion.DSAccordionWithSchema;
12
- exports["default"] = DSAccordion.DSAccordion;
13
- exports.DSAccordionItem = DSAccordionItem.DSAccordionItem;
14
- exports.DSAccordionItemWithSchema = DSAccordionItem.DSAccordionItemWithSchema;
@@ -1,41 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.constructor.js');
8
- require('core-js/modules/esnext.iterator.for-each.js');
9
- require('core-js/modules/esnext.async-iterator.filter.js');
10
- require('core-js/modules/esnext.iterator.filter.js');
11
- var React = require('react');
12
- var DSAccordionCTX = require('../../DSAccordionCTX.js');
13
- var DSAccordionDatatestid = require('../../DSAccordionDatatestid.js');
14
- var jsxRuntime = require('react/jsx-runtime');
15
-
16
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
-
18
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
-
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
-
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
- const AccordionContent = () => {
25
- const {
26
- props: {
27
- containerProps,
28
- children
29
- }
30
- } = React.useContext(DSAccordionCTX.DSAccordionContext);
31
- const childrenWithIndex = [];
32
- React__default["default"].Children.forEach(children, (child, index) => childrenWithIndex.push( /*#__PURE__*/React__default["default"].cloneElement(child, {
33
- dsIndex: index
34
- })));
35
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, containerProps), {}, {
36
- "data-testid": DSAccordionDatatestid.DSAccordionDataTestid.GROUP,
37
- children: childrenWithIndex
38
- }));
39
- };
40
-
41
- exports.AccordionContent = AccordionContent;
@@ -1,206 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx2 = require('@babel/runtime/helpers/jsx');
6
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
8
- require('core-js/modules/web.dom-collections.iterator.js');
9
- require('core-js/modules/esnext.async-iterator.map.js');
10
- require('core-js/modules/esnext.iterator.map.js');
11
- require('core-js/modules/esnext.async-iterator.filter.js');
12
- require('core-js/modules/esnext.iterator.constructor.js');
13
- require('core-js/modules/esnext.iterator.filter.js');
14
- require('core-js/modules/esnext.async-iterator.for-each.js');
15
- require('core-js/modules/esnext.iterator.for-each.js');
16
- var React = require('react');
17
- var reactDesc = require('react-desc');
18
- var dsPropsHelpers = require('@elliemae/ds-props-helpers');
19
- var DSButton = require('@elliemae/ds-button');
20
- var dsPopperjs = require('@elliemae/ds-popperjs');
21
- var dsUtilities = require('@elliemae/ds-utilities');
22
- var defaultProps = require('../../defaultProps.js');
23
- var styles = require('./styles.js');
24
- var propTypes = require('../../propTypes.js');
25
- var useAccordionItem = require('./useAccordionItem.js');
26
- var DSAccordionCTX = require('../../DSAccordionCTX.js');
27
- var DSAccordionDatatestid = require('../../DSAccordionDatatestid.js');
28
- var jsxRuntime = require('react/jsx-runtime');
29
-
30
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
31
-
32
- var _jsx2__default = /*#__PURE__*/_interopDefaultLegacy(_jsx2);
33
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
34
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
35
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
36
-
37
- const _excluded = ["onClick", "id"];
38
-
39
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
40
-
41
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
42
-
43
- const DSAccordionItem = props => {
44
- const propsWithDefaults = dsPropsHelpers.useMemoMergePropsWithDefault(props, defaultProps.accordionItemDefaultProps);
45
- const {
46
- children,
47
- title,
48
- secondaryTitle,
49
- customActions,
50
- iconOpened: IconOpened,
51
- iconClosed: IconClosed,
52
- value,
53
- disabled,
54
- dsIndex,
55
- renderCustomActions
56
- } = propsWithDefaults;
57
- const {
58
- handleOnClick,
59
- handleOnKeyDown,
60
- selected
61
- } = useAccordionItem.useAccordionItem({
62
- value,
63
- disabled
64
- });
65
- const {
66
- allChildrenReferences,
67
- actualActiveValue,
68
- props: {
69
- isDSMobile
70
- }
71
- } = React.useContext(DSAccordionCTX.DSAccordionContext);
72
- const onKeyDownWithIndex = React.useCallback(e => {
73
- handleOnKeyDown(e, dsIndex);
74
- }, [dsIndex, handleOnKeyDown]);
75
- const [showPopover, setShowPopover] = React.useState(false);
76
- const [referenceElement, setReferenceElement] = React.useState();
77
- const CustomActionsContent = React.useMemo(() => {
78
- if (!isDSMobile && (customActions === null || customActions === void 0 ? void 0 : customActions.length) > 0) return /*#__PURE__*/_jsx2__default["default"](styles.StyledItemCustomActions, {}, void 0, customActions === null || customActions === void 0 ? void 0 : customActions.map(_ref => {
79
- let {
80
- onClick,
81
- id
82
- } = _ref,
83
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
84
-
85
- return /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread(_objectSpread({
86
- onClick: e => {
87
- e.stopPropagation();
88
- if (onClick) onClick(e);
89
- }
90
- }, rest), {}, {
91
- buttonType: DSButton.BUTTON_TYPE.SECONDARY
92
- }), id);
93
- }));
94
- if (!isDSMobile && renderCustomActions) return /*#__PURE__*/_jsx2__default["default"](styles.StyledItemCustomActions, {}, void 0, renderCustomActions({
95
- allRefs: allChildrenReferences,
96
- actualActiveValue
97
- }));
98
- return null;
99
- }, [actualActiveValue, allChildrenReferences, customActions, isDSMobile, renderCustomActions]);
100
- const {
101
- isShowingEllipsis: isPrimaryShowingEllipsis,
102
- setElement: setPrimaryElement
103
- } = dsUtilities.useIsShowingEllipsis();
104
- const {
105
- isShowingEllipsis: isSecondaryShowingEllipsis,
106
- setElement: setSecondaryElement
107
- } = dsUtilities.useIsShowingEllipsis();
108
- const handleOnFocus = React.useCallback(() => setShowPopover(isPrimaryShowingEllipsis || isSecondaryShowingEllipsis), [isPrimaryShowingEllipsis, isSecondaryShowingEllipsis]);
109
- const handleOnBlur = React.useCallback(() => setShowPopover(false), []);
110
- const Titles = React.useMemo(() => {
111
- if (isPrimaryShowingEllipsis || isSecondaryShowingEllipsis) return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
112
- children: [/*#__PURE__*/jsxRuntime.jsx(styles.StyledPrimaryTitle, {
113
- ref: setPrimaryElement,
114
- id: "accordion_".concat(title, "id"),
115
- disabled: disabled,
116
- isDSMobile: isDSMobile,
117
- children: title
118
- }), !isDSMobile && secondaryTitle && /*#__PURE__*/jsxRuntime.jsx(styles.StyledSecondaryTitle, {
119
- ref: setSecondaryElement,
120
- disabled: disabled,
121
- children: secondaryTitle
122
- }), /*#__PURE__*/_jsx2__default["default"](dsPopperjs.DSPopperJS, {
123
- referenceElement: referenceElement,
124
- showPopover: showPopover
125
- }, void 0, /*#__PURE__*/_jsx2__default["default"]("div", {
126
- style: {
127
- maxWidth: 260,
128
- padding: 8,
129
- background: 'white',
130
- display: 'grid',
131
- gap: 8
132
- }
133
- }, void 0, /*#__PURE__*/_jsx2__default["default"]("p", {
134
- style: {
135
- margin: 0
136
- }
137
- }, void 0, title), /*#__PURE__*/_jsx2__default["default"]("p", {
138
- style: {
139
- margin: 0
140
- }
141
- }, void 0, " ", secondaryTitle)))]
142
- });
143
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
144
- children: [/*#__PURE__*/jsxRuntime.jsx(styles.StyledPrimaryTitle, {
145
- ref: setPrimaryElement,
146
- id: "accordion_".concat(title, "id"),
147
- disabled: disabled,
148
- isDSMobile: isDSMobile,
149
- children: title
150
- }), !isDSMobile && secondaryTitle && /*#__PURE__*/jsxRuntime.jsx(styles.StyledSecondaryTitle, {
151
- ref: setSecondaryElement,
152
- disabled: disabled,
153
- children: secondaryTitle
154
- })]
155
- });
156
- }, [disabled, isDSMobile, isPrimaryShowingEllipsis, isSecondaryShowingEllipsis, referenceElement, secondaryTitle, setPrimaryElement, setSecondaryElement, showPopover, title]);
157
- return /*#__PURE__*/_jsx2__default["default"](styles.StyledItemContainer, {
158
- "data-testid": DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTAINER
159
- }, void 0, /*#__PURE__*/_jsx2__default["default"](styles.StyledItemHeaderContainer, {
160
- disabled: disabled
161
- }, void 0, /*#__PURE__*/jsxRuntime.jsxs(styles.StyledItemHeader, {
162
- withCustomActions: ((customActions === null || customActions === void 0 ? void 0 : customActions.length) > 0 || renderCustomActions !== undefined) && !isDSMobile,
163
- withSecondaryTitle: secondaryTitle,
164
- onClick: handleOnClick,
165
- tabIndex: !disabled ? 0 : undefined,
166
- disabled: disabled,
167
- "data-disabled": disabled,
168
- ref: allChildrenReferences[dsIndex],
169
- onKeyDown: onKeyDownWithIndex,
170
- isDSMobile: isDSMobile,
171
- "data-testid": DSAccordionDatatestid.DSAccordionDataTestid.ITEM.HEADER,
172
- id: "ds-accordion-header-".concat(value),
173
- "aria-expanded": selected,
174
- "aria-disabled": disabled,
175
- "aria-controls": "ds-accordion-content-".concat(value),
176
- onFocus: handleOnFocus,
177
- onBlur: handleOnBlur,
178
- children: [/*#__PURE__*/_jsx2__default["default"](styles.StyledItemAddon, {
179
- disabled: disabled,
180
- isDSMobile: isDSMobile
181
- }, void 0, selected ? /*#__PURE__*/_jsx2__default["default"](IconOpened, {
182
- isDSMobile: isDSMobile
183
- }) : /*#__PURE__*/_jsx2__default["default"](IconClosed, {
184
- isDSMobile: isDSMobile
185
- })), /*#__PURE__*/jsxRuntime.jsx(styles.StyledItemTitles, {
186
- onMouseEnter: handleOnFocus,
187
- onMouseLeave: handleOnBlur,
188
- isDSMobile: isDSMobile,
189
- ref: setReferenceElement,
190
- children: Titles
191
- })]
192
- }), CustomActionsContent), selected && /*#__PURE__*/_jsx2__default["default"](styles.StyledItemContent, {
193
- "data-testid": DSAccordionDatatestid.DSAccordionDataTestid.ITEM.CONTENT,
194
- "aria-labelledby": "ds-accordion-header-".concat(value),
195
- role: "region",
196
- isDSMobile: isDSMobile,
197
- id: "ds-accordion-content-".concat(value)
198
- }, void 0, children));
199
- };
200
-
201
- const DSAccordionItemWithSchema = reactDesc.describe(DSAccordionItem);
202
- DSAccordionItemWithSchema.propTypes = propTypes.accordionItemPropTypes;
203
-
204
- exports.DSAccordionItem = DSAccordionItem;
205
- exports.DSAccordionItemWithSchema = DSAccordionItemWithSchema;
206
- exports["default"] = DSAccordionItem;