@elliemae/ds-accordion 2.3.0-alpha.8 → 2.3.0-next.2
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 +31 -0
- package/cjs/DSAccordionCTX.js +20 -0
- package/cjs/DSAccordionDatatestid.js +14 -0
- package/cjs/DSAccordionTypes.js +2 -0
- package/cjs/config/useAccordion.js +50 -0
- package/cjs/config/useAccordionRefs.js +40 -0
- package/cjs/defaultProps.js +54 -0
- package/cjs/index.js +14 -0
- package/cjs/parts/accordionContent/AccordionContent.js +41 -0
- package/cjs/parts/accordionItem/DSAccordionItem.js +206 -0
- package/cjs/parts/accordionItem/styles.js +149 -0
- package/cjs/parts/accordionItem/useAccordionItem.js +53 -0
- package/cjs/propTypes.js +26 -0
- package/esm/DSAccordion.js +21 -0
- package/esm/DSAccordionCTX.js +16 -0
- package/esm/DSAccordionDatatestid.js +10 -0
- package/esm/DSAccordionTypes.js +1 -0
- package/esm/config/useAccordion.js +46 -0
- package/esm/config/useAccordionRefs.js +32 -0
- package/esm/defaultProps.js +45 -0
- package/esm/index.js +2 -0
- package/esm/parts/accordionContent/AccordionContent.js +32 -0
- package/esm/parts/accordionItem/DSAccordionItem.js +193 -0
- package/esm/parts/accordionItem/styles.js +133 -0
- package/esm/parts/accordionItem/useAccordionItem.js +49 -0
- package/esm/propTypes.js +21 -0
- package/package.json +47 -52
- package/types/DSAccordion.d.ts +45 -0
- package/types/DSAccordionCTX.d.ts +3 -0
- package/types/DSAccordionDatatestid.d.ts +8 -0
- package/types/DSAccordionTypes.d.ts +137 -0
- package/types/config/useAccordion.d.ts +2 -0
- package/types/config/useAccordionRefs.d.ts +2 -0
- package/types/defaultProps.d.ts +3 -0
- package/types/index.d.ts +4 -0
- package/types/parts/accordionContent/AccordionContent.d.ts +2 -0
- package/types/parts/accordionItem/DSAccordionItem.d.ts +53 -0
- package/types/parts/accordionItem/styles.d.ts +10 -0
- package/types/parts/accordionItem/useAccordionItem.d.ts +2 -0
- package/types/propTypes.d.ts +73 -0
- package/types/tests/Accordion.test.d.ts +1 -0
- package/dist/cjs/DSAccordion.js +0 -52
- package/dist/cjs/DSAccordion.js.map +0 -7
- package/dist/cjs/DSAccordionCTX.js +0 -46
- package/dist/cjs/DSAccordionCTX.js.map +0 -7
- package/dist/cjs/DSAccordionDatatestid.js +0 -42
- package/dist/cjs/DSAccordionDatatestid.js.map +0 -7
- package/dist/cjs/DSAccordionTypes.js +0 -27
- package/dist/cjs/DSAccordionTypes.js.map +0 -7
- package/dist/cjs/config/useAccordion.js +0 -73
- package/dist/cjs/config/useAccordion.js.map +0 -7
- package/dist/cjs/config/useAccordionRefs.js +0 -47
- package/dist/cjs/config/useAccordionRefs.js.map +0 -7
- package/dist/cjs/defaultProps.js +0 -64
- package/dist/cjs/defaultProps.js.map +0 -7
- package/dist/cjs/index.js +0 -37
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/parts/accordionContent/AccordionContent.js +0 -50
- package/dist/cjs/parts/accordionContent/AccordionContent.js.map +0 -7
- package/dist/cjs/parts/accordionItem/DSAccordionItem.js +0 -179
- package/dist/cjs/parts/accordionItem/DSAccordionItem.js.map +0 -7
- package/dist/cjs/parts/accordionItem/styles.js +0 -143
- package/dist/cjs/parts/accordionItem/styles.js.map +0 -7
- package/dist/cjs/parts/accordionItem/useAccordionItem.js +0 -66
- package/dist/cjs/parts/accordionItem/useAccordionItem.js.map +0 -7
- package/dist/cjs/propTypes.js +0 -57
- package/dist/cjs/propTypes.js.map +0 -7
- package/dist/esm/DSAccordion.js +0 -23
- package/dist/esm/DSAccordion.js.map +0 -7
- package/dist/esm/DSAccordionCTX.js +0 -17
- package/dist/esm/DSAccordionCTX.js.map +0 -7
- package/dist/esm/DSAccordionDatatestid.js +0 -13
- package/dist/esm/DSAccordionDatatestid.js.map +0 -7
- package/dist/esm/DSAccordionTypes.js +0 -2
- package/dist/esm/DSAccordionTypes.js.map +0 -7
- package/dist/esm/config/useAccordion.js +0 -44
- package/dist/esm/config/useAccordion.js.map +0 -7
- package/dist/esm/config/useAccordionRefs.js +0 -18
- package/dist/esm/config/useAccordionRefs.js.map +0 -7
- package/dist/esm/defaultProps.js +0 -35
- package/dist/esm/defaultProps.js.map +0 -7
- package/dist/esm/index.js +0 -8
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/parts/accordionContent/AccordionContent.js +0 -21
- package/dist/esm/parts/accordionContent/AccordionContent.js.map +0 -7
- package/dist/esm/parts/accordionItem/DSAccordionItem.js +0 -160
- package/dist/esm/parts/accordionItem/DSAccordionItem.js.map +0 -7
- package/dist/esm/parts/accordionItem/styles.js +0 -114
- package/dist/esm/parts/accordionItem/styles.js.map +0 -7
- package/dist/esm/parts/accordionItem/useAccordionItem.js +0 -37
- package/dist/esm/parts/accordionItem/useAccordionItem.js.map +0 -7
- package/dist/esm/propTypes.js +0 -28
- package/dist/esm/propTypes.js.map +0 -7
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import 'core-js/modules/esnext.async-iterator.some.js';
|
|
2
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
3
|
+
import 'core-js/modules/esnext.iterator.some.js';
|
|
4
|
+
import { useContext, useMemo, useCallback } from 'react';
|
|
5
|
+
import { DSAccordionContext } from '../../DSAccordionCTX.js';
|
|
6
|
+
|
|
7
|
+
const useAccordionItem = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
value,
|
|
10
|
+
disabled
|
|
11
|
+
} = _ref;
|
|
12
|
+
const {
|
|
13
|
+
actualActiveValue,
|
|
14
|
+
setActiveValues,
|
|
15
|
+
focusableChildrenReferences
|
|
16
|
+
} = useContext(DSAccordionContext);
|
|
17
|
+
const selected = useMemo(() => {
|
|
18
|
+
if (Array.isArray(actualActiveValue)) {
|
|
19
|
+
return actualActiveValue.some(currentValue => currentValue === value);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return value === actualActiveValue;
|
|
23
|
+
}, [actualActiveValue, value]);
|
|
24
|
+
const handleOnClick = useCallback(e => {
|
|
25
|
+
if (!disabled) setActiveValues(value, e);
|
|
26
|
+
}, [disabled, setActiveValues, value]);
|
|
27
|
+
const handleOnKeyDown = useCallback((e, _dsIndex) => {
|
|
28
|
+
if (!disabled && e.key === 'ArrowDown') {
|
|
29
|
+
var _focusableChildrenRef, _focusableChildrenRef2, _focusableChildrenRef3, _focusableChildrenRef4, _focusableChildrenRef5;
|
|
30
|
+
|
|
31
|
+
const currentIndex = focusableChildrenReferences.findIndex(item => item.index === _dsIndex);
|
|
32
|
+
if ((_focusableChildrenRef = focusableChildrenReferences[currentIndex + 1]) !== null && _focusableChildrenRef !== void 0 && (_focusableChildrenRef2 = _focusableChildrenRef.ref) !== null && _focusableChildrenRef2 !== void 0 && _focusableChildrenRef2.current) (_focusableChildrenRef3 = focusableChildrenReferences[currentIndex + 1]) === null || _focusableChildrenRef3 === void 0 ? void 0 : (_focusableChildrenRef4 = _focusableChildrenRef3.ref) === null || _focusableChildrenRef4 === void 0 ? void 0 : (_focusableChildrenRef5 = _focusableChildrenRef4.current) === null || _focusableChildrenRef5 === void 0 ? void 0 : _focusableChildrenRef5.focus();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!disabled && e.key === 'ArrowUp') {
|
|
36
|
+
var _focusableChildrenRef6, _focusableChildrenRef7, _focusableChildrenRef8, _focusableChildrenRef9, _focusableChildrenRef10;
|
|
37
|
+
|
|
38
|
+
const currentIndex = focusableChildrenReferences.findIndex(item => item.index === _dsIndex);
|
|
39
|
+
if ((_focusableChildrenRef6 = focusableChildrenReferences[currentIndex - 1]) !== null && _focusableChildrenRef6 !== void 0 && (_focusableChildrenRef7 = _focusableChildrenRef6.ref) !== null && _focusableChildrenRef7 !== void 0 && _focusableChildrenRef7.current) (_focusableChildrenRef8 = focusableChildrenReferences[currentIndex - 1]) === null || _focusableChildrenRef8 === void 0 ? void 0 : (_focusableChildrenRef9 = _focusableChildrenRef8.ref) === null || _focusableChildrenRef9 === void 0 ? void 0 : (_focusableChildrenRef10 = _focusableChildrenRef9.current) === null || _focusableChildrenRef10 === void 0 ? void 0 : _focusableChildrenRef10.focus();
|
|
40
|
+
}
|
|
41
|
+
}, [disabled, focusableChildrenReferences]);
|
|
42
|
+
return {
|
|
43
|
+
handleOnClick,
|
|
44
|
+
handleOnKeyDown,
|
|
45
|
+
selected
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { useAccordionItem };
|
package/esm/propTypes.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PropTypes } from 'react-desc';
|
|
2
|
+
|
|
3
|
+
const accordionItemPropTypes = {
|
|
4
|
+
children: PropTypes.node.description('Dimsum AccordionItem content.').isRequired,
|
|
5
|
+
title: PropTypes.string.description('Set a primary title.'),
|
|
6
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Dimsum AccordionItem value, this value should be unique.').isRequired,
|
|
7
|
+
iconClosed: PropTypes.node.description('Custom Dimsum Icon when it is closed.'),
|
|
8
|
+
iconOpened: PropTypes.node.description('Custom Dimsum Icon when it is open.'),
|
|
9
|
+
secondaryTitle: PropTypes.string.description('Set a secondary title'),
|
|
10
|
+
customActions: PropTypes.arrayOf(PropTypes.object).description('Set Dimsum AccordionItem custom actions.'),
|
|
11
|
+
renderCustomActions: PropTypes.func.description('This property will render any JSX in the custom actions area. You can access to all references and active values within the props.')
|
|
12
|
+
};
|
|
13
|
+
const accordionPropTypes = {
|
|
14
|
+
containerProps: PropTypes.object.description('Adds props to the container.'),
|
|
15
|
+
activeValue: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), PropTypes.string, PropTypes.number]).description('Selected active value. This property makes the component a controlled one.'),
|
|
16
|
+
children: PropTypes.node.description('Dimsum AccordionItems to show.'),
|
|
17
|
+
allowMultipleOpen: PropTypes.bool.description('Allows multiple Dimsum AccordionItems to be open at the same time.'),
|
|
18
|
+
onChange: PropTypes.func.description('Callback function once the Dimsum Accordion changes.')
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { accordionItemPropTypes, accordionPropTypes };
|
package/package.json
CHANGED
|
@@ -1,66 +1,63 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-accordion",
|
|
3
|
-
"version": "2.3.0-
|
|
3
|
+
"version": "2.3.0-next.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Accordion",
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"module": "./dist/esm/index.js",
|
|
10
|
-
"main": "./dist/cjs/index.js",
|
|
11
|
-
"types": "./dist/types/index.d.ts",
|
|
6
|
+
"module": "./esm/index.js",
|
|
7
|
+
"main": "./cjs/index.js",
|
|
8
|
+
"types": "./types/index.d.ts",
|
|
12
9
|
"exports": {
|
|
13
10
|
".": {
|
|
14
|
-
"import": "./
|
|
15
|
-
"require": "./
|
|
11
|
+
"import": "./esm/index.js",
|
|
12
|
+
"require": "./cjs/index.js"
|
|
16
13
|
},
|
|
17
14
|
"./propTypes": {
|
|
18
|
-
"import": "./
|
|
19
|
-
"require": "./
|
|
15
|
+
"import": "./esm/propTypes.js",
|
|
16
|
+
"require": "./cjs/propTypes.js"
|
|
20
17
|
},
|
|
21
18
|
"./parts/accordionItem/useAccordionItem": {
|
|
22
|
-
"import": "./
|
|
23
|
-
"require": "./
|
|
19
|
+
"import": "./esm/parts/accordionItem/useAccordionItem.js",
|
|
20
|
+
"require": "./cjs/parts/accordionItem/useAccordionItem.js"
|
|
24
21
|
},
|
|
25
22
|
"./parts/accordionItem/styles": {
|
|
26
|
-
"import": "./
|
|
27
|
-
"require": "./
|
|
23
|
+
"import": "./esm/parts/accordionItem/styles.js",
|
|
24
|
+
"require": "./cjs/parts/accordionItem/styles.js"
|
|
28
25
|
},
|
|
29
26
|
"./parts/accordionItem/DSAccordionItem": {
|
|
30
|
-
"import": "./
|
|
31
|
-
"require": "./
|
|
27
|
+
"import": "./esm/parts/accordionItem/DSAccordionItem.js",
|
|
28
|
+
"require": "./cjs/parts/accordionItem/DSAccordionItem.js"
|
|
32
29
|
},
|
|
33
30
|
"./parts/accordionContent/AccordionContent": {
|
|
34
|
-
"import": "./
|
|
35
|
-
"require": "./
|
|
31
|
+
"import": "./esm/parts/accordionContent/AccordionContent.js",
|
|
32
|
+
"require": "./cjs/parts/accordionContent/AccordionContent.js"
|
|
36
33
|
},
|
|
37
34
|
"./DSAccordionTypes": {
|
|
38
|
-
"import": "./
|
|
39
|
-
"require": "./
|
|
35
|
+
"import": "./esm/DSAccordionTypes.js",
|
|
36
|
+
"require": "./cjs/DSAccordionTypes.js"
|
|
40
37
|
},
|
|
41
38
|
"./DSAccordionDatatestid": {
|
|
42
|
-
"import": "./
|
|
43
|
-
"require": "./
|
|
39
|
+
"import": "./esm/DSAccordionDatatestid.js",
|
|
40
|
+
"require": "./cjs/DSAccordionDatatestid.js"
|
|
44
41
|
},
|
|
45
42
|
"./DSAccordionCTX": {
|
|
46
|
-
"import": "./
|
|
47
|
-
"require": "./
|
|
43
|
+
"import": "./esm/DSAccordionCTX.js",
|
|
44
|
+
"require": "./cjs/DSAccordionCTX.js"
|
|
48
45
|
},
|
|
49
46
|
"./DSAccordion": {
|
|
50
|
-
"import": "./
|
|
51
|
-
"require": "./
|
|
47
|
+
"import": "./esm/DSAccordion.js",
|
|
48
|
+
"require": "./cjs/DSAccordion.js"
|
|
52
49
|
},
|
|
53
50
|
"./defaultProps": {
|
|
54
|
-
"import": "./
|
|
55
|
-
"require": "./
|
|
51
|
+
"import": "./esm/defaultProps.js",
|
|
52
|
+
"require": "./cjs/defaultProps.js"
|
|
56
53
|
},
|
|
57
54
|
"./config/useAccordionRefs": {
|
|
58
|
-
"import": "./
|
|
59
|
-
"require": "./
|
|
55
|
+
"import": "./esm/config/useAccordionRefs.js",
|
|
56
|
+
"require": "./cjs/config/useAccordionRefs.js"
|
|
60
57
|
},
|
|
61
58
|
"./config/useAccordion": {
|
|
62
|
-
"import": "./
|
|
63
|
-
"require": "./
|
|
59
|
+
"import": "./esm/config/useAccordion.js",
|
|
60
|
+
"require": "./cjs/config/useAccordion.js"
|
|
64
61
|
}
|
|
65
62
|
},
|
|
66
63
|
"sideEffects": [
|
|
@@ -72,24 +69,27 @@
|
|
|
72
69
|
"url": "https://git.elliemae.io/platform-ui/dimsum.git"
|
|
73
70
|
},
|
|
74
71
|
"engines": {
|
|
75
|
-
"
|
|
76
|
-
"node": ">=
|
|
72
|
+
"npm": ">=7",
|
|
73
|
+
"node": ">=14"
|
|
77
74
|
},
|
|
78
75
|
"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"
|
|
81
|
+
},
|
|
79
82
|
"dependencies": {
|
|
80
|
-
"@elliemae/ds-button": "2.3.0-
|
|
81
|
-
"@elliemae/ds-classnames": "2.3.0-
|
|
82
|
-
"@elliemae/ds-icons": "2.3.0-
|
|
83
|
-
"@elliemae/ds-
|
|
84
|
-
"@elliemae/ds-
|
|
85
|
-
"@elliemae/ds-
|
|
86
|
-
"@elliemae/ds-system": "2.3.0-alpha.8",
|
|
87
|
-
"@elliemae/ds-truncated-tooltip-text": "2.3.0-alpha.8",
|
|
88
|
-
"@elliemae/ds-utilities": "2.3.0-alpha.8",
|
|
83
|
+
"@elliemae/ds-button": "2.3.0-next.2",
|
|
84
|
+
"@elliemae/ds-classnames": "2.3.0-next.2",
|
|
85
|
+
"@elliemae/ds-icons": "2.3.0-next.2",
|
|
86
|
+
"@elliemae/ds-shared": "2.3.0-next.2",
|
|
87
|
+
"@elliemae/ds-system": "2.3.0-next.1",
|
|
88
|
+
"@elliemae/ds-truncated-tooltip-text": "2.3.0-next.2",
|
|
89
89
|
"react-desc": "^4.1.3"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@testing-library/jest-dom": "~5.
|
|
92
|
+
"@testing-library/jest-dom": "~5.15.0",
|
|
93
93
|
"@testing-library/react": "~12.1.2",
|
|
94
94
|
"react": "^17.0.2",
|
|
95
95
|
"react-dom": "^17.0.2"
|
|
@@ -100,12 +100,7 @@
|
|
|
100
100
|
},
|
|
101
101
|
"publishConfig": {
|
|
102
102
|
"access": "public",
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
"scripts": {
|
|
106
|
-
"dev": "cross-env NODE_ENV=development && node ../../scripts/build/build.js -w",
|
|
107
|
-
"prebuild": "exit 0",
|
|
108
|
-
"predev": "exit 0",
|
|
109
|
-
"build": "node ../../scripts/build/build.js"
|
|
103
|
+
"directory": "dist",
|
|
104
|
+
"generateSubmodules": true
|
|
110
105
|
}
|
|
111
106
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/// <reference path="../../../../shared/typings/react-desc.d.ts" />
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
import type { DSAccordionPropsT } from './DSAccordionTypes';
|
|
4
|
+
declare const DSAccordion: {
|
|
5
|
+
(props: DSAccordionPropsT): JSX.Element;
|
|
6
|
+
propTypes: {
|
|
7
|
+
containerProps: {
|
|
8
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
9
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
10
|
+
};
|
|
11
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
12
|
+
};
|
|
13
|
+
activeValue: {
|
|
14
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
15
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
16
|
+
};
|
|
17
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
18
|
+
};
|
|
19
|
+
children: {
|
|
20
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
21
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
22
|
+
};
|
|
23
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
24
|
+
};
|
|
25
|
+
allowMultipleOpen: {
|
|
26
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
27
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
28
|
+
};
|
|
29
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
30
|
+
};
|
|
31
|
+
onChange: {
|
|
32
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
33
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
34
|
+
};
|
|
35
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
declare const DSAccordionWithSchema: {
|
|
40
|
+
(props?: unknown): JSX.Element;
|
|
41
|
+
propTypes: unknown;
|
|
42
|
+
toTypescript: () => import("react-desc").TypescriptSchema;
|
|
43
|
+
};
|
|
44
|
+
export { DSAccordion, DSAccordionWithSchema };
|
|
45
|
+
export default DSAccordion;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare type InternalActiveValueT = (string | number)[] | string | number | null | undefined;
|
|
3
|
+
export interface DefaultIconPropsT {
|
|
4
|
+
isDSMobile: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface CustomActionsT {
|
|
7
|
+
onClick: (e: React.MouseEvent) => void;
|
|
8
|
+
id: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FocusableChildrenReferences {
|
|
11
|
+
index: number;
|
|
12
|
+
value: string | number;
|
|
13
|
+
ref: React.MutableRefObject<HTMLButtonElement | null>;
|
|
14
|
+
}
|
|
15
|
+
export interface AllChildrenReferences {
|
|
16
|
+
[index: string]: React.MutableRefObject<HTMLButtonElement | null>;
|
|
17
|
+
}
|
|
18
|
+
export interface DSAccordionPropsT {
|
|
19
|
+
containerProps?: Record<string, unknown>;
|
|
20
|
+
activeValue?: (string | number)[] | string | number | null;
|
|
21
|
+
children?: React.ReactElement<DSAccordionItemPropsT>[];
|
|
22
|
+
allowMultipleOpen?: boolean;
|
|
23
|
+
contentExpandable?: boolean;
|
|
24
|
+
onChange?: (value: (string | number)[] | string | number | null, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
isDSMobile?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface DSAccordionDefaultPropsT {
|
|
29
|
+
containerProps: Record<string, unknown>;
|
|
30
|
+
allowMultipleOpen: boolean;
|
|
31
|
+
contentExpandable: boolean;
|
|
32
|
+
onChange: (value: (string | number)[] | string | number | null, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
33
|
+
children: React.ReactElement<DSAccordionItemPropsT>[];
|
|
34
|
+
isDSMobile: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface DSAccordionPropsWithDefaultsT {
|
|
37
|
+
containerProps: Record<string, unknown>;
|
|
38
|
+
activeValue?: (string | number)[] | string | number | null;
|
|
39
|
+
children: React.ReactElement<DSAccordionItemPropsT>[];
|
|
40
|
+
allowMultipleOpen: boolean;
|
|
41
|
+
contentExpandable: boolean;
|
|
42
|
+
onChange: (value: (string | number)[] | string | number | null, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
43
|
+
isDSMobile: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface DSAccordionItemPropsT {
|
|
46
|
+
title?: string;
|
|
47
|
+
value: string | number;
|
|
48
|
+
iconClosed?: React.FunctionComponent<DefaultIconPropsT>;
|
|
49
|
+
iconOpened?: React.FunctionComponent<DefaultIconPropsT>;
|
|
50
|
+
children?: React.ReactNode;
|
|
51
|
+
secondaryTitle?: string;
|
|
52
|
+
customActions?: CustomActionsT[];
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
dsIndex: number;
|
|
55
|
+
renderCustomActions?: (props: {
|
|
56
|
+
allRefs: AllChildrenReferences;
|
|
57
|
+
actualActiveValue: InternalActiveValueT;
|
|
58
|
+
}) => JSX.Element;
|
|
59
|
+
}
|
|
60
|
+
export interface DSAccordionItemDefaultPropsT {
|
|
61
|
+
iconClosed: React.MemoExoticComponent<React.FunctionComponent<DefaultIconPropsT>>;
|
|
62
|
+
iconOpened: React.MemoExoticComponent<React.FunctionComponent<DefaultIconPropsT>>;
|
|
63
|
+
title: string;
|
|
64
|
+
customActions: CustomActionsT[];
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
}
|
|
67
|
+
export interface DSAccordionItemPropsWithDefaultsT {
|
|
68
|
+
title: string;
|
|
69
|
+
value: string | number;
|
|
70
|
+
iconClosed: React.MemoExoticComponent<React.FunctionComponent<DefaultIconPropsT>> | React.FunctionComponent<DefaultIconPropsT>;
|
|
71
|
+
iconOpened: React.MemoExoticComponent<React.FunctionComponent<DefaultIconPropsT>> | React.FunctionComponent<DefaultIconPropsT>;
|
|
72
|
+
children?: React.ReactNode;
|
|
73
|
+
secondaryTitle?: string;
|
|
74
|
+
customActions: CustomActionsT[];
|
|
75
|
+
disabled: boolean;
|
|
76
|
+
dsIndex: number;
|
|
77
|
+
renderCustomActions?: (props: {
|
|
78
|
+
allRefs: AllChildrenReferences;
|
|
79
|
+
actualActiveValue: InternalActiveValueT;
|
|
80
|
+
}) => JSX.Element;
|
|
81
|
+
}
|
|
82
|
+
export interface DSAccordionContextT {
|
|
83
|
+
props: DSAccordionPropsWithDefaultsT;
|
|
84
|
+
actualActiveValue: InternalActiveValueT;
|
|
85
|
+
setActiveValues: (value: string | number, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
86
|
+
focusableChildrenReferences: FocusableChildrenReferences[];
|
|
87
|
+
allChildrenReferences: AllChildrenReferences;
|
|
88
|
+
}
|
|
89
|
+
export interface DSAccordionUseAccordionContextT {
|
|
90
|
+
props: DSAccordionPropsWithDefaultsT;
|
|
91
|
+
actualActiveValue: InternalActiveValueT;
|
|
92
|
+
setActiveValues: (value: string | number, e: React.MouseEvent | React.KeyboardEvent) => void;
|
|
93
|
+
focusableChildrenReferences: FocusableChildrenReferences[];
|
|
94
|
+
allChildrenReferences: AllChildrenReferences;
|
|
95
|
+
}
|
|
96
|
+
export interface UseAccordionPropsT {
|
|
97
|
+
value: string | number;
|
|
98
|
+
disabled: boolean;
|
|
99
|
+
}
|
|
100
|
+
export interface UseAccordionItemReturnTypeT {
|
|
101
|
+
handleOnClick: (e: React.MouseEvent) => void;
|
|
102
|
+
handleOnKeyDown: (e: React.KeyboardEvent, dsIndex: number) => void;
|
|
103
|
+
selected: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface UseAccordionRefsPropsT {
|
|
106
|
+
children: React.ReactElement<DSAccordionItemPropsT>[];
|
|
107
|
+
}
|
|
108
|
+
export interface UseAccordionRefsReturnTypeT {
|
|
109
|
+
focusableChildrenReferences: FocusableChildrenReferences[];
|
|
110
|
+
allChildrenReferences: AllChildrenReferences;
|
|
111
|
+
}
|
|
112
|
+
export interface StyledItemHeaderPropsT {
|
|
113
|
+
withCustomActions: boolean;
|
|
114
|
+
withSecondaryTitle?: string;
|
|
115
|
+
isDSMobile: boolean;
|
|
116
|
+
}
|
|
117
|
+
export interface StyledItemTitlesPropsT {
|
|
118
|
+
withSecondaryTitle?: string;
|
|
119
|
+
isDSMobile: boolean;
|
|
120
|
+
}
|
|
121
|
+
export interface StyledPrimaryTitlePropsT {
|
|
122
|
+
disabled: boolean;
|
|
123
|
+
isDSMobile: boolean;
|
|
124
|
+
}
|
|
125
|
+
export interface StyledItemContentPropsT {
|
|
126
|
+
isDSMobile: boolean;
|
|
127
|
+
}
|
|
128
|
+
export interface StyledSecondaryTitlePropsT {
|
|
129
|
+
disabled: boolean;
|
|
130
|
+
}
|
|
131
|
+
export interface StyledItemAddonPropsT {
|
|
132
|
+
disabled: boolean;
|
|
133
|
+
isDSMobile: boolean;
|
|
134
|
+
}
|
|
135
|
+
export interface StyledItemHeaderContainerPropsT {
|
|
136
|
+
disabled: boolean;
|
|
137
|
+
}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference path="../../../../../../shared/typings/react-desc.d.ts" />
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
import type { DSAccordionItemPropsT } from '../../DSAccordionTypes';
|
|
4
|
+
declare const DSAccordionItem: {
|
|
5
|
+
(props: DSAccordionItemPropsT): JSX.Element;
|
|
6
|
+
propTypes: {
|
|
7
|
+
children: import("react-desc").PropTypesDescValue;
|
|
8
|
+
title: {
|
|
9
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
10
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
11
|
+
};
|
|
12
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
13
|
+
};
|
|
14
|
+
value: import("react-desc").PropTypesDescValue;
|
|
15
|
+
iconClosed: {
|
|
16
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
17
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
18
|
+
};
|
|
19
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
20
|
+
};
|
|
21
|
+
iconOpened: {
|
|
22
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
23
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
24
|
+
};
|
|
25
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
26
|
+
};
|
|
27
|
+
secondaryTitle: {
|
|
28
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
29
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
30
|
+
};
|
|
31
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
32
|
+
};
|
|
33
|
+
customActions: {
|
|
34
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
35
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
36
|
+
};
|
|
37
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
38
|
+
};
|
|
39
|
+
renderCustomActions: {
|
|
40
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
41
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
42
|
+
};
|
|
43
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
declare const DSAccordionItemWithSchema: {
|
|
48
|
+
(props?: unknown): JSX.Element;
|
|
49
|
+
propTypes: unknown;
|
|
50
|
+
toTypescript: () => import("react-desc").TypescriptSchema;
|
|
51
|
+
};
|
|
52
|
+
export { DSAccordionItem, DSAccordionItemWithSchema };
|
|
53
|
+
export default DSAccordionItem;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { StyledItemAddonPropsT, StyledItemHeaderPropsT, StyledItemTitlesPropsT, StyledPrimaryTitlePropsT, StyledSecondaryTitlePropsT, StyledItemContentPropsT, StyledItemHeaderContainerPropsT } from '../../DSAccordionTypes';
|
|
2
|
+
export declare const StyledItemContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
3
|
+
export declare const StyledItemHeader: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, StyledItemHeaderPropsT, never>;
|
|
4
|
+
export declare const StyledItemContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledItemContentPropsT, never>;
|
|
5
|
+
export declare const StyledItemAddon: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledItemAddonPropsT, never>;
|
|
6
|
+
export declare const StyledItemTitles: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledItemTitlesPropsT, never>;
|
|
7
|
+
export declare const StyledPrimaryTitle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledPrimaryTitlePropsT, never>;
|
|
8
|
+
export declare const StyledSecondaryTitle: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, StyledSecondaryTitlePropsT, never>;
|
|
9
|
+
export declare const StyledItemCustomActions: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
|
|
10
|
+
export declare const StyledItemHeaderContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, StyledItemHeaderContainerPropsT, never>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/// <reference path="../../../../shared/typings/react-desc.d.ts" />
|
|
2
|
+
export declare const accordionItemPropTypes: {
|
|
3
|
+
children: import("react-desc").PropTypesDescValue;
|
|
4
|
+
title: {
|
|
5
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
6
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
7
|
+
};
|
|
8
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
9
|
+
};
|
|
10
|
+
value: import("react-desc").PropTypesDescValue;
|
|
11
|
+
iconClosed: {
|
|
12
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
13
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
14
|
+
};
|
|
15
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
16
|
+
};
|
|
17
|
+
iconOpened: {
|
|
18
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
19
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
20
|
+
};
|
|
21
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
22
|
+
};
|
|
23
|
+
secondaryTitle: {
|
|
24
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
25
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
26
|
+
};
|
|
27
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
28
|
+
};
|
|
29
|
+
customActions: {
|
|
30
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
31
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
32
|
+
};
|
|
33
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
34
|
+
};
|
|
35
|
+
renderCustomActions: {
|
|
36
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
37
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
38
|
+
};
|
|
39
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const accordionPropTypes: {
|
|
43
|
+
containerProps: {
|
|
44
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
45
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
46
|
+
};
|
|
47
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
48
|
+
};
|
|
49
|
+
activeValue: {
|
|
50
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
51
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
52
|
+
};
|
|
53
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
54
|
+
};
|
|
55
|
+
children: {
|
|
56
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
57
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
58
|
+
};
|
|
59
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
60
|
+
};
|
|
61
|
+
allowMultipleOpen: {
|
|
62
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
63
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
64
|
+
};
|
|
65
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
66
|
+
};
|
|
67
|
+
onChange: {
|
|
68
|
+
defaultValue(arg: import("react-desc").ReactDescPossibleDefaultValues): {
|
|
69
|
+
deprecated: import("react-desc").PropTypesDescValidator;
|
|
70
|
+
};
|
|
71
|
+
isRequired: import("react-desc").PropTypesDescValue;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/cjs/DSAccordion.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var DSAccordion_exports = {};
|
|
29
|
-
__export(DSAccordion_exports, {
|
|
30
|
-
DSAccordion: () => DSAccordion,
|
|
31
|
-
DSAccordionWithSchema: () => DSAccordionWithSchema,
|
|
32
|
-
default: () => DSAccordion_default
|
|
33
|
-
});
|
|
34
|
-
var React = __toESM(require("react"));
|
|
35
|
-
var import_react = __toESM(require("react"));
|
|
36
|
-
var import_react_desc = require("react-desc");
|
|
37
|
-
var import_AccordionContent = require("./parts/accordionContent/AccordionContent");
|
|
38
|
-
var import_useAccordion = require("./config/useAccordion");
|
|
39
|
-
var import_DSAccordionCTX = require("./DSAccordionCTX");
|
|
40
|
-
var import_propTypes = require("./propTypes");
|
|
41
|
-
const DSAccordion = (props) => {
|
|
42
|
-
const ctx = (0, import_useAccordion.useAccordion)(props);
|
|
43
|
-
return /* @__PURE__ */ import_react.default.createElement(import_DSAccordionCTX.DSAccordionContext.Provider, {
|
|
44
|
-
value: ctx
|
|
45
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_AccordionContent.AccordionContent, null));
|
|
46
|
-
};
|
|
47
|
-
DSAccordion.propTypes = import_propTypes.accordionPropTypes;
|
|
48
|
-
const DSAccordionWithSchema = (0, import_react_desc.describe)(DSAccordion);
|
|
49
|
-
DSAccordionWithSchema.propTypes = import_propTypes.accordionPropTypes;
|
|
50
|
-
var DSAccordion_default = DSAccordion;
|
|
51
|
-
module.exports = __toCommonJS(DSAccordion_exports);
|
|
52
|
-
//# sourceMappingURL=DSAccordion.js.map
|