@smwb/ui-styles 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/less/_prelude.less +6 -0
  4. package/less/components/accordion/accordion.entry.less +2 -0
  5. package/less/components/accordion/accordion.less +36 -0
  6. package/less/components/appBar/appBar.entry.less +2 -0
  7. package/less/components/appBar/appBar.less +95 -0
  8. package/less/components/appLayout/appLayout.entry.less +2 -0
  9. package/less/components/appLayout/appLayout.less +112 -0
  10. package/less/components/avatar/avatar.entry.less +2 -0
  11. package/less/components/avatar/avatar.less +74 -0
  12. package/less/components/badge/badge.entry.less +2 -0
  13. package/less/components/badge/badge.less +66 -0
  14. package/less/components/bottomBar/bottomBar.entry.less +2 -0
  15. package/less/components/bottomBar/bottomBar.less +84 -0
  16. package/less/components/breadcrumbs/breadcrumbs.entry.less +2 -0
  17. package/less/components/breadcrumbs/breadcrumbs.less +57 -0
  18. package/less/components/button/button.entry.less +2 -0
  19. package/less/components/button/button.less +164 -0
  20. package/less/components/buttonGroup/buttonGroup.entry.less +2 -0
  21. package/less/components/buttonGroup/buttonGroup.less +95 -0
  22. package/less/components/card/card.entry.less +2 -0
  23. package/less/components/card/card.less +56 -0
  24. package/less/components/carousel/carousel.entry.less +2 -0
  25. package/less/components/carousel/carousel.less +75 -0
  26. package/less/components/chat/chat.entry.less +2 -0
  27. package/less/components/chat/chat.less +623 -0
  28. package/less/components/chat/chat.variables.less +9 -0
  29. package/less/components/checkbox/checkbox.entry.less +2 -0
  30. package/less/components/checkbox/checkbox.less +109 -0
  31. package/less/components/chip/chip.entry.less +2 -0
  32. package/less/components/chip/chip.less +121 -0
  33. package/less/components/datePicker/dataPicker.entry.less +2 -0
  34. package/less/components/datePicker/dataPicker.less +235 -0
  35. package/less/components/divider/divider.entry.less +2 -0
  36. package/less/components/divider/divider.less +69 -0
  37. package/less/components/expansionPanel/expansionPanel.entry.less +2 -0
  38. package/less/components/expansionPanel/expansionPanel.less +136 -0
  39. package/less/components/fileDrop/fileDrop.entry.less +2 -0
  40. package/less/components/fileDrop/fileDrop.less +67 -0
  41. package/less/components/fileInput/fileInput.entry.less +2 -0
  42. package/less/components/fileInput/fileInput.less +4 -0
  43. package/less/components/floatingButton/floatingButton.entry.less +2 -0
  44. package/less/components/floatingButton/floatingButton.less +94 -0
  45. package/less/components/grid/grid.entry.less +2 -0
  46. package/less/components/grid/grid.less +174 -0
  47. package/less/components/icon/icon.entry.less +2 -0
  48. package/less/components/icon/icon.less +27 -0
  49. package/less/components/imagesList/imagesList.entry.less +2 -0
  50. package/less/components/imagesList/imagesList.less +35 -0
  51. package/less/components/imagesList/imagesListItem/imagesListItem.entry.less +2 -0
  52. package/less/components/imagesList/imagesListItem/imagesListItem.less +117 -0
  53. package/less/components/list/list.entry.less +2 -0
  54. package/less/components/list/list.less +87 -0
  55. package/less/components/menu/menu.entry.less +2 -0
  56. package/less/components/menu/menu.less +121 -0
  57. package/less/components/message/message.entry.less +2 -0
  58. package/less/components/message/message.less +103 -0
  59. package/less/components/modal/modal.entry.less +2 -0
  60. package/less/components/modal/modal.less +215 -0
  61. package/less/components/page/page.entry.less +2 -0
  62. package/less/components/page/page.less +39 -0
  63. package/less/components/pageHeader/pageHeader.entry.less +2 -0
  64. package/less/components/pageHeader/pageHeader.less +49 -0
  65. package/less/components/pagination/pagination.entry.less +2 -0
  66. package/less/components/pagination/pagination.less +103 -0
  67. package/less/components/progressIndicator/progressIndicator.entry.less +2 -0
  68. package/less/components/progressIndicator/progressIndicator.less +107 -0
  69. package/less/components/radioButton/radioButton.entry.less +2 -0
  70. package/less/components/radioButton/radioButton.less +138 -0
  71. package/less/components/rating/rating.entry.less +2 -0
  72. package/less/components/rating/rating.less +65 -0
  73. package/less/components/ripple/ripple.entry.less +2 -0
  74. package/less/components/ripple/ripple.less +24 -0
  75. package/less/components/screenDivider/screenDivider.entry.less +2 -0
  76. package/less/components/screenDivider/screenDivider.less +56 -0
  77. package/less/components/selectField/selectField.entry.less +2 -0
  78. package/less/components/selectField/selectField.less +182 -0
  79. package/less/components/sheet/sheet.entry.less +2 -0
  80. package/less/components/sheet/sheet.less +243 -0
  81. package/less/components/sidebar/sidebar.entry.less +2 -0
  82. package/less/components/sidebar/sidebar.less +137 -0
  83. package/less/components/skeleton/skeleton.entry.less +2 -0
  84. package/less/components/skeleton/skeleton.less +67 -0
  85. package/less/components/slider/slider.entry.less +2 -0
  86. package/less/components/slider/slider.less +294 -0
  87. package/less/components/snackbar/snackbar.entry.less +2 -0
  88. package/less/components/snackbar/snackbar.less +157 -0
  89. package/less/components/stack/stack.entry.less +2 -0
  90. package/less/components/stack/stack.less +10 -0
  91. package/less/components/stepper/stepper.entry.less +2 -0
  92. package/less/components/stepper/stepper.less +142 -0
  93. package/less/components/table/table.entry.less +2 -0
  94. package/less/components/table/table.less +192 -0
  95. package/less/components/table/tablePagination/tablePagination.entry.less +2 -0
  96. package/less/components/table/tablePagination/tablePagination.less +62 -0
  97. package/less/components/tabs/tab/tab.entry.less +2 -0
  98. package/less/components/tabs/tab/tab.less +114 -0
  99. package/less/components/tabs/tabs.entry.less +2 -0
  100. package/less/components/tabs/tabs.less +44 -0
  101. package/less/components/textField/textField.entry.less +2 -0
  102. package/less/components/textField/textField.less +373 -0
  103. package/less/components/timePicker/timePicker.entry.less +2 -0
  104. package/less/components/timePicker/timePicker.less +95 -0
  105. package/less/components/toggle/toggle.entry.less +2 -0
  106. package/less/components/toggle/toggle.less +110 -0
  107. package/less/components/tooltip/tooltip.entry.less +2 -0
  108. package/less/components/tooltip/tooltip.less +36 -0
  109. package/less/components/treeView/treeView.entry.less +2 -0
  110. package/less/components/treeView/treeView.less +71 -0
  111. package/less/components/typography/typography.entry.less +2 -0
  112. package/less/components/typography/typography.less +86 -0
  113. package/less/components.less +59 -0
  114. package/less/connects/rt/table.less +26 -0
  115. package/less/connects.less +1 -0
  116. package/less/default/globals/default.variables.less +584 -0
  117. package/less/foundation/breakpoints.less +80 -0
  118. package/less/foundation/elevation.less +61 -0
  119. package/less/foundation/palette.less +310 -0
  120. package/less/foundation/radius.less +21 -0
  121. package/less/foundation/sizing.less +35 -0
  122. package/less/foundation/spacing.less +164 -0
  123. package/less/foundation/typography.less +25 -0
  124. package/less/foundation.less +18 -0
  125. package/less/headless-base.less +2 -0
  126. package/less/responsive.less +41 -0
  127. package/less/site/globals/site.variables.less +25 -0
  128. package/less/templates/adminDashboard/adminDashboard.less +27 -0
  129. package/less/templates/summer-ui/auth.less +30 -0
  130. package/less/templates/summer-ui/authCard.less +33 -0
  131. package/less/templates/summer-ui/authLayout.less +11 -0
  132. package/less/templates.less +4 -0
  133. package/less/theme.less +30 -0
  134. package/less/themes/material/variables.less +370 -0
  135. package/less/themes/summer/variables.less +380 -0
  136. package/less/variables.less +260 -0
  137. package/normalize.css +484 -0
  138. package/package.json +21 -0
@@ -0,0 +1,61 @@
1
+ //=====================================================================
2
+ // Elevation (Material box-shadow scale)
3
+ //---------------------------------------------------------------------
4
+ // The umbra / penumbra / ambient three-shadow stack is currently
5
+ // copy-pasted (with small drifts) into button, buttonGroup, chip,
6
+ // accordion, card, modal, floatingButton, sheet, slider, toggle and
7
+ // tablePagination. This centralizes the canonical Material set.
8
+ //
9
+ // Usage: .smui-elevation(2); .smui-elevation(8);
10
+ // Levels: 0 1 2 3 4 6 8 9 12 16 24 (dp)
11
+ //
12
+ // Override a level in theme.config by redefining @smui-elevation-<n>.
13
+ //=====================================================================
14
+ @smui-elevation-0: none;
15
+ @smui-elevation-1: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
16
+ @smui-elevation-2: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
17
+ @smui-elevation-3: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
18
+ @smui-elevation-4: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);
19
+ @smui-elevation-6: 0 3px 5px -1px rgba(0, 0, 0, 0.2), 0 6px 10px 0 rgba(0, 0, 0, 0.14), 0 1px 18px 0 rgba(0, 0, 0, 0.12);
20
+ @smui-elevation-8: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
21
+ @smui-elevation-9: 0 5px 6px -3px rgba(0, 0, 0, 0.2), 0 9px 12px 1px rgba(0, 0, 0, 0.14), 0 3px 16px 2px rgba(0, 0, 0, 0.12);
22
+ @smui-elevation-12: 0 7px 8px -4px rgba(0, 0, 0, 0.2), 0 12px 17px 2px rgba(0, 0, 0, 0.14), 0 5px 22px 4px rgba(0, 0, 0, 0.12);
23
+ @smui-elevation-16: 0 8px 10px -5px rgba(0, 0, 0, 0.2), 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12);
24
+ @smui-elevation-24: 0 11px 15px -7px rgba(0, 0, 0, 0.2), 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12);
25
+
26
+ .smui-elevation() {
27
+ box-shadow: @smui-elevation-1;
28
+ }
29
+ .smui-elevation(0) {
30
+ box-shadow: @smui-elevation-0;
31
+ }
32
+ .smui-elevation(1) {
33
+ box-shadow: @smui-elevation-1;
34
+ }
35
+ .smui-elevation(2) {
36
+ box-shadow: @smui-elevation-2;
37
+ }
38
+ .smui-elevation(3) {
39
+ box-shadow: @smui-elevation-3;
40
+ }
41
+ .smui-elevation(4) {
42
+ box-shadow: @smui-elevation-4;
43
+ }
44
+ .smui-elevation(6) {
45
+ box-shadow: @smui-elevation-6;
46
+ }
47
+ .smui-elevation(8) {
48
+ box-shadow: @smui-elevation-8;
49
+ }
50
+ .smui-elevation(9) {
51
+ box-shadow: @smui-elevation-9;
52
+ }
53
+ .smui-elevation(12) {
54
+ box-shadow: @smui-elevation-12;
55
+ }
56
+ .smui-elevation(16) {
57
+ box-shadow: @smui-elevation-16;
58
+ }
59
+ .smui-elevation(24) {
60
+ box-shadow: @smui-elevation-24;
61
+ }
@@ -0,0 +1,310 @@
1
+ //=====================================================================
2
+ // Material Design – base color palette
3
+ //---------------------------------------------------------------------
4
+ // Full 2014 Material color table. These are raw, theme-agnostic
5
+ // swatches. Themes and semantic tokens (default.variables.less,
6
+ // themes/*) should reference these instead of hardcoding hex values.
7
+ //
8
+ // Naming: @md-<color>-<shade>
9
+ // shades: 50 100 200 300 400 500 600 700 800 900
10
+ // accents: a100 a200 a400 a700 (where the color defines them)
11
+ //
12
+ // Override in client apps via theme.config (Less) — any redefined
13
+ // @md-* variable cascades into every theme that references it.
14
+ //=====================================================================
15
+
16
+ // Neutral
17
+ @md-white: #ffffff;
18
+ @md-black: #000000;
19
+
20
+ // Red
21
+ @md-red-50: #ffebee;
22
+ @md-red-100: #ffcdd2;
23
+ @md-red-200: #ef9a9a;
24
+ @md-red-300: #e57373;
25
+ @md-red-400: #ef5350;
26
+ @md-red-500: #f44336;
27
+ @md-red-600: #e53935;
28
+ @md-red-700: #d32f2f;
29
+ @md-red-800: #c62828;
30
+ @md-red-900: #b71c1c;
31
+ @md-red-a100: #ff8a80;
32
+ @md-red-a200: #ff5252;
33
+ @md-red-a400: #ff1744;
34
+ @md-red-a700: #d50000;
35
+
36
+ // Pink
37
+ @md-pink-50: #fce4ec;
38
+ @md-pink-100: #f8bbd0;
39
+ @md-pink-200: #f48fb1;
40
+ @md-pink-300: #f06292;
41
+ @md-pink-400: #ec407a;
42
+ @md-pink-500: #e91e63;
43
+ @md-pink-600: #d81b60;
44
+ @md-pink-700: #c2185b;
45
+ @md-pink-800: #ad1457;
46
+ @md-pink-900: #880e4f;
47
+ @md-pink-a100: #ff80ab;
48
+ @md-pink-a200: #ff4081;
49
+ @md-pink-a400: #f50057;
50
+ @md-pink-a700: #c51162;
51
+
52
+ // Purple
53
+ @md-purple-50: #f3e5f5;
54
+ @md-purple-100: #e1bee7;
55
+ @md-purple-200: #ce93d8;
56
+ @md-purple-300: #ba68c8;
57
+ @md-purple-400: #ab47bc;
58
+ @md-purple-500: #9c27b0;
59
+ @md-purple-600: #8e24aa;
60
+ @md-purple-700: #7b1fa2;
61
+ @md-purple-800: #6a1b9a;
62
+ @md-purple-900: #4a148c;
63
+ @md-purple-a100: #ea80fc;
64
+ @md-purple-a200: #e040fb;
65
+ @md-purple-a400: #d500f9;
66
+ @md-purple-a700: #aa00ff;
67
+
68
+ // Deep Purple
69
+ @md-deepPurple-50: #ede7f6;
70
+ @md-deepPurple-100: #d1c4e9;
71
+ @md-deepPurple-200: #b39ddb;
72
+ @md-deepPurple-300: #9575cd;
73
+ @md-deepPurple-400: #7e57c2;
74
+ @md-deepPurple-500: #673ab7;
75
+ @md-deepPurple-600: #5e35b1;
76
+ @md-deepPurple-700: #512da8;
77
+ @md-deepPurple-800: #4527a0;
78
+ @md-deepPurple-900: #311b92;
79
+ @md-deepPurple-a100: #b388ff;
80
+ @md-deepPurple-a200: #7c4dff;
81
+ @md-deepPurple-a400: #651fff;
82
+ @md-deepPurple-a700: #6200ea;
83
+
84
+ // Indigo
85
+ @md-indigo-50: #e8eaf6;
86
+ @md-indigo-100: #c5cae9;
87
+ @md-indigo-200: #9fa8da;
88
+ @md-indigo-300: #7986cb;
89
+ @md-indigo-400: #5c6bc0;
90
+ @md-indigo-500: #3f51b5;
91
+ @md-indigo-600: #3949ab;
92
+ @md-indigo-700: #303f9f;
93
+ @md-indigo-800: #283593;
94
+ @md-indigo-900: #1a237e;
95
+ @md-indigo-a100: #8c9eff;
96
+ @md-indigo-a200: #536dfe;
97
+ @md-indigo-a400: #3d5afe;
98
+ @md-indigo-a700: #304ffe;
99
+
100
+ // Blue
101
+ @md-blue-50: #e3f2fd;
102
+ @md-blue-100: #bbdefb;
103
+ @md-blue-200: #90caf9;
104
+ @md-blue-300: #64b5f6;
105
+ @md-blue-400: #42a5f5;
106
+ @md-blue-500: #2196f3;
107
+ @md-blue-600: #1e88e5;
108
+ @md-blue-700: #1976d2;
109
+ @md-blue-800: #1565c0;
110
+ @md-blue-900: #0d47a1;
111
+ @md-blue-a100: #82b1ff;
112
+ @md-blue-a200: #448aff;
113
+ @md-blue-a400: #2979ff;
114
+ @md-blue-a700: #2962ff;
115
+
116
+ // Light Blue
117
+ @md-lightBlue-50: #e1f5fe;
118
+ @md-lightBlue-100: #b3e5fc;
119
+ @md-lightBlue-200: #81d4fa;
120
+ @md-lightBlue-300: #4fc3f7;
121
+ @md-lightBlue-400: #29b6f6;
122
+ @md-lightBlue-500: #03a9f4;
123
+ @md-lightBlue-600: #039be5;
124
+ @md-lightBlue-700: #0288d1;
125
+ @md-lightBlue-800: #0277bd;
126
+ @md-lightBlue-900: #01579b;
127
+ @md-lightBlue-a100: #80d8ff;
128
+ @md-lightBlue-a200: #40c4ff;
129
+ @md-lightBlue-a400: #00b0ff;
130
+ @md-lightBlue-a700: #0091ea;
131
+
132
+ // Cyan
133
+ @md-cyan-50: #e0f7fa;
134
+ @md-cyan-100: #b2ebf2;
135
+ @md-cyan-200: #80deea;
136
+ @md-cyan-300: #4dd0e1;
137
+ @md-cyan-400: #26c6da;
138
+ @md-cyan-500: #00bcd4;
139
+ @md-cyan-600: #00acc1;
140
+ @md-cyan-700: #0097a7;
141
+ @md-cyan-800: #00838f;
142
+ @md-cyan-900: #006064;
143
+ @md-cyan-a100: #84ffff;
144
+ @md-cyan-a200: #18ffff;
145
+ @md-cyan-a400: #00e5ff;
146
+ @md-cyan-a700: #00b8d4;
147
+
148
+ // Teal
149
+ @md-teal-50: #e0f2f1;
150
+ @md-teal-100: #b2dfdb;
151
+ @md-teal-200: #80cbc4;
152
+ @md-teal-300: #4db6ac;
153
+ @md-teal-400: #26a69a;
154
+ @md-teal-500: #009688;
155
+ @md-teal-600: #00897b;
156
+ @md-teal-700: #00796b;
157
+ @md-teal-800: #00695c;
158
+ @md-teal-900: #004d40;
159
+ @md-teal-a100: #a7ffeb;
160
+ @md-teal-a200: #64ffda;
161
+ @md-teal-a400: #1de9b6;
162
+ @md-teal-a700: #00bfa5;
163
+
164
+ // Green
165
+ @md-green-50: #e8f5e9;
166
+ @md-green-100: #c8e6c9;
167
+ @md-green-200: #a5d6a7;
168
+ @md-green-300: #81c784;
169
+ @md-green-400: #66bb6a;
170
+ @md-green-500: #4caf50;
171
+ @md-green-600: #43a047;
172
+ @md-green-700: #388e3c;
173
+ @md-green-800: #2e7d32;
174
+ @md-green-900: #1b5e20;
175
+ @md-green-a100: #b9f6ca;
176
+ @md-green-a200: #69f0ae;
177
+ @md-green-a400: #00e676;
178
+ @md-green-a700: #00c853;
179
+
180
+ // Light Green
181
+ @md-lightGreen-50: #f1f8e9;
182
+ @md-lightGreen-100: #dcedc8;
183
+ @md-lightGreen-200: #c5e1a5;
184
+ @md-lightGreen-300: #aed581;
185
+ @md-lightGreen-400: #9ccc65;
186
+ @md-lightGreen-500: #8bc34a;
187
+ @md-lightGreen-600: #7cb342;
188
+ @md-lightGreen-700: #689f38;
189
+ @md-lightGreen-800: #558b2f;
190
+ @md-lightGreen-900: #33691e;
191
+ @md-lightGreen-a100: #ccff90;
192
+ @md-lightGreen-a200: #b2ff59;
193
+ @md-lightGreen-a400: #76ff03;
194
+ @md-lightGreen-a700: #64dd17;
195
+
196
+ // Lime
197
+ @md-lime-50: #f9fbe7;
198
+ @md-lime-100: #f0f4c3;
199
+ @md-lime-200: #e6ee9c;
200
+ @md-lime-300: #dce775;
201
+ @md-lime-400: #d4e157;
202
+ @md-lime-500: #cddc39;
203
+ @md-lime-600: #c0ca33;
204
+ @md-lime-700: #afb42b;
205
+ @md-lime-800: #9e9d24;
206
+ @md-lime-900: #827717;
207
+ @md-lime-a100: #f4ff81;
208
+ @md-lime-a200: #eeff41;
209
+ @md-lime-a400: #c6ff00;
210
+ @md-lime-a700: #aeea00;
211
+
212
+ // Yellow
213
+ @md-yellow-50: #fffde7;
214
+ @md-yellow-100: #fff9c4;
215
+ @md-yellow-200: #fff59d;
216
+ @md-yellow-300: #fff176;
217
+ @md-yellow-400: #ffee58;
218
+ @md-yellow-500: #ffeb3b;
219
+ @md-yellow-600: #fdd835;
220
+ @md-yellow-700: #fbc02d;
221
+ @md-yellow-800: #f9a825;
222
+ @md-yellow-900: #f57f17;
223
+ @md-yellow-a100: #ffff8d;
224
+ @md-yellow-a200: #ffff00;
225
+ @md-yellow-a400: #ffea00;
226
+ @md-yellow-a700: #ffd600;
227
+
228
+ // Amber
229
+ @md-amber-50: #fff8e1;
230
+ @md-amber-100: #ffecb3;
231
+ @md-amber-200: #ffe082;
232
+ @md-amber-300: #ffd54f;
233
+ @md-amber-400: #ffca28;
234
+ @md-amber-500: #ffc107;
235
+ @md-amber-600: #ffb300;
236
+ @md-amber-700: #ffa000;
237
+ @md-amber-800: #ff8f00;
238
+ @md-amber-900: #ff6f00;
239
+ @md-amber-a100: #ffe57f;
240
+ @md-amber-a200: #ffd740;
241
+ @md-amber-a400: #ffc400;
242
+ @md-amber-a700: #ffab00;
243
+
244
+ // Orange
245
+ @md-orange-50: #fff3e0;
246
+ @md-orange-100: #ffe0b2;
247
+ @md-orange-200: #ffcc80;
248
+ @md-orange-300: #ffb74d;
249
+ @md-orange-400: #ffa726;
250
+ @md-orange-500: #ff9800;
251
+ @md-orange-600: #fb8c00;
252
+ @md-orange-700: #f57c00;
253
+ @md-orange-800: #ef6c00;
254
+ @md-orange-900: #e65100;
255
+ @md-orange-a100: #ffd180;
256
+ @md-orange-a200: #ffab40;
257
+ @md-orange-a400: #ff9100;
258
+ @md-orange-a700: #ff6d00;
259
+
260
+ // Deep Orange
261
+ @md-deepOrange-50: #fbe9e7;
262
+ @md-deepOrange-100: #ffccbc;
263
+ @md-deepOrange-200: #ffab91;
264
+ @md-deepOrange-300: #ff8a65;
265
+ @md-deepOrange-400: #ff7043;
266
+ @md-deepOrange-500: #ff5722;
267
+ @md-deepOrange-600: #f4511e;
268
+ @md-deepOrange-700: #e64a19;
269
+ @md-deepOrange-800: #d84315;
270
+ @md-deepOrange-900: #bf360c;
271
+ @md-deepOrange-a100: #ff9e80;
272
+ @md-deepOrange-a200: #ff6e40;
273
+ @md-deepOrange-a400: #ff3d00;
274
+ @md-deepOrange-a700: #dd2c00;
275
+
276
+ // Brown
277
+ @md-brown-50: #efebe9;
278
+ @md-brown-100: #d7ccc8;
279
+ @md-brown-200: #bcaaa4;
280
+ @md-brown-300: #a1887f;
281
+ @md-brown-400: #8d6e63;
282
+ @md-brown-500: #795548;
283
+ @md-brown-600: #6d4c41;
284
+ @md-brown-700: #5d4037;
285
+ @md-brown-800: #4e342e;
286
+ @md-brown-900: #3e2723;
287
+
288
+ // Grey
289
+ @md-grey-50: #fafafa;
290
+ @md-grey-100: #f5f5f5;
291
+ @md-grey-200: #eeeeee;
292
+ @md-grey-300: #e0e0e0;
293
+ @md-grey-400: #bdbdbd;
294
+ @md-grey-500: #9e9e9e;
295
+ @md-grey-600: #757575;
296
+ @md-grey-700: #616161;
297
+ @md-grey-800: #424242;
298
+ @md-grey-900: #212121;
299
+
300
+ // Blue Grey
301
+ @md-blueGrey-50: #eceff1;
302
+ @md-blueGrey-100: #cfd8dc;
303
+ @md-blueGrey-200: #b0bec5;
304
+ @md-blueGrey-300: #90a4ae;
305
+ @md-blueGrey-400: #78909c;
306
+ @md-blueGrey-500: #607d8b;
307
+ @md-blueGrey-600: #546e7a;
308
+ @md-blueGrey-700: #455a64;
309
+ @md-blueGrey-800: #37474f;
310
+ @md-blueGrey-900: #263238;
@@ -0,0 +1,21 @@
1
+ //=====================================================================
2
+ // Border-radius scale
3
+ //---------------------------------------------------------------------
4
+ // Component radius tokens (@buttonBorderRadius, @cardBorderRadius,
5
+ // @menuBorderRadius, …) should reference these so a client app can
6
+ // reshape the whole library by overriding the scale in theme.config:
7
+ //
8
+ // @smui-radius-md: 2px; // flatter, sharper UI everywhere
9
+ //
10
+ // These are additive defaults — existing component radius variables
11
+ // keep their current values unless a theme opts in.
12
+ //=====================================================================
13
+ @smui-radius-none: 0;
14
+ @smui-radius-xs: 2px;
15
+ @smui-radius-sm: 4px;
16
+ @smui-radius-md: 8px;
17
+ @smui-radius-lg: 12px;
18
+ @smui-radius-xl: 16px;
19
+ @smui-radius-xxl: 28px;
20
+ @smui-radius-pill: 9999px;
21
+ @smui-radius-circle: 50%;
@@ -0,0 +1,35 @@
1
+ //=====================================================================
2
+ // Control sizing scale (small / medium / large)
3
+ //---------------------------------------------------------------------
4
+ // Single source for the size variants shared by interactive controls
5
+ // (button, checkbox, radio, toggle, textField, selectField, slider,
6
+ // rating, datePicker, chip, pagination, icon defaults). Components map
7
+ // their `size` prop -> a `smwb-*_size-sm|md|lg` class that reads these.
8
+ //
9
+ // Override one step from theme.config, e.g. @smui-control-h-md: 44px;
10
+ //=====================================================================
11
+
12
+ // Control height (form fields, buttons, chips)
13
+ @smui-control-h-sm: 32px;
14
+ @smui-control-h-md: 40px;
15
+ @smui-control-h-lg: 48px;
16
+
17
+ // Horizontal padding inside controls
18
+ @smui-control-px-sm: @smui-space-md; // 12
19
+ @smui-control-px-md: @smui-space-lg; // 16
20
+ @smui-control-px-lg: @smui-space-xl; // 20
21
+
22
+ // Control font-size
23
+ @smui-control-font-sm: 13px;
24
+ @smui-control-font-md: 14px;
25
+ @smui-control-font-lg: 16px;
26
+
27
+ // Selection-control box (checkbox/radio/toggle thumb) edge
28
+ @smui-selection-sm: 16px;
29
+ @smui-selection-md: 18px;
30
+ @smui-selection-lg: 22px;
31
+
32
+ // Icon default sizes
33
+ @smui-icon-sm: 18px;
34
+ @smui-icon-md: 20px;
35
+ @smui-icon-lg: 24px;
@@ -0,0 +1,164 @@
1
+ //=====================================================================
2
+ // Spacing scale + overridable gap / padding / margin mixins
3
+ //---------------------------------------------------------------------
4
+ // A single 4px base unit drives a numeric scale and a set of
5
+ // t-shirt-sized aliases. Components should consume spacing through
6
+ // the mixins below instead of hardcoding px, so a client app can
7
+ // rescale the whole library from theme.config by redefining one
8
+ // variable:
9
+ //
10
+ // // theme.config (client app)
11
+ // @smui-spacing-unit: 8px; // double every gap/padding
12
+ // @smui-space-lg: 12px; // or retune one step only
13
+ //
14
+ // Mixins (emit a property):
15
+ // .smui-gap(@size) -> gap
16
+ // .smui-row-gap(@size) -> row-gap
17
+ // .smui-column-gap(@size) -> column-gap
18
+ // .smui-padding(@a; @b; @c; @d)
19
+ // .smui-margin(@a; @b; @c; @d)
20
+ // .smui-inset(@size) -> padding (all sides)
21
+ //
22
+ // @size accepts a scale keyword (none xxs xs sm md lg xl xxl xxxl)
23
+ // or a raw length — raw lengths pass through untouched.
24
+ //=====================================================================
25
+
26
+ // Base unit
27
+ @smui-spacing-unit: 4px;
28
+
29
+ // Numeric scale (unit multiples)
30
+ @smui-space-0: 0;
31
+ @smui-space-1: (@smui-spacing-unit * 1); // 4
32
+ @smui-space-2: (@smui-spacing-unit * 2); // 8
33
+ @smui-space-3: (@smui-spacing-unit * 3); // 12
34
+ @smui-space-4: (@smui-spacing-unit * 4); // 16
35
+ @smui-space-5: (@smui-spacing-unit * 5); // 20
36
+ @smui-space-6: (@smui-spacing-unit * 6); // 24
37
+ @smui-space-8: (@smui-spacing-unit * 8); // 32
38
+ @smui-space-10: (@smui-spacing-unit * 10); // 40
39
+ @smui-space-12: (@smui-spacing-unit * 12); // 48
40
+ @smui-space-16: (@smui-spacing-unit * 16); // 64
41
+
42
+ // Named aliases (semantic)
43
+ @smui-space-none: @smui-space-0;
44
+ @smui-space-xxs: (@smui-spacing-unit / 2); // 2
45
+ @smui-space-xs: @smui-space-1; // 4
46
+ @smui-space-sm: @smui-space-2; // 8
47
+ @smui-space-md: @smui-space-3; // 12
48
+ @smui-space-lg: @smui-space-4; // 16
49
+ @smui-space-xl: @smui-space-5; // 20
50
+ @smui-space-xxl: @smui-space-6; // 24
51
+ @smui-space-xxxl: @smui-space-8; // 32
52
+
53
+ // keyword -> length resolver
54
+ // Guarded mixins map a keyword to a scale variable; any non-keyword
55
+ // value (e.g. 5px, auto, 1rem) falls through the default branch.
56
+ .smui-resolve-space(@v) {
57
+ @smui-resolved: @v;
58
+ }
59
+ .smui-resolve-space(none) {
60
+ @smui-resolved: @smui-space-none;
61
+ }
62
+ .smui-resolve-space(xxs) {
63
+ @smui-resolved: @smui-space-xxs;
64
+ }
65
+ .smui-resolve-space(xs) {
66
+ @smui-resolved: @smui-space-xs;
67
+ }
68
+ .smui-resolve-space(sm) {
69
+ @smui-resolved: @smui-space-sm;
70
+ }
71
+ .smui-resolve-space(md) {
72
+ @smui-resolved: @smui-space-md;
73
+ }
74
+ .smui-resolve-space(lg) {
75
+ @smui-resolved: @smui-space-lg;
76
+ }
77
+ .smui-resolve-space(xl) {
78
+ @smui-resolved: @smui-space-xl;
79
+ }
80
+ .smui-resolve-space(xxl) {
81
+ @smui-resolved: @smui-space-xxl;
82
+ }
83
+ .smui-resolve-space(xxxl) {
84
+ @smui-resolved: @smui-space-xxxl;
85
+ }
86
+
87
+ // Gap mixins
88
+ .smui-gap(@size: md) {
89
+ .smui-resolve-space(@size);
90
+ gap: @smui-resolved;
91
+ }
92
+ .smui-row-gap(@size: md) {
93
+ .smui-resolve-space(@size);
94
+ row-gap: @smui-resolved;
95
+ }
96
+ .smui-column-gap(@size: md) {
97
+ .smui-resolve-space(@size);
98
+ column-gap: @smui-resolved;
99
+ }
100
+
101
+ // Padding / margin mixins
102
+ // Overloaded by arity (1–4 args), mirroring the CSS shorthand. Each
103
+ // argument is resolved independently, so you can mix keywords and raw
104
+ // lengths: .smui-padding(lg; sm) .smui-margin(0; auto)
105
+ .smui-inset(@size: md) {
106
+ .smui-resolve-space(@size);
107
+ padding: @smui-resolved;
108
+ }
109
+ .smui-padding(@a) {
110
+ .smui-resolve-space(@a);
111
+ padding: @smui-resolved;
112
+ }
113
+ .smui-padding(@a; @b) {
114
+ .smui-resolve-space(@a);
115
+ @ra: @smui-resolved;
116
+ .smui-resolve-space(@b);
117
+ padding: @ra @smui-resolved;
118
+ }
119
+ .smui-padding(@a; @b; @c) {
120
+ .smui-resolve-space(@a);
121
+ @ra: @smui-resolved;
122
+ .smui-resolve-space(@b);
123
+ @rb: @smui-resolved;
124
+ .smui-resolve-space(@c);
125
+ padding: @ra @rb @smui-resolved;
126
+ }
127
+ .smui-padding(@a; @b; @c; @d) {
128
+ .smui-resolve-space(@a);
129
+ @ra: @smui-resolved;
130
+ .smui-resolve-space(@b);
131
+ @rb: @smui-resolved;
132
+ .smui-resolve-space(@c);
133
+ @rc: @smui-resolved;
134
+ .smui-resolve-space(@d);
135
+ padding: @ra @rb @rc @smui-resolved;
136
+ }
137
+ .smui-margin(@a) {
138
+ .smui-resolve-space(@a);
139
+ margin: @smui-resolved;
140
+ }
141
+ .smui-margin(@a; @b) {
142
+ .smui-resolve-space(@a);
143
+ @ra: @smui-resolved;
144
+ .smui-resolve-space(@b);
145
+ margin: @ra @smui-resolved;
146
+ }
147
+ .smui-margin(@a; @b; @c) {
148
+ .smui-resolve-space(@a);
149
+ @ra: @smui-resolved;
150
+ .smui-resolve-space(@b);
151
+ @rb: @smui-resolved;
152
+ .smui-resolve-space(@c);
153
+ margin: @ra @rb @smui-resolved;
154
+ }
155
+ .smui-margin(@a; @b; @c; @d) {
156
+ .smui-resolve-space(@a);
157
+ @ra: @smui-resolved;
158
+ .smui-resolve-space(@b);
159
+ @rb: @smui-resolved;
160
+ .smui-resolve-space(@c);
161
+ @rc: @smui-resolved;
162
+ .smui-resolve-space(@d);
163
+ margin: @ra @rb @rc @smui-resolved;
164
+ }
@@ -0,0 +1,25 @@
1
+ //=====================================================================
2
+ // Typography scale
3
+ //---------------------------------------------------------------------
4
+ // Font-size / weight / line-height per variant. Consumed by the
5
+ // <Typography> component (smwb-typography_<variant>) and reusable by
6
+ // any component. Override a step from theme.config, e.g.
7
+ // @smui-font-h1-size: 40px;
8
+ //=====================================================================
9
+
10
+ @smui-font-family: var(--smui-fontFamily, inherit);
11
+
12
+ // size / weight / line-height per variant
13
+ @smui-font-h1-size: 48px; @smui-font-h1-weight: 300; @smui-font-h1-lh: 1.2;
14
+ @smui-font-h2-size: 40px; @smui-font-h2-weight: 300; @smui-font-h2-lh: 1.2;
15
+ @smui-font-h3-size: 32px; @smui-font-h3-weight: 400; @smui-font-h3-lh: 1.25;
16
+ @smui-font-h4-size: 28px; @smui-font-h4-weight: 400; @smui-font-h4-lh: 1.3;
17
+ @smui-font-h5-size: 24px; @smui-font-h5-weight: 500; @smui-font-h5-lh: 1.3;
18
+ @smui-font-h6-size: 20px; @smui-font-h6-weight: 500; @smui-font-h6-lh: 1.4;
19
+ @smui-font-subtitle1-size: 16px; @smui-font-subtitle1-weight: 500; @smui-font-subtitle1-lh: 1.5;
20
+ @smui-font-subtitle2-size: 14px; @smui-font-subtitle2-weight: 500; @smui-font-subtitle2-lh: 1.5;
21
+ @smui-font-body1-size: 16px; @smui-font-body1-weight: 400; @smui-font-body1-lh: 1.5;
22
+ @smui-font-body2-size: 14px; @smui-font-body2-weight: 400; @smui-font-body2-lh: 1.5;
23
+ @smui-font-caption-size: 12px; @smui-font-caption-weight: 400; @smui-font-caption-lh: 1.4;
24
+ @smui-font-overline-size: 12px; @smui-font-overline-weight: 600; @smui-font-overline-lh: 1.4;
25
+ @smui-font-button-size: 14px; @smui-font-button-weight: 500; @smui-font-button-lh: 1.75;
@@ -0,0 +1,18 @@
1
+ //=====================================================================
2
+ // Foundation layer
3
+ //---------------------------------------------------------------------
4
+ // Theme-agnostic build-time primitives shared by every component and
5
+ // by all theme variable files: the Material color table, the spacing
6
+ // scale + gap/padding/margin mixins, the radius scale and the
7
+ // elevation (box-shadow) scale.
8
+ //
9
+ // Imported first so components and theme variables can reference it.
10
+ // Client apps override any @md-* / @smui-* token from theme.config.
11
+ //=====================================================================
12
+ @import "./foundation/palette.less";
13
+ @import "./foundation/spacing.less";
14
+ @import "./foundation/radius.less";
15
+ @import "./foundation/elevation.less";
16
+ @import "./foundation/breakpoints.less";
17
+ @import "./foundation/sizing.less";
18
+ @import "./foundation/typography.less";
@@ -0,0 +1,2 @@
1
+ @import "./foundation.less";
2
+ @import "./theme.less";
@@ -0,0 +1,41 @@
1
+ //=====================================================================
2
+ // Lightweight responsive / mobile layer
3
+ //---------------------------------------------------------------------
4
+ // Purely additive: only emits @media (max-width) rules, so desktop
5
+ // output is unchanged. Built on the foundation/breakpoints.less
6
+ // mixins. Every value flows through the spacing scale, so client
7
+ // apps can retune mobile behaviour from theme.config too.
8
+ //
9
+ // Imported after all components so these rules win the cascade.
10
+ //=====================================================================
11
+
12
+ // Phones (< sm): tighten chrome that uses comfortable desktop padding
13
+ .smui-media-down(sm; {
14
+ .smwb-appbar {
15
+ padding: 0 @smui-space-sm;
16
+ }
17
+ .smwb-appbar.smwb-dense {
18
+ padding: @smui-space-sm;
19
+ }
20
+ });
21
+
22
+ // Tablet and below (< md): make fixed-width overlays fluid so they
23
+ // never overflow a small viewport
24
+ .smui-media-down(md; {
25
+ .smwb-snackbar {
26
+ width: auto;
27
+ max-width: 350px;
28
+ min-width: 0;
29
+ margin: 0 @smui-space-lg;
30
+ }
31
+ .smwb-date-picker {
32
+ max-width: calc(100vw - @smui-space-xxxl);
33
+ }
34
+ // Pagination's wide desktop gaps don't fit a phone row
35
+ .smwb-table__pagination__controls {
36
+ gap: @smui-space-xxl;
37
+ }
38
+ .smwb-table__pagination__buttons {
39
+ gap: @smui-space-lg;
40
+ }
41
+ });