@makroz/web 1.1.0 → 1.2.1

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/package.json +2 -2
  2. package/dist/components/MkAccordion.module.css +0 -79
  3. package/dist/components/MkAlert.module.css +0 -103
  4. package/dist/components/MkAvatar.module.css +0 -62
  5. package/dist/components/MkBadge.module.css +0 -74
  6. package/dist/components/MkButton.module.css +0 -85
  7. package/dist/components/MkCard.module.css +0 -63
  8. package/dist/components/MkCheck.module.css +0 -87
  9. package/dist/components/MkDatePicker.module.css +0 -77
  10. package/dist/components/MkDivider.module.css +0 -39
  11. package/dist/components/MkDropDown.module.css +0 -108
  12. package/dist/components/MkEmptyState.module.css +0 -35
  13. package/dist/components/MkFileUpload.module.css +0 -74
  14. package/dist/components/MkInfiniteList.module.css +0 -69
  15. package/dist/components/MkInput.module.css +0 -94
  16. package/dist/components/MkLoading.module.css +0 -39
  17. package/dist/components/MkModal.module.css +0 -107
  18. package/dist/components/MkProgressBar.module.css +0 -48
  19. package/dist/components/MkRadio.module.css +0 -74
  20. package/dist/components/MkSearchInput.module.css +0 -80
  21. package/dist/components/MkSelect.module.css +0 -177
  22. package/dist/components/MkSkeleton.module.css +0 -28
  23. package/dist/components/MkSwitch.module.css +0 -108
  24. package/dist/components/MkTable.module.css +0 -163
  25. package/dist/components/MkTabs.module.css +0 -117
  26. package/dist/components/MkThemeEditor.module.css +0 -177
  27. package/dist/components/MkToastContainer.module.css +0 -95
  28. package/dist/components/MkTooltip.module.css +0 -43
  29. package/dist/components/MkWindowList.module.css +0 -59
  30. package/dist/styles/index.css +0 -124
@@ -1,108 +0,0 @@
1
- .container {
2
- position: relative;
3
- display: inline-block;
4
- }
5
-
6
- .trigger {
7
- cursor: pointer;
8
- display: flex;
9
- align-items: center;
10
- justify-content: center;
11
- transition: var(--mk-transition);
12
- opacity: 0.8;
13
- }
14
-
15
- .trigger:hover {
16
- opacity: 1;
17
- }
18
-
19
- .menu {
20
- --mk-dropdown-bg: var(--mk-popover);
21
- --mk-dropdown-fg: var(--mk-popover-foreground);
22
- --mk-dropdown-border: var(--mk-border);
23
- --mk-dropdown-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
24
- --mk-dropdown-radius: var(--mk-radius, 8px);
25
-
26
- position: absolute;
27
- top: calc(100% + 8px);
28
- right: 0;
29
- min-width: 200px;
30
- max-width: 300px;
31
- background-color: var(--mk-dropdown-bg);
32
- color: var(--mk-dropdown-fg);
33
- border: 1px solid var(--mk-dropdown-border);
34
- border-radius: var(--mk-dropdown-radius);
35
- box-shadow: var(--mk-dropdown-shadow);
36
- z-index: 50;
37
- overflow: hidden;
38
- animation: mk-fade-in 0.2s ease-out;
39
- }
40
-
41
- :global([data-theme='dark']) .menu {
42
- --mk-dropdown-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
43
- }
44
-
45
- .search {
46
- padding: 8px;
47
- border-bottom: 1px solid var(--mk-border);
48
- background-color: var(--mk-muted);
49
- }
50
-
51
- .searchInput {
52
- width: 100%;
53
- padding: 6px 12px;
54
- background-color: var(--mk-background);
55
- border: 1px solid var(--mk-border);
56
- border-radius: 4px;
57
- color: inherit;
58
- font-size: 0.875rem;
59
- outline: none;
60
- }
61
-
62
- .searchInput:focus {
63
- border-color: var(--mk-primary);
64
- }
65
-
66
- .optionsList {
67
- max-height: 250px;
68
- overflow-y: auto;
69
- padding: 4px;
70
- }
71
-
72
- .option {
73
- display: flex;
74
- align-items: center;
75
- gap: 8px;
76
- padding: 8px 12px;
77
- border-radius: 4px;
78
- cursor: pointer;
79
- color: inherit;
80
- font-size: 0.875rem;
81
- transition: var(--mk-transition);
82
- }
83
-
84
- .option:hover {
85
- background-color: var(--mk-muted);
86
- }
87
-
88
- .active {
89
- background-color: var(--mk-primary);
90
- color: var(--mk-primary-foreground);
91
- }
92
-
93
- .active:hover {
94
- background-color: var(--mk-primary);
95
- }
96
-
97
- .icon {
98
- display: flex;
99
- align-items: center;
100
- justify-content: center;
101
- }
102
-
103
- .empty {
104
- padding: 12px;
105
- text-align: center;
106
- color: var(--mk-muted-foreground);
107
- font-size: 0.875rem;
108
- }
@@ -1,35 +0,0 @@
1
- .container {
2
- --mk-empty-color: var(--mk-foreground);
3
- --mk-empty-muted-color: var(--mk-muted-foreground);
4
- --mk-empty-padding: 3rem 1.5rem;
5
- --mk-empty-gap: 0.5rem;
6
-
7
- display: flex;
8
- flex-direction: column;
9
- align-items: center;
10
- justify-content: center;
11
- padding: var(--mk-empty-padding);
12
- gap: var(--mk-empty-gap);
13
- text-align: center;
14
- color: var(--mk-empty-color);
15
- }
16
-
17
- .icon { font-size: 2.5rem; color: var(--mk-empty-muted-color); }
18
- .defaultIcon { font-size: 3rem; color: var(--mk-empty-muted-color); opacity: 0.8; }
19
-
20
- .title {
21
- margin: 0;
22
- font-size: 1.125rem;
23
- font-weight: 600;
24
- color: inherit;
25
- }
26
-
27
- .description {
28
- margin: 0;
29
- font-size: 0.875rem;
30
- color: var(--mk-empty-muted-color);
31
- max-width: 320px;
32
- line-height: 1.5;
33
- }
34
-
35
- .action { margin-top: 0.75rem; }
@@ -1,74 +0,0 @@
1
- .container {
2
- --mk-upload-bg: var(--mk-muted);
3
- --mk-upload-border: var(--mk-border);
4
- --mk-upload-radius: var(--mk-radius, 8px);
5
- --mk-upload-hover-bg: color-mix(in srgb, var(--mk-primary), transparent 95%);
6
- --mk-upload-accent: var(--mk-primary);
7
- --mk-upload-color: var(--mk-foreground);
8
- --mk-upload-muted-color: var(--mk-muted-foreground);
9
-
10
- display: flex;
11
- flex-direction: column;
12
- gap: 0.75rem;
13
- }
14
-
15
- .dropzone {
16
- display: flex;
17
- flex-direction: column;
18
- align-items: center;
19
- justify-content: center;
20
- gap: 0.375rem;
21
- padding: 2rem 1.5rem;
22
- border: 2px dashed var(--mk-upload-border);
23
- border-radius: var(--mk-upload-radius);
24
- background-color: var(--mk-upload-bg);
25
- cursor: pointer;
26
- transition: all 0.2s ease;
27
- text-align: center;
28
- outline: none;
29
- color: var(--mk-upload-color);
30
- }
31
-
32
- .dropzone:hover, .dropzone:focus-visible {
33
- border-color: var(--mk-upload-accent);
34
- background-color: var(--mk-upload-hover-bg);
35
- }
36
-
37
- .dragging {
38
- border-color: var(--mk-upload-accent);
39
- background-color: color-mix(in srgb, var(--mk-upload-accent), transparent 88%);
40
- transform: scale(1.01);
41
- }
42
-
43
- .disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; }
44
- .hasError {
45
- --mk-upload-border: var(--mk-error);
46
- --mk-upload-accent: var(--mk-error);
47
- --mk-upload-hover-bg: color-mix(in srgb, var(--mk-error), transparent 95%);
48
- }
49
-
50
- .hiddenInput { display: none; }
51
- .uploadIcon { font-size: 2rem; color: var(--mk-upload-muted-color); }
52
- .label { font-size: 0.9375rem; font-weight: 500; color: inherit; }
53
- .sublabel { font-size: 0.8125rem; color: var(--mk-upload-muted-color); }
54
- .error { font-size: 0.8125rem; color: var(--mk-error); font-weight: 500; margin: 0; }
55
-
56
- .fileList { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
57
-
58
- .fileItem {
59
- display: flex;
60
- align-items: center;
61
- gap: 0.625rem;
62
- padding: 0.5rem 0.75rem;
63
- background-color: var(--mk-upload-bg);
64
- border: 1px solid var(--mk-upload-border);
65
- border-radius: 6px;
66
- color: var(--mk-upload-color);
67
- }
68
-
69
- .thumb { width: 36px; height: 36px; object-fit: cover; border-radius: 4px; flex-shrink: 0; }
70
- .fileIconDoc { font-size: 1.5rem; flex-shrink: 0; }
71
- .fileName { flex: 1; font-size: 0.875rem; color: inherit; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
72
- .fileSize { font-size: 0.75rem; color: var(--mk-upload-muted-color); flex-shrink: 0; }
73
- .removeBtn { background: none; border: none; cursor: pointer; color: var(--mk-upload-muted-color); font-size: 0.875rem; padding: 2px 4px; border-radius: 4px; transition: all 0.15s ease; }
74
- .removeBtn:hover { color: var(--mk-error); background-color: color-mix(in srgb, var(--mk-error), transparent 95%); }
@@ -1,69 +0,0 @@
1
- .scrollContainer {
2
- --mk-inf-list-gap: 1rem;
3
- --mk-inf-list-item-bg: transparent;
4
- --mk-inf-list-border: var(--mk-border);
5
- --mk-inf-list-radius: var(--mk-radius, 8px);
6
- --mk-inf-list-muted-color: var(--mk-muted-foreground);
7
-
8
- width: 100%;
9
- margin: 1rem 0;
10
- }
11
-
12
- .list {
13
- display: flex;
14
- flex-direction: column;
15
- gap: var(--mk-inf-list-gap);
16
- }
17
-
18
- .itemWrapper {
19
- width: 100%;
20
- background-color: var(--mk-inf-list-item-bg);
21
- animation: mk-fade-in 0.5s var(--mk-ease-out) backwards;
22
- animation-delay: calc(var(--row-index, 0) * 0.05s);
23
- }
24
-
25
- .trigger {
26
- height: 10px;
27
- margin-top: 10px;
28
- }
29
-
30
- .loadingArea {
31
- display: flex;
32
- flex-direction: column;
33
- gap: var(--mk-inf-list-gap);
34
- padding: 1rem 0;
35
- }
36
-
37
- .defaultSkeleton {
38
- height: 4rem;
39
- background-color: var(--mk-muted);
40
- background-image: linear-gradient(
41
- 90deg,
42
- transparent 25%,
43
- var(--mk-border) 50%,
44
- transparent 75%
45
- );
46
- background-size: 200% 100%;
47
- animation: mk-shimmer 2s infinite linear;
48
- border-radius: var(--mk-inf-list-radius);
49
- width: 100%;
50
- }
51
-
52
- .empty {
53
- text-align: center;
54
- padding: 4rem 1rem;
55
- color: var(--mk-inf-list-muted-color);
56
- font-size: 0.875rem;
57
- border: 1px dashed var(--mk-inf-list-border);
58
- border-radius: var(--mk-inf-list-radius);
59
- }
60
-
61
- @keyframes skeleton-loading {
62
- 0% { background-position: 200% 0; }
63
- 100% { background-position: -200% 0; }
64
- }
65
-
66
- @keyframes fadeIn {
67
- from { opacity: 0; transform: translateY(10px); }
68
- to { opacity: 1; transform: translateY(0); }
69
- }
@@ -1,94 +0,0 @@
1
- .container {
2
- --mk-input-bg: var(--mk-background);
3
- --mk-input-border: var(--mk-border);
4
- --mk-input-color: var(--mk-foreground);
5
- --mk-input-radius: var(--mk-radius, 8px);
6
- --mk-input-focus-border: var(--mk-primary);
7
- --mk-input-placeholder: var(--mk-muted-foreground);
8
-
9
- display: flex;
10
- flex-direction: column;
11
- gap: 0.375rem;
12
- width: 100%;
13
- }
14
-
15
- .label {
16
- font-size: 0.875rem;
17
- font-weight: 500;
18
- color: var(--mk-input-color);
19
- opacity: 0.9;
20
- }
21
-
22
- .wrapper {
23
- position: relative;
24
- display: flex;
25
- align-items: center;
26
- width: 100%;
27
- }
28
-
29
- .input {
30
- width: 100%;
31
- padding: 0.625rem 0.875rem;
32
- font-size: 0.875rem;
33
- background-color: var(--mk-input-bg);
34
- border: 1px solid var(--mk-input-border);
35
- border-radius: var(--mk-input-radius);
36
- color: var(--mk-input-color);
37
- transition: var(--mk-transition);
38
- outline: none;
39
- }
40
-
41
- .input::placeholder {
42
- color: var(--mk-input-placeholder);
43
- }
44
-
45
- .input:focus {
46
- border-color: var(--mk-input-focus-border);
47
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-input-focus-border), transparent 85%);
48
- }
49
-
50
- .wrapperError .input {
51
- --mk-input-border: var(--mk-error);
52
- --mk-input-focus-border: var(--mk-error);
53
- }
54
-
55
- .wrapperSuccess .input {
56
- --mk-input-border: var(--mk-success, #10b981);
57
- --mk-input-focus-border: var(--mk-success, #10b981);
58
- }
59
-
60
- .iconLeft, .iconRight {
61
- position: absolute;
62
- display: flex;
63
- align-items: center;
64
- justify-content: center;
65
- color: var(--mk-muted-foreground);
66
- pointer-events: none;
67
- }
68
-
69
- .iconLeft {
70
- left: 0.875rem;
71
- }
72
-
73
- .iconRight {
74
- right: 0.875rem;
75
- }
76
-
77
- .inputWithLeft {
78
- padding-left: 2.5rem;
79
- }
80
-
81
- .inputWithRight {
82
- padding-right: 2.5rem;
83
- }
84
-
85
- .errorText {
86
- font-size: 0.75rem;
87
- color: var(--mk-error);
88
- font-weight: 500;
89
- }
90
-
91
- .helperText {
92
- font-size: 0.75rem;
93
- color: var(--mk-muted-foreground);
94
- }
@@ -1,39 +0,0 @@
1
- .wrapper {
2
- --mk-loading-color: var(--mk-primary);
3
- --mk-loading-muted: var(--mk-muted-foreground);
4
- --mk-loading-overlay-bg: color-mix(in srgb, var(--mk-background) 80%, transparent);
5
- --mk-loading-overlay-blur: 4px;
6
-
7
- display: flex;
8
- flex-direction: column;
9
- align-items: center;
10
- justify-content: center;
11
- gap: 0.75rem;
12
- }
13
-
14
- .spinner {
15
- animation: mk-spin 0.75s linear infinite;
16
- color: var(--mk-loading-color);
17
- }
18
-
19
- @keyframes mk-spin {
20
- to {
21
- transform: rotate(360deg);
22
- }
23
- }
24
-
25
- .label {
26
- font-size: 0.8125rem;
27
- color: var(--mk-loading-muted);
28
- }
29
-
30
- .overlay {
31
- position: fixed;
32
- inset: 0;
33
- z-index: 9999;
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- background-color: var(--mk-loading-overlay-bg);
38
- backdrop-filter: blur(var(--mk-loading-overlay-blur));
39
- }
@@ -1,107 +0,0 @@
1
- .overlay {
2
- --mk-modal-overlay: rgba(0, 0, 0, 0.4);
3
- --mk-modal-blur: 8px;
4
-
5
- position: fixed;
6
- top: 0;
7
- left: 0;
8
- width: 100vw;
9
- height: 100vh;
10
- background: var(--mk-modal-overlay);
11
- backdrop-filter: blur(var(--mk-modal-blur));
12
- display: flex;
13
- align-items: center;
14
- justify-content: center;
15
- z-index: 1000;
16
- animation: mk-fade-in 0.3s ease-out;
17
- }
18
-
19
- :global([data-theme='dark']) .overlay {
20
- --mk-modal-overlay: rgba(0, 0, 0, 0.6);
21
- }
22
-
23
- .container {
24
- --mk-modal-bg: var(--mk-background);
25
- --mk-modal-border: var(--mk-border);
26
- --mk-modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
27
- --mk-modal-color: var(--mk-foreground);
28
- --mk-modal-header-bg: transparent;
29
- --mk-modal-footer-bg: var(--mk-muted);
30
-
31
- background: var(--mk-modal-bg);
32
- border: 1px solid var(--mk-modal-border);
33
- border-radius: var(--mk-radius);
34
- max-width: 90vw;
35
- max-height: 90vh;
36
- display: flex;
37
- flex-direction: column;
38
- box-shadow: var(--mk-modal-shadow);
39
- animation: mk-scale-up 0.3s cubic-bezier(0.16, 1, 0.3, 1);
40
- overflow: hidden;
41
- color: var(--mk-modal-color);
42
- }
43
-
44
- :global([data-theme='dark']) .container {
45
- --mk-modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 10px 10px -5px rgba(0, 0, 0, 0.3);
46
- }
47
-
48
- .sm { width: 400px; }
49
- .md { width: 600px; }
50
- .lg { width: 800px; }
51
- .full { width: 95vw; height: 95vh; }
52
-
53
- .header {
54
- padding: 1.5rem;
55
- border-bottom: 1px solid var(--mk-modal-border);
56
- display: flex;
57
- justify-content: space-between;
58
- align-items: center;
59
- background: var(--mk-modal-header-bg);
60
- }
61
-
62
- .header h2 {
63
- margin: 0;
64
- font-size: 1.25rem;
65
- font-weight: 700;
66
- color: inherit;
67
- }
68
-
69
- .closeBtn {
70
- background: none;
71
- border: none;
72
- font-size: 1.5rem;
73
- color: var(--mk-muted-foreground);
74
- cursor: pointer;
75
- transition: var(--mk-transition);
76
- line-height: 1;
77
- display: flex;
78
- align-items: center;
79
- justify-content: center;
80
- padding: 4px;
81
- border-radius: 4px;
82
- }
83
-
84
- .closeBtn:hover {
85
- color: var(--mk-foreground);
86
- background-color: var(--mk-muted);
87
- }
88
-
89
- .content {
90
- padding: 1.5rem;
91
- overflow-y: auto;
92
- line-height: 1.6;
93
- }
94
-
95
- .footer {
96
- padding: 1.5rem;
97
- border-top: 1px solid var(--mk-modal-border);
98
- display: flex;
99
- justify-content: flex-end;
100
- gap: 1rem;
101
- background: var(--mk-modal-footer-bg);
102
- }
103
-
104
- @keyframes mk-scale-up {
105
- from { transform: scale(0.9) translateY(20px); opacity: 0; }
106
- to { transform: scale(1) translateY(0); opacity: 1; }
107
- }
@@ -1,48 +0,0 @@
1
- .container {
2
- display: flex;
3
- flex-direction: column;
4
- gap: 0.375rem;
5
- width: 100%;
6
- }
7
-
8
- .header { display: flex; justify-content: space-between; align-items: center; }
9
- .label { font-size: 0.8125rem; font-weight: 500; color: var(--mk-foreground); }
10
- .percent { font-size: 0.75rem; color: var(--mk-muted-foreground); font-weight: 600; font-variant-numeric: tabular-nums; }
11
-
12
- .track {
13
- --mk-progress-track-bg: var(--mk-muted);
14
- --mk-progress-radius: 999px;
15
-
16
- width: 100%;
17
- background-color: var(--mk-progress-track-bg);
18
- border-radius: var(--mk-progress-radius);
19
- overflow: hidden;
20
- }
21
-
22
- .sm { height: 4px; }
23
- .md { height: 8px; }
24
- .lg { height: 12px; }
25
-
26
- .bar {
27
- --mk-progress-color: var(--mk-primary);
28
-
29
- height: 100%;
30
- border-radius: 999px;
31
- background-color: var(--mk-progress-color);
32
- transition: width 0.4s ease, background-color 0.2s ease;
33
- }
34
-
35
- .animated { animation: mk-progress-shimmer 2s infinite; }
36
-
37
- @keyframes mk-progress-shimmer {
38
- 0% { opacity: 1; }
39
- 50% { opacity: 0.75; }
40
- 100% { opacity: 1; }
41
- }
42
-
43
- /* Variant Overrides */
44
- .primary { --mk-progress-color: var(--mk-primary); }
45
- .success { --mk-progress-color: #22c55e; }
46
- .warning { --mk-progress-color: #f59e0b; }
47
- .error { --mk-progress-color: #ef4444; }
48
- .info { --mk-progress-color: #3b82f6; }
@@ -1,74 +0,0 @@
1
- .container {
2
- --mk-radio-bg: var(--mk-background);
3
- --mk-radio-border: var(--mk-border);
4
- --mk-radio-accent: var(--mk-primary);
5
- --mk-radio-color: var(--mk-foreground);
6
- --mk-radio-muted-color: var(--mk-muted-foreground);
7
-
8
- display: flex;
9
- flex-direction: column;
10
- gap: 0.375rem;
11
- color: var(--mk-radio-color);
12
- }
13
-
14
- .groupLabel {
15
- font-size: 0.875rem;
16
- font-weight: 500;
17
- color: inherit;
18
- opacity: 0.9;
19
- }
20
-
21
- .options { display: flex; gap: 0.75rem; }
22
- .vertical { flex-direction: column; }
23
- .horizontal { flex-direction: row; flex-wrap: wrap; }
24
-
25
- .option {
26
- display: inline-flex;
27
- align-items: center;
28
- gap: 0.5rem;
29
- cursor: pointer;
30
- user-select: none;
31
- color: inherit;
32
- }
33
- .option.disabled { opacity: 0.5; cursor: not-allowed; }
34
-
35
- .radio {
36
- display: flex;
37
- align-items: center;
38
- justify-content: center;
39
- border: 2px solid var(--mk-radio-border);
40
- border-radius: 50%;
41
- background-color: var(--mk-radio-bg);
42
- transition: all 0.15s ease;
43
- flex-shrink: 0;
44
- cursor: pointer;
45
- }
46
-
47
- .sm { width: 16px; height: 16px; }
48
- .md { width: 20px; height: 20px; }
49
- .lg { width: 24px; height: 24px; }
50
-
51
- .radio:hover { border-color: var(--mk-radio-accent); }
52
- .radio:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--mk-radio-accent), transparent 80%); }
53
-
54
- .selected { border-color: var(--mk-radio-accent); }
55
- .error {
56
- --mk-radio-border: var(--mk-error);
57
- --mk-radio-accent: var(--mk-error);
58
- }
59
-
60
- .dot {
61
- width: 60%;
62
- height: 60%;
63
- border-radius: 50%;
64
- background-color: var(--mk-radio-accent);
65
- animation: mk-scale-in 0.15s ease;
66
- }
67
-
68
- @keyframes mk-scale-in {
69
- from { transform: scale(0); }
70
- to { transform: scale(1); }
71
- }
72
-
73
- .text { font-size: 0.875rem; color: inherit; }
74
- .errorText { font-size: 0.75rem; color: var(--mk-error); font-weight: 500; }