Skip to content

Commit 7147821

Browse files
committed
feat: styling, action button, bulk delete, sidel panel, custom modal
1 parent 1fc6793 commit 7147821

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+6572
-961
lines changed

example/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ This is an example project demonstrating the usage of `@keyvaluesystems/multilev
1111
- Filtering
1212
- Pagination
1313
- Theme customization
14+
- Export functionality (CSV)
15+
- Generic Button components
16+
- Action button groups with dropdowns
1417

1518
## Getting Started
1619

@@ -56,6 +59,23 @@ The example demonstrates:
5659
- Sorting
5760
- Filtering
5861
- Pagination
62+
- CSV Export with dropdown
63+
- Action buttons with badges
64+
- Delete functionality with confirmation popup
65+
66+
5. **Button Components**
67+
- Generic Button component with icon and text
68+
- ButtonGroup for managing multiple action buttons
69+
- Support for badges, dropdowns, and custom icons
70+
- Theme-aware styling
71+
- Flexible icon positioning (left or right of text)
72+
73+
6. **Popup Component**
74+
- Generic confirmation popup
75+
- Customizable icon, title, text, and buttons
76+
- Theme-aware styling
77+
- Accessibility features (ESC key, click outside)
78+
- Responsive design
5979

6080
## Learn More
6181

example/src/App.css

Lines changed: 28 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,44 @@
1-
#root {
2-
margin: 0 auto;
3-
padding: 2rem;
4-
text-align: center;
5-
width: 100vw;
6-
}
7-
8-
.logo {
9-
height: 6em;
10-
padding: 1.5em;
11-
will-change: filter;
12-
transition: filter 300ms;
13-
}
14-
.logo:hover {
15-
filter: drop-shadow(0 0 2em #646cffaa);
16-
}
17-
.logo.react:hover {
18-
filter: drop-shadow(0 0 2em #61dafbaa);
19-
}
20-
21-
@keyframes logo-spin {
22-
from {
23-
transform: rotate(0deg);
24-
}
25-
to {
26-
transform: rotate(360deg);
27-
}
28-
}
1+
/* Import DM Sans font from Google Fonts */
2+
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
293

30-
@media (prefers-reduced-motion: no-preference) {
31-
a:nth-of-type(2) .logo {
32-
animation: logo-spin infinite 20s linear;
33-
}
4+
.app {
5+
display: flex;
6+
flex-direction: column;
347
}
358

36-
.card {
37-
padding: 2em;
9+
.app-header {
10+
padding: 1rem;
11+
display: flex;
12+
justify-content: space-between;
13+
align-items: center;
14+
border-bottom: 1px solid;
3815
}
3916

40-
.read-the-docs {
41-
color: #888;
17+
.app-header h1 {
18+
margin: 0;
19+
font-size: 1.5rem;
4220
}
4321

44-
.app {
45-
max-width: 1200px;
46-
margin: 0 auto;
47-
padding: 2rem;
22+
.theme-toggle {
23+
padding: 0.5rem 1rem;
24+
border: 1px solid;
25+
border-radius: 4px;
26+
cursor: pointer;
27+
font-size: 1rem;
28+
transition: opacity 0.2s;
4829
}
4930

50-
h1 {
51-
text-align: center;
52-
color: #333;
53-
margin-bottom: 2rem;
31+
.theme-toggle:hover {
32+
opacity: 0.9;
5433
}
5534

56-
.table-container {
57-
background: white;
58-
border-radius: 8px;
59-
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
35+
.app-content {
36+
flex: 1;
6037
padding: 1rem;
6138
}
6239

63-
.selection-info {
64-
margin-top: 1rem;
65-
padding: 1rem;
66-
background: #f5f5f5;
40+
.table-container {
6741
border-radius: 4px;
68-
color: #333;
42+
overflow: hidden;
43+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
6944
}

0 commit comments

Comments
 (0)