@alepha/ui 0.11.3 → 0.11.5

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 (42) hide show
  1. package/dist/AlephaMantineProvider-Ba88lMeq.js +3 -0
  2. package/dist/AlephaMantineProvider-Be0DAazb.js +150 -0
  3. package/dist/AlephaMantineProvider-Be0DAazb.js.map +1 -0
  4. package/dist/index.d.ts +289 -225
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +650 -729
  7. package/dist/index.js.map +1 -1
  8. package/package.json +14 -12
  9. package/src/RootRouter.ts +1 -1
  10. package/src/components/buttons/ActionButton.tsx +542 -0
  11. package/src/components/buttons/BurgerButton.tsx +20 -0
  12. package/src/components/{DarkModeButton.tsx → buttons/DarkModeButton.tsx} +27 -14
  13. package/src/components/buttons/LanguageButton.tsx +28 -0
  14. package/src/components/buttons/OmnibarButton.tsx +32 -0
  15. package/src/components/buttons/ToggleSidebarButton.tsx +28 -0
  16. package/src/components/dialogs/AlertDialog.tsx +10 -10
  17. package/src/components/dialogs/ConfirmDialog.tsx +18 -18
  18. package/src/components/dialogs/PromptDialog.tsx +5 -3
  19. package/src/components/{Control.tsx → form/Control.tsx} +6 -3
  20. package/src/components/{ControlDate.tsx → form/ControlDate.tsx} +4 -1
  21. package/src/components/{ControlSelect.tsx → form/ControlSelect.tsx} +4 -1
  22. package/src/components/{TypeForm.tsx → form/TypeForm.tsx} +8 -6
  23. package/src/components/layout/AdminShell.tsx +97 -0
  24. package/src/components/{AlephaMantineProvider.tsx → layout/AlephaMantineProvider.tsx} +30 -10
  25. package/src/components/layout/AppBar.tsx +133 -0
  26. package/src/components/layout/Omnibar.tsx +43 -0
  27. package/src/components/layout/Sidebar.tsx +410 -0
  28. package/src/components/table/DataTable.tsx +63 -0
  29. package/src/constants/ui.ts +8 -0
  30. package/src/index.ts +89 -24
  31. package/src/services/DialogService.tsx +13 -32
  32. package/src/services/ToastService.tsx +16 -4
  33. package/src/utils/parseInput.ts +1 -1
  34. package/dist/AlephaMantineProvider-DDbIijPF.js +0 -96
  35. package/dist/AlephaMantineProvider-DDbIijPF.js.map +0 -1
  36. package/dist/AlephaMantineProvider-pOu8hOzK.js +0 -3
  37. package/src/components/Action.tsx +0 -345
  38. package/src/components/DataTable.css +0 -199
  39. package/src/components/DataTable.tsx +0 -724
  40. package/src/components/Omnibar.tsx +0 -77
  41. package/src/components/Sidebar.css +0 -217
  42. package/src/components/Sidebar.tsx +0 -255
@@ -1,199 +0,0 @@
1
- /* ------------------------------------------------------------------------------------------------------------------ */
2
- /* DataTable Component Styles */
3
- /* ------------------------------------------------------------------------------------------------------------------ */
4
-
5
- .alepha-datatable-container {
6
- display: flex;
7
- flex-direction: column;
8
- height: 100%;
9
- }
10
-
11
- .alepha-datatable-toolbar {
12
- border-radius: var(--mantine-radius-md);
13
- background: var(--mantine-color-body);
14
- }
15
-
16
- .alepha-datatable-search-input {
17
- min-width: 200px;
18
- max-width: 300px;
19
- }
20
-
21
- .alepha-datatable-page-size-select {
22
- width: 120px;
23
- }
24
-
25
- .alepha-datatable-table {
26
- position: relative;
27
- }
28
-
29
- .alepha-datatable-th {
30
- font-weight: 600;
31
- white-space: nowrap;
32
- user-select: none;
33
- transition: background-color 0.2s ease;
34
- }
35
-
36
- .alepha-datatable-th:hover {
37
- background-color: var(--mantine-color-gray-0);
38
- }
39
-
40
- [data-mantine-color-scheme="dark"] .alepha-datatable-th:hover {
41
- background-color: var(--mantine-color-dark-6);
42
- }
43
-
44
- .alepha-datatable-tr {
45
- transition: background-color 0.15s ease;
46
- }
47
-
48
- .alepha-datatable-tr.alepha-datatable-selected {
49
- background-color: var(--mantine-color-blue-0) !important;
50
- }
51
-
52
- [data-mantine-color-scheme="dark"]
53
- .alepha-datatable-tr.alepha-datatable-selected {
54
- background-color: rgba(34, 139, 230, 0.1) !important;
55
- }
56
-
57
- .alepha-datatable-checkbox-column {
58
- width: 40px;
59
- text-align: center;
60
- }
61
-
62
- .alepha-datatable-actions-column {
63
- width: 100px;
64
- text-align: center;
65
- }
66
-
67
- .alepha-datatable-sort-icon {
68
- color: var(--mantine-color-blue-6);
69
- transition: transform 0.2s ease;
70
- }
71
-
72
- .alepha-datatable-sort-icon-inactive {
73
- color: var(--mantine-color-gray-5);
74
- opacity: 0;
75
- transition: opacity 0.2s ease;
76
- }
77
-
78
- .alepha-datatable-th:hover .alepha-datatable-sort-icon-inactive {
79
- opacity: 0.5;
80
- }
81
-
82
- /* Loading state */
83
- .alepha-datatable-loading {
84
- position: relative;
85
- pointer-events: none;
86
- opacity: 0.5;
87
- }
88
-
89
- .alepha-datatable-loading-overlay {
90
- position: absolute;
91
- top: 0;
92
- left: 0;
93
- right: 0;
94
- bottom: 0;
95
- display: flex;
96
- align-items: center;
97
- justify-content: center;
98
- background: rgba(255, 255, 255, 0.8);
99
- z-index: 10;
100
- }
101
-
102
- [data-mantine-color-scheme="dark"] .alepha-datatable-loading-overlay {
103
- background: rgba(26, 27, 30, 0.8);
104
- }
105
-
106
- /* Sticky header styles */
107
- .alepha-datatable-sticky-header {
108
- position: sticky;
109
- top: 0;
110
- z-index: 5;
111
- background: var(--mantine-color-body);
112
- }
113
-
114
- /* Zebra striping adjustments */
115
- .alepha-datatable-striped tbody tr:nth-of-type(odd) {
116
- background-color: var(--mantine-color-gray-0);
117
- }
118
-
119
- [data-mantine-color-scheme="dark"]
120
- .alepha-datatable-striped
121
- tbody
122
- tr:nth-of-type(odd) {
123
- background-color: var(--mantine-color-dark-7);
124
- }
125
-
126
- /* Empty state */
127
- .alepha-datatable-empty-state {
128
- padding: 3rem 1rem;
129
- text-align: center;
130
- }
131
-
132
- .alepha-datatable-empty-icon {
133
- color: var(--mantine-color-gray-5);
134
- margin-bottom: 1rem;
135
- }
136
-
137
- /* Footer */
138
- .alepha-datatable-footer {
139
- border-top: 1px solid var(--mantine-color-gray-2);
140
- padding-top: var(--mantine-spacing-sm);
141
- margin-top: var(--mantine-spacing-xs);
142
- }
143
-
144
- [data-mantine-color-scheme="dark"] .alepha-datatable-footer {
145
- border-top-color: var(--mantine-color-dark-5);
146
- }
147
-
148
- /* Custom scrollbar for better UX */
149
- .alepha-datatable-container ::-webkit-scrollbar {
150
- width: 8px;
151
- height: 8px;
152
- }
153
-
154
- .alepha-datatable-container ::-webkit-scrollbar-track {
155
- background: var(--mantine-color-gray-1);
156
- border-radius: 4px;
157
- }
158
-
159
- [data-mantine-color-scheme="dark"]
160
- .alepha-datatable-container
161
- ::-webkit-scrollbar-track {
162
- background: var(--mantine-color-dark-6);
163
- }
164
-
165
- .alepha-datatable-container ::-webkit-scrollbar-thumb {
166
- background: var(--mantine-color-gray-4);
167
- border-radius: 4px;
168
- }
169
-
170
- [data-mantine-color-scheme="dark"]
171
- .alepha-datatable-container
172
- ::-webkit-scrollbar-thumb {
173
- background: var(--mantine-color-dark-4);
174
- }
175
-
176
- .alepha-datatable-container ::-webkit-scrollbar-thumb:hover {
177
- background: var(--mantine-color-gray-5);
178
- }
179
-
180
- [data-mantine-color-scheme="dark"]
181
- .alepha-datatable-container
182
- ::-webkit-scrollbar-thumb:hover {
183
- background: var(--mantine-color-dark-3);
184
- }
185
-
186
- /* Responsive */
187
- @media (max-width: 768px) {
188
- .alepha-datatable-toolbar {
189
- padding: var(--mantine-spacing-sm);
190
- }
191
-
192
- .alepha-datatable-search-input {
193
- min-width: 150px;
194
- }
195
-
196
- .alepha-datatable-page-size-select {
197
- width: 100px;
198
- }
199
- }