@softheon/armature 17.31.1 → 17.31.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 (40) hide show
  1. package/ag-grid-components/package.json +3 -0
  2. package/assets/styles/_b2b-variables.scss +78 -0
  3. package/assets/styles/_b2c-variables.scss +43 -0
  4. package/assets/styles/_typography.scss +11 -11
  5. package/assets/styles/_variables.scss +2 -1
  6. package/assets/styles/b2b/_b2b-buttons.scss +16 -0
  7. package/assets/styles/b2b/_b2b-inputs-override.scss +174 -0
  8. package/assets/styles/b2b/_b2b-override.scss +23 -0
  9. package/assets/styles/b2b/_b2b-spinner.scss +29 -0
  10. package/assets/styles/b2b/_b2b-tabs.scss +116 -0
  11. package/assets/styles/material-override/_button-toggle-group.scss +1 -1
  12. package/assets/styles/material-override/_button.scss +12 -12
  13. package/assets/styles/material-override/_form-field.scss +15 -8
  14. package/assets/styles/material-override/_menu.scss +1 -1
  15. package/assets/styles/material-override/_switch.scss +2 -2
  16. package/assets/styles/material-override/_tooltip.scss +7 -7
  17. package/assets/styles/sof-styles-b2b.scss +78 -0
  18. package/assets/styles/sof-styles.scss +11 -7
  19. package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +2 -2
  20. package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +2 -2
  21. package/esm2022/lib/base-components/sof-alert/sof-alert.component.mjs +3 -3
  22. package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +2 -2
  23. package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +2 -2
  24. package/esm2022/lib/base-components/sof-handle/sof-handle.component.mjs +2 -2
  25. package/esm2022/lib/base-components/sof-input-stepper/sof-input-stepper.component.mjs +2 -2
  26. package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +2 -2
  27. package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +2 -2
  28. package/esm2022/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +2 -2
  29. package/esm2022/lib/base-components/sof-utility-button/sof-utility-button.component.mjs +2 -2
  30. package/esm2022/lib/header/components/sof-header/sof-header.component.mjs +5 -3
  31. package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +2 -2
  32. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.mjs +3 -3
  33. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.mjs +3 -3
  34. package/esm2022/lib/navigation/components/sof-sub-navigation/sof-sub-navigation.component.mjs +2 -2
  35. package/esm2022/lib/navigation/components/sof-tabs-navigation/sof-tabs.component.mjs +2 -2
  36. package/fesm2022/softheon-armature-ag-grid-components.mjs +2 -2
  37. package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
  38. package/fesm2022/softheon-armature.mjs +34 -32
  39. package/fesm2022/softheon-armature.mjs.map +1 -1
  40. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/softheon-armature-ag-grid-components.mjs"
3
+ }
@@ -0,0 +1,78 @@
1
+ @use "./variables" as vars;
2
+
3
+ // Fonts - B2B
4
+ $sof-b2b-font-family-heading: 'Inter', sans-serif !important;
5
+ $sof-b2b-font-family-body: 'Inter', sans-serif !important;
6
+ $sof-b2b-font-family: 'Inter', sans-serif !important;
7
+ $sof-b2b-base-font-size: 14px;
8
+ $sof-b2b-base-font-size-body-1: 14px;
9
+ $sof-b2b-base-font-size-body-2: 12px;
10
+
11
+ // Component - Dialog
12
+ $sof-b2b-dialog-header-font-weight: 300 !important;
13
+ $sof-b2b-dialog-header-letter-spacing: 0.25;
14
+
15
+ // Component - Input
16
+ $sof-b2b-input-height-default: 36px;
17
+ $sof-b2b-input-icon-font-size: 1.3em;
18
+ $sof-b2b-input-icon-font-size: #{$sof-b2b-input-height-default} - 4px;
19
+
20
+ // Component - Button
21
+ $sof-b2b-btn-font-size: 16px;
22
+ $sof-b2b-btn-height: 36px;
23
+ $sof-b2b-btn-height-sm: 28px;
24
+ $sof-b2b-btn-height-md: 36px;
25
+ $sof-b2b-btn-height-lg: 56px;
26
+
27
+ // Component - Input Stepper
28
+ $sof-b2b-input-stepper-height: #{$sof-b2b-input-height-default};
29
+ $sof-b2b-input-focused-border-width: 2px;
30
+ $sof-b2b-input-border-color-light-theme: #f3f3f3;
31
+ $sof-b2b-input-bg-color-light-theme: #FAFAFA;
32
+ $sof-b2b-input-bg-color-dark-theme: #424242;
33
+ $sof-b2b-input-bg-color: #{$sof-b2b-input-bg-color-light-theme};
34
+
35
+ :root {
36
+ // common base variables
37
+ --sftn-font-family: #{$sof-b2b-font-family};
38
+ --sftn-font-family-heading: #{$sof-b2b-font-family-heading};
39
+ --sftn-font-family-body: #{$sof-b2b-font-family-body};
40
+ --sftn-base-font-size: #{$sof-b2b-base-font-size};
41
+ --sftn-base-font-size-body-1: #{$sof-b2b-base-font-size-body-1};
42
+ --sftn-base-font-size-body-2: #{$sof-b2b-base-font-size-body-2};
43
+ --sftn-btn-height: #{$sof-b2b-btn-height};
44
+ --sftn-btn-font-size: #{$sof-b2b-btn-font-size};
45
+
46
+ // component - dialog
47
+ --sftn-dialog-header-fw: #{sof-b2b-dialog-header-font-weight};
48
+ --sftn-dialog-header-ls: #{$sof-b2b-dialog-header-letter-spacing};
49
+ --sftn-b2b-dialog-body-padding: 8px 24px 24px 24px;
50
+
51
+ // component - button
52
+ --sftn-btn-height-sm: #{$sof-b2b-btn-height-sm};
53
+ --sftn-btn-height-md: #{$sof-b2b-btn-height-md};
54
+ --sftn-btn-height-lg: #{$sof-b2b-btn-height-lg};
55
+ --sftn-btn-font-size-sm: 14px;
56
+ --sftn-btn-font-size-md: 14px;
57
+ --sftn-btn-font-size-lg: 16px;
58
+
59
+ // component -input
60
+ --sftn-input-icon-font-size: #{$sof-b2b-input-icon-font-size};
61
+ --sftn-input-height-default: #{$sof-b2b-input-height-default};
62
+ --sftn-input-height-sm: 28px;
63
+ --sftn-input-height-md: 36px;
64
+ --sftn-input-height-lg: 56px;
65
+ --sftn-input-suffix-icon-height: #{$sof-b2b-input-icon-font-size};
66
+ --sftn-input-bg-color: #{$sof-b2b-input-bg-color};
67
+ --sftn-input-border-width: #{$sof-b2b-input-focused-border-width};
68
+ --sftn-input-stepper-height: #{$sof-b2b-input-stepper-height};
69
+ --sftn-b2b-input-border-color: #{$sof-b2b-input-border-color-light-theme};
70
+
71
+ // component - tabs
72
+ --sftn-b2b-tabs-header-bg-color: transparent;
73
+ --sftn-b2b-tabs-active-bg-color: transparent;
74
+ --sftn-b2b-tabs-inactive-bg-color: transparent;
75
+
76
+ // component - spinner
77
+ --sftn-b2b-spinner-font-size: 12px;
78
+ }
@@ -0,0 +1,43 @@
1
+ @use "./variables" as vars;
2
+
3
+ // Fonts - B2C
4
+ $sof-b2c-font-family-heading: "Merriweather", serif !important;
5
+ $sof-b2c-font-family-body: 'Poppins', sans-serif !important;
6
+ $sof-b2c-font-family: 'Poppins', monospace !important;
7
+ $sof-b2c-base-font-size: 16px;
8
+ $sof-b2c-base-font-size-body-1: 16px;
9
+ $sof-b2c-base-font-size-body-2: 14px;
10
+ $sof-b2c-btn-height: 40px;
11
+ $sof-b2c-btn-font-size: 16px;
12
+
13
+ // Component - Dialog
14
+ $sof-b2c-dialog-header-font-weight: 500;
15
+ $sof-b2c-dialog-header-letter-spacing: unset;
16
+
17
+ // Component - Input
18
+ $sof-b2c-input-stepper-height: 56px;
19
+ $sof-b2c-input-focused-border-width: 3px;
20
+ $sof-b2c-input-bg-color: transparent;
21
+ $sof-b2c-input-icon-font-size: 1.5em;
22
+
23
+ :root {
24
+ // base variables
25
+ --sftn-font-family: #{$sof-b2c-font-family};
26
+ --sftn-font-family-heading: #{$sof-b2c-font-family-heading};
27
+ --sftn-font-family-body: #{$sof-b2c-font-family-body};
28
+ --sftn-base-font-size: #{$sof-b2c-base-font-size};
29
+ --sftn-base-font-size-body-1: #{$sof-b2c-base-font-size-body-1};
30
+ --sftn-base-font-size-body-2: #{$sof-b2c-base-font-size-body-2};
31
+ --sftn-btn-height: #{$sof-b2c-btn-height};
32
+ --sftn-btn-font-size: #{$sof-b2c-btn-font-size};
33
+
34
+ // component - dialog
35
+ --sftn-dialog-header-fw: #{$sof-b2c-dialog-header-font-weight};
36
+ --sftn-dialog-header-ls: #{$sof-b2c-dialog-header-letter-spacing};
37
+
38
+ // component - input
39
+ --sftn-input-stepper-height: #{$sof-b2c-input-stepper-height};
40
+ --sftn-input-border-width: #{$sof-b2c-input-focused-border-width};
41
+ --sftn-input-bg-color: #{$sof-b2c-input-bg-color};
42
+ --sftn-input-icon-font-size: #{$sof-b2c-input-icon-font-size};
43
+ }
@@ -3,9 +3,9 @@
3
3
  @use "./variables" as vars;
4
4
 
5
5
  body {
6
- font-family: "Poppins", sans-serif !important;
6
+ font-family: var(--sftn-font-family-body, sans-serif) !important;
7
7
  letter-spacing: 0px !important;
8
- font-size: 14px;
8
+ font-size: var(--sftn-base-font-size);
9
9
  margin: 0 !important;
10
10
  }
11
11
 
@@ -18,18 +18,18 @@ body {
18
18
  }
19
19
 
20
20
  .merriweather {
21
- font-family: "Merriweather", serif !important;
21
+ font-family: var(--sftn-font-family-heading, sans-serif) !important;
22
22
  }
23
23
 
24
24
  .poppins {
25
- font-family: "Poppins", sans-serif !important;
25
+ font-family: var(--sftn-font-family, sans-serif) !important;
26
26
  }
27
27
 
28
28
  .h1, [h1], h1,
29
29
  .h2, [h2], h2,
30
30
  .h3, [h3], h3,
31
31
  .h4, [h4], h4 {
32
- font-family: "Poppins", sans-serif;
32
+ font-family: var(--sftn-font-family, sans-serif);
33
33
  font-style: normal;
34
34
  font-weight: normal;
35
35
  letter-spacing: 0px;
@@ -60,7 +60,7 @@ body {
60
60
 
61
61
 
62
62
  .body1, .body2 {
63
- font-family: "Poppins", sans-serif;
63
+ font-family: var(--sftn-font-family-body, sans-serif);
64
64
  font-style: normal;
65
65
  font-weight: normal;
66
66
  letter-spacing: 0px;
@@ -68,16 +68,16 @@ body {
68
68
  }
69
69
 
70
70
  .body1 {
71
- font-size: 16px;
71
+ font-size: var(--sftn-base-font-size-body-1);
72
72
  }
73
73
 
74
74
  .body2 {
75
- font-size: 14px;
75
+ font-size: var(--sftn-base-font-size-body-2);
76
76
  }
77
77
 
78
78
  mat-form-field {
79
79
  &.body1, &.body2 {
80
- font-family: "Poppins", sans-serif;
80
+ font-family: var(--sftn-font-family-body, sans-serif) !important;
81
81
  font-style: normal;
82
82
  font-weight: normal;
83
83
  letter-spacing: 0px;
@@ -85,11 +85,11 @@ mat-form-field {
85
85
  }
86
86
 
87
87
  &.body1 {
88
- font-size: 16px;
88
+ font-size: var(--sftn-base-font-size-body-1);
89
89
  }
90
90
 
91
91
  &.body2 {
92
- font-size: 14px;
92
+ font-size: var(--sftn-base-font-size-body-2);
93
93
  }
94
94
  }
95
95
 
@@ -3,7 +3,7 @@ $screen-xs-start: 0px;
3
3
  $screen-xs-end: 599px;
4
4
  $screen-sm-start: 600px;
5
5
  $screen-sm-end: 959px;
6
- $screen-md-start: 960px;
6
+ $screen-md-start: 960px;
7
7
  $screen-md-end: 1279px;
8
8
  $screen-lg-start: 1280px;
9
9
  $screen-lg-end: 1919px;
@@ -18,6 +18,7 @@ $mat-gt-md: 1280px;
18
18
 
19
19
  // text emphasis (per design)
20
20
  $text-high-emphasis: rgba(0, 0, 0, 0.87);
21
+ $text-medium-high-emphasis: rgba(0, 0, 0, 0.8); //#333333
21
22
  $text-medium-emphasis: rgba(0, 0, 0, 0.6);
22
23
  $text-low-emphasis: rgba(0, 0, 0, 0.38);
23
24
  $text-inverse: #ffffff;
@@ -0,0 +1,16 @@
1
+ /** Buttons size attribute */
2
+ .sof-button-v2,
3
+ .sof-button-icon-v2 {
4
+ &.sof-button-v2[size="sm"] {
5
+ height: var(--sftn-btn-height-sm) !important;
6
+ font-size: var(--sftn-btn-font-size-sm) !important;
7
+ }
8
+ &.sof-button-v2[size="md"] {
9
+ height: var(--sftn-btn-height-md) !important;
10
+ font-size: var(--sftn-btn-font-size-md) !important;
11
+ }
12
+ &.sof-button-v2[size="lg"] {
13
+ height: var(--sftn-btn-height-lg) !important;
14
+ font-size: var(--sftn-btn-font-size-lg) !important;
15
+ }
16
+ }
@@ -0,0 +1,174 @@
1
+ /** Input Mat CSS Override */
2
+
3
+ :root {
4
+ --mdc-outlined-text-field-outline-color: var(--sftn-b2b-input-border-color, #f3f3f3); // Default border color
5
+ --mdc-outlined-text-field-outline-width: 1px; // Border thickness
6
+ }
7
+
8
+ .mat-mdc-form-field:not(.table-search-field) {
9
+ padding-top: 16px;
10
+ }
11
+
12
+ .mat-mdc-form-field.table-search-field {
13
+ --mat-form-field-container-height: 56px !important;
14
+ }
15
+
16
+ .mat-mdc-form-field-infix {
17
+ min-height: var(--sftn-input-height-default) !important;
18
+ padding-top: 0px !important;
19
+ padding-bottom: 0px !important;
20
+ display: flex;
21
+ align-items: center;
22
+ }
23
+
24
+ .mat-mdc-input-element {
25
+ height: var(--sftn-input-height-default) !important;
26
+ line-height: var(--sftn-input-height-default) !important;
27
+ }
28
+
29
+ .mat-mdc-form-field-error-wrapper {
30
+ padding-left: 6px !important;
31
+ }
32
+
33
+ .mat-mdc-floating-label {
34
+ translate: 0 -8px;
35
+ scale: 1;
36
+ margin-left: -4px;
37
+ padding-left: 8px;
38
+
39
+ &.mdc-floating-label--float-above {
40
+ translate: 0 -10px !important;
41
+ padding-left: 0;
42
+ }
43
+ }
44
+
45
+ .mdc-notched-outline > .mdc-notched-outline__notch {
46
+ margin-left: -9px !important;
47
+ border-top: 1px solid transparent !important;
48
+ border-top-color: var(--mdc-outlined-text-field-outline-color, #f3f3f3) !important;
49
+ border-top-width: 1px !important;
50
+ }
51
+
52
+ .mdc-text-field--outlined:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):not(.mdc-text-field--invalid):hover .mdc-notched-outline > .mdc-notched-outline__notch {
53
+ border-top-color: var(--mdc-outlined-text-field-hover-outline-color, var(--mat-sys-on-surface)) !important;
54
+ }
55
+
56
+ .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined {
57
+ height: var(--sftn-input-height-default, 36px) !important;
58
+
59
+ &:not(.mdc-text-field--invalid).mdc-text-field--focused {
60
+ .mdc-notched-outline > .mdc-notched-outline__notch {
61
+ border-top-color: var(--primary-color-500-parts) !important;
62
+ border-top-width: var(--mdc-outlined-text-field-focus-outline-width, 2px) !important;
63
+
64
+ > .mat-mdc-floating-label {
65
+ translate: -1px -11px !important;
66
+ }
67
+ }
68
+ }
69
+ }
70
+
71
+ mat-form-field.sof-form-field.mat-form-field-invalid div.mdc-notched-outline > .mdc-notched-outline__notch {
72
+ border-top-color: var(--error-color-500-parts) !important;
73
+ > .mat-mdc-floating-label {
74
+ translate: 1px -11px !important;
75
+ }
76
+ }
77
+
78
+ // Date Picker Override
79
+ .mat-datepicker-toggle {
80
+ .mat-mdc-icon-button.mat-mdc-button-base {
81
+ --mdc-icon-button-state-layer-size: var(--sftn-input-suffix-icon-height, 36px) !important;
82
+ width: var(--mdc-icon-button-state-layer-size);
83
+ height: var(--mdc-icon-button-state-layer-size);
84
+ padding: 12px;
85
+ display: flex;
86
+ align-items: center;
87
+ justify-content: center;
88
+ box-sizing: border-box;
89
+ padding: 2px;
90
+ }
91
+ }
92
+
93
+ // Input Stepper Override
94
+ div.input-stepper-container {
95
+ > button.sof-flat-icon-button.mdc-button {
96
+ margin-top: 16px;
97
+ height: var(--sftn-b2b-input-stepper-height) !important;
98
+ width: var(--sftn-b2b-input-stepper-height) !important;
99
+ min-width: var(--sftn-b2b-input-stepper-height) !important;
100
+ }
101
+ }
102
+
103
+ // Dynamic Sof-Input heights
104
+ .sof-input-sm {
105
+ .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined {
106
+ height: var(--sftn-input-height-sm) !important;
107
+ max-height: var(--sftn-input-height-sm) !important;
108
+ }
109
+ .mat-mdc-form-field-infix {
110
+ min-height: var(--sftn-input-height-sm) !important;
111
+ }
112
+ .mat-mdc-input-element {
113
+ height: var(--sftn-input-height-sm) !important;
114
+ line-height: var(--sftn-input-height-sm) !important;
115
+ }
116
+ }
117
+
118
+ .sof-input-md {
119
+ .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined {
120
+ height: var(--sftn-input-height-md) !important;
121
+ max-height: var(--sftn-input-height-md) !important;
122
+ }
123
+ .mat-mdc-form-field-infix {
124
+ min-height: var(--sftn-input-height-md) !important;
125
+ }
126
+ .mat-mdc-input-element {
127
+ height: var(--sftn-input-height-md) !important;
128
+ line-height: var(--sftn-input-height-md) !important;
129
+ }
130
+ }
131
+
132
+ .sof-input-lg {
133
+ .mat-mdc-text-field-wrapper.mdc-text-field.mdc-text-field--outlined {
134
+ height: var(--sftn-input-height-lg) !important;
135
+ max-height: var(--sftn-input-height-lg) !important;
136
+ }
137
+ .mat-mdc-form-field-infix {
138
+ min-height: var(--sftn-input-height-lg) !important;
139
+ }
140
+ .mat-mdc-input-element {
141
+ height: var(--sftn-input-height-lg) !important;
142
+ line-height: var(--sftn-input-height-lg) !important;
143
+ }
144
+ }
145
+
146
+ // Experimental - Inline label
147
+ .sof-inline-label {
148
+ display: flex;
149
+ align-items: center;
150
+
151
+ &:before {
152
+ padding-left: 16px;
153
+ padding-right: 8px;
154
+ content: attr(data-text);
155
+ font-size: 12px;
156
+ line-height: reset;
157
+ }
158
+ }
159
+
160
+ /** TODO - Example html for experimental inline input:
161
+ <div>
162
+ <mat-form-field appearance="outline">
163
+ <span
164
+ matPrefix
165
+ class="sof-inline-label"
166
+ data-text="Tenant"
167
+ aria-label="Tenant"
168
+ >
169
+ <i class="ph ph-database"></i>
170
+ </span>
171
+ <input matInput />
172
+ </mat-form-field>
173
+ </div>
174
+ */
@@ -0,0 +1,23 @@
1
+ /** Sof Modal Override */
2
+
3
+ .sof-dialog-container,
4
+ .mat-mdc-dialog-panel {
5
+ .dialog-buttons-container {
6
+ align-items: end !important;
7
+ place-content: end !important;
8
+ gap: 8px;
9
+
10
+ button {
11
+ min-width: 100px;
12
+ margin-right: 0 !important;
13
+ }
14
+ }
15
+
16
+ .dialog-header-container {
17
+ border-bottom-color: transparent !important;
18
+ }
19
+
20
+ .dialog-body-container {
21
+ padding: var(--sftn-b2b-dialog-body-padding, 24px) !important;
22
+ }
23
+ }
@@ -0,0 +1,29 @@
1
+ .sftn-b2b-loading-overlay {
2
+ position: absolute;
3
+ top: 50%;
4
+ left: 50%;
5
+ transform: translate(-50%, -50%);
6
+ padding: 20px;
7
+ border-radius: 8px;
8
+ display: flex;
9
+ flex-direction: column;
10
+ align-items: center;
11
+ z-index: 10;
12
+
13
+ .sftn-b2b-loading-spinner {
14
+ width: 25px;
15
+ height: 25px;
16
+ border: 2px solid var(--neutral-color-200-parts, rgba(0, 0, 0, 0.2));
17
+ border-top: 2px solid var(--primary-color-500-parts, #0078D4);
18
+ border-radius: 50%;
19
+ animation: spin 1.2s cubic-bezier(0.2, 0.1, 0.2, 0.7) infinite;
20
+ margin-bottom: 1px;
21
+ }
22
+ .sftn-b2b-loading-text {
23
+ color: var(--primary-color-500-parts, #0078D4);
24
+ font-size: var(--sftn-b2b-spinner-font-size);
25
+ font-weight: 500;
26
+ font-family: var(--sftn-font-family);
27
+ }
28
+ }
29
+
@@ -0,0 +1,116 @@
1
+ .mat-mdc-tab-group.sof-tabs-b2b {
2
+ .mat-mdc-tab-header {
3
+ --mat-tab-header-label-text-font: var(--sftn-font-family);
4
+ --mat-tab-header-label-text-size: 14px;
5
+ --mat-tab-header-label-text-tracking: 0.5px;
6
+ --mat-tab-header-label-text-line-height: 36px;
7
+ --mat-tab-header-label-text-weight: 500;
8
+ }
9
+
10
+ .mat-mdc-tab-label-container {
11
+ background: var(--sftn-b2b-tabs-header-bg-color);
12
+ }
13
+
14
+ .mdc-tab {
15
+ padding-left: 16px !important;
16
+ padding-right: 16px !important;
17
+ min-width: 48px !important;
18
+ background: var(--sftn-b2b-tabs-inactive-bg-color);
19
+
20
+ &.mat-mdc-tab.mdc-tab--active {
21
+ background: var(--sftn-b2b-tabs-active-bg-color);
22
+ .sof-tabs-b2b--text {
23
+ font-weight: 600 !important;
24
+ letter-spacing: .4px !important;
25
+ }
26
+ }
27
+ }
28
+
29
+ &.narrow {
30
+ .mat-mdc-tab-header {
31
+ --mdc-secondary-navigation-tab-container-height: 36px;
32
+ }
33
+
34
+ .mdc-tab {
35
+ padding-left: 16px !important;
36
+ padding-right: 16px !important;
37
+ }
38
+ }
39
+
40
+ &:not(.no-animation) {
41
+ .mat-mdc-tab-body {
42
+ animation: sof-animation-fade-out 0.4s ease-in;
43
+ opacity: 0;
44
+ }
45
+
46
+ .mat-mdc-tab-body.mat-mdc-tab-body-active {
47
+ animation: sof-animation-fade-in 0.4s ease-out;
48
+ opacity: 1;
49
+ }
50
+ }
51
+
52
+ .sof-tabs-b2b--label {
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ gap: 8px;
57
+
58
+ .sof-tabs-b2b--icon {
59
+ font-size: 16px;
60
+ }
61
+ }
62
+
63
+ &.icons-only-inactive {
64
+ .mdc-tab.mat-mdc-tab:not(.mdc-tab--active) {
65
+ .hidden-not-active {
66
+ opacity: 0;
67
+ width: 0;
68
+ overflow: hidden;
69
+ visibility: hidden;
70
+ margin-left: calc(8px * -1);
71
+ }
72
+
73
+ .sof-tabs-b2b--text {
74
+ opacity: 0;
75
+ width: 0;
76
+ overflow: hidden;
77
+ visibility: hidden;
78
+ margin-left: calc(8px * -1);
79
+ }
80
+ }
81
+
82
+ .mat-mdc-tab.mdc-tab.mdc-tab--active {
83
+ .sof-tabs-b2b--text {
84
+ opacity: 1;
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ @keyframes sof-animation-fade-in {
91
+ 0% {
92
+ opacity: 0;
93
+ }
94
+
95
+ 50% {
96
+ opacity: 0;
97
+ }
98
+
99
+ 100% {
100
+ opacity: 1;
101
+ }
102
+ }
103
+
104
+ @keyframes sof-animation-fade-out {
105
+ 0% {
106
+ opacity: 1;
107
+ }
108
+
109
+ 50% {
110
+ opacity: 0;
111
+ }
112
+
113
+ 100% {
114
+ opacity: 0;
115
+ }
116
+ }
@@ -61,7 +61,7 @@ mat-button-toggle-group {
61
61
 
62
62
  .mat-button-toggle-label-content {
63
63
  text-transform: capitalize !important;
64
- font-family: "Poppins" !important;
64
+ font-family: var(--sftn-font-family, sans-serif) !important;
65
65
  font-weight: 600 !important;
66
66
  font-size: 16px !important;
67
67
  line-height: 24px !important;
@@ -2,15 +2,15 @@
2
2
  @use "../arm-theme" as theme;
3
3
  @use "../variables" as vars;
4
4
 
5
- // Base 'sof-button-v2'
5
+ // Base 'sof-button-v2'
6
6
  .sof-button-v2 {
7
7
  padding: 8px 16px !important;
8
- height: 40px !important;
8
+ height: var(--sftn-btn-height) !important;
9
9
  border-radius: 8px !important;
10
- font-family: Poppins !important;
10
+ font-family: var(--sftn-font-family, sans-serif) !important;
11
11
  font-style: normal !important;
12
12
  font-weight: 500 !important;
13
- font-size: 16px !important;
13
+ font-size: var(--sftn-btn-font-size) !important;
14
14
  line-height: normal !important;
15
15
  letter-spacing: 0px !important;
16
16
  text-transform: capitalize !important;
@@ -35,7 +35,7 @@
35
35
  }
36
36
  }
37
37
 
38
- // Base 'sof-button-icon-v2'
38
+ // Base 'sof-button-icon-v2'
39
39
  .sof-button-icon-v2 {
40
40
  border-radius: 8px !important;
41
41
  height: 40px !important;
@@ -55,7 +55,7 @@
55
55
  }
56
56
  }
57
57
 
58
- /**
58
+ /**
59
59
  Button v2 variations -
60
60
  3 [theme] ( 'primary', 'neutral', 'destroy' )
61
61
  Each [theme] has 4 [emphasis] ( 'solid', 'secondary', 'floating', 'contained' )
@@ -63,7 +63,7 @@
63
63
  */
64
64
  .sof-button-v2,
65
65
  .sof-button-icon-v2 {
66
- // solid
66
+ // solid
67
67
  &[emphasis="solid"] {
68
68
  &[theme="primary"] {
69
69
  background: mat.get-color-from-palette(theme.$arm-primary, 500) !important;
@@ -112,7 +112,7 @@
112
112
  }
113
113
  }
114
114
  }
115
- // secondary
115
+ // secondary
116
116
  &[emphasis="secondary"] {
117
117
  &[theme="primary"], &[theme="neutral"], &[theme="destroy"] {
118
118
  background: vars.$surface-color-level-one-light !important;
@@ -202,7 +202,7 @@
202
202
  }
203
203
  }
204
204
  }
205
- // contained
205
+ // contained
206
206
  &[emphasis="contained"] {
207
207
  &[theme="primary"], &[theme="neutral"], &[theme="destroy"] {
208
208
  box-sizing: border-box !important;
@@ -226,7 +226,7 @@
226
226
  }
227
227
  }
228
228
  }
229
- // focus ring for all
229
+ // focus ring for all
230
230
  &[theme="primary"], &[theme="neutral"], &[theme="destroy"] {
231
231
  &:focus {
232
232
  outline: 3px solid !important;
@@ -239,7 +239,7 @@
239
239
  outline-color: mat.get-color-from-palette(theme.$arm-error, 300) !important;
240
240
  }
241
241
  }
242
- // Remove mat-ripple effects
242
+ // Remove mat-ripple effects
243
243
  span.mat-mdc-button-persistent-ripple {
244
244
  display: none !important;
245
245
  }
@@ -248,7 +248,7 @@
248
248
  }
249
249
  }
250
250
 
251
- // Mat Notification badge
251
+ // Mat Notification badge
252
252
  button .mat-badge-content {
253
253
  background: vars.$surface-color-inverse-light !important;
254
254
  background-color: vars.$surface-color-inverse-light !important;