@inchurch/matcha-theme 20.0.3

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 (112) hide show
  1. package/README.md +303 -0
  2. package/abstracts/_colors.scss +405 -0
  3. package/abstracts/_elevation.scss +102 -0
  4. package/abstracts/_functions.scss +1213 -0
  5. package/abstracts/_media-breakpoint.scss +23 -0
  6. package/abstracts/_typography.scss +127 -0
  7. package/base/_reset.scss +438 -0
  8. package/components/matcha-accordion.scss +157 -0
  9. package/components/matcha-audio-player.scss +32 -0
  10. package/components/matcha-autocomplete.scss +134 -0
  11. package/components/matcha-avatar.scss +161 -0
  12. package/components/matcha-badge.scss +120 -0
  13. package/components/matcha-breadcrumb.scss +126 -0
  14. package/components/matcha-button-toggle.scss +363 -0
  15. package/components/matcha-buttons.scss +784 -0
  16. package/components/matcha-calendar.scss +154 -0
  17. package/components/matcha-cards.scss +205 -0
  18. package/components/matcha-chart-card.scss +60 -0
  19. package/components/matcha-checkbox.scss +554 -0
  20. package/components/matcha-chip.scss +212 -0
  21. package/components/matcha-color-pick.scss +35 -0
  22. package/components/matcha-command-palette.scss +89 -0
  23. package/components/matcha-crop.scss +172 -0
  24. package/components/matcha-date.scss +81 -0
  25. package/components/matcha-divider.scss +45 -0
  26. package/components/matcha-draggable.scss +24 -0
  27. package/components/matcha-drawer.scss +235 -0
  28. package/components/matcha-drop-list.scss +390 -0
  29. package/components/matcha-emoji.scss +69 -0
  30. package/components/matcha-empty-state.scss +118 -0
  31. package/components/matcha-flag.scss +62 -0
  32. package/components/matcha-footer.scss +187 -0
  33. package/components/matcha-form-field.scss +552 -0
  34. package/components/matcha-form-section.scss +101 -0
  35. package/components/matcha-header.scss +325 -0
  36. package/components/matcha-highlight.scss +296 -0
  37. package/components/matcha-hint-text.scss +66 -0
  38. package/components/matcha-horizontal-tree.scss +317 -0
  39. package/components/matcha-icon.scss +106 -0
  40. package/components/matcha-image.scss +62 -0
  41. package/components/matcha-list.scss +212 -0
  42. package/components/matcha-menu.scss +86 -0
  43. package/components/matcha-modal.scss +234 -0
  44. package/components/matcha-nav.scss +450 -0
  45. package/components/matcha-notification.scss +197 -0
  46. package/components/matcha-option.scss +95 -0
  47. package/components/matcha-page-builder.scss +4186 -0
  48. package/components/matcha-paginator.scss +235 -0
  49. package/components/matcha-panel.scss +167 -0
  50. package/components/matcha-profile-card.scss +50 -0
  51. package/components/matcha-progress-bar.scss +209 -0
  52. package/components/matcha-radio.scss +528 -0
  53. package/components/matcha-ripple.scss +7 -0
  54. package/components/matcha-scrollbar.scss +35 -0
  55. package/components/matcha-scrollbox-shadow.scss +123 -0
  56. package/components/matcha-section.scss +105 -0
  57. package/components/matcha-select.scss +661 -0
  58. package/components/matcha-skeleton.scss +138 -0
  59. package/components/matcha-slide-toggle.scss +590 -0
  60. package/components/matcha-slider.scss +188 -0
  61. package/components/matcha-snack-bar.scss +266 -0
  62. package/components/matcha-spin.scss +252 -0
  63. package/components/matcha-spinner.scss +78 -0
  64. package/components/matcha-stepper.scss +177 -0
  65. package/components/matcha-table-cell.scss +41 -0
  66. package/components/matcha-table.scss +785 -0
  67. package/components/matcha-tabs.scss +469 -0
  68. package/components/matcha-text-editor.scss +151 -0
  69. package/components/matcha-time.scss +33 -0
  70. package/components/matcha-timepicker.scss +13 -0
  71. package/components/matcha-toolbar.scss +206 -0
  72. package/components/matcha-tooltip.scss +128 -0
  73. package/components/matcha-uploader.scss +215 -0
  74. package/css/matcha-style.css +76772 -0
  75. package/fonts/CircularStd-Black.eot +0 -0
  76. package/fonts/CircularStd-Black.svg +3426 -0
  77. package/fonts/CircularStd-Black.ttf +0 -0
  78. package/fonts/CircularStd-Black.woff +0 -0
  79. package/fonts/CircularStd-Black.woff2 +0 -0
  80. package/fonts/CircularStd-Bold.eot +0 -0
  81. package/fonts/CircularStd-Bold.otf +0 -0
  82. package/fonts/CircularStd-Bold.svg +13532 -0
  83. package/fonts/CircularStd-Bold.ttf +0 -0
  84. package/fonts/CircularStd-Bold.woff +0 -0
  85. package/fonts/CircularStd-Bold.woff2 +0 -0
  86. package/fonts/CircularStd-Medium.eot +0 -0
  87. package/fonts/CircularStd-Medium.otf +0 -0
  88. package/fonts/CircularStd-Medium.svg +13511 -0
  89. package/fonts/CircularStd-Medium.ttf +0 -0
  90. package/fonts/CircularStd-Medium.woff +0 -0
  91. package/fonts/CircularStd-Medium.woff2 +0 -0
  92. package/fonts/CircularStd-Regular.eot +0 -0
  93. package/fonts/CircularStd-Regular.otf +0 -0
  94. package/fonts/CircularStd-Regular.svg +2378 -0
  95. package/fonts/CircularStd-Regular.ttf +0 -0
  96. package/fonts/CircularStd-Regular.woff +0 -0
  97. package/fonts/CircularStd-Regular.woff2 +0 -0
  98. package/main.scss +262 -0
  99. package/package.json +11 -0
  100. package/tokens/_animations-tokens.scss +37 -0
  101. package/tokens/_breakpoints-tokens.scss +26 -0
  102. package/tokens/_color-tokens.scss +1153 -0
  103. package/tokens/_css-custom-properties.scss +568 -0
  104. package/tokens/_elevation-tokens.scss +33 -0
  105. package/tokens/_spacing-tokens.scss +94 -0
  106. package/tokens/_typography-tokens.scss +65 -0
  107. package/vendors/angular-editor.scss +56 -0
  108. package/vendors/angular-material-fixes.scss +297 -0
  109. package/vendors/calendar.scss +2880 -0
  110. package/vendors/charts.scss +92 -0
  111. package/vendors/ng5-slider.scss +56 -0
  112. package/vendors/ngx-material-timepicker.scss +50 -0
@@ -0,0 +1,23 @@
1
+ // -------------------------------------------------------------------------------------------------------------------
2
+ // @ Theme mixins
3
+ // --------------------------------------------------------------------------------------------------------------------
4
+ /*
5
+ Esse mixin foi criado para não precisar escrever o valor em pixels de cada breakpoint toda vez que for necessário
6
+ criar um media query. Se em algum momento for necessário alterar o valor de um breakpoint, basta alterar o valor nos
7
+ tokens e o mixin irá se encarregar de atualizar todos os media queries que utilizam aquele breakpoint.
8
+
9
+ Exemplo de uso:
10
+
11
+
12
+
13
+ */
14
+ @mixin media-breakpoint($breakpointName) {
15
+ $mediaQuery: map-get($breakpoints, $breakpointName);
16
+ @if ($mediaQuery == null) {
17
+ @content;
18
+ } @else {
19
+ @media #{$mediaQuery} {
20
+ @content;
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,127 @@
1
+ // -------------------------------------------------------------------------------------------------------------------
2
+ // @ Typography mixins
3
+ // -------------------------------------------------------------------------------------------------------------------
4
+ // Outputs the shorthand `font` CSS property, based on a set of typography values. Falls back to
5
+ // the individual properties if a value that isn't allowed in the shorthand is passed in.
6
+ @mixin matcha-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family) {
7
+ // If any of the values are set to `inherit`, we can't use the shorthand
8
+ // so we fall back to passing in the individual properties.
9
+ @if (
10
+ $font-size
11
+ ==inherit or
12
+ $font-weight
13
+ ==inherit or
14
+ $line-height
15
+ ==inherit or
16
+ $font-family
17
+ ==inherit or
18
+ $font-size
19
+ ==null or
20
+ $font-weight
21
+ ==null or
22
+ $line-height
23
+ ==null or
24
+ $font-family
25
+ ==null
26
+ ) {
27
+ font-size: $font-size;
28
+ font-weight: $font-weight;
29
+ line-height: $line-height;
30
+ font-family: $font-family;
31
+ } @else {
32
+ // Otherwise use the shorthand `font`, because it's the least amount of bytes. Note
33
+ // that we need to use interpolation for `font-size/line-height` in order to prevent
34
+ // Sass from dividing the two values.
35
+ font: $font-weight #{$font-size}/#{$line-height} $font-family;
36
+ }
37
+ }
38
+
39
+ // Converts a typography level into CSS styles.
40
+ @mixin matcha-typography-level-to-styles($config, $level) {
41
+ $font-size: matcha-font-size($config, $level);
42
+ $font-weight: matcha-font-weight($config, $level);
43
+ $line-height: matcha-line-height($config, $level);
44
+ $font-family: matcha-font-family($config, $level);
45
+
46
+ @include matcha-typography-font-shorthand($font-size, $font-weight, $line-height, $font-family);
47
+ letter-spacing: matcha-letter-spacing($config, $level);
48
+ }
49
+
50
+ // Represents a collection of typography levels.
51
+ // Defaults come from https://material.io/guidelines/style/typography.html
52
+ // Note: The spec doesn't mention letter spacing. The values here come from
53
+ // eyeballing it until it looked exactly like the spec examples.
54
+
55
+ // h1 40px headline - bold
56
+ // h2 32px title - medium
57
+ // h3 24px subheading - bold
58
+ // h4 20px subheading - bold
59
+
60
+ // h5-5 18px '' - bold
61
+ // h6 18px '' - bold
62
+ // h7 18px '' - bold
63
+ // h8 12px '' - bold
64
+
65
+ // m 16px body - regular
66
+ // p 14px body - regular
67
+ // small 12px caption - regular
68
+ @mixin matcha-reset-typography($config) {
69
+ // Headings — aligned with Figma matcha/text/* styles
70
+ .h1,
71
+ h1 {
72
+ @include matcha-typography-level-to-styles($config, display);
73
+ }
74
+
75
+ .h2,
76
+ h2 {
77
+ @include matcha-typography-level-to-styles($config, headline);
78
+ }
79
+
80
+ .h3,
81
+ h3 {
82
+ @include matcha-typography-level-to-styles($config, title-lg);
83
+ }
84
+
85
+ .h4,
86
+ h4 {
87
+ @include matcha-typography-level-to-styles($config, title-md);
88
+ }
89
+
90
+ .h5,
91
+ h5 {
92
+ @include matcha-typography-level-to-styles($config, title-sm);
93
+ }
94
+
95
+ .h6,
96
+ h6 {
97
+ @include matcha-typography-level-to-styles($config, label-sm);
98
+ }
99
+
100
+ .text-bold,
101
+ strong,
102
+ b {
103
+ font-weight: matcha-font-weight($config, title-lg);
104
+ }
105
+
106
+ & {
107
+ font-family: matcha-font-family($config, body-md);
108
+ }
109
+
110
+ button {
111
+ font-family: matcha-font-family($config, button-md);
112
+ font-weight: matcha-font-weight($config, button-md);
113
+ }
114
+
115
+ input[type="text"],
116
+ input[type="email"],
117
+ input[type="tel"],
118
+ input[type="url"],
119
+ input[type="password"],
120
+ input[type="number"],
121
+ input[type="search"],
122
+ textarea {
123
+ font-family: matcha-font-family($config, body-md);
124
+ font-weight: matcha-font-weight($config, body-md);
125
+ font-size: px-to-rem(16px);
126
+ }
127
+ }
@@ -0,0 +1,438 @@
1
+ @mixin base-body-reset-theme($theme) {
2
+ $background: map-get($theme, background);
3
+ $foreground: map-get($theme, foreground);
4
+
5
+ & {
6
+ *, *:before, *:after {
7
+ box-sizing: border-box;
8
+ }
9
+ color: getForeground($theme);
10
+ background: map-get($background, background);
11
+ }
12
+ }
13
+
14
+ /*
15
+ How to use
16
+ @import '~matcha-ds/assets/scss/components/matcha-typography.scss';
17
+ @include base-typography-theme($theme);
18
+ */
19
+ // -----------------------------------------------------------------------------------------------------
20
+ // Typography [Theme]
21
+ // -----------------------------------------------------------------------------------------------------
22
+ @mixin base-typography-theme($theme) {
23
+ $is-dark: map-get($theme, is-dark);
24
+ $accent: map-get($theme, accent);
25
+ $warn: map-get($theme, warn);
26
+ $primary: map-get($theme, primary);
27
+ $background: map-get($theme, background);
28
+ $foreground: map-get($theme, foreground);
29
+
30
+ a {
31
+ color: map-get($accent, default);
32
+ }
33
+
34
+ pre > code{
35
+ color: getBlue($theme);
36
+ }
37
+ code {
38
+ &:not(.highlight) {
39
+ background-color: map-get($background, card);
40
+ }
41
+ }
42
+
43
+ .changelog {
44
+ .entry {
45
+ background-color: map-get($background, card);
46
+ }
47
+ }
48
+
49
+ .text-boxed {
50
+ @if ($is-dark) {
51
+ background-color: rgba(255, 255, 255, 0.12);
52
+ color: rgba(255, 255, 255, 0.54);
53
+ } @else {
54
+ background-color: rgba(0, 0, 0, 0.12);
55
+ color: rgba(0, 0, 0, 0.54);
56
+ }
57
+ }
58
+
59
+ .text-primary {
60
+ color: map-get($primary, default) !important;
61
+ }
62
+
63
+ .text-warn {
64
+ color: map-get($warn, default) !important;
65
+ }
66
+
67
+ .text-label {
68
+ color: map-get($foreground, label) !important;
69
+ }
70
+
71
+ .text-placeholder {
72
+ color: map-get($foreground, placeholder) !important;
73
+ }
74
+
75
+ .text-basic {
76
+ color: map-get($foreground, foreground) !important;
77
+ }
78
+
79
+ // Changelog
80
+ .changelog {
81
+ .entry {
82
+ .groups {
83
+ .breaking-changes {
84
+ .title {
85
+ background: map-get($background, red);
86
+ }
87
+ }
88
+
89
+ .new {
90
+ .title {
91
+ background: map-get($background, green);
92
+ }
93
+ }
94
+
95
+ .improved {
96
+ .title {
97
+ background: map-get($background, purple);
98
+ }
99
+ }
100
+
101
+ .fixed {
102
+ .title {
103
+ background: map-get($background, blue);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+ // Code
111
+ code {
112
+ &:not(.highlight) {
113
+ color: map-get($background, blue);
114
+ }
115
+ }
116
+
117
+ // Mark
118
+ mark {
119
+ background: map-get($background, yellow);
120
+ }
121
+
122
+ // Message boxes
123
+ .matcha-message-box,
124
+ .matcha-msg-box,
125
+ .message-box {
126
+ background-color: getPrimaryAlpha($theme);
127
+ border-left-color: map-get($primary, default);
128
+ color: map-get($foreground, foreground);
129
+
130
+ &.error,
131
+ &.warning,
132
+ &.success,
133
+ &.info,
134
+ &--error,
135
+ &--warning,
136
+ &--success,
137
+ &--info {
138
+ color: map-get($foreground, foreground);
139
+ }
140
+
141
+ &--error,
142
+ &.error {
143
+ background-color: map-get($background, red-alpha);
144
+ border-left-color: map-get($background, red);
145
+ }
146
+
147
+ &--warning,
148
+ &.warning {
149
+ background-color: map-get($background, yellow-alpha);
150
+ border-left-color: map-get($background, yellow);
151
+ }
152
+
153
+ &--success,
154
+ &.success {
155
+ background-color: map-get($background, green-alpha);
156
+ border-left-color: map-get($background, green);
157
+ }
158
+
159
+ &--info,
160
+ &.info {
161
+ background-color: map-get($background, blue-alpha);
162
+ border-left-color: map-get($background, blue);
163
+ }
164
+ }
165
+ }
166
+
167
+ // -----------------------------------------------------------------------------------------------------
168
+ // Typography [Style]
169
+ // -----------------------------------------------------------------------------------------------------
170
+ // Paragraph
171
+ .par-xs,
172
+ .p-tiny {
173
+ font-size: 12px !important;
174
+ }
175
+
176
+ .par-sm,
177
+ .par-p,
178
+ .p-small {
179
+ font-size: 14px !important;
180
+ }
181
+
182
+ .par-md,
183
+ .par-m,
184
+ .p-medium {
185
+ font-size: 16px !important;
186
+ }
187
+
188
+ .par-lg,
189
+ .p-large {
190
+ font-size: 20px !important;
191
+ }
192
+
193
+ .par-xl,
194
+ .p-huge {
195
+ font-size: 24px !important;
196
+ }
197
+ .text-medium,
198
+ .text-semibold {
199
+ font-weight: 500;
200
+ }
201
+
202
+ .text-regular,
203
+ .text-book {
204
+ font-weight: 400;
205
+ }
206
+
207
+ .text-bold {
208
+ font-weight: 700;
209
+ }
210
+
211
+ .text-black {
212
+ font-weight: 900;
213
+ }
214
+
215
+ .matcha-message-box,
216
+ .matcha-msg-box,
217
+ .message-box {
218
+ padding: 16px;
219
+ border-left: 6px solid;
220
+
221
+ &.error,
222
+ &.warning,
223
+ &.success,
224
+ &.info,
225
+ &--error,
226
+ &--warning,
227
+ &--success,
228
+ &--info {
229
+ padding: 16px;
230
+ border-left: 6px solid;
231
+ }
232
+ }
233
+
234
+ .title {
235
+ line-height: 24px;
236
+ margin: 0 0 16px 0;
237
+ display: flex;
238
+ align-items: center;
239
+
240
+ .title-bullet {
241
+ margin: 0px 8px 0 0;
242
+ display: inline-block;
243
+ position: relative;
244
+ border-radius: 10px;
245
+ }
246
+
247
+ .title-content {
248
+ line-height: 20px;
249
+ display: -webkit-box;
250
+ -webkit-line-clamp: 2;
251
+ overflow: hidden;
252
+ text-overflow: ellipsis;
253
+ word-break: break-word;
254
+ white-space: initial;
255
+ -webkit-box-orient: vertical;
256
+ text-transform: capitalize;
257
+ }
258
+ }
259
+
260
+ .title-sm {
261
+ display: block;
262
+ overflow: hidden;
263
+ text-overflow: ellipsis;
264
+ white-space: nowrap;
265
+ }
266
+
267
+
268
+ // -----------------------------------------------------------------------------------------------------
269
+ // @ Container helpers
270
+ // -----------------------------------------------------------------------------------------------------
271
+ .matcha-container {
272
+ width: 100%;
273
+ max-width: 1128px;
274
+ margin-left:auto;
275
+ margin-right:auto;
276
+ }
277
+
278
+ // -----------------------------------------------------------------------------------------------------
279
+ // @ Combo helpers
280
+ // -----------------------------------------------------------------------------------------------------
281
+ .combo-image-text,
282
+ .combo-checkbox-text,
283
+ .combo-icon-text,
284
+ .combo-double-line {
285
+ display: flex;
286
+ align-items: center;
287
+ }
288
+
289
+ .combo-image-text .side-text,
290
+ .combo-checkbox-text .side-text,
291
+ .combo-icon-text .side-text,
292
+ .combo-double-line .side-text {
293
+ display: inline-block;
294
+ width: calc(100% - 48px);
295
+ line-height: 20px;
296
+ -webkit-line-clamp: 2;
297
+ overflow: hidden;
298
+ text-overflow: ellipsis;
299
+ word-break: break-word;
300
+ white-space: initial;
301
+ -webkit-box-orient: vertical;
302
+ }
303
+
304
+ .combo-image-text .avatar,
305
+ .combo-checkbox-text .avatar,
306
+ .combo-icon-text .avatar,
307
+ .combo-double-line .avatar {
308
+ border-radius: 50px;
309
+ min-width: 24px;
310
+ min-height: 24px;
311
+ }
312
+
313
+ .one-line-text {
314
+ line-height: 20px;
315
+ display: -webkit-box;
316
+ -webkit-line-clamp: 1;
317
+ }
318
+
319
+ .two-lines-text {
320
+ line-height: 20px;
321
+ display: -webkit-box;
322
+ -webkit-line-clamp: 2;
323
+ }
324
+
325
+ .three-lines-text {
326
+ line-height: 20px;
327
+ display: -webkit-box;
328
+ -webkit-line-clamp: 3;
329
+ }
330
+
331
+ .four-lines-text {
332
+ line-height: 20px;
333
+ display: -webkit-box;
334
+ -webkit-line-clamp: 4;
335
+ }
336
+
337
+ .five-lines-text {
338
+ line-height: 20px;
339
+ display: -webkit-box;
340
+ -webkit-line-clamp: 5;
341
+ }
342
+
343
+ .one-line-text,
344
+ .two-lines-text,
345
+ .three-lines-text,
346
+ .four-lines-text,
347
+ .five-lines-text {
348
+ overflow: hidden;
349
+ text-overflow: ellipsis;
350
+ word-break: break-word;
351
+ white-space: initial;
352
+ -webkit-box-orient: vertical;
353
+ }
354
+ .word-break {
355
+ word-break: break-word
356
+ }
357
+ .word-break-all {
358
+ word-break: break-all
359
+ }
360
+
361
+ // -----------------------------------------------------------------------------------------------------
362
+ // @ Letter spacing helpers
363
+ // -----------------------------------------------------------------------------------------------------
364
+ .letter-spacing-condensed {
365
+ letter-spacing: -.08em !important;
366
+ }
367
+ .letter-spacing-normal {
368
+ letter-spacing: normal !important;
369
+ }
370
+ .letter-spacing-relaxed {
371
+ letter-spacing: .08em !important;
372
+ }
373
+
374
+ // -----------------------------------------------------------------------------------------------------
375
+ // @ Cursor helpers
376
+ // -----------------------------------------------------------------------------------------------------
377
+ .pointer-events-all {
378
+ pointer-events: all
379
+ }
380
+ .pointer-events-none {
381
+ pointer-events: none
382
+ }
383
+
384
+ // -----------------------------------------------------------------------------------------------------
385
+ // @ Clear Shadows
386
+ // -----------------------------------------------------------------------------------------------------
387
+ .flatten,
388
+ .no-shadow,
389
+ .shadow-none {
390
+ box-shadow: none !important;
391
+ }
392
+
393
+ // -----------------------------------------------------------------------------------------------------
394
+ // @ Enable/Disable
395
+ // -----------------------------------------------------------------------------------------------------
396
+ .disabled {
397
+ transition: opacity 100ms linear;
398
+ opacity: .5;
399
+ pointer-events: none
400
+ }
401
+ .enabled {
402
+ transition: opacity 100ms linear;
403
+ opacity: 1
404
+ }
405
+
406
+
407
+ // -----------------------------------------------------------------------------------------------------
408
+ // @ Hover - Show/Hide
409
+ // -----------------------------------------------------------------------------------------------------
410
+ .on-hover-show:hover {
411
+ opacity: 1;
412
+ }
413
+ .on-hover-hide:hover {
414
+ opacity: 0;
415
+ }
416
+
417
+ // -----------------------------------------------------------------------------------------------------
418
+ // @ Float
419
+ // -----------------------------------------------------------------------------------------------------
420
+ .clearfix::after {
421
+ content: "";
422
+ clear: both;
423
+ display: table;
424
+ }
425
+ .left {
426
+ float: left;
427
+ }
428
+ .right {
429
+ float: right;
430
+ }
431
+ .list,
432
+ .list-style-none {
433
+ list-style: none;
434
+ }
435
+ .list-style-disc,
436
+ .list-style-dot {
437
+ list-style: disc;
438
+ }