@elliemae/ds-accordion 2.3.0-next.3 → 3.0.0-alpha.0

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 +50 -0
  18. package/dist/cjs/parts/accordionContent/AccordionContent.js.map +7 -0
  19. package/dist/cjs/parts/accordionItem/DSAccordionItem.js +179 -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 +21 -0
  44. package/dist/esm/parts/accordionContent/AccordionContent.js.map +7 -0
  45. package/dist/esm/parts/accordionItem/DSAccordionItem.js +160 -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/{types → dist/types}/DSAccordion.d.ts +0 -0
  54. package/{types → dist/types}/DSAccordionCTX.d.ts +0 -0
  55. package/{types → dist/types}/DSAccordionDatatestid.d.ts +0 -0
  56. package/{types → dist/types}/DSAccordionTypes.d.ts +0 -0
  57. package/{types → dist/types}/config/useAccordion.d.ts +0 -0
  58. package/{types → dist/types}/config/useAccordionRefs.d.ts +0 -0
  59. package/{types → dist/types}/defaultProps.d.ts +0 -0
  60. package/{types → dist/types}/index.d.ts +0 -0
  61. package/{types → dist/types}/parts/accordionContent/AccordionContent.d.ts +0 -0
  62. package/{types → dist/types}/parts/accordionItem/DSAccordionItem.d.ts +0 -0
  63. package/{types → dist/types}/parts/accordionItem/styles.d.ts +0 -0
  64. package/{types → dist/types}/parts/accordionItem/useAccordionItem.d.ts +0 -0
  65. package/{types → dist/types}/propTypes.d.ts +0 -0
  66. package/{types → dist/types}/tests/Accordion.test.d.ts +0 -0
  67. package/package.json +57 -46
  68. package/cjs/DSAccordion.js +0 -31
  69. package/cjs/DSAccordionCTX.js +0 -20
  70. package/cjs/DSAccordionDatatestid.js +0 -14
  71. package/cjs/DSAccordionTypes.js +0 -2
  72. package/cjs/config/useAccordion.js +0 -50
  73. package/cjs/config/useAccordionRefs.js +0 -40
  74. package/cjs/defaultProps.js +0 -54
  75. package/cjs/index.js +0 -14
  76. package/cjs/parts/accordionContent/AccordionContent.js +0 -41
  77. package/cjs/parts/accordionItem/DSAccordionItem.js +0 -206
  78. package/cjs/parts/accordionItem/styles.js +0 -149
  79. package/cjs/parts/accordionItem/useAccordionItem.js +0 -53
  80. package/cjs/propTypes.js +0 -26
  81. package/esm/DSAccordion.js +0 -21
  82. package/esm/DSAccordionCTX.js +0 -16
  83. package/esm/DSAccordionDatatestid.js +0 -10
  84. package/esm/DSAccordionTypes.js +0 -1
  85. package/esm/config/useAccordion.js +0 -46
  86. package/esm/config/useAccordionRefs.js +0 -32
  87. package/esm/defaultProps.js +0 -45
  88. package/esm/index.js +0 -2
  89. package/esm/parts/accordionContent/AccordionContent.js +0 -32
  90. package/esm/parts/accordionItem/DSAccordionItem.js +0 -193
  91. package/esm/parts/accordionItem/styles.js +0 -133
  92. package/esm/parts/accordionItem/useAccordionItem.js +0 -49
  93. package/esm/propTypes.js +0 -21
package/package.json CHANGED
@@ -1,63 +1,66 @@
1
1
  {
2
2
  "name": "@elliemae/ds-accordion",
3
- "version": "2.3.0-next.3",
3
+ "version": "3.0.0-alpha.0",
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,27 +72,30 @@
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.0-next.3",
84
- "@elliemae/ds-classnames": "2.3.0-next.3",
85
- "@elliemae/ds-icons": "2.3.0-next.3",
86
- "@elliemae/ds-shared": "2.3.0-next.3",
87
- "@elliemae/ds-system": "2.3.0-next.1",
88
- "@elliemae/ds-truncated-tooltip-text": "2.3.0-next.3",
86
+ "@elliemae/ds-button": "3.0.0-alpha.0",
87
+ "@elliemae/ds-classnames": "3.0.0-alpha.0",
88
+ "@elliemae/ds-icons": "3.0.0-alpha.0",
89
+ "@elliemae/ds-popperjs": "3.0.0-alpha.0",
90
+ "@elliemae/ds-props-helpers": "3.0.0-alpha.0",
91
+ "@elliemae/ds-shared": "3.0.0-alpha.0",
92
+ "@elliemae/ds-system": "3.0.0-alpha.0",
93
+ "@elliemae/ds-truncated-tooltip-text": "3.0.0-alpha.0",
94
+ "@elliemae/ds-utilities": "3.0.0-alpha.0",
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
100
  "react": "^17.0.2",
95
101
  "react-dom": "^17.0.2"
@@ -100,7 +106,12 @@
100
106
  },
101
107
  "publishConfig": {
102
108
  "access": "public",
103
- "directory": "dist",
104
- "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
+ "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs"
105
116
  }
106
117
  }
@@ -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;