mithril-materialized 1.4.2 → 2.0.0-beta.10

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 (103) hide show
  1. package/README.md +286 -306
  2. package/dist/advanced.css +1888 -0
  3. package/dist/autocomplete.d.ts +12 -4
  4. package/dist/breadcrumb.d.ts +53 -0
  5. package/dist/button.d.ts +10 -10
  6. package/dist/carousel.d.ts +26 -7
  7. package/dist/chip.d.ts +2 -2
  8. package/dist/code-block.d.ts +2 -3
  9. package/dist/collapsible.d.ts +12 -7
  10. package/dist/collection.d.ts +8 -8
  11. package/dist/components.css +2310 -0
  12. package/dist/core.css +3402 -0
  13. package/dist/datepicker.d.ts +66 -0
  14. package/dist/dropdown.d.ts +5 -5
  15. package/dist/file-upload.d.ts +34 -0
  16. package/dist/floating-action-button.d.ts +9 -5
  17. package/dist/forms.css +2284 -0
  18. package/dist/icon.d.ts +2 -2
  19. package/dist/index.css +9284 -2
  20. package/dist/index.d.ts +13 -3
  21. package/dist/index.esm.js +6188 -2
  22. package/dist/index.js +6263 -2
  23. package/dist/index.min.css +8 -0
  24. package/dist/index.umd.js +6267 -2
  25. package/dist/input-options.d.ts +3 -1
  26. package/dist/input.d.ts +17 -12
  27. package/dist/label.d.ts +6 -5
  28. package/dist/material-box.d.ts +22 -4
  29. package/dist/material-icon.d.ts +14 -0
  30. package/dist/modal.d.ts +23 -7
  31. package/dist/option.d.ts +12 -11
  32. package/dist/pagination.d.ts +5 -9
  33. package/dist/parallax.d.ts +8 -6
  34. package/dist/pickers.css +487 -0
  35. package/dist/pushpin.d.ts +32 -0
  36. package/dist/radio.d.ts +10 -6
  37. package/dist/select.d.ts +5 -5
  38. package/dist/sidenav.d.ts +76 -0
  39. package/dist/switch.d.ts +4 -5
  40. package/dist/tabs.d.ts +18 -7
  41. package/dist/theme-switcher.d.ts +49 -0
  42. package/dist/timepicker.d.ts +42 -0
  43. package/dist/toast.d.ts +45 -0
  44. package/dist/tooltip.d.ts +59 -0
  45. package/dist/utilities.css +3197 -0
  46. package/dist/utils.d.ts +17 -0
  47. package/dist/wizard.d.ts +58 -0
  48. package/package.json +47 -14
  49. package/sass/components/_badges.scss +59 -0
  50. package/sass/components/_breadcrumb.scss +248 -0
  51. package/sass/components/_buttons.scss +327 -0
  52. package/sass/components/_cards.scss +197 -0
  53. package/sass/components/_carousel.scss +92 -0
  54. package/sass/components/_chips.scss +92 -0
  55. package/sass/components/_collapsible.scss +94 -0
  56. package/sass/components/_color-classes.scss +34 -0
  57. package/sass/components/_color-variables.scss +371 -0
  58. package/sass/components/_datepicker.scss +282 -0
  59. package/sass/components/_dropdown.scss +90 -0
  60. package/sass/components/_file-upload.scss +228 -0
  61. package/sass/components/_global.scss +777 -0
  62. package/sass/components/_grid.scss +160 -0
  63. package/sass/components/_icons-material-design.scss +5 -0
  64. package/sass/components/_materialbox.scss +43 -0
  65. package/sass/components/_modal.scss +100 -0
  66. package/sass/components/_navbar.scss +219 -0
  67. package/sass/components/_normalize.scss +447 -0
  68. package/sass/components/_preloader.scss +336 -0
  69. package/sass/components/_pulse.scss +34 -0
  70. package/sass/components/_sidenav.scss +370 -0
  71. package/sass/components/_slider.scss +94 -0
  72. package/sass/components/_table_of_contents.scss +36 -0
  73. package/sass/components/_tabs.scss +103 -0
  74. package/sass/components/_tapTarget.scss +105 -0
  75. package/sass/components/_theme-switcher.scss +120 -0
  76. package/sass/components/_theme-variables.scss +205 -0
  77. package/sass/components/_timepicker.scss +262 -0
  78. package/sass/components/_toast.scss +61 -0
  79. package/sass/components/_tooltip.scss +32 -0
  80. package/sass/components/_transitions.scss +13 -0
  81. package/sass/components/_typography.scss +61 -0
  82. package/sass/components/_variables.scss +352 -0
  83. package/sass/components/_waves.scss +114 -0
  84. package/sass/components/_wizard.scss +416 -0
  85. package/sass/components/forms/_checkboxes.scss +203 -0
  86. package/sass/components/forms/_file-input.scss +50 -0
  87. package/sass/components/forms/_form-groups.scss +28 -0
  88. package/sass/components/forms/_forms.scss +24 -0
  89. package/sass/components/forms/_input-fields.scss +383 -0
  90. package/sass/components/forms/_radio-buttons.scss +118 -0
  91. package/sass/components/forms/_range.scss +164 -0
  92. package/sass/components/forms/_select.scss +193 -0
  93. package/sass/components/forms/_switches.scss +92 -0
  94. package/sass/materialize.scss +48 -0
  95. package/dist/index.css.map +0 -1
  96. package/dist/index.esm.js.map +0 -1
  97. package/dist/index.js.map +0 -1
  98. package/dist/index.modern.js +0 -2
  99. package/dist/index.modern.js.map +0 -1
  100. package/dist/index.umd.js.map +0 -1
  101. package/dist/map-editor.d.ts +0 -63
  102. package/dist/pickers.d.ts +0 -6
  103. package/dist/timeline.d.ts +0 -24
@@ -0,0 +1,282 @@
1
+ /* Modal */
2
+ .datepicker-modal {
3
+ max-width: 325px;
4
+ min-width: 300px;
5
+ max-height: none;
6
+ overflow: visible;
7
+ }
8
+
9
+ .datepicker-container.modal-content {
10
+ display: flex;
11
+ flex-direction: column;
12
+ padding: 0;
13
+ overflow: visible;
14
+ background-color: var(--mm-surface-color, #ffffff);
15
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
16
+ }
17
+
18
+ .datepicker-controls {
19
+ display: flex;
20
+ justify-content: space-between;
21
+ width: 280px;
22
+ margin: 0 auto;
23
+ overflow: visible;
24
+
25
+ .selects-container {
26
+ display: flex;
27
+ overflow: visible;
28
+ }
29
+
30
+ .select-wrapper {
31
+ position: relative;
32
+ overflow: visible;
33
+
34
+ input {
35
+ &:focus {
36
+ border-bottom: none;
37
+ }
38
+ border-bottom: none;
39
+ text-align: center;
40
+ margin: 0;
41
+ cursor: pointer;
42
+ }
43
+
44
+ .caret {
45
+ position: absolute;
46
+ right: 0;
47
+ top: 50%;
48
+ transform: translateY(-50%);
49
+ cursor: pointer;
50
+ width: 16px;
51
+ height: 16px;
52
+ fill: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
53
+ }
54
+
55
+ .dropdown-content {
56
+ position: absolute;
57
+ top: 100%;
58
+ left: 0;
59
+ right: 0;
60
+ background-color: var(--mm-surface-color, white);
61
+ box-shadow: 0 4px 20px var(--mm-shadow-color, rgba(0, 0, 0, 0.3));
62
+ z-index: 20000;
63
+ border: 1px solid var(--mm-border-color, #ddd);
64
+ border-radius: 2px;
65
+ display: block;
66
+ opacity: 1;
67
+
68
+ .dropdown-item {
69
+ padding: 8px 16px;
70
+ cursor: pointer;
71
+ white-space: nowrap;
72
+ transition: background-color 0.2s;
73
+
74
+ &:hover {
75
+ background-color: var(--mm-border-color, #f5f5f5);
76
+ }
77
+
78
+ &.selected {
79
+ background-color: var(--mm-border-color, #f5f5f5);
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ .select-year {
86
+ input {
87
+ width: 50px;
88
+ }
89
+
90
+ .dropdown-content {
91
+ max-height: 60vh;
92
+ overflow-y: auto;
93
+ }
94
+ }
95
+
96
+ .select-month {
97
+ input {
98
+ width: 80px;
99
+ }
100
+
101
+ .dropdown-content {
102
+ width: auto;
103
+ min-width: 120px;
104
+ left: auto;
105
+ right: 0;
106
+ }
107
+ }
108
+ }
109
+
110
+ .month-prev, .month-next {
111
+ margin-top: 4px;
112
+ cursor: pointer;
113
+ background-color: transparent;
114
+ border: none;
115
+ }
116
+
117
+
118
+ /* Date Display */
119
+ .datepicker-date-display {
120
+ flex: 1 auto;
121
+ background-color: #26a69a;
122
+ color: #fff;
123
+ padding: 20px 22px;
124
+ font-weight: 500;
125
+
126
+ .year-text {
127
+ display: block;
128
+ font-size: 1.5rem;
129
+ line-height: 25px;
130
+ color: rgba(255, 255, 255, 0.7);
131
+ }
132
+
133
+ .date-text {
134
+ display: block;
135
+ font-size: 2.8rem;
136
+ line-height: 47px;
137
+ font-weight: 500;
138
+ }
139
+ }
140
+
141
+
142
+ /* Calendar */
143
+ .datepicker-calendar-container {
144
+ flex: 2.5 auto;
145
+ }
146
+
147
+ .datepicker-table {
148
+ width: 280px;
149
+ font-size: 1rem;
150
+ margin: 0 auto;
151
+
152
+ &.with-week-numbers {
153
+ width: 310px;
154
+ }
155
+
156
+ thead {
157
+ border-bottom: none;
158
+ }
159
+
160
+ th {
161
+ padding: 10px 5px;
162
+ text-align: center;
163
+
164
+ &.datepicker-week-header {
165
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
166
+ font-size: 0.8rem;
167
+ font-weight: 600;
168
+ width: 30px;
169
+ padding: 10px 2px;
170
+ }
171
+ }
172
+
173
+ tr {
174
+ border: none;
175
+ }
176
+
177
+ abbr {
178
+ text-decoration: none;
179
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
180
+ }
181
+
182
+ td {
183
+ &.is-today {
184
+ color: var(--mm-primary-color, #26a69a);
185
+ }
186
+
187
+ &.is-selected {
188
+ background-color: var(--mm-primary-color, #26a69a);
189
+ color: var(--mm-button-text, #fff);
190
+ }
191
+
192
+ &.is-outside-current-month,
193
+ &.is-disabled {
194
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.3));
195
+ pointer-events: none;
196
+ }
197
+
198
+ &.datepicker-week-number {
199
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
200
+ font-size: 0.8rem;
201
+ font-weight: 600;
202
+ text-align: center;
203
+ vertical-align: middle;
204
+ border-radius: 0;
205
+ width: 30px;
206
+ padding: 5px 2px;
207
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.02));
208
+ border-right: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.05));
209
+ }
210
+
211
+ border-radius: 50%;
212
+ padding: 0;
213
+ }
214
+ }
215
+
216
+ .datepicker-day-button {
217
+ // &:focus {
218
+ // background-color: #eee;
219
+ // }
220
+
221
+ background-color: transparent;
222
+ border: none;
223
+ line-height: 38px;
224
+ display: block;
225
+ width: 100%;
226
+ border-radius: 50%;
227
+ padding: 0 5px;
228
+ cursor: pointer;
229
+ color: inherit;
230
+ }
231
+
232
+
233
+ /* Footer */
234
+ .datepicker-footer {
235
+ width: 280px;
236
+ margin: 0 auto;
237
+ padding-bottom: 5px;
238
+ display: flex;
239
+ justify-content: space-between;
240
+ }
241
+
242
+ .datepicker-cancel,
243
+ .datepicker-clear,
244
+ .datepicker-today,
245
+ .datepicker-done {
246
+ color: #26a69a;
247
+ padding: 0 1rem;
248
+ }
249
+
250
+ .datepicker-clear {
251
+ color: #f44336;
252
+ }
253
+
254
+
255
+ /* Media Queries */
256
+ @media only screen and (min-width: 601px) {
257
+ .datepicker-modal {
258
+ max-width: 625px;
259
+ }
260
+
261
+ .datepicker-container.modal-content {
262
+ flex-direction: row;
263
+ }
264
+
265
+ .datepicker-date-display {
266
+ flex: 0 1 270px;
267
+ }
268
+
269
+ .datepicker-controls,
270
+ .datepicker-table,
271
+ .datepicker-footer {
272
+ width: 320px;
273
+ }
274
+
275
+ .datepicker-table.with-week-numbers {
276
+ width: 350px;
277
+ }
278
+
279
+ .datepicker-day-button {
280
+ line-height: 44px;
281
+ }
282
+ }
@@ -0,0 +1,90 @@
1
+ @use "sass:color";
2
+ @use 'sass:math';
3
+ @use "variables";
4
+ @use "global";
5
+
6
+ .dropdown-content {
7
+ &:focus {
8
+ outline: 0;
9
+ }
10
+
11
+
12
+ @extend .z-depth-1 !optional;
13
+ background-color: var(--mm-surface-color, variables.$dropdown-bg-color);
14
+ margin: 0;
15
+ display: none;
16
+ min-width: 100px;
17
+ overflow-y: auto;
18
+ opacity: 0;
19
+ position: absolute;
20
+ left: 0;
21
+ top: 0;
22
+ z-index: 9999; // TODO: Check if this doesn't break other things
23
+ transform-origin: 0 0;
24
+
25
+
26
+ li {
27
+ &:hover, &.active {
28
+ background-color: var(--mm-dropdown-hover, variables.$dropdown-hover-bg-color);
29
+ }
30
+
31
+ &:focus {
32
+ outline: none;
33
+ }
34
+
35
+ &.divider {
36
+ min-height: 0;
37
+ height: 1px;
38
+ }
39
+
40
+ & > a, & > span {
41
+ font-size: 16px;
42
+ color: var(--mm-text-primary, variables.$dropdown-color);
43
+ display: block;
44
+ line-height: 22px;
45
+ padding: math.div((variables.$dropdown-item-height - 22px), 2) 16px;
46
+ }
47
+
48
+ & > span > label {
49
+ top: 1px;
50
+ left: 0;
51
+ height: 18px;
52
+ }
53
+
54
+ // Icon alignment override
55
+ & > a > i {
56
+ height: inherit;
57
+ line-height: inherit;
58
+ float: left;
59
+ margin: 0 24px 0 0;
60
+ width: 24px;
61
+ }
62
+
63
+
64
+ clear: both;
65
+ color: var(--mm-text-primary, variables.$off-black);
66
+ cursor: pointer;
67
+ min-height: variables.$dropdown-item-height;
68
+ line-height: 1.5rem;
69
+ width: 100%;
70
+ text-align: left;
71
+ }
72
+ }
73
+
74
+ body.keyboard-focused {
75
+ .dropdown-content li:focus {
76
+ background-color: var(--mm-dropdown-focus, color.adjust(variables.$dropdown-hover-bg-color, $lightness: -8%));
77
+ }
78
+ }
79
+
80
+ // Input field specificity bugfix
81
+ .input-field.col .dropdown-content [type="checkbox"] + label {
82
+ top: 1px;
83
+ left: 0;
84
+ height: 18px;
85
+ transform: none;
86
+ }
87
+
88
+ .dropdown-trigger {
89
+ cursor: pointer;
90
+ }
@@ -0,0 +1,228 @@
1
+ // File Upload Component Styles
2
+
3
+ .file-upload-container {
4
+ margin-bottom: 1rem;
5
+ }
6
+
7
+ .file-upload-area {
8
+ border: 2px dashed var(--mm-border-color, rgba(0, 0, 0, 0.12));
9
+ border-radius: 0.5rem;
10
+ padding: 2rem;
11
+ text-align: center;
12
+ cursor: pointer;
13
+ transition: all 0.2s ease;
14
+ background: var(--mm-input-background, #ffffff);
15
+
16
+ &:hover:not(.disabled) {
17
+ border-color: var(--mm-primary-color, #26a69a);
18
+ background: var(--mm-surface-color, #f5f5f5);
19
+ }
20
+
21
+ &.drag-over {
22
+ border-color: var(--mm-primary-color, #26a69a);
23
+ background: var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
24
+ transform: scale(1.02);
25
+ }
26
+
27
+ &.disabled {
28
+ opacity: 0.6;
29
+ cursor: not-allowed;
30
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.05));
31
+ }
32
+
33
+ &.error {
34
+ border-color: #f44336;
35
+ }
36
+
37
+ &.has-files {
38
+ padding: 1rem;
39
+ }
40
+ }
41
+
42
+ .file-upload-content {
43
+ .file-upload-icon {
44
+ font-size: 3rem;
45
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
46
+ margin-bottom: 0.5rem;
47
+ }
48
+
49
+ .file-upload-label {
50
+ font-size: 1.1rem;
51
+ font-weight: 500;
52
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
53
+ margin: 0.5rem 0;
54
+ }
55
+
56
+ .file-upload-helper {
57
+ font-size: 0.875rem;
58
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
59
+ margin: 0.25rem 0;
60
+ }
61
+
62
+ .file-upload-types {
63
+ font-size: 0.75rem;
64
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
65
+ margin: 0.25rem 0 0 0;
66
+ font-style: italic;
67
+ }
68
+ }
69
+
70
+ .file-upload-error {
71
+ color: #f44336;
72
+ font-size: 0.875rem;
73
+ margin-top: 0.5rem;
74
+ text-align: left;
75
+ }
76
+
77
+ .file-upload-list {
78
+ margin-top: 1rem;
79
+
80
+ h6 {
81
+ margin: 0 0 0.5rem 0;
82
+ font-size: 0.875rem;
83
+ font-weight: 600;
84
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
85
+ }
86
+ }
87
+
88
+ .file-upload-item {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 1rem;
92
+ padding: 0.75rem;
93
+ margin-bottom: 0.5rem;
94
+ background: var(--mm-surface-color, #ffffff);
95
+ border: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
96
+ border-radius: 0.5rem;
97
+ transition: all 0.2s ease;
98
+
99
+ &:hover {
100
+ background: var(--mm-card-background, #f5f5f5);
101
+ }
102
+
103
+ .file-preview {
104
+ flex-shrink: 0;
105
+ width: 3rem;
106
+ height: 3rem;
107
+ border-radius: 0.25rem;
108
+ overflow: hidden;
109
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.05));
110
+
111
+ img {
112
+ width: 100%;
113
+ height: 100%;
114
+ object-fit: cover;
115
+ }
116
+ }
117
+
118
+ .file-info {
119
+ flex: 1;
120
+ min-width: 0;
121
+
122
+ .file-name {
123
+ font-weight: 500;
124
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
125
+ margin-bottom: 0.25rem;
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ white-space: nowrap;
129
+ }
130
+
131
+ .file-details {
132
+ display: flex;
133
+ gap: 1rem;
134
+ font-size: 0.75rem;
135
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
136
+ }
137
+
138
+ .file-progress {
139
+ margin-top: 0.5rem;
140
+
141
+ .progress {
142
+ height: 0.25rem;
143
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.12));
144
+ border-radius: 0.125rem;
145
+ overflow: hidden;
146
+
147
+ .determinate {
148
+ background-color: var(--mm-primary-color, #26a69a);
149
+ height: 100%;
150
+ transition: width 0.3s ease;
151
+ }
152
+ }
153
+ }
154
+
155
+ .file-error {
156
+ color: #f44336;
157
+ font-size: 0.75rem;
158
+ margin-top: 0.25rem;
159
+ }
160
+ }
161
+
162
+ .file-remove {
163
+ flex-shrink: 0;
164
+ width: 2rem;
165
+ height: 2rem;
166
+ border-radius: 50%;
167
+ display: flex;
168
+ align-items: center;
169
+ justify-content: center;
170
+ background: transparent;
171
+ border: none;
172
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
173
+ cursor: pointer;
174
+ transition: all 0.2s ease;
175
+
176
+ &:hover {
177
+ background: rgba(244, 67, 54, 0.1);
178
+ color: #f44336;
179
+ }
180
+
181
+ .material-icons {
182
+ font-size: 1.25rem;
183
+ }
184
+ }
185
+ }
186
+
187
+ // Responsive adjustments
188
+ @media (max-width: 600px) {
189
+ .file-upload-area {
190
+ padding: 1.5rem 1rem;
191
+
192
+ .file-upload-content {
193
+ .file-upload-icon {
194
+ font-size: 2.5rem;
195
+ }
196
+
197
+ .file-upload-label {
198
+ font-size: 1rem;
199
+ }
200
+ }
201
+ }
202
+
203
+ .file-upload-item {
204
+ gap: 0.75rem;
205
+ padding: 0.5rem;
206
+
207
+ .file-preview {
208
+ width: 2.5rem;
209
+ height: 2.5rem;
210
+ }
211
+
212
+ .file-info {
213
+ .file-details {
214
+ flex-direction: column;
215
+ gap: 0.25rem;
216
+ }
217
+ }
218
+ }
219
+ }
220
+
221
+ // Dark theme specific adjustments
222
+ [data-theme="dark"] {
223
+ .file-upload-area {
224
+ &.drag-over {
225
+ background: var(--mm-primary-color-dark, rgba(38, 166, 154, 0.2));
226
+ }
227
+ }
228
+ }