mithril-materialized 2.0.0-beta.1 → 2.0.0-beta.11

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 (73) hide show
  1. package/README.md +287 -308
  2. package/dist/advanced.css +1888 -0
  3. package/dist/autocomplete.d.ts +3 -3
  4. package/dist/breadcrumb.d.ts +53 -0
  5. package/dist/button.d.ts +66 -21
  6. package/dist/carousel.d.ts +2 -2
  7. package/dist/chip.d.ts +2 -2
  8. package/dist/code-block.d.ts +2 -2
  9. package/dist/collapsible.d.ts +2 -2
  10. package/dist/collection.d.ts +2 -2
  11. package/dist/components.css +2310 -0
  12. package/dist/core.css +3402 -0
  13. package/dist/datatable.d.ts +291 -0
  14. package/dist/datepicker.d.ts +66 -0
  15. package/dist/dropdown.d.ts +2 -2
  16. package/dist/file-upload.d.ts +34 -0
  17. package/dist/floating-action-button.d.ts +2 -2
  18. package/dist/forms.css +2284 -0
  19. package/dist/index.css +1825 -184
  20. package/dist/index.d.ts +14 -1
  21. package/dist/index.esm.js +4752 -2143
  22. package/dist/index.js +4776 -2142
  23. package/dist/index.min.css +8 -0
  24. package/dist/index.umd.js +4776 -2142
  25. package/dist/input-options.d.ts +1 -1
  26. package/dist/input.d.ts +9 -10
  27. package/dist/label.d.ts +4 -2
  28. package/dist/material-box.d.ts +2 -2
  29. package/dist/modal.d.ts +2 -2
  30. package/dist/option.d.ts +4 -4
  31. package/dist/pagination.d.ts +2 -2
  32. package/dist/parallax.d.ts +2 -2
  33. package/dist/pickers.css +487 -0
  34. package/dist/pushpin.d.ts +32 -0
  35. package/dist/radio.d.ts +4 -4
  36. package/dist/search-select.d.ts +2 -2
  37. package/dist/select.d.ts +2 -2
  38. package/dist/sidenav.d.ts +76 -0
  39. package/dist/switch.d.ts +2 -2
  40. package/dist/tabs.d.ts +2 -4
  41. package/dist/theme-switcher.d.ts +49 -0
  42. package/dist/timepicker.d.ts +42 -0
  43. package/dist/toast.d.ts +45 -0
  44. package/dist/tooltip.d.ts +59 -0
  45. package/dist/types.d.ts +226 -0
  46. package/dist/utilities.css +3204 -0
  47. package/dist/wizard.d.ts +58 -0
  48. package/package.json +20 -9
  49. package/sass/components/_breadcrumb.scss +248 -0
  50. package/sass/components/_buttons.scss +3 -3
  51. package/sass/components/_cards.scss +10 -3
  52. package/sass/components/_chips.scss +8 -8
  53. package/sass/components/_collapsible.scss +8 -8
  54. package/sass/components/_datatable.scss +417 -0
  55. package/sass/components/_datepicker.scss +45 -14
  56. package/sass/components/_dropdown.scss +5 -5
  57. package/sass/components/_file-upload.scss +228 -0
  58. package/sass/components/_global.scss +13 -11
  59. package/sass/components/_modal.scss +5 -2
  60. package/sass/components/_navbar.scss +13 -5
  61. package/sass/components/_sidenav.scss +164 -7
  62. package/sass/components/_tabs.scss +5 -4
  63. package/sass/components/_theme-switcher.scss +120 -0
  64. package/sass/components/_theme-variables.scss +205 -0
  65. package/sass/components/_timepicker.scss +179 -87
  66. package/sass/components/_wizard.scss +416 -0
  67. package/sass/components/forms/_input-fields.scss +34 -12
  68. package/sass/components/forms/_radio-buttons.scss +10 -10
  69. package/sass/components/forms/_range.scss +5 -5
  70. package/sass/components/forms/_select.scss +9 -9
  71. package/sass/components/forms/_switches.scss +6 -6
  72. package/sass/materialize.scss +8 -0
  73. 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.1",
3
+ "version": "2.0.0-beta.11",
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,8 +35,10 @@
27
35
  "sass"
28
36
  ],
29
37
  "scripts": {
30
- "build": "rollup -c rollup.config.mjs",
31
- "dev": "rollup -c rollup.config.mjs -w",
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",
41
+ "dev": "concurrently \"rollup -c rollup.config.mjs -w\" \"npm run css:watch\"",
32
42
  "start": "npm run dev",
33
43
  "clean": "rimraf dist node_modules/.cache",
34
44
  "test": "jest",
@@ -44,6 +54,8 @@
44
54
  "build:domain": "npm run clean && npm run build && typedoc --out ../../docs/typedoc src",
45
55
  "dry-run": "npm publish --dry-run",
46
56
  "sass:watch": "sass --watch ./sass/materialize.scss ./dist/index.css",
57
+ "css:watch": "sass --watch --no-source-map --style=compressed --no-charset ./src/index.scss ./dist/index.min.css",
58
+ "dev:full": "npm run dev & npm run css:watch",
47
59
  "patch-release": "npm run clean && npm run build && npm version patch --force -m \"Patch release\" && npm publish && git push --follow-tags",
48
60
  "minor-release": "npm run clean && npm run build && npm version minor --force -m \"Minor release\" && npm publish && git push --follow-tags",
49
61
  "major-release": "npm run clean && npm run build && npm version major --force -m \"Major release\" && npm publish && git push --follow-tags"
@@ -68,15 +80,14 @@
68
80
  "@testing-library/jest-dom": "^6.6.4",
69
81
  "@testing-library/user-event": "^14.6.1",
70
82
  "@types/jest": "^30.0.0",
71
- "@types/materialize-css": "^1.0.14",
72
83
  "@types/mithril": "^2.2.7",
73
84
  "autoprefixer": "^10.4.21",
85
+ "concurrently": "^9.2.0",
74
86
  "express": "^5.1.0",
75
87
  "identity-obj-proxy": "^3.0.0",
76
88
  "jest": "^30.0.5",
77
89
  "jest-environment-jsdom": "^30.0.5",
78
90
  "js-yaml": "^4.1.0",
79
- "materialize-css": "^1.0.0",
80
91
  "rimraf": "^6.0.1",
81
92
  "rollup": "^4.46.2",
82
93
  "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
  }
@@ -8,13 +8,15 @@
8
8
  margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0;
9
9
  border-radius: 2px;
10
10
  @extend .z-depth-1 !optional;
11
- background-color: variables.$card-bg-color;
11
+ background-color: var(--mm-card-background, variables.$card-bg-color);
12
+ color: var(--mm-text-primary);
12
13
  }
13
14
 
14
15
  .card {
15
16
  position: relative;
16
17
  margin: variables.$element-top-margin 0 variables.$element-bottom-margin 0;
17
- background-color: variables.$card-bg-color;
18
+ background-color: var(--mm-card-background, variables.$card-bg-color);
19
+ color: var(--mm-text-primary);
18
20
  transition: box-shadow .25s;
19
21
  border-radius: 2px;
20
22
  @extend .z-depth-1 !optional;
@@ -143,6 +145,8 @@
143
145
  .card-content {
144
146
  padding: variables.$card-padding;
145
147
  border-radius: 0 0 2px 2px;
148
+ background-color: var(--mm-card-background, variables.$card-bg-color);
149
+ color: var(--mm-text-primary);
146
150
 
147
151
  p {
148
152
  margin: 0;
@@ -151,6 +155,7 @@
151
155
  display: block;
152
156
  line-height: 32px;
153
157
  margin-bottom: 8px;
158
+ color: var(--mm-text-primary);
154
159
 
155
160
  i {
156
161
  line-height: 32px;
@@ -180,7 +185,8 @@
180
185
  .card-reveal {
181
186
  padding: variables.$card-padding;
182
187
  position: absolute;
183
- background-color: variables.$card-bg-color;
188
+ background-color: var(--mm-card-background, variables.$card-bg-color);
189
+ color: var(--mm-text-primary);
184
190
  width: 100%;
185
191
  overflow-y: auto;
186
192
  left: 0;
@@ -192,6 +198,7 @@
192
198
  .card-title {
193
199
  cursor: pointer;
194
200
  display: block;
201
+ color: var(--mm-text-primary);
195
202
  }
196
203
  }
197
204
  }
@@ -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)