@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
@@ -3,6 +3,59 @@ export const fileUploadStyles = () => css `
3
3
  :host {
4
4
  display: block;
5
5
  width: 100%;
6
+
7
+ /* --- Dropzone --- */
8
+ --ml-file-upload-dropzone-padding: var(--ml-space-6);
9
+ --ml-file-upload-dropzone-border-width: 2px;
10
+ --ml-file-upload-dropzone-border-color: var(--ml-color-border);
11
+ --ml-file-upload-dropzone-border-radius: var(--ml-radius-md);
12
+ --ml-file-upload-dropzone-bg: var(--ml-color-surface);
13
+ --ml-file-upload-dropzone-gap: var(--ml-space-3);
14
+ --ml-file-upload-dropzone-hover-border-color: var(--ml-color-primary);
15
+ --ml-file-upload-dropzone-hover-bg: var(--ml-color-surface-sunken);
16
+
17
+ /* --- Focus --- */
18
+ --ml-file-upload-focus-border-color: var(--ml-color-primary);
19
+ --ml-file-upload-focus-shadow: var(--ml-shadow-focus-ring);
20
+
21
+ /* --- Icon --- */
22
+ --ml-file-upload-icon-size: 40px;
23
+ --ml-file-upload-icon-border-radius: var(--ml-radius-full);
24
+ --ml-file-upload-icon-bg: var(--ml-color-surface-sunken);
25
+ --ml-file-upload-icon-color: var(--ml-color-text-muted);
26
+
27
+ /* --- Label --- */
28
+ --ml-file-upload-label-font-size: var(--ml-text-sm);
29
+ --ml-file-upload-label-font-weight: var(--ml-font-semibold);
30
+ --ml-file-upload-label-color: var(--ml-color-primary);
31
+ --ml-file-upload-label-line-height: var(--ml-leading-tight);
32
+
33
+ /* --- Sublabel --- */
34
+ --ml-file-upload-sublabel-font-size: var(--ml-text-sm);
35
+ --ml-file-upload-sublabel-color: var(--ml-color-text-muted);
36
+ --ml-file-upload-sublabel-line-height: var(--ml-leading-tight);
37
+
38
+ /* --- Hint --- */
39
+ --ml-file-upload-hint-font-size: var(--ml-text-sm);
40
+ --ml-file-upload-hint-color: var(--ml-color-text-muted);
41
+
42
+ /* --- Error --- */
43
+ --ml-file-upload-error-font-size: var(--ml-text-sm);
44
+ --ml-file-upload-error-color: var(--ml-color-danger);
45
+ --ml-file-upload-error-border-color: var(--ml-color-danger);
46
+
47
+ /* --- Drag over --- */
48
+ --ml-file-upload-drag-icon-color: var(--ml-color-primary);
49
+ --ml-file-upload-drag-icon-bg: var(--ml-color-primary-subtle, rgba(59, 130, 246, 0.1));
50
+
51
+ /* --- Disabled --- */
52
+ --ml-file-upload-disabled-bg: var(--ml-color-input-disabled-bg);
53
+ --ml-file-upload-disabled-border-color: var(--ml-color-border);
54
+ --ml-file-upload-disabled-opacity: 0.6;
55
+
56
+ /* --- Transition --- */
57
+ --ml-file-upload-transition-duration: var(--ml-duration-150);
58
+ --ml-file-upload-transition-easing: var(--ml-ease-in-out);
6
59
  }
7
60
 
8
61
  .ml-file-upload {
@@ -16,37 +69,37 @@ export const fileUploadStyles = () => css `
16
69
  flex-direction: column;
17
70
  align-items: center;
18
71
  justify-content: center;
19
- gap: var(--ml-space-3);
20
- padding: var(--ml-space-6) var(--ml-space-6);
21
- border: 2px dashed var(--ml-color-border);
22
- border-radius: var(--ml-radius-md);
23
- background-color: var(--ml-color-surface);
72
+ gap: var(--ml-file-upload-dropzone-gap);
73
+ padding: var(--ml-file-upload-dropzone-padding);
74
+ border: var(--ml-file-upload-dropzone-border-width) dashed var(--ml-file-upload-dropzone-border-color);
75
+ border-radius: var(--ml-file-upload-dropzone-border-radius);
76
+ background-color: var(--ml-file-upload-dropzone-bg);
24
77
  cursor: pointer;
25
78
  transition:
26
- border-color var(--ml-duration-150) var(--ml-ease-in-out),
27
- background-color var(--ml-duration-150) var(--ml-ease-in-out);
79
+ border-color var(--ml-file-upload-transition-duration) var(--ml-file-upload-transition-easing),
80
+ background-color var(--ml-file-upload-transition-duration) var(--ml-file-upload-transition-easing);
28
81
  }
29
82
 
30
83
  .ml-file-upload__dropzone:hover {
31
- border-color: var(--ml-color-primary);
32
- background-color: var(--ml-color-surface-sunken);
84
+ border-color: var(--ml-file-upload-dropzone-hover-border-color);
85
+ background-color: var(--ml-file-upload-dropzone-hover-bg);
33
86
  }
34
87
 
35
88
  .ml-file-upload__dropzone:focus-visible {
36
89
  outline: none;
37
- border-color: var(--ml-color-primary);
38
- box-shadow: var(--ml-shadow-focus-ring);
90
+ border-color: var(--ml-file-upload-focus-border-color);
91
+ box-shadow: var(--ml-file-upload-focus-shadow);
39
92
  }
40
93
 
41
94
  .ml-file-upload__icon {
42
95
  display: flex;
43
96
  align-items: center;
44
97
  justify-content: center;
45
- width: 40px;
46
- height: 40px;
47
- border-radius: var(--ml-radius-full);
48
- background-color: var(--ml-color-surface-sunken);
49
- color: var(--ml-color-text-muted);
98
+ width: var(--ml-file-upload-icon-size);
99
+ height: var(--ml-file-upload-icon-size);
100
+ border-radius: var(--ml-file-upload-icon-border-radius);
101
+ background-color: var(--ml-file-upload-icon-bg);
102
+ color: var(--ml-file-upload-icon-color);
50
103
  }
51
104
 
52
105
  .ml-file-upload__text {
@@ -58,16 +111,16 @@ export const fileUploadStyles = () => css `
58
111
  }
59
112
 
60
113
  .ml-file-upload__label {
61
- font-size: var(--ml-text-sm);
62
- font-weight: var(--ml-font-semibold);
63
- color: var(--ml-color-primary);
64
- line-height: var(--ml-leading-tight);
114
+ font-size: var(--ml-file-upload-label-font-size);
115
+ font-weight: var(--ml-file-upload-label-font-weight);
116
+ color: var(--ml-file-upload-label-color);
117
+ line-height: var(--ml-file-upload-label-line-height);
65
118
  }
66
119
 
67
120
  .ml-file-upload__sublabel {
68
- font-size: var(--ml-text-sm);
69
- color: var(--ml-color-text-muted);
70
- line-height: var(--ml-leading-tight);
121
+ font-size: var(--ml-file-upload-sublabel-font-size);
122
+ color: var(--ml-file-upload-sublabel-color);
123
+ line-height: var(--ml-file-upload-sublabel-line-height);
71
124
  }
72
125
 
73
126
  .ml-file-upload__input {
@@ -83,43 +136,43 @@ export const fileUploadStyles = () => css `
83
136
  }
84
137
 
85
138
  .ml-file-upload__hint {
86
- font-size: var(--ml-text-sm);
87
- color: var(--ml-color-text-muted);
88
- line-height: var(--ml-leading-tight);
139
+ font-size: var(--ml-file-upload-hint-font-size);
140
+ color: var(--ml-file-upload-hint-color);
141
+ line-height: var(--ml-file-upload-label-line-height);
89
142
  }
90
143
 
91
144
  .ml-file-upload__error {
92
- font-size: var(--ml-text-sm);
93
- color: var(--ml-color-danger);
94
- line-height: var(--ml-leading-tight);
145
+ font-size: var(--ml-file-upload-error-font-size);
146
+ color: var(--ml-file-upload-error-color);
147
+ line-height: var(--ml-file-upload-label-line-height);
95
148
  }
96
149
 
97
150
  /* Drag over state */
98
151
  .ml-file-upload--drag-over .ml-file-upload__dropzone {
99
- border-color: var(--ml-color-primary);
100
- background-color: var(--ml-color-surface-sunken);
152
+ border-color: var(--ml-file-upload-dropzone-hover-border-color);
153
+ background-color: var(--ml-file-upload-dropzone-hover-bg);
101
154
  }
102
155
 
103
156
  .ml-file-upload--drag-over .ml-file-upload__icon {
104
- color: var(--ml-color-primary);
105
- background-color: var(--ml-color-primary-subtle, rgba(59, 130, 246, 0.1));
157
+ color: var(--ml-file-upload-drag-icon-color);
158
+ background-color: var(--ml-file-upload-drag-icon-bg);
106
159
  }
107
160
 
108
161
  /* Error state */
109
162
  .ml-file-upload--error .ml-file-upload__dropzone {
110
- border-color: var(--ml-color-danger);
163
+ border-color: var(--ml-file-upload-error-border-color);
111
164
  }
112
165
 
113
166
  /* Disabled state */
114
167
  .ml-file-upload--disabled .ml-file-upload__dropzone {
115
- background-color: var(--ml-color-input-disabled-bg);
116
- border-color: var(--ml-color-border);
168
+ background-color: var(--ml-file-upload-disabled-bg);
169
+ border-color: var(--ml-file-upload-disabled-border-color);
117
170
  cursor: not-allowed;
118
- opacity: 0.6;
171
+ opacity: var(--ml-file-upload-disabled-opacity);
119
172
  }
120
173
 
121
174
  .ml-file-upload--disabled .ml-file-upload__dropzone:hover {
122
- border-color: var(--ml-color-border);
123
- background-color: var(--ml-color-input-disabled-bg);
175
+ border-color: var(--ml-file-upload-disabled-border-color);
176
+ background-color: var(--ml-file-upload-disabled-bg);
124
177
  }
125
178
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"form-field.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,iDA6K3B,CAAC"}
1
+ {"version":3,"file":"form-field.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/form-field/form-field.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,iDAwN3B,CAAC"}
@@ -3,6 +3,49 @@ export const formFieldStyles = () => css `
3
3
  :host {
4
4
  display: block;
5
5
  width: 100%;
6
+
7
+ /* --- Label --- */
8
+ --ml-form-field-label-font-size: var(--ml-text-sm);
9
+ --ml-form-field-label-font-weight: var(--ml-font-medium);
10
+ --ml-form-field-label-color: var(--ml-color-text-secondary);
11
+ --ml-form-field-label-line-height: var(--ml-leading-tight);
12
+
13
+ /* --- Required indicator --- */
14
+ --ml-form-field-required-color: var(--ml-color-danger);
15
+
16
+ /* --- Hint / Error --- */
17
+ --ml-form-field-hint-font-size: var(--ml-text-sm);
18
+ --ml-form-field-hint-color: var(--ml-color-text-muted);
19
+ --ml-form-field-error-color: var(--ml-color-danger);
20
+
21
+ /* --- Disabled --- */
22
+ --ml-form-field-disabled-label-color: var(--ml-color-text-muted);
23
+
24
+ /* --- Slotted input --- */
25
+ --ml-form-field-input-padding: var(--ml-space-2-5) var(--ml-space-3-5);
26
+ --ml-form-field-input-font-size: var(--ml-text-sm);
27
+ --ml-form-field-input-font-family: var(--ml-font-sans);
28
+ --ml-form-field-input-color: var(--ml-color-text);
29
+ --ml-form-field-input-bg: var(--ml-color-input-bg);
30
+ --ml-form-field-input-border-width: var(--ml-border);
31
+ --ml-form-field-input-border-color: var(--ml-color-border-strong);
32
+ --ml-form-field-input-border-radius: var(--ml-radius);
33
+ --ml-form-field-input-shadow: var(--ml-shadow-xs);
34
+ --ml-form-field-input-focus-border-color: var(--ml-color-primary);
35
+ --ml-form-field-input-focus-shadow: var(--ml-shadow-focus-ring);
36
+ --ml-form-field-input-placeholder-color: var(--ml-color-text-muted);
37
+ --ml-form-field-input-disabled-bg: var(--ml-color-input-disabled-bg);
38
+ --ml-form-field-input-disabled-color: var(--ml-color-text-muted);
39
+ --ml-form-field-input-error-border-color: var(--ml-color-danger);
40
+ --ml-form-field-input-error-focus-shadow: var(--ml-shadow-ring-error);
41
+
42
+ /* --- Horizontal layout --- */
43
+ --ml-form-field-horizontal-gap: var(--ml-space-4);
44
+ --ml-form-field-horizontal-label-padding-top: var(--ml-space-2-5);
45
+
46
+ /* --- Transition --- */
47
+ --ml-form-field-transition-duration: var(--ml-duration-150);
48
+ --ml-form-field-transition-easing: var(--ml-ease-in-out);
6
49
  }
7
50
 
8
51
  .ml-form-field {
@@ -16,14 +59,14 @@ export const formFieldStyles = () => css `
16
59
  display: grid;
17
60
  grid-template-columns: minmax(100px, auto) 1fr;
18
61
  grid-template-rows: auto auto;
19
- gap: var(--ml-space-1-5) var(--ml-space-4);
62
+ gap: var(--ml-space-1-5) var(--ml-form-field-horizontal-gap);
20
63
  align-items: start;
21
64
  }
22
65
 
23
66
  .ml-form-field--horizontal .ml-form-field__label {
24
67
  grid-column: 1;
25
68
  grid-row: 1;
26
- padding-top: var(--ml-space-2-5);
69
+ padding-top: var(--ml-form-field-horizontal-label-padding-top);
27
70
  text-align: right;
28
71
  }
29
72
 
@@ -40,14 +83,14 @@ export const formFieldStyles = () => css `
40
83
 
41
84
  /* Label */
42
85
  .ml-form-field__label {
43
- font-size: var(--ml-text-sm);
44
- font-weight: var(--ml-font-medium);
45
- color: var(--ml-color-text-secondary);
46
- line-height: var(--ml-leading-tight);
86
+ font-size: var(--ml-form-field-label-font-size);
87
+ font-weight: var(--ml-form-field-label-font-weight);
88
+ color: var(--ml-form-field-label-color);
89
+ line-height: var(--ml-form-field-label-line-height);
47
90
  }
48
91
 
49
92
  .ml-form-field__required {
50
- color: var(--ml-color-danger);
93
+ color: var(--ml-form-field-required-color);
51
94
  margin-left: var(--ml-space-0-5);
52
95
  }
53
96
 
@@ -60,21 +103,21 @@ export const formFieldStyles = () => css `
60
103
  /* Hint and error messages */
61
104
  .ml-form-field__hint,
62
105
  .ml-form-field__error {
63
- font-size: var(--ml-text-sm);
64
- line-height: var(--ml-leading-tight);
106
+ font-size: var(--ml-form-field-hint-font-size);
107
+ line-height: var(--ml-form-field-label-line-height);
65
108
  }
66
109
 
67
110
  .ml-form-field__hint {
68
- color: var(--ml-color-text-muted);
111
+ color: var(--ml-form-field-hint-color);
69
112
  }
70
113
 
71
114
  .ml-form-field__error {
72
- color: var(--ml-color-danger);
115
+ color: var(--ml-form-field-error-color);
73
116
  }
74
117
 
75
118
  /* Disabled state */
76
119
  .ml-form-field--disabled .ml-form-field__label {
77
- color: var(--ml-color-text-muted);
120
+ color: var(--ml-form-field-disabled-label-color);
78
121
  }
79
122
 
80
123
  /* Size variants - Labels */
@@ -101,52 +144,52 @@ export const formFieldStyles = () => css `
101
144
  ::slotted(select),
102
145
  ::slotted(textarea) {
103
146
  width: 100%;
104
- padding: var(--ml-space-2-5) var(--ml-space-3-5);
105
- font-size: var(--ml-text-sm);
106
- font-family: var(--ml-font-sans);
107
- color: var(--ml-color-text);
108
- background-color: var(--ml-color-input-bg);
109
- border: var(--ml-border) solid var(--ml-color-border-strong);
110
- border-radius: var(--ml-radius);
111
- box-shadow: var(--ml-shadow-xs);
147
+ padding: var(--ml-form-field-input-padding);
148
+ font-size: var(--ml-form-field-input-font-size);
149
+ font-family: var(--ml-form-field-input-font-family);
150
+ color: var(--ml-form-field-input-color);
151
+ background-color: var(--ml-form-field-input-bg);
152
+ border: var(--ml-form-field-input-border-width) solid var(--ml-form-field-input-border-color);
153
+ border-radius: var(--ml-form-field-input-border-radius);
154
+ box-shadow: var(--ml-form-field-input-shadow);
112
155
  box-sizing: border-box;
113
156
  transition:
114
- border-color var(--ml-duration-150) var(--ml-ease-in-out),
115
- box-shadow var(--ml-duration-150) var(--ml-ease-in-out);
157
+ border-color var(--ml-form-field-transition-duration) var(--ml-form-field-transition-easing),
158
+ box-shadow var(--ml-form-field-transition-duration) var(--ml-form-field-transition-easing);
116
159
  }
117
160
 
118
161
  ::slotted(input:focus),
119
162
  ::slotted(select:focus),
120
163
  ::slotted(textarea:focus) {
121
164
  outline: none;
122
- border-color: var(--ml-color-primary);
123
- box-shadow: var(--ml-shadow-focus-ring);
165
+ border-color: var(--ml-form-field-input-focus-border-color);
166
+ box-shadow: var(--ml-form-field-input-focus-shadow);
124
167
  }
125
168
 
126
169
  ::slotted(input::placeholder),
127
170
  ::slotted(textarea::placeholder) {
128
- color: var(--ml-color-text-muted);
171
+ color: var(--ml-form-field-input-placeholder-color);
129
172
  }
130
173
 
131
174
  ::slotted(input:disabled),
132
175
  ::slotted(select:disabled),
133
176
  ::slotted(textarea:disabled) {
134
- background-color: var(--ml-color-input-disabled-bg);
177
+ background-color: var(--ml-form-field-input-disabled-bg);
135
178
  cursor: not-allowed;
136
- color: var(--ml-color-text-muted);
179
+ color: var(--ml-form-field-input-disabled-color);
137
180
  }
138
181
 
139
182
  /* Error state for slotted inputs */
140
183
  .ml-form-field--error ::slotted(input),
141
184
  .ml-form-field--error ::slotted(select),
142
185
  .ml-form-field--error ::slotted(textarea) {
143
- border-color: var(--ml-color-danger);
186
+ border-color: var(--ml-form-field-input-error-border-color);
144
187
  }
145
188
 
146
189
  .ml-form-field--error ::slotted(input:focus),
147
190
  .ml-form-field--error ::slotted(select:focus),
148
191
  .ml-form-field--error ::slotted(textarea:focus) {
149
- box-shadow: var(--ml-shadow-ring-error);
192
+ box-shadow: var(--ml-form-field-input-error-focus-shadow);
150
193
  }
151
194
 
152
195
  /* Size variants for slotted inputs */
@@ -1 +1 @@
1
- {"version":3,"file":"input.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/input/input.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDAiIvB,CAAC"}
1
+ {"version":3,"file":"input.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/input/input.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDAqLvB,CAAC"}
@@ -4,6 +4,56 @@ export const inputStyles = () => css `
4
4
  display: block;
5
5
  width: 100%;
6
6
  min-width: 0;
7
+
8
+ /* --- Label --- */
9
+ --ml-input-label-font-size: var(--ml-text-sm);
10
+ --ml-input-label-font-weight: var(--ml-font-medium);
11
+ --ml-input-label-color: var(--ml-color-text-secondary);
12
+ --ml-input-label-line-height: var(--ml-leading-tight);
13
+
14
+ /* --- Required indicator --- */
15
+ --ml-input-required-color: var(--ml-color-danger);
16
+
17
+ /* --- Wrapper --- */
18
+ --ml-input-bg: var(--ml-color-input-bg);
19
+ --ml-input-border-width: var(--ml-border);
20
+ --ml-input-border-color: var(--ml-color-border-strong);
21
+ --ml-input-border-radius: var(--ml-radius);
22
+ --ml-input-shadow: var(--ml-shadow-xs);
23
+ --ml-input-hover-border-color: var(--ml-color-border);
24
+ --ml-input-padding: var(--ml-space-2-5) var(--ml-space-3-5);
25
+ --ml-input-gap: var(--ml-space-2);
26
+
27
+ /* --- Field --- */
28
+ --ml-input-color: var(--ml-color-text);
29
+ --ml-input-font-family: var(--ml-font-sans);
30
+ --ml-input-font-size: var(--ml-text-sm);
31
+ --ml-input-line-height: var(--ml-leading-normal);
32
+ --ml-input-placeholder-color: var(--ml-color-text-muted);
33
+
34
+ /* --- Focus --- */
35
+ --ml-input-focus-border-color: var(--ml-color-primary);
36
+ --ml-input-focus-shadow: var(--ml-shadow-focus-ring);
37
+
38
+ /* --- Error --- */
39
+ --ml-input-error-border-color: var(--ml-color-danger);
40
+ --ml-input-error-focus-shadow: var(--ml-shadow-ring-error);
41
+ --ml-input-error-color: var(--ml-color-danger);
42
+
43
+ /* --- Disabled --- */
44
+ --ml-input-disabled-bg: var(--ml-color-input-disabled-bg);
45
+ --ml-input-disabled-color: var(--ml-color-text-muted);
46
+
47
+ /* --- Hint --- */
48
+ --ml-input-hint-color: var(--ml-color-text-muted);
49
+ --ml-input-hint-font-size: var(--ml-text-sm);
50
+
51
+ /* --- Prefix / Suffix --- */
52
+ --ml-input-addon-color: var(--ml-color-text-muted);
53
+
54
+ /* --- Transition --- */
55
+ --ml-input-transition-duration: var(--ml-duration-150);
56
+ --ml-input-transition-easing: var(--ml-ease-in-out);
7
57
  }
8
58
 
9
59
  .ml-input {
@@ -13,32 +63,33 @@ export const inputStyles = () => css `
13
63
  }
14
64
 
15
65
  .ml-input__label {
16
- font-size: var(--ml-text-sm);
17
- font-weight: var(--ml-font-medium);
18
- color: var(--ml-color-text-secondary);
19
- line-height: var(--ml-leading-tight);
66
+ font-size: var(--ml-input-label-font-size);
67
+ font-weight: var(--ml-input-label-font-weight);
68
+ color: var(--ml-input-label-color);
69
+ line-height: var(--ml-input-label-line-height);
20
70
  }
21
71
 
22
72
  .ml-input__required {
23
- color: var(--ml-color-danger);
73
+ color: var(--ml-input-required-color);
24
74
  margin-left: var(--ml-space-0-5);
25
75
  }
26
76
 
27
77
  .ml-input__wrapper {
28
78
  display: flex;
29
79
  align-items: center;
30
- gap: var(--ml-space-2);
31
- background-color: var(--ml-color-input-bg);
32
- border: var(--ml-border) solid var(--ml-color-border-strong);
33
- border-radius: var(--ml-radius);
34
- box-shadow: var(--ml-shadow-xs);
80
+ gap: var(--ml-input-gap);
81
+ padding: var(--ml-input-padding);
82
+ background-color: var(--ml-input-bg);
83
+ border: var(--ml-input-border-width) solid var(--ml-input-border-color);
84
+ border-radius: var(--ml-input-border-radius);
85
+ box-shadow: var(--ml-input-shadow);
35
86
  transition:
36
- border-color var(--ml-duration-150) var(--ml-ease-in-out),
37
- box-shadow var(--ml-duration-150) var(--ml-ease-in-out);
87
+ border-color var(--ml-input-transition-duration) var(--ml-input-transition-easing),
88
+ box-shadow var(--ml-input-transition-duration) var(--ml-input-transition-easing);
38
89
  }
39
90
 
40
91
  .ml-input__wrapper:hover:not(.ml-input--disabled .ml-input__wrapper) {
41
- border-color: var(--ml-color-border);
92
+ border-color: var(--ml-input-hover-border-color);
42
93
  }
43
94
 
44
95
  .ml-input__field {
@@ -46,10 +97,10 @@ export const inputStyles = () => css `
46
97
  min-width: 0;
47
98
  border: none;
48
99
  background: transparent;
49
- color: var(--ml-color-text);
50
- font-family: var(--ml-font-sans);
51
- font-size: inherit;
52
- line-height: var(--ml-leading-normal);
100
+ color: var(--ml-input-color);
101
+ font-family: var(--ml-input-font-family);
102
+ font-size: var(--ml-input-font-size);
103
+ line-height: var(--ml-input-line-height);
53
104
  }
54
105
 
55
106
  .ml-input__field:focus {
@@ -57,46 +108,47 @@ export const inputStyles = () => css `
57
108
  }
58
109
 
59
110
  .ml-input__field::placeholder {
60
- color: var(--ml-color-text-muted);
111
+ color: var(--ml-input-placeholder-color);
61
112
  }
62
113
 
63
114
  .ml-input__field:disabled {
64
115
  cursor: not-allowed;
65
- color: var(--ml-color-text-muted);
116
+ color: var(--ml-input-disabled-color);
66
117
  }
67
118
 
68
119
  .ml-input__hint,
69
120
  .ml-input__error {
70
- font-size: var(--ml-text-sm);
71
- line-height: var(--ml-leading-tight);
121
+ font-size: var(--ml-input-hint-font-size);
122
+ line-height: var(--ml-input-label-line-height);
72
123
  }
73
124
 
74
125
  .ml-input__hint {
75
- color: var(--ml-color-text-muted);
126
+ color: var(--ml-input-hint-color);
76
127
  }
77
128
 
78
129
  .ml-input__error {
79
- color: var(--ml-color-danger);
130
+ color: var(--ml-input-error-color);
80
131
  }
81
132
 
82
133
  .ml-input--focused .ml-input__wrapper {
83
- border-color: var(--ml-color-primary);
84
- box-shadow: var(--ml-shadow-focus-ring);
134
+ border-color: var(--ml-input-focus-border-color);
135
+ box-shadow: var(--ml-input-focus-shadow);
85
136
  }
86
137
 
87
138
  .ml-input--error .ml-input__wrapper {
88
- border-color: var(--ml-color-danger);
139
+ border-color: var(--ml-input-error-border-color);
89
140
  }
90
141
 
91
142
  .ml-input--error.ml-input--focused .ml-input__wrapper {
92
- box-shadow: var(--ml-shadow-ring-error);
143
+ box-shadow: var(--ml-input-error-focus-shadow);
93
144
  }
94
145
 
95
146
  .ml-input--disabled .ml-input__wrapper {
96
- background-color: var(--ml-color-input-disabled-bg);
147
+ background-color: var(--ml-input-disabled-bg);
97
148
  cursor: not-allowed;
98
149
  }
99
150
 
151
+ /* --- Size variants --- */
100
152
  .ml-input--sm .ml-input__wrapper {
101
153
  padding: var(--ml-space-2) var(--ml-space-3);
102
154
  }
@@ -125,7 +177,7 @@ export const inputStyles = () => css `
125
177
  ::slotted([slot='suffix']) {
126
178
  display: flex;
127
179
  align-items: center;
128
- color: var(--ml-color-text-muted);
180
+ color: var(--ml-input-addon-color);
129
181
  flex-shrink: 0;
130
182
  }
131
183
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"radio.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/radio/radio.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDA8HvB,CAAC"}
1
+ {"version":3,"file":"radio.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/forms/radio/radio.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,iDA6JvB,CAAC"}