@makroz/web 1.2.6 → 1.4.0

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 (182) hide show
  1. package/dist/auth/CookieStorageAdapter.test.d.ts +11 -0
  2. package/dist/auth/CookieStorageAdapter.test.d.ts.map +1 -0
  3. package/dist/auth/CookieStorageAdapter.test.js +80 -0
  4. package/dist/auth/CookieStorageAdapter.test.js.map +1 -0
  5. package/dist/auth/LocalStorageAdapter.test.d.ts +12 -0
  6. package/dist/auth/LocalStorageAdapter.test.d.ts.map +1 -0
  7. package/dist/auth/LocalStorageAdapter.test.js +71 -0
  8. package/dist/auth/LocalStorageAdapter.test.js.map +1 -0
  9. package/dist/auth/authExports.test.d.ts +2 -0
  10. package/dist/auth/authExports.test.d.ts.map +1 -0
  11. package/dist/auth/authExports.test.js +15 -0
  12. package/dist/auth/authExports.test.js.map +1 -0
  13. package/dist/components/MkAccordion.stories.test.d.ts +2 -0
  14. package/dist/components/MkAccordion.stories.test.d.ts.map +1 -0
  15. package/dist/components/MkAccordion.stories.test.js +18 -0
  16. package/dist/components/MkAccordion.stories.test.js.map +1 -0
  17. package/dist/components/MkAlert.stories.test.d.ts +2 -0
  18. package/dist/components/MkAlert.stories.test.d.ts.map +1 -0
  19. package/dist/components/MkAlert.stories.test.js +16 -0
  20. package/dist/components/MkAlert.stories.test.js.map +1 -0
  21. package/dist/components/MkAvatar.stories.test.d.ts +2 -0
  22. package/dist/components/MkAvatar.stories.test.d.ts.map +1 -0
  23. package/dist/components/MkAvatar.stories.test.js +16 -0
  24. package/dist/components/MkAvatar.stories.test.js.map +1 -0
  25. package/dist/components/MkBadge.stories.test.d.ts +2 -0
  26. package/dist/components/MkBadge.stories.test.d.ts.map +1 -0
  27. package/dist/components/MkBadge.stories.test.js +16 -0
  28. package/dist/components/MkBadge.stories.test.js.map +1 -0
  29. package/dist/components/MkButton.test.d.ts +2 -0
  30. package/dist/components/MkButton.test.d.ts.map +1 -0
  31. package/dist/components/MkButton.test.js +56 -0
  32. package/dist/components/MkButton.test.js.map +1 -0
  33. package/dist/components/MkCheck.stories.test.d.ts +2 -0
  34. package/dist/components/MkCheck.stories.test.d.ts.map +1 -0
  35. package/dist/components/MkCheck.stories.test.js +16 -0
  36. package/dist/components/MkCheck.stories.test.js.map +1 -0
  37. package/dist/components/MkDatePicker.stories.test.d.ts +2 -0
  38. package/dist/components/MkDatePicker.stories.test.d.ts.map +1 -0
  39. package/dist/components/MkDatePicker.stories.test.js +16 -0
  40. package/dist/components/MkDatePicker.stories.test.js.map +1 -0
  41. package/dist/components/MkDivider.stories.test.d.ts +2 -0
  42. package/dist/components/MkDivider.stories.test.d.ts.map +1 -0
  43. package/dist/components/MkDivider.stories.test.js +15 -0
  44. package/dist/components/MkDivider.stories.test.js.map +1 -0
  45. package/dist/components/MkDropDown.stories.test.d.ts +2 -0
  46. package/dist/components/MkDropDown.stories.test.d.ts.map +1 -0
  47. package/dist/components/MkDropDown.stories.test.js +18 -0
  48. package/dist/components/MkDropDown.stories.test.js.map +1 -0
  49. package/dist/components/MkEmptyState.stories.test.d.ts +2 -0
  50. package/dist/components/MkEmptyState.stories.test.d.ts.map +1 -0
  51. package/dist/components/MkEmptyState.stories.test.js +15 -0
  52. package/dist/components/MkEmptyState.stories.test.js.map +1 -0
  53. package/dist/components/MkFileUpload-leak.test.d.ts +16 -0
  54. package/dist/components/MkFileUpload-leak.test.d.ts.map +1 -0
  55. package/dist/components/MkFileUpload-leak.test.js +157 -0
  56. package/dist/components/MkFileUpload-leak.test.js.map +1 -0
  57. package/dist/components/MkFileUpload.stories.test.d.ts +2 -0
  58. package/dist/components/MkFileUpload.stories.test.d.ts.map +1 -0
  59. package/dist/components/MkFileUpload.stories.test.js +15 -0
  60. package/dist/components/MkFileUpload.stories.test.js.map +1 -0
  61. package/dist/components/MkInfiniteList.stories.test.d.ts +2 -0
  62. package/dist/components/MkInfiniteList.stories.test.d.ts.map +1 -0
  63. package/dist/components/MkInfiniteList.stories.test.js +24 -0
  64. package/dist/components/MkInfiniteList.stories.test.js.map +1 -0
  65. package/dist/components/MkInput.stories.test.d.ts +2 -0
  66. package/dist/components/MkInput.stories.test.d.ts.map +1 -0
  67. package/dist/components/MkInput.stories.test.js +16 -0
  68. package/dist/components/MkInput.stories.test.js.map +1 -0
  69. package/dist/components/MkLoading.stories.test.d.ts +2 -0
  70. package/dist/components/MkLoading.stories.test.d.ts.map +1 -0
  71. package/dist/components/MkLoading.stories.test.js +15 -0
  72. package/dist/components/MkLoading.stories.test.js.map +1 -0
  73. package/dist/components/MkProgressBar.stories.test.d.ts +2 -0
  74. package/dist/components/MkProgressBar.stories.test.d.ts.map +1 -0
  75. package/dist/components/MkProgressBar.stories.test.js +15 -0
  76. package/dist/components/MkProgressBar.stories.test.js.map +1 -0
  77. package/dist/components/MkRadio.stories.test.d.ts +2 -0
  78. package/dist/components/MkRadio.stories.test.d.ts.map +1 -0
  79. package/dist/components/MkRadio.stories.test.js +18 -0
  80. package/dist/components/MkRadio.stories.test.js.map +1 -0
  81. package/dist/components/MkSearchInput.stories.test.d.ts +2 -0
  82. package/dist/components/MkSearchInput.stories.test.d.ts.map +1 -0
  83. package/dist/components/MkSearchInput.stories.test.js +15 -0
  84. package/dist/components/MkSearchInput.stories.test.js.map +1 -0
  85. package/dist/components/MkSelect.stories.test.d.ts +2 -0
  86. package/dist/components/MkSelect.stories.test.d.ts.map +1 -0
  87. package/dist/components/MkSelect.stories.test.js +21 -0
  88. package/dist/components/MkSelect.stories.test.js.map +1 -0
  89. package/dist/components/MkSkeleton.stories.test.d.ts +2 -0
  90. package/dist/components/MkSkeleton.stories.test.d.ts.map +1 -0
  91. package/dist/components/MkSkeleton.stories.test.js +15 -0
  92. package/dist/components/MkSkeleton.stories.test.js.map +1 -0
  93. package/dist/components/MkSwitch.stories.test.d.ts +2 -0
  94. package/dist/components/MkSwitch.stories.test.d.ts.map +1 -0
  95. package/dist/components/MkSwitch.stories.test.js +15 -0
  96. package/dist/components/MkSwitch.stories.test.js.map +1 -0
  97. package/dist/components/MkTable-keyExtractor.test.d.ts +15 -0
  98. package/dist/components/MkTable-keyExtractor.test.d.ts.map +1 -0
  99. package/dist/components/MkTable-keyExtractor.test.js +65 -0
  100. package/dist/components/MkTable-keyExtractor.test.js.map +1 -0
  101. package/dist/components/MkTable.stories.test.d.ts +2 -0
  102. package/dist/components/MkTable.stories.test.d.ts.map +1 -0
  103. package/dist/components/MkTable.stories.test.js +25 -0
  104. package/dist/components/MkTable.stories.test.js.map +1 -0
  105. package/dist/components/MkTextArea.stories.test.d.ts +2 -0
  106. package/dist/components/MkTextArea.stories.test.d.ts.map +1 -0
  107. package/dist/components/MkTextArea.stories.test.js +15 -0
  108. package/dist/components/MkTextArea.stories.test.js.map +1 -0
  109. package/dist/components/MkToastContainer.stories.test.d.ts +2 -0
  110. package/dist/components/MkToastContainer.stories.test.d.ts.map +1 -0
  111. package/dist/components/MkToastContainer.stories.test.js +29 -0
  112. package/dist/components/MkToastContainer.stories.test.js.map +1 -0
  113. package/dist/components/MkTooltip.stories.test.d.ts +2 -0
  114. package/dist/components/MkTooltip.stories.test.d.ts.map +1 -0
  115. package/dist/components/MkTooltip.stories.test.js +15 -0
  116. package/dist/components/MkTooltip.stories.test.js.map +1 -0
  117. package/dist/components/MkWindowList.stories.test.d.ts +2 -0
  118. package/dist/components/MkWindowList.stories.test.d.ts.map +1 -0
  119. package/dist/components/MkWindowList.stories.test.js +19 -0
  120. package/dist/components/MkWindowList.stories.test.js.map +1 -0
  121. package/dist/hooks/useApi.test.d.ts +2 -0
  122. package/dist/hooks/useApi.test.d.ts.map +1 -0
  123. package/dist/hooks/useApi.test.js +238 -0
  124. package/dist/hooks/useApi.test.js.map +1 -0
  125. package/dist/hooks/useMkCrud.test.d.ts +2 -0
  126. package/dist/hooks/useMkCrud.test.d.ts.map +1 -0
  127. package/dist/hooks/useMkCrud.test.js +87 -0
  128. package/dist/hooks/useMkCrud.test.js.map +1 -0
  129. package/dist/hooks/useMkForm.test.d.ts +2 -0
  130. package/dist/hooks/useMkForm.test.d.ts.map +1 -0
  131. package/dist/hooks/useMkForm.test.js +116 -0
  132. package/dist/hooks/useMkForm.test.js.map +1 -0
  133. package/dist/hooks/useMkInfiniteList.d.ts.map +1 -1
  134. package/dist/hooks/useMkInfiniteList.js +6 -2
  135. package/dist/hooks/useMkInfiniteList.js.map +1 -1
  136. package/dist/hooks/useMkInfiniteList.test.d.ts +2 -0
  137. package/dist/hooks/useMkInfiniteList.test.d.ts.map +1 -0
  138. package/dist/hooks/useMkInfiniteList.test.js +84 -0
  139. package/dist/hooks/useMkInfiniteList.test.js.map +1 -0
  140. package/dist/hooks/useMkList.d.ts +15 -4
  141. package/dist/hooks/useMkList.d.ts.map +1 -1
  142. package/dist/hooks/useMkList.js +16 -12
  143. package/dist/hooks/useMkList.js.map +1 -1
  144. package/dist/hooks/useMkList.test.d.ts +2 -0
  145. package/dist/hooks/useMkList.test.d.ts.map +1 -0
  146. package/dist/hooks/useMkList.test.js +265 -0
  147. package/dist/hooks/useMkList.test.js.map +1 -0
  148. package/dist/theme/MkThemeProvider.test.d.ts +2 -0
  149. package/dist/theme/MkThemeProvider.test.d.ts.map +1 -0
  150. package/dist/theme/MkThemeProvider.test.js +32 -0
  151. package/dist/theme/MkThemeProvider.test.js.map +1 -0
  152. package/package.json +19 -19
  153. package/LICENSE +0 -33
  154. package/dist/components/MkAccordion.module.css +0 -79
  155. package/dist/components/MkAlert.module.css +0 -103
  156. package/dist/components/MkAvatar.module.css +0 -62
  157. package/dist/components/MkBadge.module.css +0 -74
  158. package/dist/components/MkButton.module.css +0 -85
  159. package/dist/components/MkCard.module.css +0 -63
  160. package/dist/components/MkCheck.module.css +0 -87
  161. package/dist/components/MkDatePicker.module.css +0 -77
  162. package/dist/components/MkDivider.module.css +0 -39
  163. package/dist/components/MkDropDown.module.css +0 -108
  164. package/dist/components/MkEmptyState.module.css +0 -35
  165. package/dist/components/MkFileUpload.module.css +0 -74
  166. package/dist/components/MkInfiniteList.module.css +0 -69
  167. package/dist/components/MkInput.module.css +0 -94
  168. package/dist/components/MkLoading.module.css +0 -39
  169. package/dist/components/MkModal.module.css +0 -107
  170. package/dist/components/MkProgressBar.module.css +0 -48
  171. package/dist/components/MkRadio.module.css +0 -74
  172. package/dist/components/MkSearchInput.module.css +0 -80
  173. package/dist/components/MkSelect.module.css +0 -177
  174. package/dist/components/MkSkeleton.module.css +0 -28
  175. package/dist/components/MkSwitch.module.css +0 -108
  176. package/dist/components/MkTable.module.css +0 -163
  177. package/dist/components/MkTabs.module.css +0 -117
  178. package/dist/components/MkThemeEditor.module.css +0 -177
  179. package/dist/components/MkToastContainer.module.css +0 -95
  180. package/dist/components/MkTooltip.module.css +0 -43
  181. package/dist/components/MkWindowList.module.css +0 -59
  182. package/dist/styles/index.css +0 -124
@@ -1,80 +0,0 @@
1
- .wrapper {
2
- --mk-search-bg: var(--mk-muted);
3
- --mk-search-border: var(--mk-border);
4
- --mk-search-focus-bg: var(--mk-background);
5
- --mk-search-color: var(--mk-foreground);
6
- --mk-search-placeholder: var(--mk-muted-foreground);
7
- --mk-search-radius: 999px;
8
-
9
- position: relative;
10
- display: flex;
11
- align-items: center;
12
- background-color: var(--mk-search-bg);
13
- border: 1px solid var(--mk-search-border);
14
- border-radius: var(--mk-search-radius);
15
- transition: all 0.2s ease;
16
- padding: 0 0.75rem;
17
- gap: 0.5rem;
18
- color: var(--mk-search-color);
19
- }
20
-
21
- .wrapper:focus-within {
22
- border-color: var(--mk-primary);
23
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-primary), transparent 85%);
24
- background-color: var(--mk-search-focus-bg);
25
- }
26
-
27
- .disabled { opacity: 0.5; pointer-events: none; }
28
-
29
- /* Sizes */
30
- .sm { height: 36px; }
31
- .md { height: 44px; }
32
- .lg { height: 52px; }
33
-
34
- .searchIcon {
35
- display: flex;
36
- color: var(--mk-search-placeholder);
37
- flex-shrink: 0;
38
- }
39
-
40
- .input {
41
- flex: 1;
42
- background: none;
43
- border: none;
44
- outline: none;
45
- font-size: 0.875rem;
46
- color: inherit;
47
- min-width: 0;
48
- }
49
-
50
- .sm .input { font-size: 0.8125rem; }
51
- .lg .input { font-size: 1rem; }
52
-
53
- .input::placeholder { color: var(--mk-search-placeholder); }
54
-
55
- .clearBtn {
56
- background: none;
57
- border: none;
58
- cursor: pointer;
59
- color: var(--mk-search-placeholder);
60
- font-size: 0.75rem;
61
- padding: 2px 6px;
62
- border-radius: 999px;
63
- line-height: 1;
64
- transition: all 0.15s ease;
65
- }
66
- .clearBtn:hover {
67
- background-color: var(--mk-border);
68
- color: var(--mk-search-color);
69
- }
70
-
71
- @keyframes spin { to { transform: rotate(360deg); } }
72
- .spinner {
73
- display: inline-block;
74
- width: 14px;
75
- height: 14px;
76
- border: 2px solid var(--mk-border);
77
- border-top-color: var(--mk-primary);
78
- border-radius: 50%;
79
- animation: spin 0.7s linear infinite;
80
- }
@@ -1,177 +0,0 @@
1
- .container {
2
- --mk-select-bg: var(--mk-background);
3
- --mk-select-border: var(--mk-border);
4
- --mk-select-color: var(--mk-foreground);
5
- --mk-select-radius: var(--mk-radius, 8px);
6
- --mk-select-focus-border: var(--mk-primary);
7
- --mk-select-placeholder: var(--mk-muted-foreground);
8
- --mk-dropdown-bg: var(--mk-popover);
9
- --mk-dropdown-fg: var(--mk-popover-foreground);
10
- --mk-dropdown-border: var(--mk-border);
11
- --mk-option-hover-bg: var(--mk-muted);
12
- --mk-option-selected-bg: color-mix(in srgb, var(--mk-primary) 15%, var(--mk-background));
13
-
14
- display: flex;
15
- flex-direction: column;
16
- gap: 0.375rem;
17
- width: 100%;
18
- position: relative;
19
- color: var(--mk-select-color);
20
- }
21
-
22
- .label {
23
- font-size: 0.875rem;
24
- font-weight: 500;
25
- color: inherit;
26
- opacity: 0.9;
27
- }
28
-
29
- .selectWrapper {
30
- position: relative;
31
- width: 100%;
32
- }
33
-
34
- .select {
35
- display: flex;
36
- align-items: center;
37
- justify-content: space-between;
38
- width: 100%;
39
- padding: 0.625rem 0.875rem;
40
- min-height: 40px;
41
- font-size: 0.875rem;
42
- background-color: var(--mk-select-bg);
43
- border: 1px solid var(--mk-select-border);
44
- border-radius: var(--mk-select-radius);
45
- color: inherit;
46
- transition: all 0.2s ease;
47
- cursor: pointer;
48
- user-select: none;
49
- }
50
-
51
- .select:hover {
52
- border-color: var(--mk-muted-foreground);
53
- }
54
-
55
- .selectActive {
56
- border-color: var(--mk-select-focus-border);
57
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-select-focus-border), transparent 85%);
58
- }
59
-
60
- .selectError {
61
- --mk-select-border: var(--mk-error);
62
- --mk-select-focus-border: var(--mk-error);
63
- }
64
-
65
- .valueText {
66
- color: inherit;
67
- }
68
-
69
- .placeholderText {
70
- color: var(--mk-select-placeholder);
71
- }
72
-
73
- .chevron {
74
- display: flex;
75
- align-items: center;
76
- justify-content: center;
77
- color: var(--mk-muted-foreground);
78
- transition: transform 0.2s ease;
79
- margin-left: 0.5rem;
80
- }
81
-
82
- .chevronOpen {
83
- transform: rotate(180deg);
84
- color: var(--mk-primary);
85
- }
86
-
87
- .dropdown {
88
- position: absolute;
89
- top: calc(100% + 4px);
90
- left: 0;
91
- width: 100%;
92
- background-color: var(--mk-dropdown-bg);
93
- border: 1px solid var(--mk-dropdown-border);
94
- border-radius: var(--mk-select-radius);
95
- box-shadow:
96
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
97
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
98
- z-index: 50;
99
- overflow: hidden;
100
- animation: slideDown 0.2s ease-out;
101
- }
102
-
103
- @keyframes slideDown {
104
- from {
105
- opacity: 0;
106
- transform: translateY(-10px);
107
- }
108
- to {
109
- opacity: 1;
110
- transform: translateY(0);
111
- }
112
- }
113
-
114
- .searchContainer {
115
- padding: 0.5rem;
116
- border-bottom: 1px solid var(--mk-dropdown-border);
117
- }
118
-
119
- .searchInput {
120
- width: 100%;
121
- padding: 0.5rem 0.75rem;
122
- font-size: 0.875rem;
123
- background-color: var(--mk-muted);
124
- border: 1px solid var(--mk-dropdown-border);
125
- border-radius: calc(var(--mk-select-radius) - 2px);
126
- color: inherit;
127
- outline: none;
128
- }
129
-
130
- .searchInput:focus {
131
- border-color: var(--mk-primary);
132
- }
133
-
134
- .optionsList {
135
- max-height: 240px;
136
- overflow-y: auto;
137
- }
138
-
139
- .option {
140
- display: flex;
141
- align-items: center;
142
- justify-content: space-between;
143
- padding: 0.625rem 0.875rem;
144
- font-size: 0.875rem;
145
- cursor: pointer;
146
- transition: background 0.1s;
147
- color: inherit;
148
- }
149
-
150
- .option:hover {
151
- background-color: var(--mk-option-hover-bg);
152
- }
153
-
154
- .optionSelected {
155
- background-color: var(--mk-option-selected-bg);
156
- color: var(--mk-primary);
157
- font-weight: 500;
158
- }
159
-
160
- .checkIcon {
161
- display: flex;
162
- color: var(--mk-primary);
163
- }
164
-
165
- .noResults {
166
- padding: 1rem;
167
- text-align: center;
168
- color: var(--mk-muted-foreground);
169
- font-size: 0.875rem;
170
- }
171
-
172
- .errorText {
173
- font-size: 0.75rem;
174
- color: var(--mk-error);
175
- font-weight: 500;
176
- margin-top: 0.25rem;
177
- }
@@ -1,28 +0,0 @@
1
- .skeleton {
2
- --mk-skeleton-bg: var(--mk-muted);
3
- --mk-skeleton-shimmer: color-mix(in srgb, var(--mk-skeleton-bg), white 40%);
4
-
5
- background: linear-gradient(
6
- 90deg,
7
- var(--mk-skeleton-bg) 25%,
8
- var(--mk-skeleton-shimmer) 50%,
9
- var(--mk-skeleton-bg) 75%
10
- );
11
- background-size: 200% 100%;
12
- animation: mk-shimmer 2s ease-in-out infinite;
13
- border-radius: var(--mk-radius, 4px);
14
- transition: all 0.2s ease;
15
- }
16
-
17
- :global([data-theme='dark']) .skeleton {
18
- --mk-skeleton-shimmer: color-mix(in srgb, var(--mk-skeleton-bg), white 8%);
19
- }
20
-
21
- @keyframes mk-shimmer {
22
- 0% {
23
- background-position: 200% 0;
24
- }
25
- 100% {
26
- background-position: -200% 0;
27
- }
28
- }
@@ -1,108 +0,0 @@
1
- .container {
2
- --mk-switch-track-bg: var(--mk-muted);
3
- --mk-switch-track-active: var(--mk-primary);
4
- --mk-switch-thumb-bg: #ffffff;
5
- --mk-switch-color: var(--mk-foreground);
6
- --mk-switch-accent: var(--mk-primary);
7
-
8
- display: flex;
9
- flex-direction: column;
10
- gap: 0.25rem;
11
- }
12
-
13
- .label {
14
- display: inline-flex;
15
- align-items: center;
16
- gap: 0.625rem;
17
- cursor: pointer;
18
- user-select: none;
19
- color: var(--mk-switch-color);
20
- }
21
-
22
- .label.disabled {
23
- opacity: 0.5;
24
- cursor: not-allowed;
25
- }
26
-
27
- .track {
28
- position: relative;
29
- border-radius: 999px;
30
- background-color: var(--mk-switch-track-bg);
31
- transition: all 0.2s ease;
32
- cursor: pointer;
33
- flex-shrink: 0;
34
- }
35
-
36
- :global([data-theme='dark']) .track {
37
- --mk-switch-thumb-bg: var(--mk-popover);
38
- }
39
-
40
- .sm {
41
- width: 32px;
42
- height: 18px;
43
- }
44
- .md {
45
- width: 40px;
46
- height: 22px;
47
- }
48
- .lg {
49
- width: 48px;
50
- height: 26px;
51
- }
52
-
53
- .track:focus-visible {
54
- outline: none;
55
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-switch-accent), transparent 80%);
56
- }
57
-
58
- .checked {
59
- background-color: var(--mk-switch-track-active);
60
- }
61
- .error {
62
- --mk-switch-accent: var(--mk-error);
63
- box-shadow: 0 0 0 2px var(--mk-error);
64
- }
65
-
66
- .thumb {
67
- position: absolute;
68
- top: 2px;
69
- left: 2px;
70
- background-color: var(--mk-switch-thumb-bg);
71
- border-radius: 50%;
72
- transition: transform 0.2s ease;
73
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
74
- }
75
-
76
- .sm .thumb {
77
- width: 14px;
78
- height: 14px;
79
- }
80
- .md .thumb {
81
- width: 18px;
82
- height: 18px;
83
- }
84
- .lg .thumb {
85
- width: 22px;
86
- height: 22px;
87
- }
88
-
89
- .sm .thumbChecked {
90
- transform: translateX(14px);
91
- }
92
- .md .thumbChecked {
93
- transform: translateX(18px);
94
- }
95
- .lg .thumbChecked {
96
- transform: translateX(22px);
97
- }
98
-
99
- .text {
100
- font-size: 0.875rem;
101
- color: inherit;
102
- }
103
- .errorText {
104
- font-size: 0.75rem;
105
- color: var(--mk-error);
106
- font-weight: 500;
107
- margin-left: 3rem;
108
- }
@@ -1,163 +0,0 @@
1
- .container {
2
- --mk-table-bg: var(--mk-background);
3
- --mk-table-border: var(--mk-border);
4
- --mk-table-header-bg: var(--mk-muted);
5
- --mk-table-row-hover: var(--mk-accent);
6
- --mk-table-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
7
-
8
- width: 100%;
9
- margin: 1rem 0;
10
- overflow: hidden;
11
- border-radius: var(--mk-radius);
12
- border: 1px solid var(--mk-table-border);
13
- background: var(--mk-table-bg);
14
- box-shadow: var(--mk-table-shadow);
15
- transition: var(--mk-transition);
16
- }
17
-
18
- :global([data-theme='dark']) .container {
19
- --mk-table-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
20
- }
21
-
22
- .tableWrapper {
23
- width: 100%;
24
- overflow-x: auto;
25
- }
26
-
27
- .table {
28
- width: 100%;
29
- border-collapse: collapse;
30
- text-align: left;
31
- font-size: 0.875rem;
32
- }
33
-
34
- .table thead {
35
- background: var(--mk-table-header-bg);
36
- border-bottom: 2px solid var(--mk-table-border);
37
- }
38
-
39
- .table th {
40
- padding: 1rem;
41
- font-weight: 700;
42
- color: var(--mk-foreground);
43
- text-transform: uppercase;
44
- letter-spacing: 0.05em;
45
- font-size: 0.75rem;
46
- user-select: none;
47
- }
48
-
49
- .sortable {
50
- cursor: pointer;
51
- }
52
-
53
- .sortable:hover {
54
- color: var(--mk-foreground);
55
- background: var(--mk-table-row-hover);
56
- }
57
-
58
- .headerContent {
59
- display: flex;
60
- align-items: center;
61
- gap: 0.5rem;
62
- }
63
-
64
- .sortIcon {
65
- font-size: 1rem;
66
- color: var(--mk-primary);
67
- }
68
-
69
- .table td {
70
- padding: 1rem;
71
- border-bottom: 1px solid var(--mk-table-border);
72
- color: var(--mk-foreground);
73
- white-space: nowrap;
74
- }
75
-
76
- .actionsHeader {
77
- width: 100px;
78
- text-align: right;
79
- }
80
-
81
- .actionsCell {
82
- text-align: right;
83
- width: 60px;
84
- }
85
-
86
- .row {
87
- animation: mk-fade-in 0.4s var(--mk-ease-out) backwards;
88
- animation-delay: calc(var(--row-index, 0) * 0.04s);
89
- }
90
-
91
- .row:hover {
92
- background: var(--mk-table-row-hover);
93
- transition: background 0.15s ease;
94
- }
95
-
96
- .pagination {
97
- display: flex;
98
- align-items: center;
99
- justify-content: flex-end;
100
- padding: 1rem;
101
- gap: 1.5rem;
102
- border-top: 1px solid var(--mk-table-border);
103
- background: var(--mk-table-row-hover);
104
- }
105
-
106
- .pageInfo {
107
- font-size: 0.75rem;
108
- color: var(--mk-muted-foreground);
109
- font-weight: 500;
110
- }
111
-
112
- .pageBtn {
113
- padding: 0.4rem 0.8rem;
114
- font-size: 0.75rem;
115
- font-weight: 600;
116
- border-radius: calc(var(--mk-radius) / 2);
117
- border: 1px solid var(--mk-table-border);
118
- background: var(--mk-table-bg);
119
- cursor: pointer;
120
- transition: var(--mk-transition);
121
- color: var(--mk-foreground);
122
- }
123
-
124
- .pageBtn:hover:not(:disabled) {
125
- border-color: var(--mk-primary);
126
- color: var(--mk-primary);
127
- }
128
-
129
- .pageBtn:disabled {
130
- opacity: 0.4;
131
- cursor: not-allowed;
132
- }
133
-
134
- /* Premium Animations */
135
- .skeleton {
136
- --mk-table-skeleton-shimmer: color-mix(in srgb, var(--mk-muted), white 20%);
137
- width: 100%;
138
- height: 2.5rem;
139
- background: linear-gradient(90deg, var(--mk-muted) 25%, var(--mk-table-skeleton-shimmer) 50%, var(--mk-muted) 75%);
140
- background-size: 200% 100%;
141
- animation: mk-shimmer 2s infinite linear;
142
- border-radius: var(--mk-radius);
143
- }
144
-
145
- :global([data-theme='dark']) .skeleton {
146
- --mk-table-skeleton-shimmer: color-mix(in srgb, var(--mk-muted), white 5%);
147
- }
148
-
149
- @keyframes mk-shimmer {
150
- 0% {
151
- background-position: 200% 0;
152
- }
153
- 100% {
154
- background-position: -200% 0;
155
- }
156
- }
157
-
158
- .emptyRow td {
159
- text-align: center;
160
- padding: 3rem;
161
- color: var(--mk-muted-foreground);
162
- font-style: italic;
163
- }
@@ -1,117 +0,0 @@
1
- .container {
2
- display: flex;
3
- gap: 0;
4
- overflow-x: auto;
5
- --mk-tabs-active-color: var(--mk-primary);
6
- --mk-tabs-inactive-color: var(--mk-muted-foreground);
7
- --mk-tabs-hover-color: var(--mk-foreground);
8
- --mk-tabs-active-bg: var(--mk-background);
9
- --mk-tabs-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
10
- }
11
-
12
- :global([data-theme='dark']) .container {
13
- --mk-tabs-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
14
- }
15
-
16
- /* ── Underline ── */
17
- .underline {
18
- border-bottom: 1px solid var(--mk-border);
19
- }
20
- .underline .tab {
21
- padding: 0.625rem 1rem;
22
- border-bottom: 2px solid transparent;
23
- color: var(--mk-tabs-inactive-color);
24
- transition: all 0.2s ease;
25
- }
26
- .underline .tab:hover {
27
- color: var(--mk-tabs-hover-color);
28
- }
29
- .underline .active {
30
- border-bottom-color: var(--mk-tabs-active-color);
31
- color: var(--mk-tabs-active-color);
32
- font-weight: 600;
33
- }
34
-
35
- /* ── Pills ── */
36
- .pills {
37
- gap: 0.375rem;
38
- }
39
- .pills .tab {
40
- padding: 0.375rem 0.875rem;
41
- border-radius: 999px;
42
- color: var(--mk-tabs-inactive-color);
43
- transition: all 0.2s ease;
44
- }
45
- .pills .tab:hover {
46
- background: var(--mk-muted);
47
- }
48
- .pills .active {
49
- background: var(--mk-primary);
50
- color: var(--mk-primary-foreground, #fff);
51
- }
52
-
53
- /* ── Segmented ── */
54
- .segmented {
55
- background: var(--mk-muted);
56
- border-radius: var(--mk-radius, 8px);
57
- padding: 3px;
58
- gap: 2px;
59
- border: 1px solid var(--mk-border);
60
- }
61
- .segmented .tab {
62
- padding: 0.375rem 0.875rem;
63
- border-radius: calc(var(--mk-radius, 8px) - 2px);
64
- color: var(--mk-muted-foreground);
65
- transition: all 0.2s ease;
66
- }
67
- .segmented .active {
68
- background: var(--mk-card);
69
- color: var(--mk-foreground);
70
- font-weight: 600;
71
- box-shadow:
72
- 0 1px 3px rgba(0, 0, 0, 0.12),
73
- 0 1px 2px rgba(0, 0, 0, 0.06);
74
- }
75
-
76
- /* ── Shared ── */
77
- .tab {
78
- display: inline-flex;
79
- align-items: center;
80
- gap: 0.375rem;
81
- border: none;
82
- background: none;
83
- cursor: pointer;
84
- font-size: 0.875rem;
85
- white-space: nowrap;
86
- outline: none;
87
- }
88
- .tab:disabled {
89
- opacity: 0.4;
90
- cursor: not-allowed;
91
- }
92
- .tab:focus-visible {
93
- box-shadow: 0 0 0 2px var(--mk-primary);
94
- border-radius: 4px;
95
- }
96
-
97
- .sm .tab {
98
- font-size: 0.8125rem;
99
- padding: 0.375rem 0.75rem;
100
- }
101
-
102
- .icon {
103
- display: flex;
104
- font-size: 1rem;
105
- }
106
-
107
- .badge {
108
- font-size: 0.625rem;
109
- background: var(--mk-primary);
110
- color: var(--mk-primary-foreground, #fff);
111
- padding: 0 0.375rem;
112
- border-radius: 999px;
113
- font-weight: 600;
114
- min-width: 18px;
115
- text-align: center;
116
- line-height: 1.4;
117
- }