Skip to content

Commit fb66941

Browse files
committed
chore: Update package version to 1.0.179 and improve Accordion component
1 parent 5923d6f commit fb66941

File tree

4 files changed

+35
-13
lines changed

4 files changed

+35
-13
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@programmer_network/yail",
3-
"version": "1.0.178",
3+
"version": "1.0.179",
44
"description": "Programmer Network's official UI library for React",
55
"author": "Aleksandar Grbic - (https://programmer.network)",
66
"publishConfig": {

src/Components/Accordion/Accordion.stories.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default meta;
2121
const dummySections = Array(5)
2222
.fill(0)
2323
.map((_, index) => ({
24-
id: index,
24+
id: Math.floor(Math.random() * 1000000),
2525
title: faker.lorem.words(Math.floor(Math.random() * 10) + 1),
2626
description:
2727
index % 2 === 0
@@ -32,7 +32,7 @@ const dummySections = Array(5)
3232
items: Array(Math.floor(Math.random() * 5) + 1)
3333
.fill(0)
3434
.map((__, index) => ({
35-
id: index,
35+
id: Math.floor(Math.random() * 1000000),
3636
title: faker.lorem.words(Math.floor(Math.random() * 10) + 1),
3737
order: index
3838
}))

src/Components/Accordion/__snapshots__/Accordion.test.tsx.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ exports[`Accordion component > renders correctly 1`] = `
1111
>
1212
<h3
1313
aria-expanded="true"
14-
class="yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-text-primary-text-color yl-p-4 yl-bg-primary-text-color/5"
14+
class="yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-p-4 yl-bg-primary-text-color/5 yl-text-primary-text-color"
1515
role="button"
1616
tabindex="0"
1717
>
1818
<div
1919
class="yl-flex yl-flex-col yl-gap-1 yl-overflow-hidden yl-text-ellipsis yl-whitespace-nowrap yl-text-base"
2020
>
2121
<svg
22-
class="yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary-text-color hover:yl-fill-primary"
22+
class="yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary hover:yl-fill-primary"
2323
data-testid="icon-expand-less"
2424
fill="currentColor"
2525
viewBox="0 0 24 24"
@@ -62,15 +62,15 @@ exports[`Accordion component > renders correctly 1`] = `
6262
>
6363
<h3
6464
aria-expanded="false"
65-
class="yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-text-primary-text-color yl-p-4"
65+
class="yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-p-4 yl-text-primary-text-color"
6666
role="button"
6767
tabindex="0"
6868
>
6969
<div
7070
class="yl-flex yl-flex-col yl-gap-1 yl-overflow-hidden yl-text-ellipsis yl-whitespace-nowrap yl-text-base"
7171
>
7272
<svg
73-
class="yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary-text-color hover:yl-fill-primary"
73+
class="yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary hover:yl-fill-primary"
7474
data-testid="icon-expand-more"
7575
fill="currentColor"
7676
viewBox="0 0 24 24"

src/Components/Accordion/index.tsx

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ const Accordion: FC<IAccordionProps> = ({
2727
const [selectedItemId, setSelectedItemId] = useState<
2828
number | null | undefined
2929
>(selectedId);
30+
31+
const [selectedSectionId, setSelectedSectionId] = useState<
32+
number | null | undefined
33+
>(selectedId);
34+
3035
const [draggedId, setDraggedId] = useState<number | null>(null);
3136
const [draggedOverId, setDraggedOverId] = useState<number | null>(null);
3237
const [hoveredId, setHoveredId] = useState<number | null>(null);
@@ -98,10 +103,18 @@ const Accordion: FC<IAccordionProps> = ({
98103
role='presentation'
99104
>
100105
<h3
106+
onClick={() => {
107+
setSelectedSectionId(section.id);
108+
}}
101109
className={classNames(
102-
"yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-text-primary-text-color yl-p-4",
110+
"yl-relative yl-flex yl-cursor-pointer yl-select-none yl-items-center yl-font-semibold yl-capitalize yl-p-4",
103111
sectionTitleClassName,
104-
{ "yl-bg-primary-text-color/5": expanded.includes(section.id) }
112+
{
113+
"yl-bg-primary-text-color/5": expanded.includes(section.id),
114+
"yl-text-primary-text-color":
115+
selectedSectionId !== section.id,
116+
"yl-text-primary": selectedSectionId === section.id
117+
}
105118
)}
106119
onKeyDown={e =>
107120
["Enter", " "].includes(e.key) && toggleExpand(section.id)
@@ -118,13 +131,21 @@ const Accordion: FC<IAccordionProps> = ({
118131
<div className='yl-flex yl-flex-col yl-gap-1 yl-overflow-hidden yl-text-ellipsis yl-whitespace-nowrap yl-text-base'>
119132
{expanded.includes(section.id) ? (
120133
<IconExpandLess
121-
onClick={() => toggleExpand(section.id)}
122-
className='yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary-text-color hover:yl-fill-primary'
134+
onClick={e => {
135+
e.stopPropagation();
136+
e.preventDefault();
137+
toggleExpand(section.id);
138+
}}
139+
className='yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary hover:yl-fill-primary'
123140
/>
124141
) : (
125142
<IconExpandMore
126-
onClick={() => toggleExpand(section.id)}
127-
className='yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary-text-color hover:yl-fill-primary'
143+
onClick={e => {
144+
e.stopPropagation();
145+
e.preventDefault();
146+
toggleExpand(section.id);
147+
}}
148+
className='yl-absolute yl-right-2 yl-w-6 yl-cursor-pointer yl-fill-primary hover:yl-fill-primary'
128149
/>
129150
)}
130151
{section.title}
@@ -168,6 +189,7 @@ const Accordion: FC<IAccordionProps> = ({
168189
onSectionItemClick?.(item);
169190
onSelected?.(item);
170191
setSelectedItemId(item.id);
192+
setSelectedSectionId(section.id);
171193
}}
172194
/>
173195
)}

0 commit comments

Comments
 (0)