@makroz/web 1.2.1 → 1.2.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.
Files changed (30) hide show
  1. package/dist/components/MkAccordion.module.css +79 -0
  2. package/dist/components/MkAlert.module.css +103 -0
  3. package/dist/components/MkAvatar.module.css +62 -0
  4. package/dist/components/MkBadge.module.css +74 -0
  5. package/dist/components/MkButton.module.css +85 -0
  6. package/dist/components/MkCard.module.css +63 -0
  7. package/dist/components/MkCheck.module.css +87 -0
  8. package/dist/components/MkDatePicker.module.css +77 -0
  9. package/dist/components/MkDivider.module.css +39 -0
  10. package/dist/components/MkDropDown.module.css +108 -0
  11. package/dist/components/MkEmptyState.module.css +35 -0
  12. package/dist/components/MkFileUpload.module.css +74 -0
  13. package/dist/components/MkInfiniteList.module.css +69 -0
  14. package/dist/components/MkInput.module.css +94 -0
  15. package/dist/components/MkLoading.module.css +39 -0
  16. package/dist/components/MkModal.module.css +107 -0
  17. package/dist/components/MkProgressBar.module.css +48 -0
  18. package/dist/components/MkRadio.module.css +74 -0
  19. package/dist/components/MkSearchInput.module.css +80 -0
  20. package/dist/components/MkSelect.module.css +177 -0
  21. package/dist/components/MkSkeleton.module.css +28 -0
  22. package/dist/components/MkSwitch.module.css +108 -0
  23. package/dist/components/MkTable.module.css +163 -0
  24. package/dist/components/MkTabs.module.css +117 -0
  25. package/dist/components/MkThemeEditor.module.css +177 -0
  26. package/dist/components/MkToastContainer.module.css +95 -0
  27. package/dist/components/MkTooltip.module.css +43 -0
  28. package/dist/components/MkWindowList.module.css +59 -0
  29. package/dist/styles/index.css +124 -0
  30. package/package.json +2 -2
@@ -0,0 +1,177 @@
1
+ .container {
2
+ --mk-theme-editor-bg: var(--mk-card);
3
+ --mk-theme-editor-border: var(--mk-border);
4
+ --mk-theme-editor-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.1);
5
+
6
+ position: fixed;
7
+ bottom: 1.5rem;
8
+ right: 1.5rem;
9
+ width: 320px;
10
+ max-height: 500px;
11
+ background-color: var(--mk-theme-editor-bg);
12
+ border: 1px solid var(--mk-theme-editor-border);
13
+ border-radius: var(--mk-radius, 12px);
14
+ box-shadow: var(--mk-theme-editor-shadow);
15
+ z-index: 10000;
16
+ display: flex;
17
+ flex-direction: column;
18
+ overflow: hidden;
19
+ animation: slideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
20
+ }
21
+
22
+ :global([data-theme='dark']) .container {
23
+ --mk-theme-editor-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.6), 0 10px 10px -5px rgba(0, 0, 0, 0.4);
24
+ }
25
+
26
+ @keyframes slideUp {
27
+ from {
28
+ opacity: 0;
29
+ transform: translateY(20px) scale(0.95);
30
+ }
31
+ to {
32
+ opacity: 1;
33
+ transform: translateY(0) scale(1);
34
+ }
35
+ }
36
+
37
+ .header {
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: space-between;
41
+ padding: 0.85rem 1rem;
42
+ background-color: var(--mk-muted);
43
+ border-bottom: 1px solid var(--mk-theme-editor-border);
44
+ }
45
+
46
+ .title {
47
+ font-size: 0.875rem;
48
+ font-weight: 700;
49
+ text-transform: uppercase;
50
+ letter-spacing: 0.05em;
51
+ color: var(--mk-foreground);
52
+ margin: 0;
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 0.5rem;
56
+ }
57
+
58
+ .content {
59
+ flex: 1;
60
+ overflow-y: auto;
61
+ padding: 1rem;
62
+ display: flex;
63
+ flex-direction: column;
64
+ gap: 1.25rem;
65
+ }
66
+
67
+ .section {
68
+ display: flex;
69
+ flex-direction: column;
70
+ gap: 0.75rem;
71
+ }
72
+
73
+ .sectionTitle {
74
+ font-size: 0.75rem;
75
+ font-weight: 600;
76
+ color: var(--mk-muted-foreground);
77
+ text-transform: uppercase;
78
+ letter-spacing: 0.025em;
79
+ }
80
+
81
+ .tokenRow {
82
+ display: flex;
83
+ align-items: center;
84
+ justify-content: space-between;
85
+ gap: 0.75rem;
86
+ }
87
+
88
+ .tokenInfo {
89
+ display: flex;
90
+ flex-direction: column;
91
+ gap: 0.125rem;
92
+ }
93
+
94
+ .tokenLabel {
95
+ font-size: 0.8125rem;
96
+ font-weight: 500;
97
+ color: var(--mk-foreground);
98
+ font-family: inherit;
99
+ }
100
+
101
+ .tokenValue {
102
+ font-size: 0.7rem;
103
+ color: var(--mk-muted-foreground);
104
+ font-family: var(--mk-font-mono, monospace);
105
+ }
106
+
107
+ .colorInput {
108
+ width: 28px;
109
+ height: 28px;
110
+ padding: 0;
111
+ border: 2px solid var(--mk-theme-editor-border);
112
+ border-radius: 4px;
113
+ cursor: pointer;
114
+ background: none;
115
+ flex-shrink: 0;
116
+ }
117
+
118
+ .colorInput::-webkit-color-swatch-wrapper {
119
+ padding: 0;
120
+ }
121
+ .colorInput::-webkit-color-swatch {
122
+ border: none;
123
+ border-radius: 2px;
124
+ }
125
+
126
+ .footer {
127
+ padding: 0.75rem 1rem;
128
+ border-top: 1px solid var(--mk-theme-editor-border);
129
+ display: flex;
130
+ gap: 0.5rem;
131
+ background-color: var(--mk-muted);
132
+ }
133
+
134
+ .controlButton {
135
+ flex: 1;
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ gap: 0.375rem;
140
+ padding: 0.5rem;
141
+ border-radius: 6px;
142
+ font-size: 0.75rem;
143
+ font-weight: 600;
144
+ cursor: pointer;
145
+ transition: all 0.2s ease;
146
+ border: 1px solid var(--mk-theme-editor-border);
147
+ background-color: var(--mk-background);
148
+ color: var(--mk-foreground);
149
+ }
150
+
151
+ .controlButton:hover {
152
+ background-color: var(--mk-primary);
153
+ color: var(--mk-primary-foreground);
154
+ }
155
+
156
+ .minimized {
157
+ position: fixed;
158
+ bottom: 1.5rem;
159
+ right: 1.5rem;
160
+ width: 44px;
161
+ height: 44px;
162
+ border-radius: 50%;
163
+ background-color: var(--mk-primary);
164
+ color: white;
165
+ display: flex;
166
+ align-items: center;
167
+ justify-content: center;
168
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
169
+ cursor: pointer;
170
+ z-index: 10000;
171
+ transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
172
+ border: none;
173
+ }
174
+
175
+ .minimized:hover {
176
+ transform: scale(1.1);
177
+ }
@@ -0,0 +1,95 @@
1
+ .container {
2
+ position: fixed;
3
+ z-index: 9999;
4
+ padding: 1rem;
5
+ pointer-events: none;
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 0.75rem;
9
+ }
10
+
11
+ .toast {
12
+ --mk-toast-bg: var(--mk-popover);
13
+ --mk-toast-fg: var(--mk-popover-foreground);
14
+ --mk-toast-border: var(--mk-border);
15
+ --mk-toast-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
16
+ --mk-toast-color: var(--mk-foreground);
17
+ --mk-toast-radius: var(--mk-radius, 8px);
18
+
19
+ background-color: var(--mk-toast-bg);
20
+ color: var(--mk-toast-fg);
21
+ border: 1px solid var(--mk-toast-border);
22
+ border-radius: var(--mk-toast-radius);
23
+ padding: 0.85rem 1rem;
24
+ min-width: 280px;
25
+ max-width: 420px;
26
+ box-shadow: var(--mk-toast-shadow);
27
+ pointer-events: auto;
28
+ overflow: hidden;
29
+ position: relative;
30
+ display: flex;
31
+ flex-direction: column;
32
+ animation: mk-fade-in 0.3s var(--mk-ease-out) backwards;
33
+ transition: all 0.3s var(--mk-ease-out);
34
+ }
35
+
36
+ :global([data-theme='dark']) .toast {
37
+ --mk-toast-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
38
+ }
39
+
40
+ .toast.exiting {
41
+ opacity: 0;
42
+ transform: scale(0.95);
43
+ }
44
+
45
+ .content {
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 0.75rem;
49
+ }
50
+
51
+ .icon {
52
+ font-size: 1.2rem;
53
+ flex-shrink: 0;
54
+ }
55
+
56
+ .text {
57
+ flex-grow: 1;
58
+ font-size: 0.95rem;
59
+ font-weight: 500;
60
+ }
61
+
62
+ .close {
63
+ background: none;
64
+ border: none;
65
+ font-size: 1.5rem;
66
+ cursor: pointer;
67
+ color: var(--mk-muted-foreground);
68
+ line-height: 1;
69
+ padding: 0;
70
+ transition: color 0.15s ease;
71
+ }
72
+
73
+ .close:hover {
74
+ color: var(--mk-foreground);
75
+ }
76
+
77
+ .progress {
78
+ position: absolute;
79
+ bottom: 0;
80
+ left: 0;
81
+ height: 3px;
82
+ opacity: 0.5;
83
+ }
84
+
85
+ /* Animations */
86
+ @keyframes slideIn {
87
+ from {
88
+ opacity: 0;
89
+ transform: translateY(10px) scale(0.95);
90
+ }
91
+ to {
92
+ opacity: 1;
93
+ transform: translateY(0) scale(1);
94
+ }
95
+ }
@@ -0,0 +1,43 @@
1
+ .wrapper { position: relative; display: inline-flex; }
2
+
3
+ .tooltip {
4
+ --mk-tooltip-bg: var(--mk-foreground);
5
+ --mk-tooltip-color: var(--mk-background);
6
+ --mk-tooltip-radius: 6px;
7
+ --mk-tooltip-shadow: 0 4px 12px rgba(0,0,0,0.12);
8
+
9
+ position: absolute;
10
+ z-index: 100;
11
+ padding: 0.5rem 0.75rem;
12
+ background-color: var(--mk-tooltip-bg);
13
+ color: var(--mk-tooltip-color);
14
+ font-size: 0.8125rem;
15
+ border-radius: var(--mk-tooltip-radius);
16
+ white-space: nowrap;
17
+ pointer-events: none;
18
+ animation: mk-fade-in 0.1s ease;
19
+ box-shadow: var(--mk-tooltip-shadow);
20
+ line-height: 1.4;
21
+ }
22
+
23
+ :global([data-theme='dark']) .tooltip {
24
+ --mk-tooltip-shadow: 0 4px 12px rgba(0,0,0,0.4);
25
+ }
26
+
27
+ .top { bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); }
28
+ .bottom { top: calc(100% + 8px); left: 50%; transform: translateX(-50%); }
29
+ .left { right: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
30
+ .right { left: calc(100% + 8px); top: 50%; transform: translateY(-50%); }
31
+
32
+ .arrow {
33
+ position: absolute;
34
+ width: 8px;
35
+ height: 8px;
36
+ background: inherit;
37
+ transform: rotate(45deg);
38
+ }
39
+
40
+ .arrowTop { bottom: -4px; left: 50%; margin-left: -4px; }
41
+ .arrowBottom { top: -4px; left: 50%; margin-left: -4px; }
42
+ .arrowLeft { right: -4px; top: 50%; margin-top: -4px; }
43
+ .arrowRight { left: -4px; top: 50%; margin-top: -4px; }
@@ -0,0 +1,59 @@
1
+ .container {
2
+ --mk-winlist-bg: var(--mk-background);
3
+ --mk-winlist-border: var(--mk-border);
4
+ --mk-winlist-radius: var(--mk-radius, 8px);
5
+ --mk-winlist-muted: var(--mk-muted-foreground);
6
+ --mk-winlist-accent: var(--mk-primary);
7
+
8
+ overflow-y: auto;
9
+ position: relative;
10
+ width: 100%;
11
+ background-color: var(--mk-winlist-bg);
12
+ border: 1px solid var(--mk-winlist-border);
13
+ border-radius: var(--mk-winlist-radius);
14
+ padding: 0;
15
+ margin: 1rem 0;
16
+ scrollbar-width: thin;
17
+ scrollbar-color: var(--mk-muted) transparent;
18
+ color: var(--mk-foreground);
19
+ }
20
+
21
+ .scrollArea {
22
+ position: relative;
23
+ width: 100%;
24
+ }
25
+
26
+ .itemWrapper {
27
+ position: absolute;
28
+ top: 0;
29
+ left: 0;
30
+ width: 100%;
31
+ display: flex;
32
+ align-items: center;
33
+ border-bottom: 1px solid var(--mk-winlist-border);
34
+ }
35
+
36
+ .loader {
37
+ position: absolute;
38
+ top: 0;
39
+ left: 0;
40
+ width: 100%;
41
+ padding: 1rem;
42
+ text-align: center;
43
+ color: var(--mk-winlist-accent);
44
+ font-weight: 600;
45
+ }
46
+
47
+ .initialLoader, .empty {
48
+ padding: 4rem;
49
+ text-align: center;
50
+ color: var(--mk-winlist-muted);
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ height: 100%;
55
+ }
56
+
57
+ .empty {
58
+ font-style: italic;
59
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * MK-Director Design Tokens
3
+ * -------------------------
4
+ * Overwrite these variables in your own CSS to customize the entire UI Kit.
5
+ */
6
+
7
+ :root {
8
+ /* Colors - Light Mode */
9
+ --mk-primary: #3b82f6;
10
+ --mk-primary-foreground: #ffffff;
11
+
12
+ --mk-background: #ffffff;
13
+ --mk-foreground: #0f172a;
14
+
15
+ --mk-muted: #f1f5f9;
16
+ --mk-muted-foreground: #64748b;
17
+
18
+ --mk-accent: #f8fafc;
19
+ --mk-accent-foreground: #0f172a;
20
+
21
+ --mk-border: #e2e8f0;
22
+ --mk-input: #e2e8f0;
23
+
24
+ --mk-success: #10b981;
25
+ --mk-success-foreground: #ffffff;
26
+ --mk-error: #ef4444;
27
+ --mk-error-foreground: #ffffff;
28
+ --mk-warning: #f59e0b;
29
+ --mk-warning-foreground: #ffffff;
30
+ --mk-info: #3b82f6;
31
+ --mk-info-foreground: #ffffff;
32
+
33
+ /* Card / Surface */
34
+ --mk-card: #ffffff;
35
+ --mk-card-foreground: #0f172a;
36
+
37
+ /* Popover / Dropdown */
38
+ --mk-popover: #ffffff;
39
+ --mk-popover-foreground: #0f172a;
40
+
41
+ /* Shared Tokens */
42
+ --mk-radius: 0.5rem;
43
+ --mk-font-sans: 'Inter', system-ui, sans-serif;
44
+
45
+ /* Animations & Transitions */
46
+ --mk-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
47
+ --mk-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
48
+ --mk-ease-out: cubic-bezier(0, 0, 0.2, 1);
49
+ --mk-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
50
+ }
51
+
52
+ @keyframes mk-fade-in {
53
+ from {
54
+ opacity: 0;
55
+ transform: translateY(8px);
56
+ }
57
+ to {
58
+ opacity: 1;
59
+ transform: translateY(0);
60
+ }
61
+ }
62
+
63
+ @keyframes mk-shimmer {
64
+ 0% {
65
+ background-position: -200% 0;
66
+ }
67
+ 100% {
68
+ background-position: 200% 0;
69
+ }
70
+ }
71
+
72
+ @keyframes mk-pulse-subtle {
73
+ 0%,
74
+ 100% {
75
+ opacity: 1;
76
+ transform: scale(1);
77
+ }
78
+ 50% {
79
+ opacity: 0.85;
80
+ transform: scale(0.995);
81
+ }
82
+ }
83
+
84
+ /* Dark Mode */
85
+ .mk-dark {
86
+ --mk-background: #0f172a;
87
+ --mk-foreground: #f8fafc;
88
+
89
+ --mk-muted: #1e293b;
90
+ --mk-muted-foreground: #94a3b8;
91
+
92
+ --mk-accent: #1e293b;
93
+ --mk-accent-foreground: #f8fafc;
94
+
95
+ --mk-border: #334155;
96
+ --mk-input: #334155;
97
+
98
+ --mk-primary: #60a5fa;
99
+ --mk-primary-foreground: #0f172a;
100
+
101
+ --mk-success-foreground: #0f172a;
102
+ --mk-error-foreground: #ffffff;
103
+ --mk-warning-foreground: #0f172a;
104
+ --mk-info-foreground: #0f172a;
105
+
106
+ /* Card / Surface */
107
+ --mk-card: #1e293b;
108
+ --mk-card-foreground: #f8fafc;
109
+
110
+ /* Popover / Dropdown */
111
+ --mk-popover: #1e293b;
112
+ --mk-popover-foreground: #f8fafc;
113
+ }
114
+
115
+ /* Global Styles */
116
+ * {
117
+ border-color: var(--mk-border);
118
+ }
119
+
120
+ body {
121
+ background-color: var(--mk-background);
122
+ color: var(--mk-foreground);
123
+ font-family: var(--mk-font-sans);
124
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makroz/web",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "React UI components and hooks for MK-Director web applications",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@tanstack/react-query": "^5.62.0",
32
- "@makroz/core": "1.1.1"
32
+ "@makroz/core": "1.1.2"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "next": "^16.0.0",