mithril-materialized 2.0.0-beta.3 → 2.0.0-beta.6

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 (64) hide show
  1. package/dist/advanced.css +1888 -0
  2. package/dist/autocomplete.d.ts +3 -3
  3. package/dist/breadcrumb.d.ts +53 -0
  4. package/dist/button.d.ts +10 -10
  5. package/dist/carousel.d.ts +2 -2
  6. package/dist/chip.d.ts +2 -2
  7. package/dist/code-block.d.ts +2 -2
  8. package/dist/collapsible.d.ts +2 -2
  9. package/dist/collection.d.ts +2 -2
  10. package/dist/components.css +2310 -0
  11. package/dist/core.css +3402 -0
  12. package/dist/datepicker.d.ts +66 -0
  13. package/dist/dropdown.d.ts +2 -2
  14. package/dist/file-upload.d.ts +34 -0
  15. package/dist/floating-action-button.d.ts +2 -2
  16. package/dist/forms.css +2284 -0
  17. package/dist/index.css +1451 -144
  18. package/dist/index.d.ts +12 -1
  19. package/dist/index.esm.js +4590 -2612
  20. package/dist/index.js +4610 -2611
  21. package/dist/index.min.css +8 -0
  22. package/dist/index.umd.js +4610 -2611
  23. package/dist/input-options.d.ts +1 -1
  24. package/dist/input.d.ts +9 -9
  25. package/dist/label.d.ts +2 -2
  26. package/dist/material-box.d.ts +2 -2
  27. package/dist/modal.d.ts +2 -2
  28. package/dist/option.d.ts +4 -4
  29. package/dist/pagination.d.ts +2 -2
  30. package/dist/parallax.d.ts +2 -2
  31. package/dist/pickers.css +487 -0
  32. package/dist/pushpin.d.ts +32 -0
  33. package/dist/radio.d.ts +4 -4
  34. package/dist/search-select.d.ts +2 -2
  35. package/dist/select.d.ts +2 -2
  36. package/dist/sidenav.d.ts +76 -0
  37. package/dist/switch.d.ts +2 -2
  38. package/dist/tabs.d.ts +2 -2
  39. package/dist/theme-switcher.d.ts +49 -0
  40. package/dist/timepicker.d.ts +42 -0
  41. package/dist/toast.d.ts +45 -0
  42. package/dist/tooltip.d.ts +59 -0
  43. package/dist/utilities.css +3197 -0
  44. package/dist/wizard.d.ts +58 -0
  45. package/package.json +13 -5
  46. package/sass/components/_breadcrumb.scss +248 -0
  47. package/sass/components/_buttons.scss +3 -3
  48. package/sass/components/_collapsible.scss +8 -8
  49. package/sass/components/_datepicker.scss +45 -14
  50. package/sass/components/_file-upload.scss +228 -0
  51. package/sass/components/_global.scss +7 -5
  52. package/sass/components/_modal.scss +5 -2
  53. package/sass/components/_navbar.scss +13 -5
  54. package/sass/components/_sidenav.scss +164 -7
  55. package/sass/components/_tabs.scss +5 -4
  56. package/sass/components/_theme-switcher.scss +120 -0
  57. package/sass/components/_theme-variables.scss +187 -0
  58. package/sass/components/_timepicker.scss +179 -87
  59. package/sass/components/_wizard.scss +416 -0
  60. package/sass/components/forms/_input-fields.scss +34 -12
  61. package/sass/components/forms/_radio-buttons.scss +10 -10
  62. package/sass/components/forms/_switches.scss +6 -6
  63. package/sass/materialize.scss +7 -0
  64. package/dist/pickers.d.ts +0 -130
package/dist/index.css CHANGED
@@ -1,4 +1,135 @@
1
1
  @charset "UTF-8";
2
+ :root {
3
+ --mm-primary-color: #26a69a;
4
+ --mm-primary-color-light: #80cbc4;
5
+ --mm-primary-color-dark: #00695c;
6
+ --mm-secondary-color: #ff6f00;
7
+ --mm-secondary-color-light: #ffa726;
8
+ --mm-secondary-color-dark: #ef6c00;
9
+ --mm-background-color: #ffffff;
10
+ --mm-surface-color: #ffffff;
11
+ --mm-card-background: #ffffff;
12
+ --mm-text-primary: rgba(0, 0, 0, 0.87);
13
+ --mm-text-secondary: rgba(0, 0, 0, 0.6);
14
+ --mm-text-disabled: rgba(0, 0, 0, 0.38);
15
+ --mm-text-hint: rgba(0, 0, 0, 0.38);
16
+ --mm-border-color: rgba(0, 0, 0, 0.12);
17
+ --mm-divider-color: rgba(0, 0, 0, 0.12);
18
+ --mm-input-background: #ffffff;
19
+ --mm-input-border: rgba(0, 0, 0, 0.42);
20
+ --mm-input-border-focus: var(--mm-primary-color);
21
+ --mm-input-text: var(--mm-text-primary);
22
+ --mm-button-background: var(--mm-primary-color);
23
+ --mm-button-text: #ffffff;
24
+ --mm-button-flat-text: var(--mm-primary-color);
25
+ --mm-nav-background: var(--mm-primary-color);
26
+ --mm-nav-text: #ffffff;
27
+ --mm-nav-active-text: #ffffff;
28
+ --mm-modal-background: #ffffff;
29
+ --mm-overlay-background: rgba(0, 0, 0, 0.5);
30
+ --mm-shadow-color: rgba(0, 0, 0, 0.16);
31
+ --mm-shadow-umbra: rgba(0, 0, 0, 0.2);
32
+ --mm-shadow-penumbra: rgba(0, 0, 0, 0.14);
33
+ --mm-shadow-ambient: rgba(0, 0, 0, 0.12);
34
+ --mm-switch-checked-track: rgba(38, 166, 154, 0.3);
35
+ --mm-switch-checked-thumb: #26a69a;
36
+ --mm-switch-unchecked-track: rgba(0, 0, 0, 0.6);
37
+ --mm-switch-unchecked-thumb: #f5f5f5;
38
+ --mm-switch-disabled-track: rgba(0, 0, 0, 0.12);
39
+ --mm-switch-disabled-thumb: #bdbdbd;
40
+ }
41
+
42
+ body {
43
+ background-color: var(--mm-background-color);
44
+ color: var(--mm-text-primary);
45
+ transition: background-color 0.3s ease, color 0.3s ease;
46
+ }
47
+
48
+ .container, .main {
49
+ color: var(--mm-text-primary);
50
+ }
51
+
52
+ [data-theme=dark] {
53
+ --mm-primary-color: #80cbc4;
54
+ --mm-primary-color-light: #b2dfdb;
55
+ --mm-primary-color-dark: #4db6ac;
56
+ --mm-secondary-color: #ffa726;
57
+ --mm-secondary-color-light: #ffcc02;
58
+ --mm-secondary-color-dark: #ff8f00;
59
+ --mm-background-color: #121212;
60
+ --mm-surface-color: #1e1e1e;
61
+ --mm-card-background: #2d2d2d;
62
+ --mm-text-primary: rgba(255, 255, 255, 0.87);
63
+ --mm-text-secondary: rgba(255, 255, 255, 0.6);
64
+ --mm-text-disabled: rgba(255, 255, 255, 0.38);
65
+ --mm-text-hint: rgba(255, 255, 255, 0.38);
66
+ --mm-border-color: rgba(255, 255, 255, 0.12);
67
+ --mm-divider-color: rgba(255, 255, 255, 0.12);
68
+ --mm-input-background: #2d2d2d;
69
+ --mm-input-border: rgba(255, 255, 255, 0.42);
70
+ --mm-input-border-focus: var(--mm-primary-color);
71
+ --mm-input-text: var(--mm-text-primary);
72
+ --mm-button-background: var(--mm-primary-color);
73
+ --mm-button-text: #000000;
74
+ --mm-button-flat-text: var(--mm-primary-color);
75
+ --mm-nav-background: #1e1e1e;
76
+ --mm-nav-text: #ffffff;
77
+ --mm-nav-active-text: #000000;
78
+ --mm-modal-background: #2d2d2d;
79
+ --mm-overlay-background: rgba(0, 0, 0, 0.8);
80
+ --mm-shadow-color: rgba(0, 0, 0, 0.5);
81
+ --mm-shadow-umbra: rgba(0, 0, 0, 0.5);
82
+ --mm-shadow-penumbra: rgba(0, 0, 0, 0.36);
83
+ --mm-shadow-ambient: rgba(0, 0, 0, 0.3);
84
+ --mm-switch-checked-track: rgba(128, 203, 196, 0.3);
85
+ --mm-switch-checked-thumb: #80cbc4;
86
+ --mm-switch-unchecked-track: rgba(255, 255, 255, 0.6);
87
+ --mm-switch-unchecked-thumb: #616161;
88
+ --mm-switch-disabled-track: rgba(255, 255, 255, 0.12);
89
+ --mm-switch-disabled-thumb: #424242;
90
+ }
91
+
92
+ @media (prefers-color-scheme: dark) {
93
+ :root:not([data-theme]) {
94
+ --mm-primary-color: #80cbc4;
95
+ --mm-primary-color-light: #b2dfdb;
96
+ --mm-primary-color-dark: #4db6ac;
97
+ --mm-secondary-color: #ffa726;
98
+ --mm-secondary-color-light: #ffcc02;
99
+ --mm-secondary-color-dark: #ff8f00;
100
+ --mm-background-color: #121212;
101
+ --mm-surface-color: #1e1e1e;
102
+ --mm-card-background: #2d2d2d;
103
+ --mm-text-primary: rgba(255, 255, 255, 0.87);
104
+ --mm-text-secondary: rgba(255, 255, 255, 0.6);
105
+ --mm-text-disabled: rgba(255, 255, 255, 0.38);
106
+ --mm-text-hint: rgba(255, 255, 255, 0.38);
107
+ --mm-border-color: rgba(255, 255, 255, 0.12);
108
+ --mm-divider-color: rgba(255, 255, 255, 0.12);
109
+ --mm-input-background: #2d2d2d;
110
+ --mm-input-border: rgba(255, 255, 255, 0.42);
111
+ --mm-input-border-focus: var(--mm-primary-color);
112
+ --mm-input-text: var(--mm-text-primary);
113
+ --mm-button-background: var(--mm-primary-color);
114
+ --mm-button-text: #000000;
115
+ --mm-button-flat-text: var(--mm-primary-color);
116
+ --mm-nav-background: #1e1e1e;
117
+ --mm-nav-text: #ffffff;
118
+ --mm-nav-active-text: #000000;
119
+ --mm-modal-background: #2d2d2d;
120
+ --mm-overlay-background: rgba(0, 0, 0, 0.8);
121
+ --mm-shadow-color: rgba(0, 0, 0, 0.5);
122
+ --mm-shadow-umbra: rgba(0, 0, 0, 0.5);
123
+ --mm-shadow-penumbra: rgba(0, 0, 0, 0.36);
124
+ --mm-shadow-ambient: rgba(0, 0, 0, 0.3);
125
+ --mm-switch-checked-track: rgba(128, 203, 196, 0.3);
126
+ --mm-switch-checked-thumb: #80cbc4;
127
+ --mm-switch-unchecked-track: rgba(255, 255, 255, 0.6);
128
+ --mm-switch-unchecked-thumb: #616161;
129
+ --mm-switch-disabled-track: rgba(255, 255, 255, 0.12);
130
+ --mm-switch-disabled-thumb: #424242;
131
+ }
132
+ }
2
133
  .materialize-red {
3
134
  background-color: #e51c23 !important;
4
135
  }
@@ -2976,17 +3107,18 @@ td, th {
2976
3107
  }
2977
3108
  .collection {
2978
3109
  margin: 0.5rem 0 1rem 0;
2979
- border: 1px solid #e0e0e0;
3110
+ border: 1px solid var(--mm-border-color, #e0e0e0);
2980
3111
  border-radius: 2px;
2981
3112
  overflow: hidden;
2982
3113
  position: relative;
2983
3114
  }
2984
3115
  .collection .collection-item {
2985
- background-color: #fff;
3116
+ background-color: var(--mm-surface-color, #fff);
3117
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
2986
3118
  line-height: 1.5rem;
2987
3119
  padding: 10px 20px;
2988
3120
  margin: 0;
2989
- border-bottom: 1px solid #e0e0e0;
3121
+ border-bottom: 1px solid var(--mm-border-color, #e0e0e0);
2990
3122
  }
2991
3123
  .collection .collection-item.avatar {
2992
3124
  min-height: 84px;
@@ -3040,8 +3172,9 @@ td, th {
3040
3172
  background-color: #ddd;
3041
3173
  }
3042
3174
  .collection.with-header .collection-header {
3043
- background-color: #fff;
3044
- border-bottom: 1px solid #e0e0e0;
3175
+ background-color: var(--mm-surface-color, #fff);
3176
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
3177
+ border-bottom: 1px solid var(--mm-border-color, #e0e0e0);
3045
3178
  padding: 10px 20px;
3046
3179
  }
3047
3180
  .collection.with-header .collection-item {
@@ -4042,8 +4175,8 @@ table span.badge {
4042
4175
  }
4043
4176
 
4044
4177
  nav {
4045
- color: #fff;
4046
- background-color: #ee6e73;
4178
+ color: var(--mm-nav-text, #fff);
4179
+ background-color: var(--mm-nav-background, #ee6e73);
4047
4180
  width: 100%;
4048
4181
  height: 56px;
4049
4182
  line-height: 56px;
@@ -4060,7 +4193,7 @@ nav.nav-extended .nav-content {
4060
4193
  line-height: normal;
4061
4194
  }
4062
4195
  nav a {
4063
- color: #fff;
4196
+ color: var(--mm-nav-text, #fff);
4064
4197
  }
4065
4198
  nav i,
4066
4199
  nav [class^=mdi-], nav [class*=mdi-],
@@ -4142,7 +4275,13 @@ nav ul li {
4142
4275
  padding: 0;
4143
4276
  }
4144
4277
  nav ul li.active {
4145
- background-color: rgba(0, 0, 0, 0.1);
4278
+ background-color: var(--mm-primary-color-light, rgba(0, 0, 0, 0.1));
4279
+ }
4280
+ nav ul li.active a {
4281
+ color: var(--mm-nav-active-text, #fff);
4282
+ }
4283
+ nav ul li.active i, nav ul li.active .material-icons {
4284
+ color: var(--mm-nav-active-text, #fff);
4146
4285
  }
4147
4286
  nav ul a {
4148
4287
  transition: background-color 0.3s;
@@ -4193,7 +4332,7 @@ nav .input-field label i {
4193
4332
  transition: color 0.3s;
4194
4333
  }
4195
4334
  nav .input-field label.active i {
4196
- color: #fff;
4335
+ color: var(--mm-nav-text, #fff);
4197
4336
  }
4198
4337
 
4199
4338
  .navbar-fixed {
@@ -4655,7 +4794,8 @@ small {
4655
4794
  overflow-y: hidden;
4656
4795
  height: 48px;
4657
4796
  width: 100%;
4658
- background-color: #fff;
4797
+ background-color: var(--mm-background-color, #fff);
4798
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
4659
4799
  margin: 0 auto;
4660
4800
  white-space: nowrap;
4661
4801
  }
@@ -4690,7 +4830,7 @@ small {
4690
4830
  text-transform: uppercase;
4691
4831
  }
4692
4832
  .tabs .tab a {
4693
- color: rgba(238, 110, 115, 0.7);
4833
+ color: var(--mm-text-secondary, rgba(238, 110, 115, 0.7));
4694
4834
  display: block;
4695
4835
  width: 100%;
4696
4836
  height: 100%;
@@ -4706,10 +4846,10 @@ small {
4706
4846
  }
4707
4847
  .tabs .tab a:hover, .tabs .tab a.active {
4708
4848
  background-color: transparent;
4709
- color: #ee6e73;
4849
+ color: var(--mm-primary-color, #ee6e73);
4710
4850
  }
4711
4851
  .tabs .tab.disabled a, .tabs .tab.disabled a:hover {
4712
- color: rgba(238, 110, 115, 0.4);
4852
+ color: var(--mm-text-disabled, rgba(238, 110, 115, 0.4));
4713
4853
  cursor: default;
4714
4854
  }
4715
4855
  .tabs .indicator {
@@ -5034,7 +5174,7 @@ button.btn-floating {
5034
5174
  .btn-flat {
5035
5175
  box-shadow: none;
5036
5176
  background-color: transparent;
5037
- color: #343434;
5177
+ color: var(--mm-button-flat-text, #343434);
5038
5178
  cursor: pointer;
5039
5179
  transition: background-color 0.2s;
5040
5180
  }
@@ -5042,11 +5182,11 @@ button.btn-floating {
5042
5182
  box-shadow: none;
5043
5183
  }
5044
5184
  .btn-flat:focus {
5045
- background-color: rgba(0, 0, 0, 0.1);
5185
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.1));
5046
5186
  }
5047
5187
  .btn-flat.disabled, .btn-flat.btn-flat[disabled] {
5048
5188
  background-color: transparent !important;
5049
- color: rgb(178.5, 178.5, 178.5) !important;
5189
+ color: var(--mm-text-disabled, rgb(178.5, 178.5, 178.5)) !important;
5050
5190
  cursor: default;
5051
5191
  }
5052
5192
 
@@ -5254,7 +5394,8 @@ body.keyboard-focused .dropdown-content li:focus {
5254
5394
  position: fixed;
5255
5395
  left: 0;
5256
5396
  right: 0;
5257
- background-color: #fafafa;
5397
+ background-color: var(--mm-modal-background, #fafafa);
5398
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
5258
5399
  padding: 0;
5259
5400
  max-height: 70%;
5260
5401
  width: 55%;
@@ -5276,13 +5417,15 @@ body.keyboard-focused .dropdown-content li:focus {
5276
5417
  }
5277
5418
  .modal .modal-content {
5278
5419
  padding: 24px;
5420
+ background-color: var(--mm-modal-background, #fafafa);
5421
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
5279
5422
  }
5280
5423
  .modal .modal-close {
5281
5424
  cursor: pointer;
5282
5425
  }
5283
5426
  .modal .modal-footer {
5284
5427
  border-radius: 0 0 2px 2px;
5285
- background-color: #fafafa;
5428
+ background-color: var(--mm-modal-background, #fafafa);
5286
5429
  padding: 4px 6px;
5287
5430
  height: 56px;
5288
5431
  width: 100%;
@@ -5334,9 +5477,9 @@ body.keyboard-focused .dropdown-content li:focus {
5334
5477
  }
5335
5478
 
5336
5479
  .collapsible {
5337
- border-top: 1px solid #ddd;
5338
- border-right: 1px solid #ddd;
5339
- border-left: 1px solid #ddd;
5480
+ border-top: 1px solid var(--mm-border-color, #ddd);
5481
+ border-right: 1px solid var(--mm-border-color, #ddd);
5482
+ border-left: 1px solid var(--mm-border-color, #ddd);
5340
5483
  margin: 0.5rem 0 1rem 0;
5341
5484
  }
5342
5485
 
@@ -5346,8 +5489,7 @@ body.keyboard-focused .dropdown-content li:focus {
5346
5489
  -webkit-tap-highlight-color: transparent;
5347
5490
  line-height: 1.5;
5348
5491
  padding: 1rem;
5349
- background-color: #fff;
5350
- border-bottom: 1px solid #ddd;
5492
+ border-bottom: 1px solid var(--mm-border-color, #ddd);
5351
5493
  }
5352
5494
  .collapsible-header:focus {
5353
5495
  outline: 0;
@@ -5361,12 +5503,12 @@ body.keyboard-focused .dropdown-content li:focus {
5361
5503
  }
5362
5504
 
5363
5505
  .keyboard-focused .collapsible-header:focus {
5364
- background-color: #eee;
5506
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.05));
5365
5507
  }
5366
5508
 
5367
5509
  .collapsible-body {
5368
5510
  display: none;
5369
- border-bottom: 1px solid #ddd;
5511
+ border-bottom: 1px solid var(--mm-border-color, #ddd);
5370
5512
  box-sizing: border-box;
5371
5513
  padding: 2rem;
5372
5514
  }
@@ -5399,7 +5541,8 @@ body.keyboard-focused .dropdown-content li:focus {
5399
5541
  .sidenav .collapsible-body,
5400
5542
  .sidenav.sidenav-fixed .collapsible-body {
5401
5543
  border: 0;
5402
- background-color: #fff;
5544
+ background-color: var(--mm-surface-color, #fff);
5545
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
5403
5546
  }
5404
5547
  .sidenav .collapsible-body li a,
5405
5548
  .sidenav.sidenav-fixed .collapsible-body li a {
@@ -5546,10 +5689,10 @@ body.keyboard-focused .dropdown-content li:focus {
5546
5689
  ========================================================================== */
5547
5690
  /* Style Placeholders */
5548
5691
  ::-moz-placeholder {
5549
- color: #d1d1d1;
5692
+ color: var(--mm-text-hint, #d1d1d1);
5550
5693
  }
5551
5694
  ::placeholder {
5552
- color: #d1d1d1;
5695
+ color: var(--mm-text-hint, #d1d1d1);
5553
5696
  }
5554
5697
 
5555
5698
  /* Text inputs */
@@ -5568,7 +5711,7 @@ input[type=search]:not(.browser-default),
5568
5711
  textarea.materialize-textarea {
5569
5712
  background-color: transparent;
5570
5713
  border: none;
5571
- border-bottom: 1px solid #9e9e9e;
5714
+ border-bottom: 1px solid var(--mm-input-border, 1px solid #9e9e9e);
5572
5715
  border-radius: 0;
5573
5716
  outline: none;
5574
5717
  height: 3rem;
@@ -5579,6 +5722,7 @@ textarea.materialize-textarea {
5579
5722
  box-shadow: none;
5580
5723
  box-sizing: content-box;
5581
5724
  transition: box-shadow 0.3s, border 0.3s;
5725
+ color: var(--mm-input-text, inherit);
5582
5726
  }
5583
5727
  input:not([type]):not(.browser-default):disabled, input:not([type]):not(.browser-default)[readonly=readonly],
5584
5728
  input[type=text]:not(.browser-default):disabled,
@@ -5605,8 +5749,8 @@ input[type=search]:not(.browser-default):disabled,
5605
5749
  input[type=search]:not(.browser-default)[readonly=readonly],
5606
5750
  textarea.materialize-textarea:disabled,
5607
5751
  textarea.materialize-textarea[readonly=readonly] {
5608
- color: rgba(0, 0, 0, 0.42);
5609
- border-bottom: 1px dotted rgba(0, 0, 0, 0.42);
5752
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
5753
+ border-bottom: 1px dotted var(--mm-input-border, 1px dotted rgba(0, 0, 0, 0.42));
5610
5754
  }
5611
5755
  input:not([type]):not(.browser-default):disabled + label, input:not([type]):not(.browser-default)[readonly=readonly] + label,
5612
5756
  input[type=text]:not(.browser-default):disabled + label,
@@ -5633,7 +5777,7 @@ input[type=search]:not(.browser-default):disabled + label,
5633
5777
  input[type=search]:not(.browser-default)[readonly=readonly] + label,
5634
5778
  textarea.materialize-textarea:disabled + label,
5635
5779
  textarea.materialize-textarea[readonly=readonly] + label {
5636
- color: rgba(0, 0, 0, 0.42);
5780
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
5637
5781
  }
5638
5782
  input:not([type]):not(.browser-default):focus:not([readonly]),
5639
5783
  input[type=text]:not(.browser-default):focus:not([readonly]),
@@ -5648,8 +5792,8 @@ input[type=tel]:not(.browser-default):focus:not([readonly]),
5648
5792
  input[type=number]:not(.browser-default):focus:not([readonly]),
5649
5793
  input[type=search]:not(.browser-default):focus:not([readonly]),
5650
5794
  textarea.materialize-textarea:focus:not([readonly]) {
5651
- border-bottom: 1px solid #26a69a;
5652
- box-shadow: 0 1px 0 0 #26a69a;
5795
+ border-bottom: 1px solid var(--mm-input-border-focus, #26a69a);
5796
+ box-shadow: 0 1px 0 0 var(--mm-input-border-focus, #26a69a);
5653
5797
  }
5654
5798
  input:not([type]):not(.browser-default):focus:not([readonly]) + label,
5655
5799
  input[type=text]:not(.browser-default):focus:not([readonly]) + label,
@@ -5664,7 +5808,7 @@ input[type=tel]:not(.browser-default):focus:not([readonly]) + label,
5664
5808
  input[type=number]:not(.browser-default):focus:not([readonly]) + label,
5665
5809
  input[type=search]:not(.browser-default):focus:not([readonly]) + label,
5666
5810
  textarea.materialize-textarea:focus:not([readonly]) + label {
5667
- color: #26a69a;
5811
+ color: var(--mm-input-border-focus, #26a69a);
5668
5812
  }
5669
5813
  input:not([type]):not(.browser-default):focus.valid ~ label,
5670
5814
  input[type=text]:not(.browser-default):focus.valid ~ label,
@@ -5711,6 +5855,93 @@ input[type=search]:not(.browser-default).validate + label,
5711
5855
  textarea.materialize-textarea.validate + label {
5712
5856
  width: 100%;
5713
5857
  }
5858
+ input:not([type]):not(.browser-default):-webkit-autofill, input:not([type]):not(.browser-default):-webkit-autofill:hover, input:not([type]):not(.browser-default):-webkit-autofill:focus, input:not([type]):not(.browser-default):-webkit-autofill:active,
5859
+ input[type=text]:not(.browser-default):-webkit-autofill,
5860
+ input[type=text]:not(.browser-default):-webkit-autofill:hover,
5861
+ input[type=text]:not(.browser-default):-webkit-autofill:focus,
5862
+ input[type=text]:not(.browser-default):-webkit-autofill:active,
5863
+ input[type=password]:not(.browser-default):-webkit-autofill,
5864
+ input[type=password]:not(.browser-default):-webkit-autofill:hover,
5865
+ input[type=password]:not(.browser-default):-webkit-autofill:focus,
5866
+ input[type=password]:not(.browser-default):-webkit-autofill:active,
5867
+ input[type=email]:not(.browser-default):-webkit-autofill,
5868
+ input[type=email]:not(.browser-default):-webkit-autofill:hover,
5869
+ input[type=email]:not(.browser-default):-webkit-autofill:focus,
5870
+ input[type=email]:not(.browser-default):-webkit-autofill:active,
5871
+ input[type=url]:not(.browser-default):-webkit-autofill,
5872
+ input[type=url]:not(.browser-default):-webkit-autofill:hover,
5873
+ input[type=url]:not(.browser-default):-webkit-autofill:focus,
5874
+ input[type=url]:not(.browser-default):-webkit-autofill:active,
5875
+ input[type=time]:not(.browser-default):-webkit-autofill,
5876
+ input[type=time]:not(.browser-default):-webkit-autofill:hover,
5877
+ input[type=time]:not(.browser-default):-webkit-autofill:focus,
5878
+ input[type=time]:not(.browser-default):-webkit-autofill:active,
5879
+ input[type=date]:not(.browser-default):-webkit-autofill,
5880
+ input[type=date]:not(.browser-default):-webkit-autofill:hover,
5881
+ input[type=date]:not(.browser-default):-webkit-autofill:focus,
5882
+ input[type=date]:not(.browser-default):-webkit-autofill:active,
5883
+ input[type=datetime]:not(.browser-default):-webkit-autofill,
5884
+ input[type=datetime]:not(.browser-default):-webkit-autofill:hover,
5885
+ input[type=datetime]:not(.browser-default):-webkit-autofill:focus,
5886
+ input[type=datetime]:not(.browser-default):-webkit-autofill:active,
5887
+ input[type=datetime-local]:not(.browser-default):-webkit-autofill,
5888
+ input[type=datetime-local]:not(.browser-default):-webkit-autofill:hover,
5889
+ input[type=datetime-local]:not(.browser-default):-webkit-autofill:focus,
5890
+ input[type=datetime-local]:not(.browser-default):-webkit-autofill:active,
5891
+ input[type=tel]:not(.browser-default):-webkit-autofill,
5892
+ input[type=tel]:not(.browser-default):-webkit-autofill:hover,
5893
+ input[type=tel]:not(.browser-default):-webkit-autofill:focus,
5894
+ input[type=tel]:not(.browser-default):-webkit-autofill:active,
5895
+ input[type=number]:not(.browser-default):-webkit-autofill,
5896
+ input[type=number]:not(.browser-default):-webkit-autofill:hover,
5897
+ input[type=number]:not(.browser-default):-webkit-autofill:focus,
5898
+ input[type=number]:not(.browser-default):-webkit-autofill:active,
5899
+ input[type=search]:not(.browser-default):-webkit-autofill,
5900
+ input[type=search]:not(.browser-default):-webkit-autofill:hover,
5901
+ input[type=search]:not(.browser-default):-webkit-autofill:focus,
5902
+ input[type=search]:not(.browser-default):-webkit-autofill:active,
5903
+ textarea.materialize-textarea:-webkit-autofill,
5904
+ textarea.materialize-textarea:-webkit-autofill:hover,
5905
+ textarea.materialize-textarea:-webkit-autofill:focus,
5906
+ textarea.materialize-textarea:-webkit-autofill:active {
5907
+ -webkit-box-shadow: 0 0 0 30px var(--mm-input-background, transparent) inset !important;
5908
+ -webkit-text-fill-color: var(--mm-input-text, inherit) !important;
5909
+ background-color: transparent !important;
5910
+ color: var(--mm-input-text, inherit) !important;
5911
+ -webkit-transition: background-color 5000s ease-in-out 0s;
5912
+ transition: background-color 5000s ease-in-out 0s;
5913
+ }
5914
+ input:not([type]):not(.browser-default):-ms-input-placeholder,
5915
+ input[type=text]:not(.browser-default):-ms-input-placeholder,
5916
+ input[type=password]:not(.browser-default):-ms-input-placeholder,
5917
+ input[type=email]:not(.browser-default):-ms-input-placeholder,
5918
+ input[type=url]:not(.browser-default):-ms-input-placeholder,
5919
+ input[type=time]:not(.browser-default):-ms-input-placeholder,
5920
+ input[type=date]:not(.browser-default):-ms-input-placeholder,
5921
+ input[type=datetime]:not(.browser-default):-ms-input-placeholder,
5922
+ input[type=datetime-local]:not(.browser-default):-ms-input-placeholder,
5923
+ input[type=tel]:not(.browser-default):-ms-input-placeholder,
5924
+ input[type=number]:not(.browser-default):-ms-input-placeholder,
5925
+ input[type=search]:not(.browser-default):-ms-input-placeholder,
5926
+ textarea.materialize-textarea:-ms-input-placeholder {
5927
+ color: var(--mm-text-hint, #d1d1d1) !important;
5928
+ }
5929
+ input:not([type]):not(.browser-default)::-ms-input-placeholder,
5930
+ input[type=text]:not(.browser-default)::-ms-input-placeholder,
5931
+ input[type=password]:not(.browser-default)::-ms-input-placeholder,
5932
+ input[type=email]:not(.browser-default)::-ms-input-placeholder,
5933
+ input[type=url]:not(.browser-default)::-ms-input-placeholder,
5934
+ input[type=time]:not(.browser-default)::-ms-input-placeholder,
5935
+ input[type=date]:not(.browser-default)::-ms-input-placeholder,
5936
+ input[type=datetime]:not(.browser-default)::-ms-input-placeholder,
5937
+ input[type=datetime-local]:not(.browser-default)::-ms-input-placeholder,
5938
+ input[type=tel]:not(.browser-default)::-ms-input-placeholder,
5939
+ input[type=number]:not(.browser-default)::-ms-input-placeholder,
5940
+ input[type=search]:not(.browser-default)::-ms-input-placeholder,
5941
+ textarea.materialize-textarea::-ms-input-placeholder {
5942
+ color: var(--mm-text-hint, #d1d1d1) !important;
5943
+ }
5944
+
5714
5945
  /* Validation Sass Placeholders */
5715
5946
  .select-wrapper.valid > input.select-dropdown, input:not([type]):not(.browser-default).valid, input:not([type]):not(.browser-default):focus.valid,
5716
5947
  input[type=text]:not(.browser-default).valid,
@@ -5952,7 +6183,7 @@ textarea.materialize-textarea + label:after {
5952
6183
  min-height: 18px;
5953
6184
  display: block;
5954
6185
  font-size: 12px;
5955
- color: rgba(0, 0, 0, 0.54);
6186
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
5956
6187
  }
5957
6188
  .input-field .helper-text::after {
5958
6189
  opacity: 1;
@@ -6014,13 +6245,13 @@ textarea.materialize-textarea + label:after {
6014
6245
  box-shadow: none;
6015
6246
  }
6016
6247
  .input-field input[type=search]:focus:not(.browser-default) {
6017
- background-color: #fff;
6248
+ background-color: var(--mm-input-background, #fff);
6018
6249
  border: 0;
6019
6250
  box-shadow: none;
6020
- color: #444;
6251
+ color: var(--mm-input-text, #444);
6021
6252
  }
6022
6253
  .input-field input[type=search]:focus:not(.browser-default) + label i, .input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close, .input-field input[type=search]:focus:not(.browser-default) ~ .material-icons {
6023
- color: #444;
6254
+ color: var(--mm-input-text, #444);
6024
6255
  }
6025
6256
  .input-field input[type=search] + .label-icon {
6026
6257
  transform: none;
@@ -6126,7 +6357,7 @@ textarea.materialize-textarea {
6126
6357
 
6127
6358
  [type=radio]:not(:checked) + span:before,
6128
6359
  [type=radio]:not(:checked) + span:after {
6129
- border: 2px solid #5a5a5a;
6360
+ border: 2px solid var(--mm-text-secondary, #5a5a5a);
6130
6361
  }
6131
6362
 
6132
6363
  [type=radio]:not(:checked) + span:after {
@@ -6141,12 +6372,12 @@ textarea.materialize-textarea {
6141
6372
  [type=radio]:checked + span:after,
6142
6373
  [type=radio].with-gap:checked + span:before,
6143
6374
  [type=radio].with-gap:checked + span:after {
6144
- border: 2px solid #26a69a;
6375
+ border: 2px solid var(--mm-primary-color, #26a69a);
6145
6376
  }
6146
6377
 
6147
6378
  [type=radio]:checked + span:after,
6148
6379
  [type=radio].with-gap:checked + span:after {
6149
- background-color: #26a69a;
6380
+ background-color: var(--mm-primary-color, #26a69a);
6150
6381
  }
6151
6382
 
6152
6383
  [type=radio]:checked + span:after {
@@ -6165,32 +6396,32 @@ textarea.materialize-textarea {
6165
6396
 
6166
6397
  /* Disabled Radio With gap */
6167
6398
  [type=radio].with-gap:disabled:checked + span:before {
6168
- border: 2px solid rgba(0, 0, 0, 0.42);
6399
+ border: 2px solid var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6169
6400
  }
6170
6401
 
6171
6402
  [type=radio].with-gap:disabled:checked + span:after {
6172
6403
  border: none;
6173
- background-color: rgba(0, 0, 0, 0.42);
6404
+ background-color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6174
6405
  }
6175
6406
 
6176
6407
  /* Disabled style */
6177
6408
  [type=radio]:disabled:not(:checked) + span:before,
6178
6409
  [type=radio]:disabled:checked + span:before {
6179
6410
  background-color: transparent;
6180
- border-color: rgba(0, 0, 0, 0.42);
6411
+ border-color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6181
6412
  }
6182
6413
 
6183
6414
  [type=radio]:disabled + span {
6184
- color: rgba(0, 0, 0, 0.42);
6415
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6185
6416
  }
6186
6417
 
6187
6418
  [type=radio]:disabled:not(:checked) + span:before {
6188
- border-color: rgba(0, 0, 0, 0.42);
6419
+ border-color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6189
6420
  }
6190
6421
 
6191
6422
  [type=radio]:disabled:checked + span:after {
6192
- background-color: rgba(0, 0, 0, 0.42);
6193
- border-color: #949494;
6423
+ background-color: var(--mm-text-disabled, rgba(0, 0, 0, 0.42));
6424
+ border-color: var(--mm-text-disabled, #949494);
6194
6425
  }
6195
6426
 
6196
6427
  /* Checkboxes
@@ -6379,13 +6610,13 @@ textarea.materialize-textarea {
6379
6610
  height: 0;
6380
6611
  }
6381
6612
  .switch label input[type=checkbox]:checked + .lever {
6382
- background-color: rgb(132.0625, 199.4375, 193.12109375);
6613
+ background-color: var(--mm-switch-checked-track, rgb(132.0625, 199.4375, 193.12109375));
6383
6614
  }
6384
6615
  .switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
6385
6616
  left: 18px;
6386
6617
  }
6387
6618
  .switch label input[type=checkbox]:checked + .lever:after {
6388
- background-color: #26a69a;
6619
+ background-color: var(--mm-switch-checked-thumb, #26a69a);
6389
6620
  }
6390
6621
 
6391
6622
  .switch label .lever {
@@ -6394,7 +6625,7 @@ textarea.materialize-textarea {
6394
6625
  position: relative;
6395
6626
  width: 36px;
6396
6627
  height: 14px;
6397
- background-color: rgba(0, 0, 0, 0.38);
6628
+ background-color: var(--mm-switch-unchecked-track, rgba(0, 0, 0, 0.38));
6398
6629
  border-radius: 15px;
6399
6630
  margin-right: 10px;
6400
6631
  transition: background 0.3s ease;
@@ -6416,7 +6647,7 @@ textarea.materialize-textarea {
6416
6647
  background-color: rgba(38, 166, 154, 0.15);
6417
6648
  }
6418
6649
  .switch label .lever:after {
6419
- background-color: #F1F1F1;
6650
+ background-color: var(--mm-switch-unchecked-thumb, #F1F1F1);
6420
6651
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
6421
6652
  }
6422
6653
 
@@ -6434,12 +6665,12 @@ input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
6434
6665
 
6435
6666
  .switch input[type=checkbox][disabled] + .lever {
6436
6667
  cursor: default;
6437
- background-color: rgba(0, 0, 0, 0.12);
6668
+ background-color: var(--mm-switch-disabled-track, rgba(0, 0, 0, 0.12));
6438
6669
  }
6439
6670
 
6440
6671
  .switch label input[type=checkbox][disabled] + .lever:after,
6441
6672
  .switch label input[type=checkbox][disabled]:checked + .lever:after {
6442
- background-color: #949494;
6673
+ background-color: var(--mm-switch-disabled-thumb, #949494);
6443
6674
  }
6444
6675
 
6445
6676
  /* Select Field
@@ -6846,6 +7077,105 @@ label {
6846
7077
  border-left: 2px solid #ee6e73;
6847
7078
  }
6848
7079
 
7080
+ .sidenav-container {
7081
+ position: relative;
7082
+ z-index: 997;
7083
+ }
7084
+
7085
+ .sidenav-backdrop {
7086
+ position: fixed;
7087
+ top: 0;
7088
+ left: 0;
7089
+ right: 0;
7090
+ bottom: 0;
7091
+ width: 100%;
7092
+ height: 100%;
7093
+ background: var(--mm-overlay-background, rgba(0, 0, 0, 0.5));
7094
+ opacity: 0;
7095
+ visibility: hidden;
7096
+ transition: opacity 0.3s ease, visibility 0.3s ease;
7097
+ z-index: 998;
7098
+ cursor: pointer;
7099
+ }
7100
+ .sidenav-backdrop.show {
7101
+ opacity: 1;
7102
+ visibility: visible;
7103
+ }
7104
+
7105
+ .sidenav-link {
7106
+ display: flex;
7107
+ align-items: center;
7108
+ padding: 0.75rem 1rem;
7109
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
7110
+ text-decoration: none;
7111
+ transition: background-color 0.2s ease, color 0.2s ease;
7112
+ cursor: pointer;
7113
+ min-height: 48px;
7114
+ }
7115
+ .sidenav-link:hover:not(.disabled) {
7116
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
7117
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
7118
+ text-decoration: none;
7119
+ }
7120
+ .sidenav-link.active {
7121
+ background: var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
7122
+ color: var(--mm-primary-color, #26a69a);
7123
+ }
7124
+ .sidenav-link.active .sidenav-icon {
7125
+ color: var(--mm-primary-color, #26a69a);
7126
+ }
7127
+ .sidenav-link.disabled {
7128
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.38));
7129
+ cursor: not-allowed;
7130
+ }
7131
+ .sidenav-link.disabled .sidenav-icon {
7132
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.38));
7133
+ }
7134
+
7135
+ .sidenav-icon {
7136
+ margin-right: 1rem;
7137
+ font-size: 1.5rem;
7138
+ width: 24px;
7139
+ height: 24px;
7140
+ display: flex;
7141
+ align-items: center;
7142
+ justify-content: center;
7143
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
7144
+ flex-shrink: 0;
7145
+ }
7146
+
7147
+ .sidenav-text {
7148
+ font-size: 0.875rem;
7149
+ font-weight: 500;
7150
+ line-height: 1.5;
7151
+ overflow: hidden;
7152
+ text-overflow: ellipsis;
7153
+ white-space: nowrap;
7154
+ }
7155
+
7156
+ .sidenav-divider {
7157
+ height: 1px;
7158
+ background: var(--mm-divider-color, rgba(0, 0, 0, 0.12));
7159
+ margin: 0.5rem 0;
7160
+ }
7161
+
7162
+ .sidenav-subheader {
7163
+ padding: 1rem 1rem 0.5rem 1rem;
7164
+ font-size: 0.75rem;
7165
+ font-weight: 600;
7166
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
7167
+ text-transform: uppercase;
7168
+ letter-spacing: 0.5px;
7169
+ line-height: 1.5;
7170
+ }
7171
+
7172
+ .sidenav-content {
7173
+ padding: 0;
7174
+ height: 100%;
7175
+ display: flex;
7176
+ flex-direction: column;
7177
+ }
7178
+
6849
7179
  .sidenav {
6850
7180
  position: fixed;
6851
7181
  width: 300px;
@@ -6857,12 +7187,37 @@ label {
6857
7187
  height: calc(100% + 60px);
6858
7188
  height: -moz-calc(100%);
6859
7189
  padding-bottom: 60px;
6860
- background-color: #fff;
7190
+ background-color: var(--mm-surface-color, #fff);
6861
7191
  z-index: 999;
6862
7192
  overflow-y: auto;
6863
7193
  will-change: transform;
6864
7194
  backface-visibility: hidden;
6865
7195
  transform: translateX(-105%);
7196
+ transition: transform 0.3s ease, left 0.3s ease, right 0.3s ease;
7197
+ }
7198
+ .sidenav.sidenav-left {
7199
+ left: 0;
7200
+ }
7201
+ .sidenav.sidenav-right {
7202
+ right: 0;
7203
+ left: auto;
7204
+ transform: translateX(100%);
7205
+ }
7206
+ .sidenav.sidenav-overlay {
7207
+ position: fixed;
7208
+ }
7209
+ .sidenav.sidenav-push {
7210
+ position: relative;
7211
+ box-shadow: var(--mm-border-color, rgba(0, 0, 0, 0.12)) 1px 0 0 0;
7212
+ }
7213
+ .sidenav.closed.sidenav-left {
7214
+ transform: translateX(-100%);
7215
+ }
7216
+ .sidenav.closed.sidenav-right {
7217
+ transform: translateX(100%);
7218
+ }
7219
+ .sidenav.open {
7220
+ transform: translateX(0);
6866
7221
  }
6867
7222
  .sidenav.right-aligned {
6868
7223
  right: 0;
@@ -6881,7 +7236,7 @@ label {
6881
7236
  background-color: rgba(0, 0, 0, 0.05);
6882
7237
  }
6883
7238
  .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating) {
6884
- color: rgba(0, 0, 0, 0.87);
7239
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
6885
7240
  display: block;
6886
7241
  font-size: 14px;
6887
7242
  font-weight: 500;
@@ -6890,7 +7245,7 @@ label {
6890
7245
  padding: 0 32px;
6891
7246
  }
6892
7247
  .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating):hover {
6893
- background-color: rgba(0, 0, 0, 0.05);
7248
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.05));
6894
7249
  }
6895
7250
  .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating) > i, .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating) > [class^=mdi-], .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating) li > a > [class*=mdi-], .sidenav li > a:not(.btn):not(.btn-large):not(.btn-flat):not(.btn-floating) > i.material-icons {
6896
7251
  float: left;
@@ -6898,7 +7253,7 @@ label {
6898
7253
  line-height: 48px;
6899
7254
  margin: 0 32px 0 0;
6900
7255
  width: 24px;
6901
- color: rgba(0, 0, 0, 0.54);
7256
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
6902
7257
  }
6903
7258
  .sidenav li > .btn, .sidenav li > .btn-large, .sidenav li > .btn-flat, .sidenav li > .btn-floating {
6904
7259
  margin: 10px 32px;
@@ -6909,10 +7264,14 @@ label {
6909
7264
  .sidenav .subheader {
6910
7265
  cursor: initial;
6911
7266
  pointer-events: none;
6912
- color: rgba(0, 0, 0, 0.54);
7267
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
6913
7268
  font-size: 14px;
6914
7269
  font-weight: 500;
6915
7270
  line-height: 48px;
7271
+ padding: 0 32px;
7272
+ height: 48px;
7273
+ display: flex;
7274
+ align-items: center;
6916
7275
  }
6917
7276
  .sidenav .subheader:hover {
6918
7277
  background-color: transparent;
@@ -7013,11 +7372,18 @@ label {
7013
7372
  top: 0;
7014
7373
  left: 0;
7015
7374
  right: 0;
7375
+ bottom: 0;
7376
+ width: 100%;
7377
+ height: 100%;
7016
7378
  opacity: 0;
7017
- height: 120vh;
7018
- background-color: rgba(0, 0, 0, 0.5);
7379
+ background-color: var(--mm-overlay-background, rgba(0, 0, 0, 0.5));
7019
7380
  z-index: 997;
7020
7381
  display: none;
7382
+ transition: opacity 0.3s ease;
7383
+ }
7384
+
7385
+ .sidenav-overlay {
7386
+ pointer-events: auto;
7021
7387
  }
7022
7388
 
7023
7389
  /*
@@ -7618,6 +7984,8 @@ label {
7618
7984
  flex-direction: column;
7619
7985
  padding: 0;
7620
7986
  overflow: visible;
7987
+ background-color: var(--mm-surface-color, #ffffff);
7988
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
7621
7989
  }
7622
7990
 
7623
7991
  .datepicker-controls {
@@ -7652,17 +8020,17 @@ label {
7652
8020
  cursor: pointer;
7653
8021
  width: 16px;
7654
8022
  height: 16px;
7655
- fill: rgba(0, 0, 0, 0.54);
8023
+ fill: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
7656
8024
  }
7657
8025
  .datepicker-controls .select-wrapper .dropdown-content {
7658
8026
  position: absolute;
7659
8027
  top: 100%;
7660
8028
  left: 0;
7661
8029
  right: 0;
7662
- background-color: white;
7663
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
8030
+ background-color: var(--mm-surface-color, white);
8031
+ box-shadow: 0 4px 20px var(--mm-shadow-color, rgba(0, 0, 0, 0.3));
7664
8032
  z-index: 20000;
7665
- border: 1px solid #ddd;
8033
+ border: 1px solid var(--mm-border-color, #ddd);
7666
8034
  border-radius: 2px;
7667
8035
  display: block;
7668
8036
  opacity: 1;
@@ -7674,10 +8042,10 @@ label {
7674
8042
  transition: background-color 0.2s;
7675
8043
  }
7676
8044
  .datepicker-controls .select-wrapper .dropdown-content .dropdown-item:hover {
7677
- background-color: #f5f5f5;
8045
+ background-color: var(--mm-border-color, #f5f5f5);
7678
8046
  }
7679
8047
  .datepicker-controls .select-wrapper .dropdown-content .dropdown-item.selected {
7680
- background-color: #f5f5f5;
8048
+ background-color: var(--mm-border-color, #f5f5f5);
7681
8049
  }
7682
8050
  .datepicker-controls .select-year input {
7683
8051
  width: 50px;
@@ -7734,6 +8102,9 @@ label {
7734
8102
  font-size: 1rem;
7735
8103
  margin: 0 auto;
7736
8104
  }
8105
+ .datepicker-table.with-week-numbers {
8106
+ width: 310px;
8107
+ }
7737
8108
  .datepicker-table thead {
7738
8109
  border-bottom: none;
7739
8110
  }
@@ -7741,28 +8112,47 @@ label {
7741
8112
  padding: 10px 5px;
7742
8113
  text-align: center;
7743
8114
  }
8115
+ .datepicker-table th.datepicker-week-header {
8116
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
8117
+ font-size: 0.8rem;
8118
+ font-weight: 600;
8119
+ width: 30px;
8120
+ padding: 10px 2px;
8121
+ }
7744
8122
  .datepicker-table tr {
7745
8123
  border: none;
7746
8124
  }
7747
8125
  .datepicker-table abbr {
7748
8126
  text-decoration: none;
7749
- color: rgba(0, 0, 0, 0.54);
8127
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
7750
8128
  }
7751
8129
  .datepicker-table td {
7752
8130
  border-radius: 50%;
7753
8131
  padding: 0;
7754
8132
  }
7755
8133
  .datepicker-table td.is-today {
7756
- color: #26a69a;
8134
+ color: var(--mm-primary-color, #26a69a);
7757
8135
  }
7758
8136
  .datepicker-table td.is-selected {
7759
- background-color: #26a69a;
7760
- color: #fff;
8137
+ background-color: var(--mm-primary-color, #26a69a);
8138
+ color: var(--mm-button-text, #fff);
7761
8139
  }
7762
8140
  .datepicker-table td.is-outside-current-month, .datepicker-table td.is-disabled {
7763
- color: rgba(0, 0, 0, 0.3);
8141
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.3));
7764
8142
  pointer-events: none;
7765
8143
  }
8144
+ .datepicker-table td.datepicker-week-number {
8145
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
8146
+ font-size: 0.8rem;
8147
+ font-weight: 600;
8148
+ text-align: center;
8149
+ vertical-align: middle;
8150
+ border-radius: 0;
8151
+ width: 30px;
8152
+ padding: 5px 2px;
8153
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.02));
8154
+ border-right: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.05));
8155
+ }
7766
8156
 
7767
8157
  .datepicker-day-button {
7768
8158
  background-color: transparent;
@@ -7775,9 +8165,6 @@ label {
7775
8165
  cursor: pointer;
7776
8166
  color: inherit;
7777
8167
  }
7778
- .datepicker-day-button:focus {
7779
- background-color: #eee;
7780
- }
7781
8168
 
7782
8169
  /* Footer */
7783
8170
  .datepicker-footer {
@@ -7816,6 +8203,9 @@ label {
7816
8203
  .datepicker-footer {
7817
8204
  width: 320px;
7818
8205
  }
8206
+ .datepicker-table.with-week-numbers {
8207
+ width: 350px;
8208
+ }
7819
8209
  .datepicker-day-button {
7820
8210
  line-height: 44px;
7821
8211
  }
@@ -7850,7 +8240,7 @@ label {
7850
8240
  gap: 8px;
7851
8241
  margin-top: 8px;
7852
8242
  padding: 12px;
7853
- background-color: #f5f5f5;
8243
+ background-color: var(--mm-border-color, #f5f5f5);
7854
8244
  border-radius: 4px;
7855
8245
  font-size: 14px;
7856
8246
  }
@@ -7863,106 +8253,1023 @@ label {
7863
8253
  width: 50px;
7864
8254
  text-align: center;
7865
8255
  padding: 4px;
7866
- border: 1px solid #ccc;
8256
+ border: 1px solid var(--mm-border-color, #ccc);
7867
8257
  border-radius: 4px;
7868
8258
  }
7869
8259
  .inline-time-controls .time-controls-12h select {
7870
8260
  padding: 4px;
7871
- border: 1px solid #ccc;
8261
+ border: 1px solid var(--mm-border-color, #ccc);
7872
8262
  border-radius: 4px;
7873
8263
  margin-left: 4px;
7874
8264
  }
7875
8265
  .inline-time-controls input[type=time] {
7876
8266
  font-size: 16px;
7877
8267
  padding: 4px 8px;
7878
- border: 1px solid #ccc;
8268
+ border: 1px solid var(--mm-border-color, #ccc);
7879
8269
  border-radius: 4px;
7880
8270
  min-width: 120px;
7881
8271
  }
7882
8272
  .inline-time-controls .btn-flat {
7883
8273
  padding: 4px 8px;
7884
8274
  font-size: 11px;
7885
- background-color: #e0e0e0;
8275
+ background-color: var(--mm-border-color, #e0e0e0);
7886
8276
  border-radius: 4px;
7887
8277
  min-width: auto;
7888
8278
  }
7889
8279
 
8280
+ /* Timepicker Containers */
7890
8281
  .timepicker-modal {
7891
- position: fixed;
7892
- top: 0;
7893
- left: 0;
7894
- width: 100%;
7895
- height: 100%;
7896
- background-color: rgba(0, 0, 0, 0.5);
8282
+ max-width: 325px;
8283
+ max-height: none;
8284
+ }
8285
+
8286
+ .timepicker-container.modal-content {
7897
8287
  display: flex;
7898
- align-items: center;
7899
- justify-content: center;
7900
- z-index: 1000;
8288
+ flex-direction: column;
8289
+ padding: 0;
7901
8290
  }
7902
- .timepicker-modal .timepicker-content {
7903
- background: white;
7904
- border-radius: 8px;
7905
- padding: 24px;
7906
- min-width: 320px;
7907
- max-width: 400px;
7908
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
8291
+
8292
+ .text-primary {
8293
+ color: rgb(255, 255, 255);
7909
8294
  }
7910
- .timepicker-modal .timepicker-content .modal-header {
7911
- display: flex;
7912
- justify-content: space-between;
7913
- align-items: center;
7914
- margin-bottom: 20px;
8295
+
8296
+ /* Clock Digital Display */
8297
+ .timepicker-digital-display {
8298
+ flex: 1 auto;
8299
+ background-color: #26a69a;
8300
+ padding: 10px;
8301
+ font-weight: 300;
7915
8302
  }
7916
- .timepicker-modal .timepicker-content .modal-header h5 {
7917
- margin: 0;
8303
+
8304
+ .timepicker-text-container {
8305
+ font-size: 4rem;
8306
+ font-weight: bold;
8307
+ text-align: center;
8308
+ color: rgba(255, 255, 255, 0.6);
8309
+ font-weight: 400;
8310
+ position: relative;
8311
+ -webkit-user-select: none;
8312
+ -moz-user-select: none;
8313
+ user-select: none;
7918
8314
  }
7919
- .timepicker-modal .timepicker-content .modal-header .btn-flat {
7920
- padding: 4px 8px;
7921
- font-size: 11px;
7922
- min-width: auto;
8315
+
8316
+ .timepicker-span-hours,
8317
+ .timepicker-span-minutes,
8318
+ .timepicker-span-am-pm div {
8319
+ cursor: pointer;
7923
8320
  }
7924
- .timepicker-modal .timepicker-content .modal-header .btn-flat i.material-icons {
7925
- font-size: 14px;
7926
- margin-right: 4px;
8321
+
8322
+ .timepicker-span-hours {
8323
+ margin-right: 3px;
7927
8324
  }
7928
- .timepicker-modal .timepicker-content .time-display {
7929
- display: flex;
7930
- align-items: center;
7931
- justify-content: center;
7932
- gap: 8px;
7933
- margin-bottom: 24px;
7934
- font-size: 2.5rem;
7935
- font-weight: 300;
8325
+
8326
+ .timepicker-span-minutes {
8327
+ margin-left: 3px;
7936
8328
  }
7937
- .timepicker-modal .timepicker-content .time-display input[type=number] {
7938
- width: 80px;
8329
+
8330
+ .timepicker-display-am-pm {
8331
+ font-size: 1.3rem;
8332
+ position: absolute;
8333
+ right: 1rem;
8334
+ bottom: 1rem;
8335
+ font-weight: 400;
8336
+ }
8337
+
8338
+ /* Analog Clock Display */
8339
+ .timepicker-analog-display {
8340
+ flex: 2.5 auto;
8341
+ }
8342
+
8343
+ .timepicker-plate {
8344
+ background-color: #eee;
8345
+ border-radius: 50%;
8346
+ width: 270px;
8347
+ height: 270px;
8348
+ overflow: visible;
8349
+ position: relative;
8350
+ margin: auto;
8351
+ margin-top: 25px;
8352
+ margin-bottom: 5px;
8353
+ -webkit-user-select: none;
8354
+ -moz-user-select: none;
8355
+ user-select: none;
8356
+ }
8357
+
8358
+ .timepicker-canvas,
8359
+ .timepicker-dial {
8360
+ position: absolute;
8361
+ left: 0;
8362
+ right: 0;
8363
+ top: 0;
8364
+ bottom: 0;
8365
+ }
8366
+
8367
+ .timepicker-minutes {
8368
+ visibility: hidden;
8369
+ }
8370
+
8371
+ .timepicker-tick {
8372
+ border-radius: 50%;
8373
+ color: rgba(0, 0, 0, 0.87);
8374
+ line-height: 40px;
7939
8375
  text-align: center;
7940
- font-size: 2.5rem;
7941
- border: 1px solid #ddd;
7942
- border-radius: 4px;
7943
- padding: 8px;
8376
+ width: 40px;
8377
+ height: 40px;
8378
+ position: absolute;
8379
+ cursor: pointer;
8380
+ font-size: 15px;
7944
8381
  }
7945
- .timepicker-modal .timepicker-content .time-display .ampm-selector {
7946
- display: flex;
7947
- flex-direction: column;
7948
- gap: 4px;
8382
+
8383
+ .timepicker-tick.active,
8384
+ .timepicker-tick:hover {
8385
+ background-color: rgba(38, 166, 154, 0.25);
7949
8386
  }
7950
- .timepicker-modal .timepicker-content .time-display .ampm-selector button {
7951
- min-width: 60px;
7952
- padding: 4px 8px;
8387
+
8388
+ .timepicker-dial {
8389
+ transition: transform 350ms, opacity 350ms;
7953
8390
  }
7954
- .timepicker-modal .timepicker-content .timepicker-actions {
7955
- display: flex;
7956
- justify-content: space-between;
7957
- gap: 8px;
7958
- margin-top: 24px;
8391
+
8392
+ .timepicker-dial-out {
8393
+ opacity: 0;
7959
8394
  }
7960
- .timepicker-modal .timepicker-content .timepicker-actions > div {
7961
- display: flex;
7962
- gap: 8px;
8395
+ .timepicker-dial-out.timepicker-hours {
8396
+ transform: scale(1.1, 1.1);
7963
8397
  }
7964
- .timepicker-modal .timepicker-content .timepicker-actions .btn-flat {
7965
- padding: 0 20px;
8398
+ .timepicker-dial-out.timepicker-minutes {
8399
+ transform: scale(0.8, 0.8);
8400
+ }
8401
+
8402
+ .timepicker-canvas {
8403
+ transition: opacity 175ms;
8404
+ }
8405
+ .timepicker-canvas line {
8406
+ stroke: #26a69a;
8407
+ stroke-width: 4;
8408
+ stroke-linecap: round;
8409
+ }
8410
+
8411
+ .timepicker-canvas-out {
8412
+ opacity: 0.25;
8413
+ }
8414
+
8415
+ .timepicker-canvas-bearing {
8416
+ stroke: none;
8417
+ fill: #26a69a;
8418
+ }
8419
+
8420
+ .timepicker-canvas-bg {
8421
+ stroke: none;
8422
+ fill: #26a69a;
8423
+ }
8424
+
8425
+ /* Footer */
8426
+ .timepicker-footer {
8427
+ margin: 0 auto;
8428
+ padding: 5px 1rem;
8429
+ display: flex;
8430
+ justify-content: space-between;
8431
+ }
8432
+
8433
+ .timepicker-clear {
8434
+ color: #F44336;
8435
+ }
8436
+
8437
+ .timepicker-close {
8438
+ color: #26a69a;
8439
+ }
8440
+
8441
+ .timepicker-clear,
8442
+ .timepicker-close {
8443
+ padding: 0 20px;
8444
+ }
8445
+
8446
+ /* Media Queries */
8447
+ @media only screen and (min-width : 601px) {
8448
+ .timepicker-modal {
8449
+ max-width: 600px;
8450
+ }
8451
+ .timepicker-container.modal-content {
8452
+ flex-direction: row;
8453
+ }
8454
+ .timepicker-text-container {
8455
+ top: 32%;
8456
+ }
8457
+ .timepicker-display-am-pm {
8458
+ position: relative;
8459
+ right: auto;
8460
+ bottom: auto;
8461
+ text-align: center;
8462
+ margin-top: 1.2rem;
8463
+ }
8464
+ }
8465
+ .theme-switcher {
8466
+ display: flex;
8467
+ align-items: center;
8468
+ gap: 0.5rem;
8469
+ }
8470
+ .theme-switcher .theme-switcher-label {
8471
+ font-size: 0.875rem;
8472
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8473
+ font-weight: 500;
8474
+ }
8475
+ .theme-switcher .theme-switcher-buttons {
8476
+ display: flex;
8477
+ background: var(--mm-surface-color, #ffffff);
8478
+ border: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
8479
+ border-radius: 0.5rem;
8480
+ overflow: hidden;
8481
+ }
8482
+ .theme-switcher .theme-switcher-buttons .btn-flat {
8483
+ display: flex;
8484
+ align-items: center;
8485
+ gap: 0.25rem;
8486
+ padding: 0.5rem 0.75rem;
8487
+ margin: 0;
8488
+ border: none;
8489
+ background: transparent;
8490
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8491
+ font-size: 0.875rem;
8492
+ border-radius: 0;
8493
+ min-width: auto;
8494
+ height: auto;
8495
+ line-height: 1;
8496
+ text-transform: none;
8497
+ transition: all 0.2s ease;
8498
+ cursor: pointer;
8499
+ }
8500
+ .theme-switcher .theme-switcher-buttons .btn-flat:hover {
8501
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
8502
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8503
+ }
8504
+ .theme-switcher .theme-switcher-buttons .btn-flat.active {
8505
+ background: var(--mm-primary-color, #26a69a);
8506
+ color: var(--mm-button-text, #ffffff);
8507
+ }
8508
+ .theme-switcher .theme-switcher-buttons .btn-flat.active:hover {
8509
+ background: var(--mm-primary-color-dark, #00695c);
8510
+ }
8511
+ .theme-switcher .theme-switcher-buttons .btn-flat .material-icons {
8512
+ font-size: 1rem;
8513
+ }
8514
+ .theme-switcher .theme-switcher-buttons .btn-flat span {
8515
+ font-size: 0.75rem;
8516
+ font-weight: 500;
8517
+ }
8518
+
8519
+ .theme-toggle {
8520
+ width: 2.5rem;
8521
+ height: 2.5rem;
8522
+ border-radius: 50%;
8523
+ display: flex;
8524
+ align-items: center;
8525
+ justify-content: center;
8526
+ background: var(--mm-surface-color, #ffffff);
8527
+ border: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
8528
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8529
+ cursor: pointer;
8530
+ transition: all 0.2s ease;
8531
+ }
8532
+ .theme-toggle:hover {
8533
+ background: var(--mm-primary-color, #26a69a);
8534
+ color: var(--mm-button-text, #ffffff);
8535
+ border-color: var(--mm-primary-color, #26a69a);
8536
+ }
8537
+ .theme-toggle .material-icons {
8538
+ font-size: 1.25rem;
8539
+ }
8540
+
8541
+ nav .theme-toggle {
8542
+ background: transparent;
8543
+ border: none;
8544
+ border-radius: 0;
8545
+ width: 64px;
8546
+ height: 64px;
8547
+ }
8548
+ nav .theme-toggle:hover {
8549
+ background: rgba(255, 255, 255, 0.1);
8550
+ border: none;
8551
+ }
8552
+ nav .theme-toggle:focus {
8553
+ background: rgba(255, 255, 255, 0.1);
8554
+ }
8555
+
8556
+ @media (max-width: 600px) {
8557
+ .theme-switcher .theme-switcher-buttons .btn-flat {
8558
+ padding: 0.5rem;
8559
+ }
8560
+ .theme-switcher .theme-switcher-buttons .btn-flat span {
8561
+ display: none;
8562
+ }
8563
+ }
8564
+ .file-upload-container {
8565
+ margin-bottom: 1rem;
8566
+ }
8567
+
8568
+ .file-upload-area {
8569
+ border: 2px dashed var(--mm-border-color, rgba(0, 0, 0, 0.12));
8570
+ border-radius: 0.5rem;
8571
+ padding: 2rem;
8572
+ text-align: center;
8573
+ cursor: pointer;
8574
+ transition: all 0.2s ease;
8575
+ background: var(--mm-input-background, #ffffff);
8576
+ }
8577
+ .file-upload-area:hover:not(.disabled) {
8578
+ border-color: var(--mm-primary-color, #26a69a);
8579
+ background: var(--mm-surface-color, #f5f5f5);
8580
+ }
8581
+ .file-upload-area.drag-over {
8582
+ border-color: var(--mm-primary-color, #26a69a);
8583
+ background: var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
8584
+ transform: scale(1.02);
8585
+ }
8586
+ .file-upload-area.disabled {
8587
+ opacity: 0.6;
8588
+ cursor: not-allowed;
8589
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.05));
8590
+ }
8591
+ .file-upload-area.error {
8592
+ border-color: #f44336;
8593
+ }
8594
+ .file-upload-area.has-files {
8595
+ padding: 1rem;
8596
+ }
8597
+
8598
+ .file-upload-content .file-upload-icon {
8599
+ font-size: 3rem;
8600
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8601
+ margin-bottom: 0.5rem;
8602
+ }
8603
+ .file-upload-content .file-upload-label {
8604
+ font-size: 1.1rem;
8605
+ font-weight: 500;
8606
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8607
+ margin: 0.5rem 0;
8608
+ }
8609
+ .file-upload-content .file-upload-helper {
8610
+ font-size: 0.875rem;
8611
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8612
+ margin: 0.25rem 0;
8613
+ }
8614
+ .file-upload-content .file-upload-types {
8615
+ font-size: 0.75rem;
8616
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
8617
+ margin: 0.25rem 0 0 0;
8618
+ font-style: italic;
8619
+ }
8620
+
8621
+ .file-upload-error {
8622
+ color: #f44336;
8623
+ font-size: 0.875rem;
8624
+ margin-top: 0.5rem;
8625
+ text-align: left;
8626
+ }
8627
+
8628
+ .file-upload-list {
8629
+ margin-top: 1rem;
8630
+ }
8631
+ .file-upload-list h6 {
8632
+ margin: 0 0 0.5rem 0;
8633
+ font-size: 0.875rem;
8634
+ font-weight: 600;
8635
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8636
+ }
8637
+
8638
+ .file-upload-item {
8639
+ display: flex;
8640
+ align-items: center;
8641
+ gap: 1rem;
8642
+ padding: 0.75rem;
8643
+ margin-bottom: 0.5rem;
8644
+ background: var(--mm-surface-color, #ffffff);
8645
+ border: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
8646
+ border-radius: 0.5rem;
8647
+ transition: all 0.2s ease;
8648
+ }
8649
+ .file-upload-item:hover {
8650
+ background: var(--mm-card-background, #f5f5f5);
8651
+ }
8652
+ .file-upload-item .file-preview {
8653
+ flex-shrink: 0;
8654
+ width: 3rem;
8655
+ height: 3rem;
8656
+ border-radius: 0.25rem;
8657
+ overflow: hidden;
8658
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.05));
8659
+ }
8660
+ .file-upload-item .file-preview img {
8661
+ width: 100%;
8662
+ height: 100%;
8663
+ -o-object-fit: cover;
8664
+ object-fit: cover;
8665
+ }
8666
+ .file-upload-item .file-info {
8667
+ flex: 1;
8668
+ min-width: 0;
8669
+ }
8670
+ .file-upload-item .file-info .file-name {
8671
+ font-weight: 500;
8672
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8673
+ margin-bottom: 0.25rem;
8674
+ overflow: hidden;
8675
+ text-overflow: ellipsis;
8676
+ white-space: nowrap;
8677
+ }
8678
+ .file-upload-item .file-info .file-details {
8679
+ display: flex;
8680
+ gap: 1rem;
8681
+ font-size: 0.75rem;
8682
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8683
+ }
8684
+ .file-upload-item .file-info .file-progress {
8685
+ margin-top: 0.5rem;
8686
+ }
8687
+ .file-upload-item .file-info .file-progress .progress {
8688
+ height: 0.25rem;
8689
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.12));
8690
+ border-radius: 0.125rem;
8691
+ overflow: hidden;
8692
+ }
8693
+ .file-upload-item .file-info .file-progress .progress .determinate {
8694
+ background-color: var(--mm-primary-color, #26a69a);
8695
+ height: 100%;
8696
+ transition: width 0.3s ease;
8697
+ }
8698
+ .file-upload-item .file-info .file-error {
8699
+ color: #f44336;
8700
+ font-size: 0.75rem;
8701
+ margin-top: 0.25rem;
8702
+ }
8703
+ .file-upload-item .file-remove {
8704
+ flex-shrink: 0;
8705
+ width: 2rem;
8706
+ height: 2rem;
8707
+ border-radius: 50%;
8708
+ display: flex;
8709
+ align-items: center;
8710
+ justify-content: center;
8711
+ background: transparent;
8712
+ border: none;
8713
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8714
+ cursor: pointer;
8715
+ transition: all 0.2s ease;
8716
+ }
8717
+ .file-upload-item .file-remove:hover {
8718
+ background: rgba(244, 67, 54, 0.1);
8719
+ color: #f44336;
8720
+ }
8721
+ .file-upload-item .file-remove .material-icons {
8722
+ font-size: 1.25rem;
8723
+ }
8724
+
8725
+ @media (max-width: 600px) {
8726
+ .file-upload-area {
8727
+ padding: 1.5rem 1rem;
8728
+ }
8729
+ .file-upload-area .file-upload-content .file-upload-icon {
8730
+ font-size: 2.5rem;
8731
+ }
8732
+ .file-upload-area .file-upload-content .file-upload-label {
8733
+ font-size: 1rem;
8734
+ }
8735
+ .file-upload-item {
8736
+ gap: 0.75rem;
8737
+ padding: 0.5rem;
8738
+ }
8739
+ .file-upload-item .file-preview {
8740
+ width: 2.5rem;
8741
+ height: 2.5rem;
8742
+ }
8743
+ .file-upload-item .file-info .file-details {
8744
+ flex-direction: column;
8745
+ gap: 0.25rem;
8746
+ }
8747
+ }
8748
+ [data-theme=dark] .file-upload-area.drag-over {
8749
+ background: var(--mm-primary-color-dark, rgba(38, 166, 154, 0.2));
8750
+ }
8751
+
8752
+ .breadcrumb {
8753
+ padding: 1rem 0;
8754
+ margin-bottom: 1rem;
8755
+ background: transparent;
8756
+ display: flex;
8757
+ align-items: center;
8758
+ min-height: 2rem;
8759
+ }
8760
+ .breadcrumb .breadcrumb-list {
8761
+ display: flex;
8762
+ align-items: center;
8763
+ flex-wrap: wrap;
8764
+ list-style: none;
8765
+ padding: 0;
8766
+ margin: 0;
8767
+ gap: 0.5rem;
8768
+ width: 100%;
8769
+ }
8770
+
8771
+ .breadcrumb-item {
8772
+ display: flex;
8773
+ align-items: center;
8774
+ font-size: 0.875rem;
8775
+ line-height: 1.5;
8776
+ }
8777
+ .breadcrumb-item.active .breadcrumb-text {
8778
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8779
+ font-weight: 500;
8780
+ }
8781
+ .breadcrumb-item.disabled .breadcrumb-text {
8782
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.38));
8783
+ cursor: not-allowed;
8784
+ }
8785
+ .breadcrumb-item.breadcrumb-ellipsis .breadcrumb-text {
8786
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8787
+ font-weight: 400;
8788
+ -webkit-user-select: none;
8789
+ -moz-user-select: none;
8790
+ user-select: none;
8791
+ }
8792
+
8793
+ .breadcrumb-link {
8794
+ display: flex;
8795
+ align-items: center;
8796
+ color: var(--mm-primary-color, #26a69a);
8797
+ text-decoration: none;
8798
+ transition: color 0.2s ease;
8799
+ padding: 0.25rem 0.5rem;
8800
+ border-radius: 4px;
8801
+ }
8802
+ .breadcrumb-link:hover {
8803
+ color: var(--mm-primary-color-dark, #00695c);
8804
+ text-decoration: underline;
8805
+ background: var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
8806
+ }
8807
+ .breadcrumb-link:focus {
8808
+ outline: 2px solid var(--mm-primary-color, #26a69a);
8809
+ outline-offset: 2px;
8810
+ border-radius: 2px;
8811
+ }
8812
+
8813
+ .breadcrumb-text {
8814
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8815
+ font-weight: 400;
8816
+ line-height: inherit;
8817
+ overflow: hidden;
8818
+ text-overflow: ellipsis;
8819
+ white-space: nowrap;
8820
+ max-width: 200px;
8821
+ }
8822
+
8823
+ .breadcrumb-icon {
8824
+ font-size: 1.125rem;
8825
+ width: 18px;
8826
+ height: 18px;
8827
+ margin-right: 0.5rem;
8828
+ flex-shrink: 0;
8829
+ color: inherit;
8830
+ display: flex;
8831
+ align-items: center;
8832
+ justify-content: center;
8833
+ }
8834
+
8835
+ .breadcrumb-separator {
8836
+ display: flex;
8837
+ align-items: center;
8838
+ justify-content: center;
8839
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8840
+ -webkit-user-select: none;
8841
+ -moz-user-select: none;
8842
+ user-select: none;
8843
+ height: 18px;
8844
+ }
8845
+ .breadcrumb-separator .material-icons {
8846
+ font-size: 1.125rem;
8847
+ width: 18px;
8848
+ height: 18px;
8849
+ line-height: 18px;
8850
+ }
8851
+
8852
+ .breadcrumb.compact {
8853
+ padding: 0.25rem 0;
8854
+ margin-bottom: 0.5rem;
8855
+ }
8856
+ .breadcrumb.compact .breadcrumb-item {
8857
+ font-size: 0.75rem;
8858
+ }
8859
+ .breadcrumb.compact .breadcrumb-icon {
8860
+ font-size: 0.875rem;
8861
+ width: 14px;
8862
+ height: 14px;
8863
+ }
8864
+ .breadcrumb.compact .breadcrumb-separator .material-icons {
8865
+ font-size: 0.875rem;
8866
+ width: 14px;
8867
+ height: 14px;
8868
+ }
8869
+
8870
+ .breadcrumb.large {
8871
+ padding: 0.75rem 0;
8872
+ margin-bottom: 1.5rem;
8873
+ }
8874
+ .breadcrumb.large .breadcrumb-item {
8875
+ font-size: 1rem;
8876
+ }
8877
+ .breadcrumb.large .breadcrumb-icon {
8878
+ font-size: 1.125rem;
8879
+ width: 18px;
8880
+ height: 18px;
8881
+ }
8882
+ .breadcrumb.large .breadcrumb-separator .material-icons {
8883
+ font-size: 1.125rem;
8884
+ width: 18px;
8885
+ height: 18px;
8886
+ }
8887
+
8888
+ @media (max-width: 600px) {
8889
+ .breadcrumb .breadcrumb-list {
8890
+ gap: 0.125rem;
8891
+ }
8892
+ .breadcrumb .breadcrumb-item {
8893
+ font-size: 0.75rem;
8894
+ }
8895
+ .breadcrumb .breadcrumb-text {
8896
+ max-width: 120px;
8897
+ }
8898
+ .breadcrumb .breadcrumb-icon {
8899
+ font-size: 0.875rem;
8900
+ width: 14px;
8901
+ height: 14px;
8902
+ margin-right: 0.125rem;
8903
+ }
8904
+ .breadcrumb .breadcrumb-separator .material-icons {
8905
+ font-size: 0.875rem;
8906
+ width: 14px;
8907
+ height: 14px;
8908
+ }
8909
+ }
8910
+ [data-theme=dark] .breadcrumb-link {
8911
+ color: var(--mm-primary-color, #80cbc4);
8912
+ }
8913
+ [data-theme=dark] .breadcrumb-link:hover {
8914
+ color: var(--mm-primary-color-light, #b2dfdb);
8915
+ }
8916
+
8917
+ .breadcrumb.slash-separator .breadcrumb-separator {
8918
+ font-family: monospace;
8919
+ font-size: 0.875rem;
8920
+ }
8921
+ .breadcrumb.slash-separator .breadcrumb-separator .material-icons {
8922
+ display: none;
8923
+ }
8924
+ .breadcrumb.slash-separator .breadcrumb-separator::before {
8925
+ content: "/";
8926
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8927
+ }
8928
+
8929
+ .breadcrumb.dot-separator .breadcrumb-separator .material-icons {
8930
+ display: none;
8931
+ }
8932
+ .breadcrumb.dot-separator .breadcrumb-separator::before {
8933
+ content: "•";
8934
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
8935
+ font-size: 1rem;
8936
+ }
8937
+
8938
+ .breadcrumb:not([aria-label]) {
8939
+ aria-label: "Breadcrumb navigation";
8940
+ }
8941
+
8942
+ .breadcrumb-link[aria-current=page] {
8943
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
8944
+ text-decoration: none;
8945
+ font-weight: 500;
8946
+ }
8947
+ .breadcrumb-link[aria-current=page]:hover {
8948
+ text-decoration: none;
8949
+ }
8950
+
8951
+ .wizard {
8952
+ display: flex;
8953
+ flex-direction: column;
8954
+ width: 100%;
8955
+ }
8956
+ .wizard.horizontal .wizard-steps {
8957
+ display: flex;
8958
+ align-items: flex-start;
8959
+ justify-content: space-between;
8960
+ position: relative;
8961
+ }
8962
+ .wizard.horizontal .wizard-step {
8963
+ display: flex;
8964
+ flex-direction: column;
8965
+ align-items: center;
8966
+ text-align: center;
8967
+ flex: 1;
8968
+ position: relative;
8969
+ }
8970
+ .wizard.horizontal .wizard-step:not(:last-child) {
8971
+ margin-right: 2rem;
8972
+ }
8973
+ .wizard.horizontal .wizard-step-content {
8974
+ margin-top: 0.75rem;
8975
+ max-width: 200px;
8976
+ }
8977
+ .wizard.horizontal .wizard-step-connector {
8978
+ position: absolute;
8979
+ top: 20px;
8980
+ left: calc(50% + 20px);
8981
+ width: calc(100% - 40px);
8982
+ height: 2px;
8983
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
8984
+ z-index: 1;
8985
+ }
8986
+ .wizard.vertical .wizard-steps {
8987
+ display: flex;
8988
+ flex-direction: column;
8989
+ }
8990
+ .wizard.vertical .wizard-step {
8991
+ display: flex;
8992
+ align-items: flex-start;
8993
+ text-align: left;
8994
+ position: relative;
8995
+ padding-bottom: 2rem;
8996
+ }
8997
+ .wizard.vertical .wizard-step:last-child {
8998
+ padding-bottom: 0;
8999
+ }
9000
+ .wizard.vertical .wizard-step-content {
9001
+ margin-left: 1rem;
9002
+ flex: 1;
9003
+ }
9004
+ .wizard.vertical .wizard-step-connector {
9005
+ position: absolute;
9006
+ top: 40px;
9007
+ left: 19px;
9008
+ bottom: -2rem;
9009
+ width: 2px;
9010
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
9011
+ z-index: 1;
9012
+ }
9013
+
9014
+ .wizard-header {
9015
+ margin-bottom: 2rem;
9016
+ }
9017
+
9018
+ .wizard-step {
9019
+ cursor: pointer;
9020
+ transition: opacity 0.2s ease;
9021
+ }
9022
+ .wizard-step.disabled {
9023
+ opacity: 0.6;
9024
+ cursor: not-allowed;
9025
+ }
9026
+ .wizard-step:hover:not(.disabled) .wizard-step-indicator {
9027
+ box-shadow: 0 0 0 8px var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
9028
+ }
9029
+
9030
+ .wizard-step-indicator {
9031
+ width: 40px;
9032
+ height: 40px;
9033
+ border-radius: 50%;
9034
+ display: flex;
9035
+ align-items: center;
9036
+ justify-content: center;
9037
+ background: var(--mm-border-color, rgba(0, 0, 0, 0.12));
9038
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
9039
+ font-weight: 500;
9040
+ font-size: 0.875rem;
9041
+ transition: all 0.2s ease;
9042
+ position: relative;
9043
+ z-index: 2;
9044
+ }
9045
+ .wizard-step-indicator .material-icons {
9046
+ font-size: 1.25rem;
9047
+ }
9048
+ .wizard-step-indicator .wizard-step-number {
9049
+ font-weight: 600;
9050
+ }
9051
+
9052
+ .wizard-step.active .wizard-step-indicator {
9053
+ background: var(--mm-primary-color, #26a69a);
9054
+ color: var(--mm-button-text, #ffffff);
9055
+ }
9056
+ .wizard-step.active .wizard-step-title {
9057
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
9058
+ font-weight: 600;
9059
+ }
9060
+
9061
+ .wizard-step.completed .wizard-step-indicator {
9062
+ background: var(--mm-primary-color, #26a69a);
9063
+ color: var(--mm-button-text, #ffffff);
9064
+ }
9065
+ .wizard-step.completed .wizard-step-connector {
9066
+ background: var(--mm-primary-color, #26a69a);
9067
+ }
9068
+
9069
+ .wizard-step.error .wizard-step-indicator {
9070
+ background: #f44336;
9071
+ color: #ffffff;
9072
+ }
9073
+ .wizard-step.error .wizard-step-title {
9074
+ color: #f44336;
9075
+ }
9076
+
9077
+ .wizard-step-title {
9078
+ font-size: 0.875rem;
9079
+ font-weight: 500;
9080
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
9081
+ margin-bottom: 0.25rem;
9082
+ line-height: 1.3;
9083
+ }
9084
+
9085
+ .wizard-step-subtitle {
9086
+ font-size: 0.75rem;
9087
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
9088
+ line-height: 1.3;
9089
+ margin-bottom: 0.25rem;
9090
+ }
9091
+
9092
+ .wizard-step-optional {
9093
+ font-size: 0.625rem;
9094
+ color: var(--mm-text-hint, rgba(0, 0, 0, 0.38));
9095
+ font-style: italic;
9096
+ text-transform: uppercase;
9097
+ letter-spacing: 0.5px;
9098
+ }
9099
+
9100
+ .wizard-body {
9101
+ flex: 1;
9102
+ margin-bottom: 2rem;
9103
+ }
9104
+ .wizard-body .input-field {
9105
+ margin-bottom: 1.5rem;
9106
+ }
9107
+ .wizard-body .input-field input, .wizard-body .input-field textarea {
9108
+ width: 100%;
9109
+ box-sizing: border-box;
9110
+ }
9111
+ .wizard-body .input-field label {
9112
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
9113
+ transition: all 0.3s ease;
9114
+ }
9115
+ .wizard-body .input-field label.active {
9116
+ color: var(--mm-primary-color, #26a69a);
9117
+ transform: translateY(-14px) scale(0.8);
9118
+ }
9119
+ .wizard-body .row {
9120
+ margin-bottom: 0;
9121
+ }
9122
+ .wizard-body .row .col {
9123
+ padding: 0 0.75rem;
9124
+ }
9125
+ .wizard-body .row .col:first-child {
9126
+ padding-left: 0;
9127
+ }
9128
+ .wizard-body .row .col:last-child {
9129
+ padding-right: 0;
9130
+ }
9131
+
9132
+ .wizard-step-panel {
9133
+ animation: wizard-slide-in 0.3s ease;
9134
+ }
9135
+
9136
+ @keyframes wizard-slide-in {
9137
+ from {
9138
+ opacity: 0;
9139
+ transform: translateX(20px);
9140
+ }
9141
+ to {
9142
+ opacity: 1;
9143
+ transform: translateX(0);
9144
+ }
9145
+ }
9146
+ .wizard-footer {
9147
+ border-top: 1px solid var(--mm-border-color, rgba(0, 0, 0, 0.12));
9148
+ padding-top: 1.5rem;
9149
+ }
9150
+
9151
+ .wizard-navigation {
9152
+ display: flex;
9153
+ justify-content: space-between;
9154
+ align-items: center;
9155
+ gap: 1rem;
9156
+ }
9157
+ .wizard-navigation .wizard-btn-previous,
9158
+ .wizard-navigation .wizard-btn-skip {
9159
+ margin-right: auto;
9160
+ }
9161
+ .wizard-navigation .wizard-btn-next,
9162
+ .wizard-navigation .wizard-btn-complete {
9163
+ margin-left: auto;
9164
+ }
9165
+ .wizard-navigation .wizard-btn-next .material-icons,
9166
+ .wizard-navigation .wizard-btn-complete .material-icons {
9167
+ margin-right: 0.5rem;
9168
+ animation: wizard-loading 1s infinite linear;
9169
+ }
9170
+
9171
+ @keyframes wizard-loading {
9172
+ from {
9173
+ transform: rotate(0deg);
9174
+ }
9175
+ to {
9176
+ transform: rotate(360deg);
9177
+ }
9178
+ }
9179
+ .wizard.compact .wizard-step-indicator {
9180
+ width: 32px;
9181
+ height: 32px;
9182
+ font-size: 0.75rem;
9183
+ }
9184
+ .wizard.compact .wizard-step-indicator .material-icons {
9185
+ font-size: 1rem;
9186
+ }
9187
+ .wizard.compact .wizard-step-title {
9188
+ font-size: 0.75rem;
9189
+ }
9190
+ .wizard.compact .wizard-step-subtitle {
9191
+ font-size: 0.625rem;
9192
+ }
9193
+ .wizard.compact .wizard-header {
9194
+ margin-bottom: 1.5rem;
9195
+ }
9196
+ .wizard.compact.horizontal .wizard-step-connector {
9197
+ top: 16px;
9198
+ }
9199
+ .wizard.compact.vertical .wizard-step-connector {
9200
+ top: 32px;
9201
+ left: 15px;
9202
+ }
9203
+
9204
+ .wizard.large .wizard-step-indicator {
9205
+ width: 48px;
9206
+ height: 48px;
9207
+ font-size: 1rem;
9208
+ }
9209
+ .wizard.large .wizard-step-indicator .material-icons {
9210
+ font-size: 1.5rem;
9211
+ }
9212
+ .wizard.large .wizard-step-title {
9213
+ font-size: 1rem;
9214
+ }
9215
+ .wizard.large .wizard-step-subtitle {
9216
+ font-size: 0.875rem;
9217
+ }
9218
+ .wizard.large .wizard-header {
9219
+ margin-bottom: 2.5rem;
9220
+ }
9221
+ .wizard.large.horizontal .wizard-step-connector {
9222
+ top: 24px;
9223
+ }
9224
+ .wizard.large.vertical .wizard-step-connector {
9225
+ top: 48px;
9226
+ left: 23px;
9227
+ }
9228
+
9229
+ @media (max-width: 768px) {
9230
+ .wizard.horizontal .wizard-steps {
9231
+ flex-direction: column;
9232
+ align-items: stretch;
9233
+ }
9234
+ .wizard.horizontal .wizard-step {
9235
+ flex-direction: row;
9236
+ align-items: center;
9237
+ text-align: left;
9238
+ margin-right: 0;
9239
+ margin-bottom: 1rem;
9240
+ }
9241
+ .wizard.horizontal .wizard-step:last-child {
9242
+ margin-bottom: 0;
9243
+ }
9244
+ .wizard.horizontal .wizard-step-content {
9245
+ margin-top: 0;
9246
+ margin-left: 1rem;
9247
+ max-width: none;
9248
+ }
9249
+ .wizard.horizontal .wizard-step-connector {
9250
+ display: none;
9251
+ }
9252
+ }
9253
+ [data-theme=dark] .wizard-step.error .wizard-step-title {
9254
+ color: #f48fb1;
9255
+ }
9256
+ [data-theme=dark] .wizard-step.error .wizard-step-indicator {
9257
+ background: #f48fb1;
9258
+ color: #000000;
9259
+ }
9260
+ [data-theme=dark] .wizard-footer {
9261
+ border-color: var(--mm-border-color, rgba(255, 255, 255, 0.12));
9262
+ }
9263
+
9264
+ .wizard-step:focus {
9265
+ outline: 2px solid var(--mm-primary-color, #26a69a);
9266
+ outline-offset: 2px;
9267
+ border-radius: 4px;
9268
+ }
9269
+ .wizard-step[aria-disabled=true] {
9270
+ pointer-events: none;
7966
9271
  }
7967
9272
 
7968
- /* Legacy styles kept for applications using old Materialize TimePicker */
9273
+ .wizard-step-indicator[aria-current=step] {
9274
+ box-shadow: 0 0 0 4px var(--mm-primary-color-light, rgba(38, 166, 154, 0.2));
9275
+ }