mithril-materialized 2.0.0-beta.2 → 2.0.0-beta.4

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 (67) 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 +1483 -167
  18. package/dist/index.d.ts +12 -1
  19. package/dist/index.esm.js +3694 -1717
  20. package/dist/index.js +3714 -1716
  21. package/dist/index.min.css +8 -0
  22. package/dist/index.umd.js +3714 -1716
  23. package/dist/input-options.d.ts +1 -1
  24. package/dist/input.d.ts +9 -9
  25. package/dist/label.d.ts +4 -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 -4
  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 +16 -8
  46. package/sass/components/_breadcrumb.scss +248 -0
  47. package/sass/components/_buttons.scss +3 -3
  48. package/sass/components/_chips.scss +8 -8
  49. package/sass/components/_collapsible.scss +8 -8
  50. package/sass/components/_datepicker.scss +45 -14
  51. package/sass/components/_dropdown.scss +5 -5
  52. package/sass/components/_file-upload.scss +228 -0
  53. package/sass/components/_global.scss +7 -5
  54. package/sass/components/_modal.scss +5 -2
  55. package/sass/components/_navbar.scss +13 -5
  56. package/sass/components/_sidenav.scss +164 -7
  57. package/sass/components/_tabs.scss +5 -4
  58. package/sass/components/_theme-switcher.scss +120 -0
  59. package/sass/components/_theme-variables.scss +205 -0
  60. package/sass/components/_timepicker.scss +179 -87
  61. package/sass/components/_wizard.scss +416 -0
  62. package/sass/components/forms/_input-fields.scss +34 -12
  63. package/sass/components/forms/_radio-buttons.scss +10 -10
  64. package/sass/components/forms/_select.scss +8 -8
  65. package/sass/components/forms/_switches.scss +6 -6
  66. package/sass/materialize.scss +7 -0
  67. package/dist/pickers.d.ts +0 -130
@@ -0,0 +1,58 @@
1
+ import { FactoryComponent, Attributes, Vnode } from 'mithril';
2
+ export interface WizardStep {
3
+ /** Unique identifier for the step */
4
+ id?: string;
5
+ /** Title of the step */
6
+ title: string;
7
+ /** Optional subtitle or description */
8
+ subtitle?: string;
9
+ /** Icon for the step (material icons) */
10
+ icon?: string;
11
+ /** Whether this step is optional */
12
+ optional?: boolean;
13
+ /** Whether this step is disabled */
14
+ disabled?: boolean;
15
+ /** Custom validation function */
16
+ validate?: () => boolean | Promise<boolean>;
17
+ /** Content to render for this step - function that returns vnode(s) */
18
+ vnode: () => Vnode<any, any> | Vnode<any, any>[];
19
+ }
20
+ export interface WizardAttrs extends Attributes {
21
+ /** Array of wizard steps */
22
+ steps: WizardStep[];
23
+ /** Current active step index */
24
+ currentStep?: number;
25
+ /** Callback when step changes */
26
+ onStepChange?: (stepIndex: number, stepId: string) => void;
27
+ /** Callback when wizard is completed */
28
+ onComplete?: () => void;
29
+ /** Whether to show step numbers */
30
+ showStepNumbers?: boolean;
31
+ /** Whether navigation is linear (cannot skip steps) */
32
+ linear?: boolean;
33
+ /** Custom class for the wizard container */
34
+ className?: string;
35
+ /** Whether to show navigation buttons */
36
+ showNavigation?: boolean;
37
+ /** Custom labels for navigation buttons */
38
+ labels?: {
39
+ next?: string;
40
+ previous?: string;
41
+ complete?: string;
42
+ skip?: string;
43
+ optional?: string;
44
+ };
45
+ /** Orientation of the stepper */
46
+ orientation?: 'horizontal' | 'vertical';
47
+ /** Whether to allow clicking on step headers to navigate */
48
+ allowHeaderNavigation?: boolean;
49
+ }
50
+ /**
51
+ * Wizard/Stepper Component
52
+ * A multi-step interface for guiding users through a process
53
+ */
54
+ export declare const Wizard: FactoryComponent<WizardAttrs>;
55
+ /**
56
+ * Simple linear stepper for forms
57
+ */
58
+ export declare const Stepper: FactoryComponent<Pick<WizardAttrs, 'steps' | 'currentStep' | 'onStepChange' | 'className'>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mithril-materialized",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.4",
4
4
  "description": "A materialize library for mithril.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -11,15 +11,23 @@
11
11
  "exports": {
12
12
  ".": {
13
13
  "types": "./dist/index.d.ts",
14
- "import": "./dist/index.modern.js",
14
+ "import": "./dist/index.esm.js",
15
15
  "require": "./dist/index.js",
16
- "default": "./dist/index.modern.js"
16
+ "default": "./dist/index.esm.js"
17
17
  },
18
- "./modern": "./dist/index.modern.js",
18
+ "./modern": "./dist/index.esm.js",
19
19
  "./esm": "./dist/index.esm.js",
20
20
  "./umd": "./dist/index.umd.js",
21
21
  "./index.css": "./dist/index.css",
22
- "./sass/*": "./sass/*"
22
+ "./index.min.css": "./dist/index.min.css",
23
+ "./core.css": "./dist/core.css",
24
+ "./components.css": "./dist/components.css",
25
+ "./forms.css": "./dist/forms.css",
26
+ "./pickers.css": "./dist/pickers.css",
27
+ "./advanced.css": "./dist/advanced.css",
28
+ "./utilities.css": "./dist/utilities.css",
29
+ "./sass/*": "./sass/*",
30
+ "./src/*": "./src/*"
23
31
  },
24
32
  "sideEffects": false,
25
33
  "files": [
@@ -27,7 +35,9 @@
27
35
  "sass"
28
36
  ],
29
37
  "scripts": {
30
- "build": "rollup -c rollup.config.mjs",
38
+ "build": "rollup -c rollup.config.mjs && npm run build:css-min",
39
+ "build:css-min": "sass --no-source-map --style=compressed --no-charset ./src/index.scss ./dist/index.min.css && npm run build:css-modules",
40
+ "build:css-modules": "sass --no-source-map ./src/core.scss ./dist/core.css && sass --no-source-map ./src/components.scss ./dist/components.css && sass --no-source-map ./src/forms.scss ./dist/forms.css && sass --no-source-map ./src/pickers.scss ./dist/pickers.css && sass --no-source-map ./src/advanced.scss ./dist/advanced.css && sass --no-source-map ./src/utilities.scss ./dist/utilities.css",
31
41
  "dev": "rollup -c rollup.config.mjs -w",
32
42
  "start": "npm run dev",
33
43
  "clean": "rimraf dist node_modules/.cache",
@@ -68,7 +78,6 @@
68
78
  "@testing-library/jest-dom": "^6.6.4",
69
79
  "@testing-library/user-event": "^14.6.1",
70
80
  "@types/jest": "^30.0.0",
71
- "@types/materialize-css": "^1.0.14",
72
81
  "@types/mithril": "^2.2.7",
73
82
  "autoprefixer": "^10.4.21",
74
83
  "express": "^5.1.0",
@@ -76,7 +85,6 @@
76
85
  "jest": "^30.0.5",
77
86
  "jest-environment-jsdom": "^30.0.5",
78
87
  "js-yaml": "^4.1.0",
79
- "materialize-css": "^1.0.0",
80
88
  "rimraf": "^6.0.1",
81
89
  "rollup": "^4.46.2",
82
90
  "rollup-plugin-postcss": "^4.0.2",
@@ -0,0 +1,248 @@
1
+ // Breadcrumb Component Styles
2
+
3
+ .breadcrumb {
4
+ padding: 1rem 0;
5
+ margin-bottom: 1rem;
6
+ background: transparent;
7
+ display: flex;
8
+ align-items: center;
9
+ min-height: 2rem;
10
+
11
+ .breadcrumb-list {
12
+ display: flex;
13
+ align-items: center;
14
+ flex-wrap: wrap;
15
+ list-style: none;
16
+ padding: 0;
17
+ margin: 0;
18
+ gap: 0.5rem;
19
+ width: 100%;
20
+ }
21
+ }
22
+
23
+ .breadcrumb-item {
24
+ display: flex;
25
+ align-items: center;
26
+ font-size: 0.875rem;
27
+ line-height: 1.5;
28
+
29
+ &.active {
30
+ .breadcrumb-text {
31
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
32
+ font-weight: 500;
33
+ }
34
+ }
35
+
36
+ &.disabled {
37
+ .breadcrumb-text {
38
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.38));
39
+ cursor: not-allowed;
40
+ }
41
+ }
42
+
43
+ &.breadcrumb-ellipsis {
44
+ .breadcrumb-text {
45
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
46
+ font-weight: 400;
47
+ user-select: none;
48
+ }
49
+ }
50
+ }
51
+
52
+ .breadcrumb-link {
53
+ display: flex;
54
+ align-items: center;
55
+ color: var(--mm-primary-color, #26a69a);
56
+ text-decoration: none;
57
+ transition: color 0.2s ease;
58
+ padding: 0.25rem 0.5rem;
59
+ border-radius: 4px;
60
+
61
+ &:hover {
62
+ color: var(--mm-primary-color-dark, #00695c);
63
+ text-decoration: underline;
64
+ background: var(--mm-primary-color-light, rgba(38, 166, 154, 0.1));
65
+ }
66
+
67
+ &:focus {
68
+ outline: 2px solid var(--mm-primary-color, #26a69a);
69
+ outline-offset: 2px;
70
+ border-radius: 2px;
71
+ }
72
+ }
73
+
74
+ .breadcrumb-text {
75
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
76
+ font-weight: 400;
77
+ line-height: inherit;
78
+ overflow: hidden;
79
+ text-overflow: ellipsis;
80
+ white-space: nowrap;
81
+ max-width: 200px;
82
+ }
83
+
84
+ .breadcrumb-icon {
85
+ font-size: 1.125rem;
86
+ width: 18px;
87
+ height: 18px;
88
+ margin-right: 0.5rem;
89
+ flex-shrink: 0;
90
+ color: inherit;
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: center;
94
+ }
95
+
96
+ .breadcrumb-separator {
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
101
+ user-select: none;
102
+ height: 18px;
103
+
104
+ .material-icons {
105
+ font-size: 1.125rem;
106
+ width: 18px;
107
+ height: 18px;
108
+ line-height: 18px;
109
+ }
110
+ }
111
+
112
+ // Variants
113
+ .breadcrumb.compact {
114
+ padding: 0.25rem 0;
115
+ margin-bottom: 0.5rem;
116
+
117
+ .breadcrumb-item {
118
+ font-size: 0.75rem;
119
+ }
120
+
121
+ .breadcrumb-icon {
122
+ font-size: 0.875rem;
123
+ width: 14px;
124
+ height: 14px;
125
+ }
126
+
127
+ .breadcrumb-separator .material-icons {
128
+ font-size: 0.875rem;
129
+ width: 14px;
130
+ height: 14px;
131
+ }
132
+ }
133
+
134
+ .breadcrumb.large {
135
+ padding: 0.75rem 0;
136
+ margin-bottom: 1.5rem;
137
+
138
+ .breadcrumb-item {
139
+ font-size: 1rem;
140
+ }
141
+
142
+ .breadcrumb-icon {
143
+ font-size: 1.125rem;
144
+ width: 18px;
145
+ height: 18px;
146
+ }
147
+
148
+ .breadcrumb-separator .material-icons {
149
+ font-size: 1.125rem;
150
+ width: 18px;
151
+ height: 18px;
152
+ }
153
+ }
154
+
155
+ // Responsive behavior
156
+ @media (max-width: 600px) {
157
+ .breadcrumb {
158
+ .breadcrumb-list {
159
+ gap: 0.125rem;
160
+ }
161
+
162
+ .breadcrumb-item {
163
+ font-size: 0.75rem;
164
+ }
165
+
166
+ .breadcrumb-text {
167
+ max-width: 120px;
168
+ }
169
+
170
+ .breadcrumb-icon {
171
+ font-size: 0.875rem;
172
+ width: 14px;
173
+ height: 14px;
174
+ margin-right: 0.125rem;
175
+ }
176
+
177
+ .breadcrumb-separator .material-icons {
178
+ font-size: 0.875rem;
179
+ width: 14px;
180
+ height: 14px;
181
+ }
182
+ }
183
+ }
184
+
185
+ // Dark theme adjustments
186
+ [data-theme="dark"] {
187
+ .breadcrumb-link {
188
+ color: var(--mm-primary-color, #80cbc4);
189
+
190
+ &:hover {
191
+ color: var(--mm-primary-color-light, #b2dfdb);
192
+ }
193
+ }
194
+ }
195
+
196
+ // Alternative separator styles
197
+ .breadcrumb.slash-separator {
198
+ .breadcrumb-separator {
199
+ font-family: monospace;
200
+ font-size: 0.875rem;
201
+
202
+ .material-icons {
203
+ display: none;
204
+ }
205
+
206
+ &::before {
207
+ content: '/';
208
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
209
+ }
210
+ }
211
+ }
212
+
213
+ .breadcrumb.dot-separator {
214
+ .breadcrumb-separator {
215
+ .material-icons {
216
+ display: none;
217
+ }
218
+
219
+ &::before {
220
+ content: '•';
221
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.6));
222
+ font-size: 1rem;
223
+ }
224
+ }
225
+ }
226
+
227
+ // Accessibility improvements
228
+ .breadcrumb {
229
+ nav[aria-label]:not([aria-label=""]) & {
230
+ // Breadcrumb is already in a nav with aria-label
231
+ }
232
+
233
+ &:not([aria-label]) {
234
+ aria-label: "Breadcrumb navigation";
235
+ }
236
+ }
237
+
238
+ .breadcrumb-link {
239
+ &[aria-current="page"] {
240
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
241
+ text-decoration: none;
242
+ font-weight: 500;
243
+
244
+ &:hover {
245
+ text-decoration: none;
246
+ }
247
+ }
248
+ }
@@ -279,7 +279,7 @@ button.btn-floating {
279
279
  .btn-flat {
280
280
  box-shadow: none;
281
281
  background-color: transparent;
282
- color: variables.$button-flat-color;
282
+ color: var(--mm-button-flat-text, variables.$button-flat-color);
283
283
  cursor: pointer;
284
284
  transition: background-color .2s;
285
285
  &:focus,
@@ -287,12 +287,12 @@ button.btn-floating {
287
287
  box-shadow: none;
288
288
  }
289
289
  &:focus {
290
- background-color: rgba(0, 0, 0, .1);
290
+ background-color: var(--mm-border-color, rgba(0, 0, 0, .1));
291
291
  }
292
292
  &.disabled,
293
293
  &.btn-flat[disabled] {
294
294
  background-color: transparent !important;
295
- color: variables.$button-flat-disabled-color !important;
295
+ color: var(--mm-text-disabled, variables.$button-flat-disabled-color) !important;
296
296
  cursor: default;
297
297
  }
298
298
  }
@@ -3,19 +3,19 @@
3
3
  .chip {
4
4
  &:focus {
5
5
  outline: none;
6
- background-color: variables.$chip-selected-color;
7
- color: #fff;
6
+ background-color: var(--mm-primary-color, variables.$chip-selected-color);
7
+ color: var(--mm-button-text, #fff);
8
8
  }
9
9
 
10
10
  display: inline-block;
11
11
  height: 32px;
12
12
  font-size: 13px;
13
13
  font-weight: 500;
14
- color: rgba(0,0,0,.6);
14
+ color: var(--mm-text-secondary, rgba(0,0,0,.6));
15
15
  line-height: 32px;
16
16
  padding: 0 12px;
17
17
  border-radius: 16px;
18
- background-color: variables.$chip-bg-color;
18
+ background-color: var(--mm-chip-bg, variables.$chip-bg-color);
19
19
  margin-bottom: variables.$chip-margin;
20
20
  margin-right: variables.$chip-margin;
21
21
 
@@ -38,7 +38,7 @@
38
38
 
39
39
  .chips {
40
40
  border: none;
41
- border-bottom: 1px solid variables.$chip-border-color;
41
+ border-bottom: 1px solid var(--mm-input-border, variables.$chip-border-color);
42
42
  box-shadow: none;
43
43
  margin: variables.$input-margin;
44
44
  min-height: 45px;
@@ -46,8 +46,8 @@
46
46
  transition: all .3s;
47
47
 
48
48
  &.focus {
49
- border-bottom: 1px solid variables.$chip-selected-color;
50
- box-shadow: 0 1px 0 0 variables.$chip-selected-color;
49
+ border-bottom: 1px solid var(--mm-primary-color, variables.$chip-selected-color);
50
+ box-shadow: 0 1px 0 0 var(--mm-primary-color, variables.$chip-selected-color);
51
51
  }
52
52
 
53
53
  &:hover {
@@ -57,7 +57,7 @@
57
57
  .input {
58
58
  background: none;
59
59
  border: 0;
60
- color: rgba(0,0,0,.6);
60
+ color: var(--mm-text-primary, rgba(0,0,0,.6));
61
61
  display: inline-block;
62
62
  font-size: variables.$input-font-size;
63
63
  height: variables.$input-height;
@@ -2,9 +2,9 @@
2
2
  @use "global";
3
3
 
4
4
  .collapsible {
5
- border-top: 1px solid variables.$collapsible-border-color;
6
- border-right: 1px solid variables.$collapsible-border-color;
7
- border-left: 1px solid variables.$collapsible-border-color;
5
+ border-top: 1px solid var(--mm-border-color, variables.$collapsible-border-color);
6
+ border-right: 1px solid var(--mm-border-color, variables.$collapsible-border-color);
7
+ border-left: 1px solid var(--mm-border-color, variables.$collapsible-border-color);
8
8
  margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0;
9
9
  @extend .z-depth-1 !optional;
10
10
  }
@@ -19,8 +19,7 @@
19
19
  -webkit-tap-highlight-color: transparent;
20
20
  line-height: 1.5;
21
21
  padding: 1rem;
22
- background-color: variables.$collapsible-header-color;
23
- border-bottom: 1px solid variables.$collapsible-border-color;
22
+ border-bottom: 1px solid var(--mm-border-color, variables.$collapsible-border-color);
24
23
 
25
24
  i {
26
25
  width: 2rem;
@@ -31,12 +30,12 @@
31
30
  }
32
31
  }
33
32
  .keyboard-focused .collapsible-header:focus {
34
- background-color: #eee;
33
+ background-color: var(--mm-border-color, rgba(0, 0, 0, 0.05));
35
34
  }
36
35
 
37
36
  .collapsible-body {
38
37
  display: none;
39
- border-bottom: 1px solid variables.$collapsible-border-color;
38
+ border-bottom: 1px solid var(--mm-border-color, variables.$collapsible-border-color);
40
39
  box-sizing: border-box;
41
40
  padding: 2rem;
42
41
  }
@@ -65,7 +64,8 @@
65
64
 
66
65
  .collapsible-body {
67
66
  border: 0;
68
- background-color: variables.$collapsible-header-color;
67
+ background-color: var(--mm-surface-color, variables.$collapsible-header-color);
68
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
69
69
 
70
70
  li a {
71
71
  padding: 0 (7.5px + variables.$sidenav-padding)
@@ -11,6 +11,8 @@
11
11
  flex-direction: column;
12
12
  padding: 0;
13
13
  overflow: visible;
14
+ background-color: var(--mm-surface-color, #ffffff);
15
+ color: var(--mm-text-primary, rgba(0, 0, 0, 0.87));
14
16
  }
15
17
 
16
18
  .datepicker-controls {
@@ -47,7 +49,7 @@
47
49
  cursor: pointer;
48
50
  width: 16px;
49
51
  height: 16px;
50
- fill: rgba(0, 0, 0, 0.54);
52
+ fill: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
51
53
  }
52
54
 
53
55
  .dropdown-content {
@@ -55,10 +57,10 @@
55
57
  top: 100%;
56
58
  left: 0;
57
59
  right: 0;
58
- background-color: white;
59
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
60
+ background-color: var(--mm-surface-color, white);
61
+ box-shadow: 0 4px 20px var(--mm-shadow-color, rgba(0, 0, 0, 0.3));
60
62
  z-index: 20000;
61
- border: 1px solid #ddd;
63
+ border: 1px solid var(--mm-border-color, #ddd);
62
64
  border-radius: 2px;
63
65
  display: block;
64
66
  opacity: 1;
@@ -70,11 +72,11 @@
70
72
  transition: background-color 0.2s;
71
73
 
72
74
  &:hover {
73
- background-color: #f5f5f5;
75
+ background-color: var(--mm-border-color, #f5f5f5);
74
76
  }
75
77
 
76
78
  &.selected {
77
- background-color: #f5f5f5;
79
+ background-color: var(--mm-border-color, #f5f5f5);
78
80
  }
79
81
  }
80
82
  }
@@ -146,6 +148,10 @@
146
148
  width: 280px;
147
149
  font-size: 1rem;
148
150
  margin: 0 auto;
151
+
152
+ &.with-week-numbers {
153
+ width: 310px;
154
+ }
149
155
 
150
156
  thead {
151
157
  border-bottom: none;
@@ -154,6 +160,14 @@
154
160
  th {
155
161
  padding: 10px 5px;
156
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
+ }
157
171
  }
158
172
 
159
173
  tr {
@@ -162,34 +176,47 @@
162
176
 
163
177
  abbr {
164
178
  text-decoration: none;
165
- color: rgba(0, 0, 0, 0.54);
179
+ color: var(--mm-text-secondary, rgba(0, 0, 0, 0.54));
166
180
  }
167
181
 
168
182
  td {
169
183
  &.is-today {
170
- color: #26a69a;
184
+ color: var(--mm-primary-color, #26a69a);
171
185
  }
172
186
 
173
187
  &.is-selected {
174
- background-color: #26a69a;
175
- color: #fff;
188
+ background-color: var(--mm-primary-color, #26a69a);
189
+ color: var(--mm-button-text, #fff);
176
190
  }
177
191
 
178
192
  &.is-outside-current-month,
179
193
  &.is-disabled {
180
- color: rgba(0, 0, 0, 0.3);
194
+ color: var(--mm-text-disabled, rgba(0, 0, 0, 0.3));
181
195
  pointer-events: none;
182
196
  }
183
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
+
184
211
  border-radius: 50%;
185
212
  padding: 0;
186
213
  }
187
214
  }
188
215
 
189
216
  .datepicker-day-button {
190
- &:focus {
191
- background-color: #eee;
192
- }
217
+ // &:focus {
218
+ // background-color: #eee;
219
+ // }
193
220
 
194
221
  background-color: transparent;
195
222
  border: none;
@@ -244,6 +271,10 @@
244
271
  .datepicker-footer {
245
272
  width: 320px;
246
273
  }
274
+
275
+ .datepicker-table.with-week-numbers {
276
+ width: 350px;
277
+ }
247
278
 
248
279
  .datepicker-day-button {
249
280
  line-height: 44px;
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
  @extend .z-depth-1 !optional;
13
- background-color: variables.$dropdown-bg-color;
13
+ background-color: var(--mm-surface-color, variables.$dropdown-bg-color);
14
14
  margin: 0;
15
15
  display: none;
16
16
  min-width: 100px;
@@ -25,7 +25,7 @@
25
25
 
26
26
  li {
27
27
  &:hover, &.active {
28
- background-color: variables.$dropdown-hover-bg-color;
28
+ background-color: var(--mm-dropdown-hover, variables.$dropdown-hover-bg-color);
29
29
  }
30
30
 
31
31
  &:focus {
@@ -39,7 +39,7 @@
39
39
 
40
40
  & > a, & > span {
41
41
  font-size: 16px;
42
- color: variables.$dropdown-color;
42
+ color: var(--mm-text-primary, variables.$dropdown-color);
43
43
  display: block;
44
44
  line-height: 22px;
45
45
  padding: math.div((variables.$dropdown-item-height - 22px), 2) 16px;
@@ -62,7 +62,7 @@
62
62
 
63
63
 
64
64
  clear: both;
65
- color: variables.$off-black;
65
+ color: var(--mm-text-primary, variables.$off-black);
66
66
  cursor: pointer;
67
67
  min-height: variables.$dropdown-item-height;
68
68
  line-height: 1.5rem;
@@ -73,7 +73,7 @@
73
73
 
74
74
  body.keyboard-focused {
75
75
  .dropdown-content li:focus {
76
- background-color: color.adjust(variables.$dropdown-hover-bg-color, $lightness: -8%);
76
+ background-color: var(--mm-dropdown-focus, color.adjust(variables.$dropdown-hover-bg-color, $lightness: -8%));
77
77
  }
78
78
  }
79
79