@melodicdev/components 1.4.0 → 1.5.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 (121) hide show
  1. package/assets/melodic-components.js +3514 -1652
  2. package/assets/melodic-components.js.map +1 -1
  3. package/assets/melodic-components.min.js +5338 -3476
  4. package/lib/components/data-display/activity-feed/activity-feed-item.styles.d.ts.map +1 -1
  5. package/lib/components/data-display/activity-feed/activity-feed-item.styles.js +79 -31
  6. package/lib/components/data-display/activity-feed/activity-feed.styles.d.ts.map +1 -1
  7. package/lib/components/data-display/activity-feed/activity-feed.styles.js +5 -1
  8. package/lib/components/data-display/avatar/avatar.styles.d.ts.map +1 -1
  9. package/lib/components/data-display/avatar/avatar.styles.js +18 -7
  10. package/lib/components/data-display/badge/badge.styles.d.ts.map +1 -1
  11. package/lib/components/data-display/badge/badge.styles.js +30 -11
  12. package/lib/components/data-display/badge-group/badge-group.styles.d.ts.map +1 -1
  13. package/lib/components/data-display/badge-group/badge-group.styles.js +29 -14
  14. package/lib/components/data-display/calendar-view/calendar-view.styles.d.ts.map +1 -1
  15. package/lib/components/data-display/calendar-view/calendar-view.styles.js +155 -89
  16. package/lib/components/data-display/data-grid/data-grid.styles.d.ts.map +1 -1
  17. package/lib/components/data-display/data-grid/data-grid.styles.js +117 -61
  18. package/lib/components/data-display/list/list-item.styles.d.ts.map +1 -1
  19. package/lib/components/data-display/list/list-item.styles.js +35 -13
  20. package/lib/components/data-display/list/list.styles.d.ts.map +1 -1
  21. package/lib/components/data-display/list/list.styles.js +5 -1
  22. package/lib/components/data-display/profile-card/profile-card.styles.d.ts.map +1 -1
  23. package/lib/components/data-display/profile-card/profile-card.styles.js +66 -28
  24. package/lib/components/data-display/stat-card/stat-card.styles.d.ts.map +1 -1
  25. package/lib/components/data-display/stat-card/stat-card.styles.js +64 -26
  26. package/lib/components/data-display/table/table.styles.d.ts.map +1 -1
  27. package/lib/components/data-display/table/table.styles.js +60 -25
  28. package/lib/components/data-display/tag/tag.styles.d.ts.map +1 -1
  29. package/lib/components/data-display/tag/tag.styles.js +62 -25
  30. package/lib/components/feedback/alert/alert.styles.d.ts.map +1 -1
  31. package/lib/components/feedback/alert/alert.styles.js +41 -17
  32. package/lib/components/feedback/progress/progress.styles.d.ts.map +1 -1
  33. package/lib/components/feedback/progress/progress.styles.js +112 -56
  34. package/lib/components/feedback/spinner/spinner.styles.d.ts.map +1 -1
  35. package/lib/components/feedback/spinner/spinner.styles.js +32 -16
  36. package/lib/components/feedback/toast/toast.styles.d.ts.map +1 -1
  37. package/lib/components/feedback/toast/toast.styles.js +69 -26
  38. package/lib/components/forms/autocomplete/autocomplete.styles.d.ts.map +1 -1
  39. package/lib/components/forms/autocomplete/autocomplete.styles.js +164 -76
  40. package/lib/components/forms/button/button.styles.d.ts.map +1 -1
  41. package/lib/components/forms/button/button.styles.js +141 -116
  42. package/lib/components/forms/button-group/button-group.styles.d.ts.map +1 -1
  43. package/lib/components/forms/button-group/button-group.styles.js +8 -2
  44. package/lib/components/forms/checkbox/checkbox.styles.d.ts.map +1 -1
  45. package/lib/components/forms/checkbox/checkbox.styles.js +75 -41
  46. package/lib/components/forms/date-picker/calendar.styles.d.ts.map +1 -1
  47. package/lib/components/forms/date-picker/calendar.styles.js +108 -47
  48. package/lib/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
  49. package/lib/components/forms/date-picker/date-picker.styles.js +96 -38
  50. package/lib/components/forms/date-time-picker/date-time-picker.styles.d.ts.map +1 -1
  51. package/lib/components/forms/date-time-picker/date-time-picker.styles.js +65 -25
  52. package/lib/components/forms/file-upload/file-upload.styles.d.ts.map +1 -1
  53. package/lib/components/forms/file-upload/file-upload.styles.js +92 -39
  54. package/lib/components/forms/form-field/form-field.styles.d.ts.map +1 -1
  55. package/lib/components/forms/form-field/form-field.styles.js +72 -29
  56. package/lib/components/forms/input/input.styles.d.ts.map +1 -1
  57. package/lib/components/forms/input/input.styles.js +81 -29
  58. package/lib/components/forms/radio/radio.styles.d.ts.map +1 -1
  59. package/lib/components/forms/radio/radio.styles.js +85 -54
  60. package/lib/components/forms/radio-card-group/radio-card-group.styles.d.ts.map +1 -1
  61. package/lib/components/forms/radio-card-group/radio-card-group.styles.js +34 -12
  62. package/lib/components/forms/radio-card-group/radio-card.styles.d.ts.map +1 -1
  63. package/lib/components/forms/radio-card-group/radio-card.styles.js +108 -47
  64. package/lib/components/forms/select/select.styles.d.ts.map +1 -1
  65. package/lib/components/forms/select/select.styles.js +152 -71
  66. package/lib/components/forms/slider/slider.styles.d.ts.map +1 -1
  67. package/lib/components/forms/slider/slider.styles.js +77 -36
  68. package/lib/components/forms/textarea/textarea.styles.d.ts.map +1 -1
  69. package/lib/components/forms/textarea/textarea.styles.js +79 -31
  70. package/lib/components/forms/time-picker/time-picker.styles.d.ts.map +1 -1
  71. package/lib/components/forms/time-picker/time-picker.styles.js +196 -91
  72. package/lib/components/forms/toggle/toggle.styles.d.ts.map +1 -1
  73. package/lib/components/forms/toggle/toggle.styles.js +84 -54
  74. package/lib/components/foundation/card/card.styles.d.ts.map +1 -1
  75. package/lib/components/foundation/card/card.styles.js +48 -17
  76. package/lib/components/foundation/divider/divider.styles.d.ts.map +1 -1
  77. package/lib/components/foundation/divider/divider.styles.js +24 -12
  78. package/lib/components/general/icon/icon.styles.d.ts.map +1 -1
  79. package/lib/components/general/icon/icon.styles.js +9 -2
  80. package/lib/components/navigation/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
  81. package/lib/components/navigation/breadcrumb/breadcrumb.styles.js +4 -1
  82. package/lib/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
  83. package/lib/components/navigation/pagination/pagination.styles.js +59 -23
  84. package/lib/components/navigation/sidebar/sidebar-item.styles.d.ts.map +1 -1
  85. package/lib/components/navigation/sidebar/sidebar-item.styles.js +79 -33
  86. package/lib/components/navigation/sidebar/sidebar.styles.d.ts.map +1 -1
  87. package/lib/components/navigation/sidebar/sidebar.styles.js +154 -61
  88. package/lib/components/navigation/steps/step.styles.d.ts.map +1 -1
  89. package/lib/components/navigation/steps/step.styles.js +149 -83
  90. package/lib/components/navigation/steps/steps.styles.d.ts.map +1 -1
  91. package/lib/components/navigation/steps/steps.styles.js +169 -91
  92. package/lib/components/navigation/tabs/tab.styles.d.ts.map +1 -1
  93. package/lib/components/navigation/tabs/tab.styles.js +36 -12
  94. package/lib/components/navigation/tabs/tabs.styles.d.ts.map +1 -1
  95. package/lib/components/navigation/tabs/tabs.styles.js +126 -57
  96. package/lib/components/overlays/dialog/dialog.styles.d.ts.map +1 -1
  97. package/lib/components/overlays/dialog/dialog.styles.js +73 -33
  98. package/lib/components/overlays/drawer/drawer.styles.d.ts.map +1 -1
  99. package/lib/components/overlays/drawer/drawer.styles.js +77 -33
  100. package/lib/components/overlays/dropdown/dropdown-item.styles.d.ts.map +1 -1
  101. package/lib/components/overlays/dropdown/dropdown-item.styles.js +43 -17
  102. package/lib/components/overlays/dropdown/dropdown.styles.d.ts.map +1 -1
  103. package/lib/components/overlays/dropdown/dropdown.styles.js +30 -15
  104. package/lib/components/overlays/popover/popover.styles.d.ts.map +1 -1
  105. package/lib/components/overlays/popover/popover.styles.js +29 -14
  106. package/lib/components/overlays/tooltip/tooltip.styles.d.ts.map +1 -1
  107. package/lib/components/overlays/tooltip/tooltip.styles.js +28 -12
  108. package/lib/components/pages/auth/auth-layout.styles.d.ts +1 -1
  109. package/lib/components/pages/auth/auth-layout.styles.d.ts.map +1 -1
  110. package/lib/components/pages/auth/auth-layout.styles.js +79 -31
  111. package/lib/components/pages/dashboard/dashboard-page.styles.d.ts.map +1 -1
  112. package/lib/components/pages/dashboard/dashboard-page.styles.js +34 -12
  113. package/lib/components/sections/app-shell/app-shell.styles.d.ts.map +1 -1
  114. package/lib/components/sections/app-shell/app-shell.styles.js +54 -23
  115. package/lib/components/sections/hero/hero-section.styles.d.ts.map +1 -1
  116. package/lib/components/sections/hero/hero-section.styles.js +97 -40
  117. package/lib/components/sections/page-header/page-header.styles.d.ts.map +1 -1
  118. package/lib/components/sections/page-header/page-header.styles.js +62 -28
  119. package/lib/components/sections/page-section/page-section.styles.d.ts.map +1 -1
  120. package/lib/components/sections/page-section/page-section.styles.js +51 -21
  121. package/package.json +1 -1
@@ -2,6 +2,38 @@ import { css } from '@melodicdev/core';
2
2
  export const buttonStyles = () => css `
3
3
  :host {
4
4
  display: inline-block;
5
+
6
+ /* --- Colors --- */
7
+ --ml-button-bg: var(--ml-color-primary);
8
+ --ml-button-border-color: var(--ml-color-primary);
9
+ --ml-button-color: var(--ml-color-text-inverse);
10
+ --ml-button-hover-bg: var(--ml-color-primary-hover);
11
+ --ml-button-hover-border-color: var(--ml-color-primary-hover);
12
+ --ml-button-hover-color: var(--ml-color-text-inverse);
13
+ --ml-button-active-bg: var(--ml-color-primary-active);
14
+ --ml-button-active-border-color: var(--ml-color-primary-active);
15
+ --ml-button-shadow: var(--ml-shadow-xs);
16
+ --ml-button-focus-shadow: var(--ml-shadow-focus-ring);
17
+
18
+ /* --- Typography --- */
19
+ --ml-button-font-family: var(--ml-font-sans);
20
+ --ml-button-font-weight: var(--ml-font-semibold);
21
+ --ml-button-font-size: var(--ml-text-sm);
22
+ --ml-button-line-height: var(--ml-leading-tight);
23
+
24
+ /* --- Spacing --- */
25
+ --ml-button-height: 2.5rem;
26
+ --ml-button-padding: 0 var(--ml-space-3-5);
27
+ --ml-button-gap: var(--ml-space-2);
28
+ --ml-button-border-width: var(--ml-border);
29
+ --ml-button-border-radius: var(--ml-radius);
30
+
31
+ /* --- Disabled --- */
32
+ --ml-button-disabled-opacity: 0.5;
33
+
34
+ /* --- Transition --- */
35
+ --ml-button-transition-duration: var(--ml-duration-150);
36
+ --ml-button-transition-easing: var(--ml-ease-in-out);
5
37
  }
6
38
 
7
39
  :host([full-width]) {
@@ -18,22 +50,27 @@ export const buttonStyles = () => css `
18
50
  display: inline-flex;
19
51
  align-items: center;
20
52
  justify-content: center;
21
- gap: var(--ml-space-2);
53
+ gap: var(--ml-button-gap);
22
54
  position: relative;
23
- font-family: var(--ml-font-sans);
24
- font-weight: var(--ml-font-semibold);
25
- line-height: var(--ml-leading-tight);
55
+ font-family: var(--ml-button-font-family);
56
+ font-weight: var(--ml-button-font-weight);
57
+ font-size: var(--ml-button-font-size);
58
+ line-height: var(--ml-button-line-height);
26
59
  white-space: nowrap;
27
60
  text-align: center;
28
- border: var(--ml-border) solid transparent;
29
- border-radius: var(--ml-radius);
30
- box-shadow: var(--ml-shadow-xs);
61
+ height: var(--ml-button-height);
62
+ padding: var(--ml-button-padding);
63
+ border: var(--ml-button-border-width) solid var(--ml-button-border-color);
64
+ border-radius: var(--ml-button-border-radius);
65
+ background-color: var(--ml-button-bg);
66
+ color: var(--ml-button-color);
67
+ box-shadow: var(--ml-button-shadow);
31
68
  transition:
32
- background-color var(--ml-duration-150) var(--ml-ease-in-out),
33
- border-color var(--ml-duration-150) var(--ml-ease-in-out),
34
- color var(--ml-duration-150) var(--ml-ease-in-out),
35
- box-shadow var(--ml-duration-150) var(--ml-ease-in-out),
36
- transform var(--ml-duration-150) var(--ml-ease-in-out);
69
+ background-color var(--ml-button-transition-duration) var(--ml-button-transition-easing),
70
+ border-color var(--ml-button-transition-duration) var(--ml-button-transition-easing),
71
+ color var(--ml-button-transition-duration) var(--ml-button-transition-easing),
72
+ box-shadow var(--ml-button-transition-duration) var(--ml-button-transition-easing),
73
+ transform var(--ml-button-transition-duration) var(--ml-button-transition-easing);
37
74
  }
38
75
 
39
76
  .ml-button:focus {
@@ -41,152 +78,140 @@ export const buttonStyles = () => css `
41
78
  }
42
79
 
43
80
  .ml-button:focus-visible {
44
- box-shadow: var(--ml-shadow-focus-ring);
81
+ box-shadow: var(--ml-button-focus-shadow);
82
+ }
83
+
84
+ .ml-button:hover:not(:disabled) {
85
+ background-color: var(--ml-button-hover-bg);
86
+ border-color: var(--ml-button-hover-border-color);
87
+ color: var(--ml-button-hover-color);
88
+ }
89
+
90
+ .ml-button:active:not(:disabled) {
91
+ background-color: var(--ml-button-active-bg);
92
+ border-color: var(--ml-button-active-border-color);
45
93
  }
46
94
 
95
+ /* --- Size variants --- */
47
96
  .ml-button--xs {
48
- height: 2rem;
49
- padding: 0 var(--ml-space-3);
50
- font-size: var(--ml-text-xs);
51
- border-radius: var(--ml-radius-sm);
97
+ --ml-button-height: 2rem;
98
+ --ml-button-padding: 0 var(--ml-space-3);
99
+ --ml-button-font-size: var(--ml-text-xs);
100
+ --ml-button-border-radius: var(--ml-radius-sm);
52
101
  }
53
102
 
54
103
  .ml-button--sm {
55
- height: 2.25rem;
56
- padding: 0 var(--ml-space-3);
57
- font-size: var(--ml-text-sm);
58
- border-radius: var(--ml-radius);
104
+ --ml-button-height: 2.25rem;
105
+ --ml-button-padding: 0 var(--ml-space-3);
106
+ --ml-button-font-size: var(--ml-text-sm);
107
+ --ml-button-border-radius: var(--ml-radius);
59
108
  }
60
109
 
61
110
  .ml-button--md {
62
- height: 2.5rem;
63
- padding: 0 var(--ml-space-3-5);
64
- font-size: var(--ml-text-sm);
111
+ --ml-button-height: 2.5rem;
112
+ --ml-button-padding: 0 var(--ml-space-3-5);
113
+ --ml-button-font-size: var(--ml-text-sm);
65
114
  }
66
115
 
67
116
  .ml-button--lg {
68
- height: 2.75rem;
69
- padding: 0 var(--ml-space-4);
70
- font-size: var(--ml-text-sm);
117
+ --ml-button-height: 2.75rem;
118
+ --ml-button-padding: 0 var(--ml-space-4);
119
+ --ml-button-font-size: var(--ml-text-sm);
71
120
  }
72
121
 
73
122
  .ml-button--xl {
74
- height: 3rem;
75
- padding: 0 var(--ml-space-5);
76
- font-size: var(--ml-text-base);
123
+ --ml-button-height: 3rem;
124
+ --ml-button-padding: 0 var(--ml-space-5);
125
+ --ml-button-font-size: var(--ml-text-base);
77
126
  }
78
127
 
79
128
  .ml-button--2xl {
80
- height: 3.75rem;
81
- padding: 0 var(--ml-space-7);
82
- font-size: var(--ml-text-lg);
83
- gap: var(--ml-space-3);
129
+ --ml-button-height: 3.75rem;
130
+ --ml-button-padding: 0 var(--ml-space-7);
131
+ --ml-button-font-size: var(--ml-text-lg);
132
+ --ml-button-gap: var(--ml-space-3);
84
133
  }
85
134
 
135
+ /* --- Variant: primary (default — already set on :host) --- */
86
136
  .ml-button--primary {
87
- background-color: var(--ml-color-primary);
88
- border-color: var(--ml-color-primary);
89
- color: var(--ml-color-text-inverse);
90
- }
91
-
92
- .ml-button--primary:hover:not(:disabled) {
93
- background-color: var(--ml-color-primary-hover);
94
- border-color: var(--ml-color-primary-hover);
95
- }
96
-
97
- .ml-button--primary:active:not(:disabled) {
98
- background-color: var(--ml-color-primary-active);
99
- border-color: var(--ml-color-primary-active);
137
+ --ml-button-bg: var(--ml-color-primary);
138
+ --ml-button-border-color: var(--ml-color-primary);
139
+ --ml-button-color: var(--ml-color-text-inverse);
140
+ --ml-button-hover-bg: var(--ml-color-primary-hover);
141
+ --ml-button-hover-border-color: var(--ml-color-primary-hover);
142
+ --ml-button-active-bg: var(--ml-color-primary-active);
143
+ --ml-button-active-border-color: var(--ml-color-primary-active);
100
144
  }
101
145
 
146
+ /* --- Variant: secondary --- */
102
147
  .ml-button--secondary {
103
- background-color: var(--ml-color-surface);
104
- border-color: var(--ml-color-border-strong);
105
- color: var(--ml-color-text-secondary);
106
- }
107
-
108
- .ml-button--secondary:hover:not(:disabled) {
109
- background-color: var(--ml-color-surface-raised);
110
- color: var(--ml-color-text);
111
- }
112
-
113
- .ml-button--secondary:active:not(:disabled) {
114
- background-color: var(--ml-color-surface-sunken);
115
- }
116
-
117
- .ml-button--secondary:focus-visible {
118
- box-shadow: var(--ml-shadow-ring-gray);
148
+ --ml-button-bg: var(--ml-color-surface);
149
+ --ml-button-border-color: var(--ml-color-border-strong);
150
+ --ml-button-color: var(--ml-color-text-secondary);
151
+ --ml-button-hover-bg: var(--ml-color-surface-raised);
152
+ --ml-button-hover-border-color: var(--ml-color-border-strong);
153
+ --ml-button-hover-color: var(--ml-color-text);
154
+ --ml-button-active-bg: var(--ml-color-surface-sunken);
155
+ --ml-button-focus-shadow: var(--ml-shadow-ring-gray);
119
156
  }
120
157
 
158
+ /* --- Variant: outline --- */
121
159
  .ml-button--outline {
122
- background-color: transparent;
123
- border-color: var(--ml-color-border-strong);
124
- color: var(--ml-color-text-secondary);
125
- box-shadow: none;
126
- }
127
-
128
- .ml-button--outline:hover:not(:disabled) {
129
- background-color: var(--ml-color-surface-raised);
130
- color: var(--ml-color-text);
131
- }
132
-
133
- .ml-button--outline:active:not(:disabled) {
134
- background-color: var(--ml-color-surface-sunken);
160
+ --ml-button-bg: transparent;
161
+ --ml-button-border-color: var(--ml-color-border-strong);
162
+ --ml-button-color: var(--ml-color-text-secondary);
163
+ --ml-button-shadow: none;
164
+ --ml-button-hover-bg: var(--ml-color-surface-raised);
165
+ --ml-button-hover-border-color: var(--ml-color-border-strong);
166
+ --ml-button-hover-color: var(--ml-color-text);
167
+ --ml-button-active-bg: var(--ml-color-surface-sunken);
135
168
  }
136
169
 
170
+ /* --- Variant: ghost --- */
137
171
  .ml-button--ghost {
138
- background-color: transparent;
139
- border-color: transparent;
140
- color: var(--ml-color-text-muted);
141
- box-shadow: none;
142
- }
143
-
144
- .ml-button--ghost:hover:not(:disabled) {
145
- background-color: var(--ml-color-surface-raised);
146
- color: var(--ml-color-text-secondary);
147
- }
148
-
149
- .ml-button--ghost:active:not(:disabled) {
150
- background-color: var(--ml-color-surface-sunken);
172
+ --ml-button-bg: transparent;
173
+ --ml-button-border-color: transparent;
174
+ --ml-button-color: var(--ml-color-text-muted);
175
+ --ml-button-shadow: none;
176
+ --ml-button-hover-bg: var(--ml-color-surface-raised);
177
+ --ml-button-hover-border-color: transparent;
178
+ --ml-button-hover-color: var(--ml-color-text-secondary);
179
+ --ml-button-active-bg: var(--ml-color-surface-sunken);
151
180
  }
152
181
 
182
+ /* --- Variant: danger --- */
153
183
  .ml-button--danger {
154
- background-color: var(--ml-color-danger);
155
- border-color: var(--ml-color-danger);
156
- color: var(--ml-color-text-inverse);
157
- }
158
-
159
- .ml-button--danger:hover:not(:disabled) {
160
- background-color: var(--ml-color-danger-hover);
161
- border-color: var(--ml-color-danger-hover);
162
- }
163
-
164
- .ml-button--danger:active:not(:disabled) {
165
- background-color: var(--ml-red-800);
166
- border-color: var(--ml-red-800);
167
- }
168
-
169
- .ml-button--danger:focus-visible {
170
- box-shadow: var(--ml-shadow-ring-error);
184
+ --ml-button-bg: var(--ml-color-danger);
185
+ --ml-button-border-color: var(--ml-color-danger);
186
+ --ml-button-color: var(--ml-color-text-inverse);
187
+ --ml-button-hover-bg: var(--ml-color-danger-hover);
188
+ --ml-button-hover-border-color: var(--ml-color-danger-hover);
189
+ --ml-button-active-bg: var(--ml-red-800);
190
+ --ml-button-active-border-color: var(--ml-red-800);
191
+ --ml-button-focus-shadow: var(--ml-shadow-ring-error);
171
192
  }
172
193
 
194
+ /* --- Variant: link --- */
173
195
  .ml-button--link {
174
- background-color: transparent;
175
- border-color: transparent;
176
- color: var(--ml-color-text-link);
177
- padding: 0;
178
- height: auto;
179
- box-shadow: none;
180
- font-weight: var(--ml-font-medium);
196
+ --ml-button-bg: transparent;
197
+ --ml-button-border-color: transparent;
198
+ --ml-button-color: var(--ml-color-text-link);
199
+ --ml-button-shadow: none;
200
+ --ml-button-font-weight: var(--ml-font-medium);
201
+ --ml-button-height: auto;
202
+ --ml-button-padding: 0;
203
+ --ml-button-hover-bg: transparent;
204
+ --ml-button-hover-border-color: transparent;
205
+ --ml-button-hover-color: var(--ml-color-text-link-hover);
181
206
  }
182
207
 
183
208
  .ml-button--link:hover:not(:disabled) {
184
- color: var(--ml-color-text-link-hover);
185
209
  text-decoration: underline;
186
210
  }
187
211
 
212
+ /* --- Disabled --- */
188
213
  .ml-button--disabled {
189
- opacity: 0.5;
214
+ opacity: var(--ml-button-disabled-opacity);
190
215
  cursor: not-allowed;
191
216
  pointer-events: none;
192
217
  box-shadow: none;
@@ -211,7 +236,7 @@ export const buttonStyles = () => css `
211
236
  .ml-button__content {
212
237
  display: inline-flex;
213
238
  align-items: center;
214
- gap: var(--ml-space-2);
239
+ gap: var(--ml-button-gap);
215
240
  }
216
241
 
217
242
  ::slotted([slot='icon-start']),
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/button-group/button-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,iDAsB7B,CAAC"}
1
+ {"version":3,"file":"button-group.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/button-group/button-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,iDA4B7B,CAAC"}
@@ -2,6 +2,12 @@ import { css } from '@melodicdev/core';
2
2
  export const buttonGroupStyles = () => css `
3
3
  :host {
4
4
  display: inline-flex;
5
+
6
+ /* --- Disabled --- */
7
+ --ml-button-group-disabled-opacity: 0.5;
8
+
9
+ /* --- Spacing --- */
10
+ --ml-button-group-item-offset: -1px;
5
11
  }
6
12
 
7
13
  .ml-button-group {
@@ -10,12 +16,12 @@ export const buttonGroupStyles = () => css `
10
16
  }
11
17
 
12
18
  .ml-button-group--disabled {
13
- opacity: 0.5;
19
+ opacity: var(--ml-button-group-disabled-opacity);
14
20
  pointer-events: none;
15
21
  }
16
22
 
17
23
  ::slotted(ml-button-group-item) {
18
- margin-left: -1px;
24
+ margin-left: var(--ml-button-group-item-offset);
19
25
  }
20
26
 
21
27
  ::slotted(ml-button-group-item:first-child) {
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,iDAkH1B,CAAC"}
1
+ {"version":3,"file":"checkbox.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,iDAoJ1B,CAAC"}
@@ -2,18 +2,59 @@ import { css } from '@melodicdev/core';
2
2
  export const checkboxStyles = () => css `
3
3
  :host {
4
4
  display: block;
5
+
6
+ /* --- Box --- */
7
+ --ml-checkbox-box-size: 1.25rem;
8
+ --ml-checkbox-box-bg: var(--ml-color-input-bg);
9
+ --ml-checkbox-box-border-width: var(--ml-border);
10
+ --ml-checkbox-box-border-color: var(--ml-color-border-strong);
11
+ --ml-checkbox-box-border-radius: var(--ml-radius-xs);
12
+ --ml-checkbox-box-color: var(--ml-color-text-inverse);
13
+
14
+ /* --- Checked --- */
15
+ --ml-checkbox-checked-bg: var(--ml-color-primary);
16
+ --ml-checkbox-checked-border-color: var(--ml-color-primary);
17
+ --ml-checkbox-checked-hover-bg: var(--ml-color-primary-hover);
18
+ --ml-checkbox-checked-hover-border-color: var(--ml-color-primary-hover);
19
+
20
+ /* --- Hover --- */
21
+ --ml-checkbox-hover-border-color: var(--ml-color-primary);
22
+
23
+ /* --- Focus --- */
24
+ --ml-checkbox-focus-border-color: var(--ml-color-primary);
25
+ --ml-checkbox-focus-shadow: var(--ml-shadow-focus-ring);
26
+
27
+ /* --- Label --- */
28
+ --ml-checkbox-label-font-size: var(--ml-text-sm);
29
+ --ml-checkbox-label-font-weight: var(--ml-font-medium);
30
+ --ml-checkbox-label-color: var(--ml-color-text-secondary);
31
+ --ml-checkbox-label-line-height: 1.25rem;
32
+
33
+ /* --- Hint --- */
34
+ --ml-checkbox-hint-font-size: var(--ml-text-sm);
35
+ --ml-checkbox-hint-color: var(--ml-color-text-muted);
36
+
37
+ /* --- Gap --- */
38
+ --ml-checkbox-gap: var(--ml-space-3);
39
+
40
+ /* --- Disabled --- */
41
+ --ml-checkbox-disabled-opacity: 0.5;
42
+
43
+ /* --- Transition --- */
44
+ --ml-checkbox-transition-duration: var(--ml-duration-150);
45
+ --ml-checkbox-transition-easing: var(--ml-ease-in-out);
5
46
  }
6
47
 
7
48
  .ml-checkbox {
8
49
  display: inline-flex;
9
50
  align-items: flex-start;
10
- gap: var(--ml-space-3);
51
+ gap: var(--ml-checkbox-gap);
11
52
  cursor: pointer;
12
53
  user-select: none;
13
54
  }
14
55
 
15
56
  .ml-checkbox:hover:not(.ml-checkbox--disabled) .ml-checkbox__box {
16
- border-color: var(--ml-color-primary);
57
+ border-color: var(--ml-checkbox-hover-border-color);
17
58
  }
18
59
 
19
60
  .ml-checkbox__input {
@@ -24,22 +65,24 @@ export const checkboxStyles = () => css `
24
65
  }
25
66
 
26
67
  .ml-checkbox__input:focus-visible + .ml-checkbox__box {
27
- border-color: var(--ml-color-primary);
28
- box-shadow: var(--ml-shadow-focus-ring);
68
+ border-color: var(--ml-checkbox-focus-border-color);
69
+ box-shadow: var(--ml-checkbox-focus-shadow);
29
70
  }
30
71
 
31
72
  .ml-checkbox__box {
32
73
  position: relative;
33
74
  flex-shrink: 0;
34
75
  display: block;
35
- background-color: var(--ml-color-input-bg);
36
- border: var(--ml-border) solid var(--ml-color-border-strong);
37
- border-radius: var(--ml-radius-xs);
38
- color: var(--ml-color-text-inverse);
76
+ width: var(--ml-checkbox-box-size);
77
+ height: var(--ml-checkbox-box-size);
78
+ background-color: var(--ml-checkbox-box-bg);
79
+ border: var(--ml-checkbox-box-border-width) solid var(--ml-checkbox-box-border-color);
80
+ border-radius: var(--ml-checkbox-box-border-radius);
81
+ color: var(--ml-checkbox-box-color);
39
82
  transition:
40
- background-color var(--ml-duration-150) var(--ml-ease-in-out),
41
- border-color var(--ml-duration-150) var(--ml-ease-in-out),
42
- box-shadow var(--ml-duration-150) var(--ml-ease-in-out);
83
+ background-color var(--ml-checkbox-transition-duration) var(--ml-checkbox-transition-easing),
84
+ border-color var(--ml-checkbox-transition-duration) var(--ml-checkbox-transition-easing),
85
+ box-shadow var(--ml-checkbox-transition-duration) var(--ml-checkbox-transition-easing);
43
86
  }
44
87
 
45
88
  .ml-checkbox__check,
@@ -53,18 +96,18 @@ export const checkboxStyles = () => css `
53
96
  }
54
97
 
55
98
  .ml-checkbox__label {
56
- font-size: var(--ml-text-sm);
57
- font-weight: var(--ml-font-medium);
58
- color: var(--ml-color-text-secondary);
59
- line-height: 1.25rem;
99
+ font-size: var(--ml-checkbox-label-font-size);
100
+ font-weight: var(--ml-checkbox-label-font-weight);
101
+ color: var(--ml-checkbox-label-color);
102
+ line-height: var(--ml-checkbox-label-line-height);
60
103
  }
61
104
 
62
105
  .ml-checkbox__hint {
63
106
  display: block;
64
107
  margin-top: var(--ml-space-0-5);
65
- margin-left: calc(1.25rem + var(--ml-space-3));
66
- font-size: var(--ml-text-sm);
67
- color: var(--ml-color-text-muted);
108
+ margin-left: calc(var(--ml-checkbox-box-size) + var(--ml-checkbox-gap));
109
+ font-size: var(--ml-checkbox-hint-font-size);
110
+ color: var(--ml-checkbox-hint-color);
68
111
  line-height: var(--ml-leading-tight);
69
112
  }
70
113
 
@@ -75,42 +118,33 @@ export const checkboxStyles = () => css `
75
118
 
76
119
  .ml-checkbox--disabled .ml-checkbox__box,
77
120
  .ml-checkbox--disabled .ml-checkbox__label {
78
- opacity: 0.5;
121
+ opacity: var(--ml-checkbox-disabled-opacity);
79
122
  }
80
123
 
81
124
  .ml-checkbox--checked .ml-checkbox__box,
82
125
  .ml-checkbox--indeterminate .ml-checkbox__box {
83
- background-color: var(--ml-color-primary);
84
- border-color: var(--ml-color-primary);
126
+ background-color: var(--ml-checkbox-checked-bg);
127
+ border-color: var(--ml-checkbox-checked-border-color);
85
128
  }
86
129
 
87
130
  .ml-checkbox--checked:hover:not(.ml-checkbox--disabled) .ml-checkbox__box,
88
131
  .ml-checkbox--indeterminate:hover:not(.ml-checkbox--disabled) .ml-checkbox__box {
89
- background-color: var(--ml-color-primary-hover);
90
- border-color: var(--ml-color-primary-hover);
91
- }
92
-
93
- .ml-checkbox--sm .ml-checkbox__box {
94
- width: 1rem;
95
- height: 1rem;
96
- }
97
-
98
- .ml-checkbox--md .ml-checkbox__box {
99
- width: 1.25rem;
100
- height: 1.25rem;
132
+ background-color: var(--ml-checkbox-checked-hover-bg);
133
+ border-color: var(--ml-checkbox-checked-hover-border-color);
101
134
  }
102
135
 
103
- .ml-checkbox--lg .ml-checkbox__box {
104
- width: 1.5rem;
105
- height: 1.5rem;
136
+ /* --- Size variants --- */
137
+ .ml-checkbox--sm {
138
+ --ml-checkbox-box-size: 1rem;
106
139
  }
107
140
 
108
- .ml-checkbox--lg .ml-checkbox__label {
109
- font-size: var(--ml-text-base);
110
- line-height: 1.5rem;
141
+ .ml-checkbox--md {
142
+ --ml-checkbox-box-size: 1.25rem;
111
143
  }
112
144
 
113
- .ml-checkbox--lg + .ml-checkbox__hint {
114
- margin-left: calc(1.5rem + var(--ml-space-3));
145
+ .ml-checkbox--lg {
146
+ --ml-checkbox-box-size: 1.5rem;
147
+ --ml-checkbox-label-font-size: var(--ml-text-base);
148
+ --ml-checkbox-label-line-height: 1.5rem;
115
149
  }
116
150
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/date-picker/calendar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,iDAwL1B,CAAC"}
1
+ {"version":3,"file":"calendar.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/date-picker/calendar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,iDAqP1B,CAAC"}