@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,78 @@
1
+ // =============================================================================
2
+ // matcha-spinner.scss — Spinner loading indicator
3
+ // Aligned with Figma matcha/spinner: Size(XS/SM/MD/LG/XL)
4
+ // =============================================================================
5
+
6
+ @mixin generate-matcha-spinner-size-classes($helper-breakpoints) {
7
+ @each $breakpoint, $materialBreakpoint in $helper-breakpoints {
8
+ @include media-breakpoint($materialBreakpoint) {
9
+ $infix: if($materialBreakpoint == null, "", "-#{$breakpoint}");
10
+
11
+ &[size#{$infix}="xs"],
12
+ &[size#{$infix}="tiny"] {
13
+ svg { width: px-to-rem(24px); height: px-to-rem(24px); }
14
+ }
15
+
16
+ &[size#{$infix}="sm"],
17
+ &[size#{$infix}="small"] {
18
+ svg { width: px-to-rem(32px); height: px-to-rem(32px); }
19
+ }
20
+
21
+ &[size#{$infix}="md"],
22
+ &[size#{$infix}="medium"] {
23
+ svg { width: px-to-rem(40px); height: px-to-rem(40px); }
24
+ }
25
+
26
+ &[size#{$infix}="lg"],
27
+ &[size#{$infix}="large"] {
28
+ svg { width: px-to-rem(48px); height: px-to-rem(48px); }
29
+ }
30
+
31
+ &[size#{$infix}="xl"],
32
+ &[size#{$infix}="huge"] {
33
+ svg { width: px-to-rem(56px); height: px-to-rem(56px); }
34
+ }
35
+ }
36
+ }
37
+
38
+ &:not([size]) {
39
+ svg { width: px-to-rem(40px); height: px-to-rem(40px); }
40
+ }
41
+ }
42
+
43
+ // Theme mixin (kept from original — color loop)
44
+ @mixin matcha-spinner-theme($theme) {
45
+ $color-functions: (
46
+ red: getRed, pink: getPink, purple: getPurple, deep-purple: getDeepPurple,
47
+ indigo: getIndigo, blue: getBlue, light-blue: getLightBlue, cyan: getCyan,
48
+ teal: getTeal, green: getGreen, light-green: getLightGreen, lime: getLime,
49
+ yellow: getYellow, amber: getAmber, orange: getOrange, deep-orange: getDeepOrange,
50
+ brown: getBrown, grey: getGrey, blue-grey: getBlueGrey,
51
+ primary: getPrimary, accent: getAccent, success: getSuccess,
52
+ warn: getWarn, danger: getDanger, info: getInfo,
53
+ );
54
+
55
+ matcha-spinner {
56
+ @include generate-matcha-spinner-size-classes($helper-breakpoints);
57
+
58
+ @each $colorName, $colorFn in $color-functions {
59
+ &[color="#{'' + $colorName}"] {
60
+ svg circle {
61
+ stroke: call(#{$colorFn}, $theme);
62
+ }
63
+ }
64
+ }
65
+
66
+ &:not([color]) {
67
+ svg circle {
68
+ stroke: var(--matcha-color-accent, #{getAccent($theme)});
69
+ }
70
+ }
71
+ }
72
+
73
+ @media (prefers-reduced-motion: reduce) {
74
+ matcha-spinner svg {
75
+ animation-duration: 0s;
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,177 @@
1
+ @use "sass:map";
2
+
3
+ // =============================================================================
4
+ // matcha-stepper.scss — Step progress indicator
5
+ // Aligned with Figma matcha/stepper/step:
6
+ // Estado(4: Completo, Ativo, Pendente, Disabled) × Tamanho(2: SM, MD)
7
+ // Connector lines between steps via CSS
8
+ // =============================================================================
9
+
10
+ @mixin matcha-stepper-theme($theme) {
11
+ $is-dark: map.get($theme, is-dark);
12
+
13
+ matcha-stepper {
14
+ // ── Step indicators ──
15
+ .step-indicator-completo {
16
+ background: var(--matcha-color-accent, #{getAccent($theme)});
17
+ color: var(--matcha-color-accent-contrast, #{getAccentContrast($theme)});
18
+ }
19
+
20
+ .step-indicator-ativo {
21
+ background: var(--matcha-color-fg, #{getForeground($theme)});
22
+ color: var(--matcha-color-bg, #{getBackground($theme)});
23
+ }
24
+
25
+ .step-indicator-pendente,
26
+ .step-indicator-disabled {
27
+ background: var(--matcha-color-disabled, #{getDisabled($theme)});
28
+ color: var(--matcha-color-bg, #{getBackground($theme)});
29
+ }
30
+
31
+ // ── Labels ──
32
+ .step-label-completo {
33
+ color: var(--matcha-color-accent, #{getAccent($theme)});
34
+ }
35
+
36
+ .step-label-ativo {
37
+ color: var(--matcha-color-fg, #{getForeground($theme)});
38
+ }
39
+
40
+ .step-label-pendente,
41
+ .step-label-disabled {
42
+ color: var(--matcha-color-text-placeholder, #{getBlueGrey($theme)});
43
+ }
44
+
45
+ // ── Connector lines ──
46
+ .step-connector {
47
+ background: var(--matcha-color-disabled, #{getDisabled($theme)});
48
+ }
49
+
50
+ .step-connector-complete {
51
+ background: var(--matcha-color-accent, #{getAccent($theme)});
52
+ }
53
+
54
+ // ── Focus ──
55
+ .step-item:focus-visible {
56
+ outline: var(--matcha-state-focus-ring-width, 2px) solid var(--matcha-color-accent, #{getAccent($theme)});
57
+ outline-offset: var(--matcha-state-focus-ring-offset, 2px);
58
+ border-radius: var(--matcha-radius-md, 4px);
59
+ }
60
+ }
61
+ }
62
+
63
+ // ── Layout ──────────────────────────────────────────────────────────────────
64
+
65
+ matcha-stepper {
66
+ display: flex;
67
+ width: 100%;
68
+
69
+ // ── Horizontal (default) ──
70
+ &:not([orientation="vertical"]) {
71
+ flex-direction: row;
72
+ align-items: center;
73
+ gap: var(--matcha-space-200, 16px);
74
+ }
75
+
76
+ // ── Vertical ──
77
+ &[orientation="vertical"] {
78
+ flex-direction: column;
79
+ gap: var(--matcha-space-200, 16px);
80
+ }
81
+ }
82
+
83
+ // ── Step item ──
84
+ .step-item {
85
+ display: flex;
86
+ align-items: center;
87
+ gap: var(--matcha-space-100, 8px);
88
+ cursor: default;
89
+ white-space: nowrap;
90
+
91
+ &.step-clickable {
92
+ cursor: pointer;
93
+ }
94
+
95
+ &.step-disabled {
96
+ opacity: 0.5;
97
+ pointer-events: none;
98
+ }
99
+ }
100
+
101
+ // ── Indicator circle ──
102
+ .step-indicator {
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ border-radius: 50%;
107
+ flex-shrink: 0;
108
+ font-family: var(--matcha-font-family);
109
+
110
+ &.step-sm {
111
+ width: var(--matcha-icon-size-md, 24px);
112
+ height: var(--matcha-icon-size-md, 24px);
113
+ font-size: var(--matcha-text-body-md, 14px);
114
+ font-weight: var(--matcha-weight-regular, 400);
115
+ }
116
+
117
+ &.step-md {
118
+ width: var(--matcha-space-400, 32px);
119
+ height: var(--matcha-space-400, 32px);
120
+ font-size: var(--matcha-text-title-sm, 16px);
121
+ font-weight: var(--matcha-weight-semibold, 600);
122
+ }
123
+
124
+ matcha-icon {
125
+ flex-shrink: 0;
126
+ }
127
+ }
128
+
129
+ // ── Label ──
130
+ .step-label {
131
+ font-family: var(--matcha-font-family);
132
+
133
+ &.step-sm {
134
+ font-size: var(--matcha-text-body-md, 14px);
135
+ line-height: var(--matcha-leading-body-md, 20px);
136
+ font-weight: var(--matcha-weight-regular, 400);
137
+ }
138
+
139
+ &.step-md {
140
+ font-size: var(--matcha-text-title-sm, 16px);
141
+ line-height: var(--matcha-leading-title-sm, 22px);
142
+ font-weight: var(--matcha-weight-semibold, 600);
143
+ }
144
+
145
+ // Ativo SM gets medium weight
146
+ .step-item-ativo &.step-sm {
147
+ font-weight: var(--matcha-weight-medium, 500);
148
+ }
149
+ }
150
+
151
+ // ── Connector line ──
152
+ .step-connector {
153
+ flex: 1;
154
+ height: var(--matcha-border-thin, 2px);
155
+ min-width: var(--matcha-space-200, 16px);
156
+
157
+ // Vertical connector
158
+ matcha-stepper[orientation="vertical"] & {
159
+ width: var(--matcha-border-thin, 2px);
160
+ height: var(--matcha-space-200, 16px);
161
+ min-width: auto;
162
+ flex: none;
163
+ margin-left: calc(var(--matcha-icon-size-md, 24px) / 2 - 1px);
164
+ }
165
+
166
+ matcha-stepper[orientation="vertical"].step-md & {
167
+ margin-left: calc(var(--matcha-space-400, 32px) / 2 - 1px);
168
+ }
169
+ }
170
+
171
+ // ── Reduced motion ──────────────────────────────────────────────────────────
172
+ @media (prefers-reduced-motion: reduce) {
173
+ .step-indicator,
174
+ .step-connector {
175
+ transition: none;
176
+ }
177
+ }
@@ -0,0 +1,41 @@
1
+ @mixin matcha-table-cell-theme($theme) {
2
+ .matcha-table{
3
+ .td-with-image,
4
+ .td-with-checkbox,
5
+ .td-with-icon,
6
+ .td-duble-line {
7
+ display: flex;
8
+ align-items: center;
9
+
10
+ .td-text-aside {
11
+ display: inline-block;
12
+ width: calc(100% - 48px);
13
+ }
14
+
15
+ .avatar {
16
+ width: 48px;
17
+ min-width: 48px;
18
+ height: 48px;
19
+ line-height: 48px;
20
+ border-width: 0;
21
+ margin-right: 24px;
22
+ }
23
+
24
+ .thumbnail {
25
+ width: 72px;
26
+ min-width: 72px;
27
+ height: 48px;
28
+ border-radius: var(--matcha-radius-lg, 8px);
29
+ margin: 0 8px 0 0;
30
+
31
+ &-portrait {
32
+ width: 56px;
33
+ min-width: 56px;
34
+ height: 72px;
35
+ border-radius: var(--matcha-radius-lg, 8px);
36
+ margin: 0 8px 0 0;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }