@softheon/armature 17.17.0 → 17.18.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 (127) hide show
  1. package/README.md +6 -67
  2. package/assets/styles/{arm-theme.scss → _arm-theme.scss} +1 -0
  3. package/assets/styles/_responsive.scss +85 -0
  4. package/assets/styles/_typography.scss +180 -0
  5. package/assets/styles/_utility.scss +118 -29
  6. package/assets/styles/_variables.scss +2 -1
  7. package/assets/styles/deprecated/_button-deprecated.scss +1123 -0
  8. package/assets/styles/deprecated/_dialog-deprecated.scss +33 -0
  9. package/assets/styles/deprecated/_material-override-deprecated.scss +41 -0
  10. package/assets/styles/deprecated/_table-deprecated.scss +108 -0
  11. package/assets/styles/deprecated/_tooltip-deprecated.scss +93 -0
  12. package/assets/styles/material-override/_button-toggle-group.scss +122 -0
  13. package/assets/styles/material-override/_button.scss +266 -0
  14. package/assets/styles/material-override/_calendar.scss +85 -0
  15. package/assets/styles/material-override/_checkbox.scss +130 -0
  16. package/assets/styles/material-override/_chip.scss +254 -0
  17. package/assets/styles/material-override/_form-field.scss +137 -0
  18. package/assets/styles/material-override/_radio-button.scss +96 -0
  19. package/assets/styles/material-override/_slider.scss +102 -0
  20. package/assets/styles/material-override/_switch.scss +204 -0
  21. package/assets/styles/material-override/_tooltip.scss +2 -0
  22. package/assets/styles/sof-styles.scss +59 -3483
  23. package/esm2022/ag-grid-components/src/ag-grid-components.module.mjs +5 -5
  24. package/esm2022/ag-grid-components/src/column-options-modal/column-options.component.mjs +4 -4
  25. package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +4 -4
  26. package/esm2022/ag-grid-components/src/table-cell/table-cell.component.mjs +4 -4
  27. package/esm2022/lib/alert-banner/alert-banner.module.mjs +5 -5
  28. package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +4 -4
  29. package/esm2022/lib/alert-banner/services/alert-banner.service.mjs +4 -4
  30. package/esm2022/lib/armature.module.mjs +14 -14
  31. package/esm2022/lib/base-components/base-component.module.mjs +5 -5
  32. package/esm2022/lib/base-components/confirm-address/sof-confirm-address/compare-address-pipe/compare-address.pipe.mjs +4 -4
  33. package/esm2022/lib/base-components/confirm-address/sof-confirm-address/sof-confirm-address.component.mjs +4 -4
  34. package/esm2022/lib/base-components/confirm-address/sof-confirm-address-county-change/sof-confirm-address-county-change.component.mjs +4 -4
  35. package/esm2022/lib/base-components/sof-alert/sof-alert.component.mjs +4 -4
  36. package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +4 -4
  37. package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +4 -4
  38. package/esm2022/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +4 -4
  39. package/esm2022/lib/base-components/sof-handle/sof-handle.component.mjs +4 -4
  40. package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +5 -5
  41. package/esm2022/lib/base-components/sof-input-stepper/sof-input-stepper.component.mjs +4 -4
  42. package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +8 -5
  43. package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +4 -4
  44. package/esm2022/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +5 -5
  45. package/esm2022/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +4 -4
  46. package/esm2022/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +4 -4
  47. package/esm2022/lib/base-components/sof-utility-button/sof-utility-button.component.mjs +5 -5
  48. package/esm2022/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +4 -4
  49. package/esm2022/lib/component-save-print/services/component-save-print.service.mjs +4 -4
  50. package/esm2022/lib/component-save-print/sof-ar-component-save-print.module.mjs +5 -5
  51. package/esm2022/lib/core/client-generated/api/session.service.mjs +4 -4
  52. package/esm2022/lib/core/components/app-template/app-template.component.mjs +4 -4
  53. package/esm2022/lib/core/initializer/initializer.service.mjs +4 -4
  54. package/esm2022/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +4 -4
  55. package/esm2022/lib/core/services/authorization.service.mjs +4 -4
  56. package/esm2022/lib/core/services/banner.service.mjs +4 -4
  57. package/esm2022/lib/core/services/base-config.service.mjs +4 -4
  58. package/esm2022/lib/core/services/default-config.service.mjs +4 -4
  59. package/esm2022/lib/core/services/federated-module.service.mjs +4 -4
  60. package/esm2022/lib/core/services/session.service.mjs +4 -4
  61. package/esm2022/lib/core/services/user-entity.service.mjs +4 -4
  62. package/esm2022/lib/distributed-cache/client-generated/api/cache.service.mjs +4 -4
  63. package/esm2022/lib/distributed-cache/distributed-cache.module.mjs +5 -5
  64. package/esm2022/lib/distributed-cache/services/server-cache.service.mjs +4 -4
  65. package/esm2022/lib/error/components/error-common/error-common.component.mjs +4 -4
  66. package/esm2022/lib/error/error.module.mjs +5 -5
  67. package/esm2022/lib/faq/components/faq/faq.component.mjs +4 -4
  68. package/esm2022/lib/faq/faq.module.mjs +5 -5
  69. package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +4 -4
  70. package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +5 -5
  71. package/esm2022/lib/footer/components/footer/footer.component.mjs +4 -4
  72. package/esm2022/lib/footer/components/site-map/site-map.component.mjs +4 -4
  73. package/esm2022/lib/footer/footer.module.mjs +5 -5
  74. package/esm2022/lib/forms/components/sof-address/sof-address.component.mjs +4 -4
  75. package/esm2022/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +4 -4
  76. package/esm2022/lib/forms/directives/date-input-filter/date-input-filter.directive.mjs +4 -4
  77. package/esm2022/lib/forms/directives/input-trim/input-trim.directive.mjs +4 -4
  78. package/esm2022/lib/forms/directives/letters-characters/letters-characters.directive.mjs +4 -4
  79. package/esm2022/lib/forms/directives/letters-only/letters-only.directive.mjs +4 -4
  80. package/esm2022/lib/forms/directives/numbers-only/numbers-only.directive.mjs +4 -4
  81. package/esm2022/lib/forms/forms.module.mjs +5 -5
  82. package/esm2022/lib/forms/pipes/phone-format.pipe.mjs +4 -4
  83. package/esm2022/lib/forms/services/alert.service.mjs +4 -4
  84. package/esm2022/lib/header/components/header/header.component.mjs +4 -4
  85. package/esm2022/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +4 -4
  86. package/esm2022/lib/header/components/sof-header-portal/sof-header-portal.component.mjs +4 -4
  87. package/esm2022/lib/header/components/sof-header-portal/user-initials-pipe/user-initials.pipe.mjs +4 -4
  88. package/esm2022/lib/header/header.module.mjs +5 -5
  89. package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +6 -6
  90. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-hierarchy/sof-breadcrumbs-hierarchy.component.mjs +4 -4
  91. package/esm2022/lib/navigation/components/sof-breadcrumbs/sof-breadcrumbs-history/sof-breadcrumbs-history.component.mjs +4 -4
  92. package/esm2022/lib/navigation/components/sof-navigation-panel/sof-nav-panel.component.mjs +4 -4
  93. package/esm2022/lib/navigation/components/sof-sub-navigation/sof-sub-navigation.component.mjs +4 -4
  94. package/esm2022/lib/navigation/components/sof-tabs-navigation/sof-tabs.component.mjs +4 -4
  95. package/esm2022/lib/navigation/navigation.module.mjs +5 -5
  96. package/esm2022/lib/oauth/oauth.module.mjs +5 -5
  97. package/esm2022/lib/oauth/services/hybrid-saml-oauth.service.mjs +4 -4
  98. package/esm2022/lib/rbac/directives/rbac-action.directive.mjs +4 -4
  99. package/esm2022/lib/rbac/rbac.module.mjs +5 -5
  100. package/esm2022/lib/rbac/services/ar-role-nav.service.mjs +4 -4
  101. package/esm2022/lib/rbac/services/oauth2-role.service.mjs +4 -4
  102. package/esm2022/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +4 -4
  103. package/esm2022/lib/resize-panels/resize-panels.module.mjs +5 -5
  104. package/esm2022/lib/rum/rum.module.mjs +5 -5
  105. package/esm2022/lib/rum/services/rum.service.mjs +4 -4
  106. package/esm2022/lib/rum/services/shared-error.service.mjs +4 -4
  107. package/esm2022/lib/rum/services/softheon-error-handler.service.mjs +4 -4
  108. package/esm2022/lib/saml/components/redirect-saml/redirect-saml.component.mjs +4 -4
  109. package/esm2022/lib/saml/saml.module.mjs +5 -5
  110. package/esm2022/lib/saml/services/entry/sso-gateway-entry.service.mjs +4 -4
  111. package/esm2022/lib/saml/services/send-off/saml.service.mjs +4 -4
  112. package/esm2022/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +4 -4
  113. package/esm2022/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +4 -4
  114. package/esm2022/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +4 -4
  115. package/esm2022/lib/sof-pipe/sof-pipe.module.mjs +5 -5
  116. package/esm2022/lib/theming/directives/css-override.directive.mjs +4 -4
  117. package/esm2022/lib/theming/services/theme.service.mjs +4 -4
  118. package/esm2022/lib/theming/theme.module.mjs +6 -6
  119. package/fesm2022/softheon-armature-ag-grid-components.mjs +13 -13
  120. package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -1
  121. package/fesm2022/softheon-armature.mjs +314 -311
  122. package/fesm2022/softheon-armature.mjs.map +1 -1
  123. package/lib/armature.module.d.ts +4 -4
  124. package/lib/base-components/sof-modal/sof-modal.component.d.ts +3 -0
  125. package/lib/theming/theme.module.d.ts +1 -1
  126. package/package.json +1 -1
  127. package/assets/styles/material-overrides.scss +0 -361
@@ -0,0 +1,33 @@
1
+
2
+ // @deprecated replace with "sof-modal" component
3
+
4
+ .mat-mdc-dialog-title {
5
+ font-style: normal !important;
6
+ font-weight: 400 !important;
7
+ font-size: 24px !important;
8
+ line-height: 36px !important;
9
+ letter-spacing: normal !important;
10
+ padding: 0px !important;
11
+ display: flex !important;
12
+ }
13
+
14
+ .mat-mdc-dialog-content {
15
+ display: block !important;
16
+ max-height: 65vh !important;
17
+ padding: 0px !important;
18
+ overflow: auto !important;
19
+ }
20
+
21
+ .mat-mdc-dialog-container {
22
+ display: block !important;
23
+ background: #ffffff !important;
24
+ border: 1px solid #dfdfdf !important;
25
+ box-sizing: border-box !important;
26
+ border-radius: 10px !important;
27
+ overflow: auto !important;
28
+ outline: 0 !important;
29
+ width: 100% !important;
30
+ height: 100% !important;
31
+ min-height: inherit !important;
32
+ max-height: inherit !important;
33
+ }
@@ -0,0 +1,41 @@
1
+ @use "@angular/material" as mat;
2
+ @use "../arm-theme" as theme;
3
+
4
+ // @deprecated currently no replacement
5
+
6
+ mat-card {
7
+ &.mat-mdc-card.item-list {
8
+ box-shadow: 0px 1px 7px rgba(165, 165, 165, 0.25) !important;
9
+ border-radius: 10px !important;
10
+ overflow: overlay !important;
11
+ max-height: 322px !important;
12
+ padding: 0px !important;
13
+ }
14
+ }
15
+
16
+ .mat-primary .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option.mdc-list-item--disabled) {
17
+ color: mat.get-color-from-palette(theme.$arm-primary, 500) !important;
18
+ }
19
+
20
+ mat-optgroup label,
21
+ mat-optgroup mat-option {
22
+ font-family: "Poppins" !important;
23
+ }
24
+
25
+ .mat-card-mobile-header-override {
26
+ background: mat.get-color-from-palette(theme.$arm-neutral, 300);
27
+ padding: 16px;
28
+ margin: 0 -16px;
29
+ }
30
+
31
+ .mat-card-mobile-action-buttons-footer-override {
32
+ border-top: 1px solid rgba(0, 0, 0, 0.05);
33
+ padding-top: 16px;
34
+ margin-top: 36px;
35
+ }
36
+
37
+ .mat-card-mobile-action-buttons-override {
38
+ button {
39
+ transform: scale(0.9);
40
+ }
41
+ }
@@ -0,0 +1,108 @@
1
+ @use "@angular/material" as mat;
2
+ @use "../arm-theme" as theme;
3
+ @use "../variables" as vars;
4
+
5
+ // @deprecated replace with ag-grid table component
6
+
7
+ @mixin mobile-responsive-table {
8
+ max-height: none !important;
9
+ overflow-y: auto !important;
10
+
11
+ .mat-mdc-table {
12
+ border: 0;
13
+ vertical-align: middle;
14
+
15
+ .mat-mdc-header-row {
16
+ min-height: 0;
17
+ height: 0;
18
+ }
19
+
20
+ .mat-mdc-header-cell {
21
+ border: 10px solid;
22
+ clip: rect(0 0 0 0);
23
+ height: 1px;
24
+ min-height: 1px;
25
+ margin: -1px;
26
+ padding: 0;
27
+ position: absolute;
28
+ width: 1px;
29
+ }
30
+
31
+ .mat-mdc-row {
32
+ padding: 10px 20px 0 20px;
33
+ border-bottom: 5px solid #ddd;
34
+ display: block;
35
+ min-height: 1px;
36
+ height: auto;
37
+ }
38
+
39
+ td.mat-mdc-cell:first-of-type {
40
+ height: 48px;
41
+ }
42
+
43
+ .mat-mdc-cell {
44
+ display: block;
45
+ font-size: initial;
46
+ height: auto;
47
+ padding: 8px 0;
48
+ border-bottom-color: transparent;
49
+ text-align: initial;
50
+
51
+ &.action-buttons {
52
+ border-top: 1px solid mat.get-color-from-palette(theme.$arm-neutral, 300);
53
+ margin-top: 24px;
54
+ display: flex;
55
+ flex-wrap: wrap;
56
+ justify-content: flex-start;
57
+ padding-bottom: 0;
58
+ margin-bottom: -8px;
59
+
60
+ &:before {
61
+ content: none;
62
+ }
63
+ }
64
+
65
+ &:before {
66
+ content: attr(data-label) ": ";
67
+ float: left;
68
+ font-weight: 600;
69
+ padding-right: 5px;
70
+ }
71
+
72
+ &:last-child {
73
+ border-bottom: 0;
74
+ }
75
+
76
+ &:first-child {
77
+ margin-top: 4%;
78
+ }
79
+
80
+ &:first-of-type {
81
+ padding-left: 0;
82
+ margin: -10px -20px 8px -20px;
83
+ padding: 16px 20px 16px 20px;
84
+ background: mat.get-color-from-palette(theme.$arm-neutral, 300);
85
+ box-sizing: border-box;
86
+ height: auto;
87
+ }
88
+ }
89
+
90
+ td.mat-mdc-cell.action-buttons {
91
+ margin-bottom: 8px;
92
+ }
93
+ }
94
+
95
+ @content;
96
+ }
97
+
98
+ @media screen and (max-width: vars.$mat-lt-md) {
99
+ .mat-responsive-table-override-sm {
100
+ @include mobile-responsive-table;
101
+ }
102
+ }
103
+
104
+ @media screen and (max-width: vars.$mat-lt-lg) {
105
+ .mat-responsive-table-override-md {
106
+ @include mobile-responsive-table;
107
+ }
108
+ }
@@ -0,0 +1,93 @@
1
+ @use "../variables" as vars;
2
+
3
+ // @deprecated replace with "/material-override/tooltip"
4
+
5
+ .mdc-tooltip__surface {
6
+ color: vars.$surface-color-default-light !important;
7
+ font-size: 14px !important;
8
+ font-style: normal !important;
9
+ font-weight: 100 !important;
10
+ font-family: Poppins !important;
11
+ line-height: normal !important;
12
+ background-color: vars.$surface-color-inverse-light !important;
13
+ border-radius: 4px !important;
14
+ text-align: center !important;
15
+ position: relative;
16
+ padding-left: 4px !important;
17
+ padding-right: 4px !important;
18
+ padding-bottom: 0px !important;
19
+ padding-top: 1px !important;
20
+
21
+ &::after {
22
+ width: 0;
23
+ height: 0;
24
+ content: '';
25
+ position: absolute;
26
+ }
27
+
28
+ &.below {
29
+ overflow: initial;
30
+
31
+ &:after {
32
+ top: -0.5rem;
33
+ right: calc(50% - 0.3rem);
34
+ transform: rotate(0);
35
+ border-left: 0.25rem solid transparent;
36
+ border-right: 0.25rem solid transparent;
37
+ border-bottom: 0.5rem solid vars.$surface-color-inverse-light !important;
38
+
39
+ }
40
+ }
41
+
42
+ &.above {
43
+ overflow: initial;
44
+ margin-bottom: 1.25rem;
45
+
46
+ &:after {
47
+ bottom: -0.5rem;
48
+ right: calc(50% - 0.3rem);
49
+ transform: rotate(180deg);
50
+ border-left: 0.25rem solid transparent;
51
+ border-right: 0.25rem solid transparent;
52
+ border-bottom: 0.5rem solid vars.$surface-color-inverse-light !important;
53
+
54
+ }
55
+ }
56
+
57
+ &.right {
58
+ overflow: initial;
59
+ margin-left: 0.75rem;
60
+
61
+ &:after {
62
+ left: -0.40rem;
63
+ top: calc(50% - 0.50rem);
64
+ transform: rotate(270deg);
65
+ border-left: 0.3rem solid transparent;
66
+ border-right: 0.3rem solid transparent;
67
+ border-bottom: 1rem solid vars.$surface-color-inverse-light !important;
68
+
69
+ }
70
+ }
71
+
72
+ &.left {
73
+ overflow: initial;
74
+ margin-right: 0.75rem;
75
+
76
+ &:after {
77
+ right: -0.40rem;
78
+ top: calc(50% - 0.50rem);
79
+ transform: rotate(90deg);
80
+ border-left: 0.3rem solid transparent;
81
+ border-right: 0.3rem solid transparent;
82
+ border-top: 0.3rem solid transparent;
83
+ border-bottom: 1rem solid vars.$surface-color-inverse-light !important;
84
+
85
+ }
86
+ }
87
+ }
88
+
89
+ ::ng-deep .cdk-overlay-container .cdk-overlay-pane {
90
+ &.mat-mdc-tooltip-panel {
91
+ transform: none !important;
92
+ }
93
+ }
@@ -0,0 +1,122 @@
1
+ @use "@angular/material" as mat;
2
+ @use "../arm-theme" as theme;
3
+ @use "../variables" as vars;
4
+
5
+ mat-button-toggle-group {
6
+ &.sof-toggle-group {
7
+ height: 48px !important;
8
+
9
+ &.mat-button-toggle-group.mat-button-toggle-group-appearance-standard {
10
+ border: none !important;
11
+ border-radius: 0px !important;
12
+ }
13
+
14
+ &.full-width {
15
+ .toggle-left {
16
+ width: 100% !important;
17
+ }
18
+
19
+ .toggle-middle {
20
+ width: 100% !important;
21
+ }
22
+
23
+ .toggle-right {
24
+ width: 100% !important;
25
+ }
26
+ }
27
+
28
+ .mat-button-toggle-label-content {
29
+ text-transform: uppercase !important;
30
+ font-family: "Poppins" !important;
31
+ font-style: normal !important;
32
+ font-weight: 600 !important;
33
+ font-size: 16px !important;
34
+ line-height: 24px !important;
35
+ letter-spacing: 0.05em !important;
36
+ text-align: center !important;
37
+ color: vars.$text-high-emphasis !important;
38
+
39
+ // remove selected check indicator
40
+ .mat-pseudo-checkbox {
41
+ display: none !important;
42
+ }
43
+ }
44
+
45
+ .mat-button-toggle-button {
46
+ height: 100% !important;
47
+ }
48
+
49
+ .mat-button-toggle-checked {
50
+ background-color: mat.get-color-from-palette(theme.$arm-primary, 100) !important;
51
+ }
52
+
53
+ .toggle-left {
54
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
55
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
56
+ border-left: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
57
+ border-right: 1px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
58
+ border-radius: 6px 0px 0px 6px !important;
59
+ width: 120px !important;
60
+ }
61
+
62
+ .toggle-middle {
63
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
64
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
65
+ border-left: 1px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
66
+ border-right: 1px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
67
+ border-radius: 0px 0px 0px 0px !important;
68
+ width: 120px !important;
69
+ }
70
+
71
+ .toggle-right {
72
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
73
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
74
+ border-left: 1px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
75
+ border-right: 2px solid mat.get-color-from-palette(theme.$arm-primary, 500) !important;
76
+ border-radius: 0px 6px 6px 0px !important;
77
+ width: 120px !important;
78
+ }
79
+
80
+ .mat-button-toggle-disabled {
81
+ &.mat-button-toggle-checked {
82
+ background-color: mat.get-color-from-palette(theme.$arm-neutral, 200) !important;
83
+ }
84
+
85
+ &.toggle-left {
86
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
87
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
88
+ border-left: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
89
+ border-right: 1px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
90
+ border-radius: 6px 0px 0px 6px !important;
91
+ }
92
+
93
+ &.toggle-middle {
94
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
95
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
96
+ border-left: 1px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
97
+ border-right: 1px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
98
+ border-radius: 0px 0px 0px 0px !important;
99
+ }
100
+
101
+ &.toggle-right {
102
+ border-top: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
103
+ border-bottom: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
104
+ border-left: 1px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
105
+ border-right: 2px solid mat.get-color-from-palette(theme.$arm-neutral, 400) !important;
106
+ border-radius: 0px 6px 6px 0px !important;
107
+ }
108
+ }
109
+ }
110
+
111
+ &.sof-toggle-group[size="small"] {
112
+ height: 36px !important;
113
+ }
114
+
115
+ &.sof-toggle-group[size="medium"] {
116
+ height: 48px !important;
117
+ }
118
+
119
+ &.sof-toggle-group[size="large"] {
120
+ height: 56px !important;
121
+ }
122
+ }
@@ -0,0 +1,266 @@
1
+ @use "@angular/material" as mat;
2
+ @use "../arm-theme" as theme;
3
+ @use "../variables" as vars;
4
+
5
+ // ⚠️ this file needs to be audited, missing several button styles, at least from documentation
6
+ // [figma buttons] https://www.figma.com/design/W5HVNCcN9HafDRvc5N7Z28/Softheon-Unified-Design-System?node-id=6370-64249&node-type=canvas&t=JXuu3NWd5Lq1lE4a-0
7
+
8
+ /**
9
+ Button styles should have -
10
+
11
+ 3 color themes: ( 'brand-theme', 'neutral', 'destroy' )
12
+
13
+ Each color has 4 types ( 'primary-solid', 'secondary', 'floating', 'contained' )
14
+
15
+ Each type has 4 interactive states ( 'enabled', 'hover', 'pressed', 'disabled' )
16
+ */
17
+
18
+ // @todo: update the use of 'var()' to use 'mat.get-color-from-palette()'
19
+
20
+ button.mat-mdc-button .mat-mdc-button-ripple,
21
+ .mat-mdc-button .mat-mdc-button-persistent-ripple,
22
+ .mat-mdc-button .mat-mdc-button-persistent-ripple::before,
23
+ .mat-mdc-unelevated-button .mat-mdc-button-ripple,
24
+ .mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,
25
+ .mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,
26
+ .mat-mdc-raised-button .mat-mdc-button-ripple,
27
+ .mat-mdc-raised-button .mat-mdc-button-persistent-ripple,
28
+ .mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,
29
+ .mat-mdc-outlined-button .mat-mdc-button-ripple,
30
+ .mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,
31
+ .mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before {
32
+ background: none !important;
33
+ }
34
+
35
+ button.sof-button-v2 {
36
+ display: flex;
37
+ justify-content: center;
38
+ align-items: center;
39
+ padding: 8px !important;
40
+ height: 40px !important;
41
+ border-radius: 8px !important;
42
+ font-family: Poppins !important;
43
+ font-style: normal !important;
44
+ font-weight: 500 !important;
45
+ font-size: 16px !important;
46
+ line-height: normal !important;
47
+ letter-spacing: 0px !important;
48
+ text-transform: capitalize !important;
49
+
50
+ &.fixed-width {
51
+ width: 200px !important; // Use this is to match specific sizing
52
+ }
53
+
54
+ &.full-width {
55
+ width: 100% !important; // Use this is button width will take size of flex percentage
56
+ }
57
+
58
+ &.mat-mdc-unelevated-button span.mdc-button__label.mdc-button__label {
59
+ display: flex;
60
+ align-items: center;
61
+ font-size: 16px;
62
+
63
+ i {
64
+ font-size: 20px;
65
+ }
66
+ }
67
+
68
+ &.mat-mdc-unelevated-button span.mdc-button__label {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center !important;
72
+ width: 100% !important;
73
+
74
+ i {
75
+ margin-right: 8px !important;
76
+ }
77
+ }
78
+
79
+ &:enabled {
80
+ &.mat-primary {
81
+ background: mat.get-color-from-palette(theme.$arm-primary, 500);
82
+ color: map-get(theme.$arm-primary, contrast, 900);
83
+
84
+ &:hover {
85
+ background-color: var(--primary-color-500-parts);
86
+ }
87
+
88
+ &:focus {
89
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
90
+ outline-offset: 2px !important;
91
+ }
92
+ }
93
+
94
+ &.mat-secondary {
95
+ background: vars.$surface-color-level-one-light !important;
96
+ color: var(--primary-color-contrast-50-parts);
97
+
98
+ &:hover {
99
+ background-color: vars.$surface-color-level-one-light !important;
100
+ }
101
+
102
+ &:focus {
103
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
104
+ outline-offset: 2px !important;
105
+ }
106
+ }
107
+
108
+ &.mat-tertiary {
109
+ color: var(--primary-color-contrast-50-parts);
110
+ background: none !important;
111
+
112
+ &:hover {
113
+ background-color: transparent !important;
114
+ }
115
+
116
+ &:focus {
117
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
118
+ outline-offset: 2px !important;
119
+ }
120
+ }
121
+
122
+ &.mat-error {
123
+ background: mat.get-color-from-palette(theme.$arm-error, 900);
124
+ color: map-get(theme.$arm-error, contrast, 900);
125
+
126
+ &:hover {
127
+ background-color: mat.get-color-from-palette(theme.$arm-error, 700);
128
+ color: map-get(theme.$arm-error, contrast, 700);
129
+ }
130
+
131
+ &:focus {
132
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
133
+ outline-offset: 2px !important;
134
+ }
135
+ }
136
+ }
137
+
138
+ &:disabled {
139
+ background: vars.$surface-color-level-one-light !important;
140
+ color: rgba(0, 0, 0, 0.6) !important;
141
+ opacity: 1 !important;
142
+
143
+ &:hover {
144
+ background-color: mat.get-color-from-palette(theme.$arm-primary, 500);
145
+ }
146
+
147
+ &:focus {
148
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
149
+ outline-offset: 2px !important;
150
+ }
151
+ }
152
+
153
+ // have not seen this (.no-hover-effect) class? remove if not needed,
154
+ // also need to disable ripple effects globally
155
+ &.no-hover-effect.mat-button.mat-primary .mat-button-focus-overlay,
156
+ .no-hover-effect.mat-button.mat-secondary .mat-button-focus-overlay,
157
+ .no-hover-effect.mat-button.mat-tertiary .mat-button-focus-overlay,
158
+ .no-hover-effect.mat-button.mat-error .mat-button-focus-overlay,
159
+ .no-hover-effect.mat-button.mat-accent .mat-button-focus-overlay,
160
+ .no-hover-effect.mat-button.mat-warn .mat-button-focus-overlay {
161
+ background-color: transparent;
162
+ }
163
+ }
164
+
165
+ button.sof-button-icon-v2 {
166
+ display: flex !important;
167
+ padding: 8px !important;
168
+ border-radius: 8px !important;
169
+ height: 40px !important;
170
+ justify-content: center !important;
171
+ align-items: center !important;
172
+ gap: 8px !important;
173
+ max-width: 36px !important;
174
+
175
+ &.mat-mdc-unelevated-button span.mdc-button__label.mdc-button__label {
176
+ display: flex;
177
+ align-items: center;
178
+ font-size: 24px;
179
+
180
+ }
181
+
182
+ &.mdc-button {
183
+ min-width: 40px;
184
+ }
185
+
186
+ &.full-width {
187
+ width: 100% !important; // Use this is button width will take size of flex percentage
188
+ }
189
+
190
+ &:enabled {
191
+ &.mat-primary {
192
+ background: mat.get-color-from-palette(theme.$arm-primary, 500);
193
+ color: map-get(theme.$arm-error, contrast, 900);
194
+
195
+ &:hover {
196
+ background-color: mat.get-color-from-palette(theme.$arm-primary, 500) !important;
197
+ color: map-get(theme.$arm-error, contrast, 700);
198
+ }
199
+
200
+ &:focus {
201
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
202
+ outline-offset: 2px !important;
203
+ }
204
+ }
205
+
206
+ &.mat-secondary {
207
+ background-color: vars.$surface-color-level-one-light !important;
208
+ color: var(--primary-color-contrast-50-parts);
209
+
210
+ &:hover {
211
+ background-color: vars.$surface-color-level-one-light !important;
212
+ color: var(--primary-color-contrast-50-parts) !important;
213
+ }
214
+
215
+ &:focus {
216
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
217
+ outline-offset: 2px !important;
218
+ }
219
+ }
220
+
221
+ &.mat-tertiary {
222
+ color: var(--primary-color-contrast-50-parts);
223
+ background: transparent !important;
224
+
225
+ &:focus {
226
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
227
+ outline-offset: 2px !important;
228
+ }
229
+ }
230
+
231
+ &.mat-error {
232
+ background: mat.get-color-from-palette(theme.$arm-error, 900);
233
+ color: map-get(theme.$arm-error, contrast, 900);
234
+
235
+ &:hover {
236
+ background-color: mat.get-color-from-palette(theme.$arm-error, 700);
237
+ color: map-get(theme.$arm-error, contrast, 700);
238
+ }
239
+
240
+ &:focus {
241
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
242
+ outline-offset: 2px !important;
243
+ }
244
+ }
245
+ }
246
+
247
+ &:disabled {
248
+ background: vars.$surface-color-level-one-light !important;
249
+ color: vars.$text-medium-emphasis !important;
250
+ opacity: 1 !important;
251
+
252
+ &:hover {
253
+ background-color: mat.get-color-from-palette(theme.$arm-primary, 500);
254
+ }
255
+
256
+ &:focus {
257
+ outline: 3px solid mat.get-color-from-palette(theme.$arm-primary, 300);
258
+ outline-offset: 2px !important;
259
+ }
260
+ }
261
+ }
262
+
263
+ // notification badge styles ...
264
+ button .mat-badge-content {
265
+ background-color: #333333 !important;
266
+ }