cpk-ui 0.5.1-rc.1 → 0.5.1-rc.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/components/uis/Accordion/Accordion.d.ts +4 -4
- package/components/uis/Accordion/Accordion.d.ts.map +1 -1
- package/components/uis/Accordion/Accordion.js +6 -6
- package/package.json +1 -1
- package/src/components/uis/Accordion/Accordion.stories.tsx +7 -7
- package/src/components/uis/Accordion/Accordion.test.tsx +6 -6
- package/src/components/uis/Accordion/Accordion.tsx +9 -9
|
@@ -16,11 +16,11 @@ export type AccordionBaseProps<T = string, K = string> = {
|
|
|
16
16
|
styles?: Styles;
|
|
17
17
|
size?: AccordionSizeType;
|
|
18
18
|
shouldAnimate?: boolean;
|
|
19
|
-
/** @deprecated Use
|
|
19
|
+
/** @deprecated Use expandAllOnStart instead */
|
|
20
20
|
collapseOnStart?: boolean;
|
|
21
21
|
/** If true, all items start expanded. Defaults to false (all items collapsed) */
|
|
22
|
-
|
|
23
|
-
/** Array of indexes that should be expanded on start. Overrides
|
|
22
|
+
expandAllOnStart?: boolean;
|
|
23
|
+
/** Array of indexes that should be expanded on start. Overrides expandAllOnStart */
|
|
24
24
|
defaultExpandedIndexes?: number[];
|
|
25
25
|
animDuration?: number;
|
|
26
26
|
activeOpacity?: number;
|
|
@@ -31,7 +31,7 @@ export type AccordionBaseProps<T = string, K = string> = {
|
|
|
31
31
|
onPressItem?: (title: T | string, body: K | string) => void;
|
|
32
32
|
};
|
|
33
33
|
export type AccordionProps<T = string, K = string> = AccordionBaseProps<T, K>;
|
|
34
|
-
declare function Accordion<T, K>({ style, toggleElementPosition, size, data, collapseOnStart,
|
|
34
|
+
declare function Accordion<T, K>({ style, toggleElementPosition, size, data, collapseOnStart, expandAllOnStart, defaultExpandedIndexes, ...rest }: AccordionProps<T, K>): ReactElement;
|
|
35
35
|
declare const _default: typeof Accordion;
|
|
36
36
|
export default _default;
|
|
37
37
|
export { Accordion };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/uis/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAU,KAAK,YAAY,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAIlE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAO3D,KAAK,MAAM,GAAG;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI;IACvD,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/uis/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAU,KAAK,YAAY,EAAC,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAIlE,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,iBAAiB,CAAC;AAO3D,KAAK,MAAM,GAAG;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEtE,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI;IACvD,IAAI,EAAE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oFAAoF;IACpF,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,aAAa,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC;IACzC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,GAAG,MAAM,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE9E,iBAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,EACvB,KAAK,EACL,qBAA+B,EAC/B,IAAe,EACf,IAAI,EACJ,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,GAAG,IAAI,EACR,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,YAAY,CAiDrC;wBAGuC,OAAO,SAAS;AAAxD,wBAAyD;AACzD,OAAO,EAAC,SAAS,EAAC,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { AccordionItem } from './AccordionItem';
|
|
|
6
6
|
const Container = styled(View) `
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
`;
|
|
9
|
-
function Accordion({ style, toggleElementPosition = 'right', size = 'medium', data, collapseOnStart,
|
|
9
|
+
function Accordion({ style, toggleElementPosition = 'right', size = 'medium', data, collapseOnStart, expandAllOnStart, defaultExpandedIndexes, ...rest }) {
|
|
10
10
|
// Memoize accordion items rendering
|
|
11
11
|
const accordionItems = useMemo(() => data.map((datum, titleKey) => {
|
|
12
12
|
// Determine if this item should be collapsed on start
|
|
@@ -16,9 +16,9 @@ function Accordion({ style, toggleElementPosition = 'right', size = 'medium', da
|
|
|
16
16
|
// If defaultExpandedIndexes is provided, use it
|
|
17
17
|
shouldCollapse = !defaultExpandedIndexes.includes(titleKey);
|
|
18
18
|
}
|
|
19
|
-
else if (
|
|
20
|
-
// If
|
|
21
|
-
shouldCollapse = !
|
|
19
|
+
else if (expandAllOnStart !== undefined) {
|
|
20
|
+
// If expandAllOnStart is provided, use it
|
|
21
|
+
shouldCollapse = !expandAllOnStart;
|
|
22
22
|
}
|
|
23
23
|
else if (collapseOnStart !== undefined) {
|
|
24
24
|
// Fallback to deprecated collapseOnStart for backward compatibility
|
|
@@ -28,13 +28,13 @@ function Accordion({ style, toggleElementPosition = 'right', size = 'medium', da
|
|
|
28
28
|
// Default: all items collapsed
|
|
29
29
|
shouldCollapse = true;
|
|
30
30
|
}
|
|
31
|
-
return (_jsx(AccordionItem, { data: datum, testID: `${titleKey}`, toggleElementPosition: toggleElementPosition, size: size,
|
|
31
|
+
return (_jsx(AccordionItem, { data: datum, testID: `${titleKey}`, toggleElementPosition: toggleElementPosition, size: size, collapseOnStart: shouldCollapse, ...rest }, titleKey));
|
|
32
32
|
}), [
|
|
33
33
|
data,
|
|
34
34
|
toggleElementPosition,
|
|
35
35
|
size,
|
|
36
36
|
collapseOnStart,
|
|
37
|
-
|
|
37
|
+
expandAllOnStart,
|
|
38
38
|
defaultExpandedIndexes,
|
|
39
39
|
rest,
|
|
40
40
|
]);
|
package/package.json
CHANGED
|
@@ -33,22 +33,22 @@ An expandable/collapsible accordion component for organizing content hierarchica
|
|
|
33
33
|
<Accordion data={data} defaultExpandedIndexes={[0, 2]} />
|
|
34
34
|
|
|
35
35
|
// All items expanded
|
|
36
|
-
<Accordion data={data}
|
|
36
|
+
<Accordion data={data} expandAllOnStart={true} />
|
|
37
37
|
\`\`\`
|
|
38
38
|
|
|
39
39
|
## Initial Expansion Props
|
|
40
40
|
- **defaultExpandedIndexes**: Array of indexes to expand on start (e.g., \`[0, 2]\`)
|
|
41
|
-
- **
|
|
42
|
-
- **collapseOnStart**: **@deprecated** Use \`
|
|
41
|
+
- **expandAllOnStart**: Boolean to expand all items on start
|
|
42
|
+
- **collapseOnStart**: **@deprecated** Use \`expandAllOnStart={false}\` instead
|
|
43
43
|
|
|
44
|
-
**Priority order:** \`defaultExpandedIndexes\` > \`
|
|
44
|
+
**Priority order:** \`defaultExpandedIndexes\` > \`expandAllOnStart\` > \`collapseOnStart\` (deprecated) > default (all collapsed)
|
|
45
45
|
|
|
46
46
|
## Props
|
|
47
47
|
- **size**: Accordion size ('small', 'medium', 'large', or number)
|
|
48
48
|
- **data**: Array of accordion sections with title and items
|
|
49
49
|
- **defaultExpandedIndexes**: Array of indexes to expand on start
|
|
50
|
-
- **
|
|
51
|
-
- **collapseOnStart**: **@deprecated** Whether sections start collapsed (use
|
|
50
|
+
- **expandAllOnStart**: Whether all sections start expanded
|
|
51
|
+
- **collapseOnStart**: **@deprecated** Whether sections start collapsed (use expandAllOnStart instead)
|
|
52
52
|
- **animDuration**: Animation duration in milliseconds
|
|
53
53
|
- **shouldAnimate**: Enable/disable animations
|
|
54
54
|
- **onPressItem**: Callback when an item is pressed
|
|
@@ -152,7 +152,7 @@ export const AllItemsExpanded: Story = {
|
|
|
152
152
|
args: {
|
|
153
153
|
size: 'medium',
|
|
154
154
|
animDuration: 200,
|
|
155
|
-
|
|
155
|
+
expandAllOnStart: true,
|
|
156
156
|
onPressItem: () => {},
|
|
157
157
|
data: defaultData,
|
|
158
158
|
shouldAnimate: true,
|
|
@@ -57,9 +57,9 @@ describe('[Accordion] render test', () => {
|
|
|
57
57
|
expect(json).toBeTruthy();
|
|
58
58
|
});
|
|
59
59
|
|
|
60
|
-
it('should render all expanded when
|
|
60
|
+
it('should render all expanded when expandAllOnStart is true', () => {
|
|
61
61
|
props = createTestProps({
|
|
62
|
-
|
|
62
|
+
expandAllOnStart: true,
|
|
63
63
|
data: data,
|
|
64
64
|
renderTitle: (title) => <Text>{title}</Text>,
|
|
65
65
|
renderItem: (item) => <Text>{item}</Text>,
|
|
@@ -105,10 +105,10 @@ describe('[Accordion] render test', () => {
|
|
|
105
105
|
expect(json).toBeTruthy();
|
|
106
106
|
});
|
|
107
107
|
|
|
108
|
-
it('should prioritize defaultExpandedIndexes over
|
|
108
|
+
it('should prioritize defaultExpandedIndexes over expandAllOnStart', () => {
|
|
109
109
|
props = createTestProps({
|
|
110
110
|
defaultExpandedIndexes: [0],
|
|
111
|
-
|
|
111
|
+
expandAllOnStart: true,
|
|
112
112
|
data: data,
|
|
113
113
|
renderTitle: (title) => <Text>{title}</Text>,
|
|
114
114
|
renderItem: (item) => <Text>{item}</Text>,
|
|
@@ -122,9 +122,9 @@ describe('[Accordion] render test', () => {
|
|
|
122
122
|
expect(json).toBeTruthy();
|
|
123
123
|
});
|
|
124
124
|
|
|
125
|
-
it('should prioritize
|
|
125
|
+
it('should prioritize expandAllOnStart over collapseOnStart (deprecated)', () => {
|
|
126
126
|
props = createTestProps({
|
|
127
|
-
|
|
127
|
+
expandAllOnStart: false,
|
|
128
128
|
collapseOnStart: false,
|
|
129
129
|
data: data,
|
|
130
130
|
renderTitle: (title) => <Text>{title}</Text>,
|
|
@@ -27,11 +27,11 @@ export type AccordionBaseProps<T = string, K = string> = {
|
|
|
27
27
|
styles?: Styles;
|
|
28
28
|
size?: AccordionSizeType;
|
|
29
29
|
shouldAnimate?: boolean;
|
|
30
|
-
/** @deprecated Use
|
|
30
|
+
/** @deprecated Use expandAllOnStart instead */
|
|
31
31
|
collapseOnStart?: boolean;
|
|
32
32
|
/** If true, all items start expanded. Defaults to false (all items collapsed) */
|
|
33
|
-
|
|
34
|
-
/** Array of indexes that should be expanded on start. Overrides
|
|
33
|
+
expandAllOnStart?: boolean;
|
|
34
|
+
/** Array of indexes that should be expanded on start. Overrides expandAllOnStart */
|
|
35
35
|
defaultExpandedIndexes?: number[];
|
|
36
36
|
animDuration?: number;
|
|
37
37
|
activeOpacity?: number;
|
|
@@ -50,7 +50,7 @@ function Accordion<T, K>({
|
|
|
50
50
|
size = 'medium',
|
|
51
51
|
data,
|
|
52
52
|
collapseOnStart,
|
|
53
|
-
|
|
53
|
+
expandAllOnStart,
|
|
54
54
|
defaultExpandedIndexes,
|
|
55
55
|
...rest
|
|
56
56
|
}: AccordionProps<T, K>): ReactElement {
|
|
@@ -67,9 +67,9 @@ function Accordion<T, K>({
|
|
|
67
67
|
) {
|
|
68
68
|
// If defaultExpandedIndexes is provided, use it
|
|
69
69
|
shouldCollapse = !defaultExpandedIndexes.includes(titleKey);
|
|
70
|
-
} else if (
|
|
71
|
-
// If
|
|
72
|
-
shouldCollapse = !
|
|
70
|
+
} else if (expandAllOnStart !== undefined) {
|
|
71
|
+
// If expandAllOnStart is provided, use it
|
|
72
|
+
shouldCollapse = !expandAllOnStart;
|
|
73
73
|
} else if (collapseOnStart !== undefined) {
|
|
74
74
|
// Fallback to deprecated collapseOnStart for backward compatibility
|
|
75
75
|
shouldCollapse = collapseOnStart;
|
|
@@ -85,7 +85,7 @@ function Accordion<T, K>({
|
|
|
85
85
|
testID={`${titleKey}`}
|
|
86
86
|
toggleElementPosition={toggleElementPosition}
|
|
87
87
|
size={size}
|
|
88
|
-
|
|
88
|
+
collapseOnStart={shouldCollapse}
|
|
89
89
|
{...rest}
|
|
90
90
|
/>
|
|
91
91
|
);
|
|
@@ -95,7 +95,7 @@ function Accordion<T, K>({
|
|
|
95
95
|
toggleElementPosition,
|
|
96
96
|
size,
|
|
97
97
|
collapseOnStart,
|
|
98
|
-
|
|
98
|
+
expandAllOnStart,
|
|
99
99
|
defaultExpandedIndexes,
|
|
100
100
|
rest,
|
|
101
101
|
],
|