crdx-components 1.0.0 → 2.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 (105) hide show
  1. package/fesm2022/crdx-components.mjs +1960 -0
  2. package/fesm2022/crdx-components.mjs.map +1 -0
  3. package/package.json +28 -23
  4. package/src/lib/styles/index.scss +1 -0
  5. package/src/lib/styles/overrides/_index.scss +2 -4
  6. package/src/lib/styles/overrides/_mat-button-overrides.scss +0 -11
  7. package/src/lib/styles/overrides/_mat-checkbox-overrides.scss +2 -2
  8. package/src/lib/styles/overrides/_mat-radio-overrides.scss +40 -0
  9. package/types/crdx-components.d.ts +811 -0
  10. package/types/crdx-components.d.ts.map +1 -0
  11. package/.github/workflows/publish.yml +0 -38
  12. package/bun.lock +0 -491
  13. package/crdx-components-1.0.0.tgz +0 -0
  14. package/crdx-components-tokenized-components-1.0.1.tgz +0 -0
  15. package/ng-package.json +0 -12
  16. package/npm +0 -0
  17. package/src/index.ts +0 -45
  18. package/src/lib/components/breadcrumb/breadcrumb.component.css +0 -206
  19. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -15
  20. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -47
  21. package/src/lib/components/button/button.css +0 -371
  22. package/src/lib/components/button/button.html +0 -187
  23. package/src/lib/components/button/button.ts +0 -103
  24. package/src/lib/components/card/card.css +0 -285
  25. package/src/lib/components/card/card.html +0 -69
  26. package/src/lib/components/card/card.ts +0 -93
  27. package/src/lib/components/checkbox/checkbox-showcase.component.css +0 -42
  28. package/src/lib/components/checkbox/checkbox-showcase.component.html +0 -36
  29. package/src/lib/components/checkbox/checkbox-showcase.component.ts +0 -13
  30. package/src/lib/components/checkbox/checkbox.css +0 -10
  31. package/src/lib/components/checkbox/checkbox.html +0 -13
  32. package/src/lib/components/checkbox/checkbox.ts +0 -64
  33. package/src/lib/components/circular-progress-stepper/circular-progress-stepper.css +0 -89
  34. package/src/lib/components/circular-progress-stepper/circular-progress-stepper.html +0 -23
  35. package/src/lib/components/circular-progress-stepper/circular-progress-stepper.ts +0 -40
  36. package/src/lib/components/dialogs/alert-modal/alert-modal.css +0 -118
  37. package/src/lib/components/dialogs/alert-modal/alert-modal.html +0 -29
  38. package/src/lib/components/dialogs/alert-modal/alert-modal.ts +0 -28
  39. package/src/lib/components/dialogs/confirm-modal/confirm-modal.css +0 -219
  40. package/src/lib/components/dialogs/confirm-modal/confirm-modal.html +0 -60
  41. package/src/lib/components/dialogs/confirm-modal/confirm-modal.store.ts +0 -139
  42. package/src/lib/components/dialogs/confirm-modal/confirm-modal.ts +0 -63
  43. package/src/lib/components/dialogs/container-custom/container-custom.css +0 -11
  44. package/src/lib/components/dialogs/container-custom/container-custom.html +0 -3
  45. package/src/lib/components/dialogs/container-custom/container-custom.ts +0 -37
  46. package/src/lib/components/dialogs/container-custom/custom-modal.state.ts +0 -57
  47. package/src/lib/components/dialogs/error-modal/error-modal.css +0 -53
  48. package/src/lib/components/dialogs/error-modal/error-modal.html +0 -17
  49. package/src/lib/components/dialogs/error-modal/error-modal.ts +0 -20
  50. package/src/lib/components/dialogs/side-modal/side-modal.css +0 -80
  51. package/src/lib/components/dialogs/side-modal/side-modal.html +0 -30
  52. package/src/lib/components/dialogs/side-modal/side-modal.state.ts +0 -78
  53. package/src/lib/components/dialogs/side-modal/side-modal.ts +0 -50
  54. package/src/lib/components/divider/divider.css +0 -24
  55. package/src/lib/components/divider/divider.html +0 -7
  56. package/src/lib/components/divider/divider.ts +0 -13
  57. package/src/lib/components/footer-actions/footer/footer-flow.store.ts +0 -30
  58. package/src/lib/components/footer-actions/footer/footer.html +0 -14
  59. package/src/lib/components/footer-actions/footer/footer.ts +0 -50
  60. package/src/lib/components/footer-actions/modal-footer-actions/modal-footer-actions.css +0 -44
  61. package/src/lib/components/footer-actions/modal-footer-actions/modal-footer-actions.html +0 -7
  62. package/src/lib/components/footer-actions/modal-footer-actions/modal-footer-actions.ts +0 -12
  63. package/src/lib/components/footer-actions/page-footer-actions/page-footer-actions.css +0 -31
  64. package/src/lib/components/footer-actions/page-footer-actions/page-footer-actions.html +0 -7
  65. package/src/lib/components/footer-actions/page-footer-actions/page-footer-actions.ts +0 -12
  66. package/src/lib/components/form-field/select-field.css +0 -178
  67. package/src/lib/components/form-field/select-field.html +0 -94
  68. package/src/lib/components/form-field/select-field.ts +0 -324
  69. package/src/lib/components/form-field/text-field.css +0 -41
  70. package/src/lib/components/form-field/text-field.html +0 -38
  71. package/src/lib/components/form-field/text-field.ts +0 -102
  72. package/src/lib/components/header/header.css +0 -142
  73. package/src/lib/components/header/header.html +0 -36
  74. package/src/lib/components/header/header.ts +0 -101
  75. package/src/lib/components/icon-button/icon-button.css +0 -445
  76. package/src/lib/components/icon-button/icon-button.html +0 -15
  77. package/src/lib/components/icon-button/icon-button.ts +0 -49
  78. package/src/lib/components/list-item/list-item.css +0 -122
  79. package/src/lib/components/list-item/list-item.html +0 -79
  80. package/src/lib/components/list-item/list-item.ts +0 -104
  81. package/src/lib/components/menu/menu.css +0 -39
  82. package/src/lib/components/menu/menu.html +0 -57
  83. package/src/lib/components/menu/menu.ts +0 -159
  84. package/src/lib/components/shared-table/shared-table-cell-template.directive.ts +0 -25
  85. package/src/lib/components/shared-table/shared-table.component.css +0 -223
  86. package/src/lib/components/shared-table/shared-table.component.html +0 -96
  87. package/src/lib/components/shared-table/shared-table.component.ts +0 -172
  88. package/src/lib/components/sidebar/sidebar.css +0 -234
  89. package/src/lib/components/sidebar/sidebar.html +0 -67
  90. package/src/lib/components/sidebar/sidebar.ts +0 -92
  91. package/src/lib/components/slide-toggle/slide-toggle.css +0 -0
  92. package/src/lib/components/slide-toggle/slide-toggle.html +0 -3
  93. package/src/lib/components/slide-toggle/slide-toggle.ts +0 -18
  94. package/src/lib/components/spinner/spinner.css +0 -9
  95. package/src/lib/components/spinner/spinner.html +0 -9
  96. package/src/lib/components/spinner/spinner.ts +0 -17
  97. package/src/lib/components/tooltip/tooltip.css +0 -32
  98. package/src/lib/components/tooltip/tooltip.html +0 -3
  99. package/src/lib/components/tooltip/tooltip.ts +0 -31
  100. package/src/lib/icons/register-icons.ts +0 -101
  101. package/src/lib/lib-ui/lib-ui.html +0 -1
  102. package/src/lib/lib-ui/lib-ui.scss +0 -0
  103. package/src/lib/lib-ui/lib-ui.ts +0 -9
  104. package/tsconfig.json +0 -30
  105. package/tsconfig.lib.json +0 -20
package/src/index.ts DELETED
@@ -1,45 +0,0 @@
1
- export * from './lib/lib-ui/lib-ui';
2
- export * from './lib/icons/register-icons';
3
-
4
- // Core data display/navigation.
5
- export * from './lib/components/shared-table/shared-table.component';
6
- export * from './lib/components/breadcrumb/breadcrumb.component';
7
- export * from './lib/components/sidebar/sidebar';
8
- export * from './lib/components/header/header';
9
-
10
- // Inputs and selections.
11
- export * from './lib/components/form-field/text-field';
12
- export * from './lib/components/form-field/select-field';
13
- export * from './lib/components/list-item/list-item';
14
- export * from './lib/components/checkbox/checkbox';
15
- export * from './lib/components/checkbox/checkbox-showcase.component';
16
-
17
- /**
18
- * @deprecated Prefer `lib-select-field` for new implementations.
19
- * Kept for compatibility during migration window.
20
- */
21
- export * from './lib/components/menu/menu';
22
-
23
- // Actions and affordances.
24
- export * from './lib/components/button/button';
25
- export * from './lib/components/icon-button/icon-button';
26
- export * from './lib/components/slide-toggle/slide-toggle';
27
- export * from './lib/components/circular-progress-stepper/circular-progress-stepper';
28
- export * from './lib/components/spinner/spinner';
29
- export * from './lib/components/divider/divider';
30
- export * from './lib/components/tooltip/tooltip';
31
- export * from './lib/components/card/card';
32
-
33
- // Dialogs and modal containers.
34
- export * from './lib/components/dialogs/confirm-modal/confirm-modal';
35
- export * from './lib/components/dialogs/confirm-modal/confirm-modal.store';
36
- export * from './lib/components/dialogs/side-modal/side-modal';
37
- export * from './lib/components/dialogs/side-modal/side-modal.state';
38
-
39
- // Footer layouts.
40
- export * from './lib/components/footer-actions/page-footer-actions/page-footer-actions';
41
- export * from './lib/components/footer-actions/modal-footer-actions/modal-footer-actions';
42
- export * from './lib/components/footer-actions/footer/footer';
43
- export * from './lib/components/footer-actions/footer/footer-flow.store';
44
-
45
- export const LIB_UI_STYLES_PATH = './lib/styles/index.scss';
@@ -1,206 +0,0 @@
1
- .shared-breadcrumb {
2
- display: flex;
3
- align-items: center;
4
- gap: 0.5rem;
5
- padding: 0;
6
- color: var(
7
- --breadcrumbs-label-enabled-breadcrumb-enabled-label-text-color,
8
- var(--pallete-scheme-surface-on-surface-variant, #434749)
9
- );
10
- font-family: var(--breadcrumbs-label-enabled-breadcrumb-label-text-font, Heebo);
11
- font-size: var(--breadcrumbs-label-enabled-breadcrumb-label-text-size, 14px);
12
- font-style: normal;
13
- font-weight: var(--breadcrumbs-label-enabled-breadcrumb-label-text-weight, 400);
14
- line-height: calc(var(--breadcrumbs-label-enabled-breadcrumb-label-text-line-height, 20) * 1px);
15
- letter-spacing: var(--breadcrumbs-label-enabled-breadcrumb-label-text-tracking, 0.25px);
16
- }
17
-
18
- .shared-breadcrumb__parent {
19
- display: inline-flex;
20
- align-items: center;
21
- gap: 0.5rem;
22
- border: none;
23
- background: none;
24
- padding: 0.625rem 0.75rem;
25
- border-radius: 100px;
26
- position: relative;
27
- overflow: hidden;
28
- font: inherit;
29
- font-weight: var(
30
- --breadcrumbs-label-enabled-breadcrumb-label-text-weight,
31
- 400
32
- );
33
- color: inherit;
34
- cursor: pointer;
35
- transition: color 150ms ease, background-color 150ms ease;
36
- /* Token ya contiene RGBA con alpha baked-in: usar directo, sin color-mix adicional. */
37
- --breadcrumb-ripple-color: var(
38
- --breadcrumbs-label-pressed-breadcrumb-pressed-ripple-color,
39
- rgba(24, 28, 30, 0.08)
40
- );
41
- }
42
-
43
- .shared-breadcrumb__parent::after {
44
- content: '';
45
- position: absolute;
46
- right: 0;
47
- bottom: 0;
48
- width: 48px;
49
- height: 28px;
50
- background-color: var(--breadcrumb-ripple-color);
51
- -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28' fill='none'><path d='M48 3.12389V28H0C0 12.536 14.7249 0 32.8889 0C38.3368 0 43.4753 1.12771 48 3.12389Z' fill='black'/></svg>");
52
- mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28' fill='none'><path d='M48 3.12389V28H0C0 12.536 14.7249 0 32.8889 0C38.3368 0 43.4753 1.12771 48 3.12389Z' fill='black'/></svg>");
53
- -webkit-mask-repeat: no-repeat;
54
- mask-repeat: no-repeat;
55
- -webkit-mask-size: contain;
56
- mask-size: contain;
57
- opacity: 0;
58
- pointer-events: none;
59
- }
60
-
61
- .shared-breadcrumb__parent:hover,
62
- .shared-breadcrumb__parent:focus-visible {
63
- color: var(
64
- --breadcrumbs-label-hovered-breadcrumb-hovered-label-text-color,
65
- var(--pallete-scheme-surface-on-surface, #181c1e)
66
- );
67
- background-color: var(
68
- --breadcrumbs-label-hovered-breadcrumb-hovered-state-layer-color,
69
- rgba(24, 28, 30, 0.08)
70
- );
71
- outline: none;
72
- }
73
-
74
- .shared-breadcrumb__parent:focus-visible {
75
- outline: calc(
76
- var(--breadcrumbs-label-focused-breadcrumb-focused-indicator-weight, 3) * 1px
77
- )
78
- solid var(--breadcrumbs-label-focused-breadcrumb-focused-indicator-color, #5b5f61);
79
- outline-offset: 2px;
80
- }
81
-
82
- .shared-breadcrumb__parent:active {
83
- color: var(
84
- --breadcrumbs-label-pressed-breadcrumb-pressed-label-text-color,
85
- var(--pallete-scheme-surface-on-surface, #181c1e)
86
- );
87
- background-color: var(
88
- --breadcrumbs-label-pressed-breadcrumb-pressed-state-layer-color,
89
- rgba(24, 28, 30, 0.1)
90
- );
91
- }
92
-
93
- .shared-breadcrumb__parent:active::after {
94
- opacity: 1;
95
- }
96
-
97
- .shared-breadcrumb__separator {
98
- display: inline-flex;
99
- align-items: center;
100
- color: var(--breadcrumbs-divider-breadcrumb-divider-color, #181c1e);
101
- text-align: center;
102
- font-family: var(--breadcrumbs-divider-breadcrumb-divider-text-font, Heebo);
103
- font-size: var(--breadcrumbs-divider-breadcrumb-divider-text-size, 14px);
104
- font-style: normal;
105
- font-weight: var(--breadcrumbs-divider-breadcrumb-divider-text-weight, 400);
106
- line-height: calc(var(--breadcrumbs-divider-breadcrumb-divider-text-line-height, 20) * 1px);
107
- letter-spacing: var(--breadcrumbs-divider-breadcrumb-divider-text-tracking, 0.25px);
108
- }
109
-
110
- .shared-breadcrumb__current {
111
- display: inline-flex;
112
- align-items: center;
113
- padding: 0.625rem 0.75rem;
114
- gap: 0.5rem;
115
- border-radius: 100px;
116
- position: relative;
117
- overflow: hidden;
118
- cursor: pointer;
119
- font-weight: var(
120
- --breadcrumbs-label-selected-breadcrumb-selected-label-text-weight,
121
- 700
122
- );
123
- color: var(
124
- --breadcrumbs-label-selected-breadcrumb-selected-label-hovered-text-color,
125
- var(--pallete-scheme-surface-on-surface, #181c1e)
126
- );
127
- letter-spacing: var(--breadcrumbs-label-selected-breadcrumb-selected-label-text-tracking, 0.1px);
128
- /* Token ya contiene RGBA con alpha baked-in: usar directo, sin color-mix adicional. */
129
- --breadcrumb-ripple-color: var(
130
- --breadcrumbs-label-pressed-breadcrumb-pressed-ripple-color,
131
- rgba(24, 28, 30, 0.08)
132
- );
133
- }
134
-
135
- .shared-breadcrumb__current::after {
136
- content: '';
137
- position: absolute;
138
- right: 0;
139
- bottom: 0;
140
- width: 48px;
141
- height: 28px;
142
- background-color: var(--breadcrumb-ripple-color);
143
- -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28' fill='none'><path d='M48 3.12389V28H0C0 12.536 14.7249 0 32.8889 0C38.3368 0 43.4753 1.12771 48 3.12389Z' fill='black'/></svg>");
144
- mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28' fill='none'><path d='M48 3.12389V28H0C0 12.536 14.7249 0 32.8889 0C38.3368 0 43.4753 1.12771 48 3.12389Z' fill='black'/></svg>");
145
- -webkit-mask-repeat: no-repeat;
146
- mask-repeat: no-repeat;
147
- -webkit-mask-size: contain;
148
- mask-size: contain;
149
- opacity: 0;
150
- pointer-events: none;
151
- }
152
-
153
- .shared-breadcrumb__current:hover,
154
- .shared-breadcrumb__current:focus-visible {
155
- background-color: var(
156
- --breadcrumbs-label-hovered-breadcrumb-hovered-state-layer-color,
157
- rgba(24, 28, 30, 0.08)
158
- );
159
- outline: none;
160
- }
161
-
162
- .shared-breadcrumb__current:active {
163
- color: var(
164
- --breadcrumbs-label-pressed-breadcrumb-pressed-label-text-color,
165
- #181c1e
166
- );
167
- background-color: var(
168
- --breadcrumbs-label-pressed-breadcrumb-pressed-state-layer-color,
169
- rgba(24, 28, 30, 0.1)
170
- );
171
- }
172
-
173
- .shared-breadcrumb__current:active::after {
174
- opacity: 1;
175
- }
176
-
177
- .shared-breadcrumb__current-label {
178
- position: relative;
179
- z-index: 1;
180
- text-align: center;
181
- font-size: var(--breadcrumbs-label-enabled-breadcrumb-label-text-size, 14px);
182
- font-style: normal;
183
- line-height: calc(var(--breadcrumbs-label-enabled-breadcrumb-label-text-line-height, 20) * 1px);
184
- letter-spacing: var(--breadcrumbs-label-enabled-breadcrumb-label-text-tracking, 0.25px);
185
- font-weight: inherit;
186
- }
187
-
188
- .shared-breadcrumb__parent-label {
189
- position: relative;
190
- z-index: 1;
191
- }
192
-
193
- .shared-breadcrumb__current:active .shared-breadcrumb__current-label {
194
- font-weight: var(
195
- --breadcrumbs-label-enabled-breadcrumb-label-text-weight,
196
- 400
197
- );
198
- }
199
-
200
- .shared-breadcrumb__current:hover .shared-breadcrumb__current-label,
201
- .shared-breadcrumb__current:focus-visible .shared-breadcrumb__current-label {
202
- font-weight: var(
203
- --breadcrumbs-label-enabled-breadcrumb-label-text-weight,
204
- 400
205
- );
206
- }
@@ -1,15 +0,0 @@
1
- <nav class="shared-breadcrumb" *ngIf="currentLabel() || parentLabel()">
2
- @if (parentLabel()) {
3
- <button
4
- type="button"
5
- class="shared-breadcrumb__parent"
6
- (click)="navigateToParent()"
7
- >
8
- <span class="shared-breadcrumb__parent-label">{{ parentLabel() }}</span>
9
- </button>
10
- <span class="shared-breadcrumb__separator">/</span>
11
- }
12
- <span class="shared-breadcrumb__current">
13
- <span class="shared-breadcrumb__current-label">{{ currentLabel() }}</span>
14
- </span>
15
- </nav>
@@ -1,47 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, EventEmitter, OnInit, Output, inject, signal } from '@angular/core';
3
- import { ActivatedRoute, Router } from '@angular/router';
4
- @Component({
5
- selector: 'lib-breadcrumb, shared-breadcrumb',
6
- standalone: true,
7
- imports: [CommonModule],
8
- templateUrl: './breadcrumb.component.html',
9
- styleUrl: './breadcrumb.component.css',
10
- changeDetection: ChangeDetectionStrategy.OnPush,
11
- })
12
- export class SharedBreadcrumbComponent implements OnInit {
13
- private readonly route = inject(ActivatedRoute, { optional: true });
14
- private readonly router = inject(Router, { optional: true });
15
- @Output() parentNavigate = new EventEmitter<string>();
16
-
17
- readonly parentLabel = signal<string>('');
18
- readonly parentUrl = signal<string>('');
19
- readonly currentLabel = signal<string>('');
20
-
21
- ngOnInit(): void {
22
- const currentRoute = this.route;
23
- if (!currentRoute) {
24
- return;
25
- }
26
-
27
- const parentRoute = currentRoute.parent;
28
- const parentData = parentRoute?.snapshot.data ?? {};
29
- const currentData = currentRoute.snapshot.data ?? {};
30
-
31
- const parentLabel = parentData['breadcrumb'] ?? currentData['parentBreadcrumb'] ?? '';
32
- const parentUrl = parentData['url'] ?? currentData['parentUrl'] ?? '/';
33
- const currentLabel = currentData['breadcrumb'] ?? '';
34
-
35
- this.parentLabel.set(parentLabel);
36
- this.parentUrl.set(parentUrl);
37
- this.currentLabel.set(currentLabel);
38
- }
39
-
40
- navigateToParent(): void {
41
- const target = this.parentUrl();
42
- if (target) {
43
- this.parentNavigate.emit(target);
44
- }
45
- }
46
- }
47
-
@@ -1,371 +0,0 @@
1
- .lib-mat-btn {
2
- display: flex !important;
3
- align-items: center !important;
4
- justify-content: center !important;
5
- box-sizing: border-box !important;
6
- overflow: hidden !important;
7
- }
8
-
9
- .lib-mat-btn ::ng-deep .mdc-button__label {
10
- overflow: visible !important;
11
- position: static !important;
12
- display: flex !important;
13
- align-items: center !important;
14
- justify-content: center !important;
15
- gap: var(--lib-mat-btn-gap) !important;
16
- }
17
-
18
- .lib-mat-btn ::ng-deep .mdc-button__label > .mat-icon {
19
- display: inline-flex !important;
20
- align-items: center !important;
21
- justify-content: center !important;
22
- align-self: center !important;
23
- margin: 0 !important;
24
- line-height: 1 !important;
25
- vertical-align: middle !important;
26
- }
27
-
28
- .lib-mat-btn ::ng-deep .mdc-button__label > span {
29
- display: inline-flex !important;
30
- align-items: center !important;
31
- line-height: var(--lib-mat-btn-line-height) !important;
32
- vertical-align: middle !important;
33
- }
34
-
35
- .lib-mat-btn:focus-visible {
36
- outline: none;
37
- box-shadow:
38
- 0 0 0 calc(var(--buttons-wip-button-enabled-button-focus-ring-outline-offset, 2) * 1px) var(--buttons-wip-button-enabled-button-focus-ring-indicator-color, #5b5f61),
39
- 0 0 0 calc((var(--buttons-wip-button-enabled-button-focus-ring-indicator-thickness, 3) + var(--buttons-wip-button-enabled-button-focus-ring-outline-offset, 2)) * 1px) var(--buttons-wip-button-enabled-button-focus-ring-indicator-color, #5b5f61);
40
- }
41
-
42
- .lib-mat-btn.lib-mat-btn--pressed:not([disabled]) {
43
- border-radius: calc(var(--lib-mat-btn-pressed-radius, var(--buttons-wip-size-medium-button-medium-shape-pressed-morph, 8)) * 1px);
44
- }
45
-
46
- .lib-mat-btn.lib-mat-btn--debug-padding {
47
- box-shadow:
48
- inset var(--lib-mat-btn-padding-x) 0 0 0 rgba(255, 0, 0, 0.6),
49
- inset calc(100% - var(--lib-mat-btn-padding-x-right) - 2px) 0 0 0 rgba(0, 100, 255, 0.6);
50
- }
51
-
52
- .lib-mat-btn__content {
53
- position: relative;
54
- z-index: 0;
55
- display: flex;
56
- align-items: center;
57
- justify-content: center;
58
- gap: var(--lib-mat-btn-gap);
59
- }
60
-
61
- .lib-mat-btn--align-start .lib-mat-btn__content,
62
- .lib-mat-btn--align-center .lib-mat-btn__content,
63
- .lib-mat-btn--align-end .lib-mat-btn__content {
64
- width: 100%;
65
- }
66
-
67
- .lib-mat-btn--align-start .lib-mat-btn__content {
68
- justify-content: flex-start;
69
- }
70
-
71
- .lib-mat-btn--align-center .lib-mat-btn__content {
72
- justify-content: center;
73
- }
74
-
75
- .lib-mat-btn--align-end .lib-mat-btn__content {
76
- justify-content: flex-end;
77
- }
78
-
79
- :host .lib-mat-btn--align-start .mdc-button__label,
80
- :host ::ng-deep .lib-mat-btn--align-start .mdc-button__label {
81
- width: 100% !important;
82
- justify-content: flex-start !important;
83
- }
84
-
85
- :host .lib-mat-btn--align-center .mdc-button__label,
86
- :host ::ng-deep .lib-mat-btn--align-center .mdc-button__label {
87
- width: 100% !important;
88
- justify-content: center !important;
89
- }
90
-
91
- :host .lib-mat-btn--align-end .mdc-button__label,
92
- :host ::ng-deep .lib-mat-btn--align-end .mdc-button__label {
93
- width: 100% !important;
94
- justify-content: flex-end !important;
95
- }
96
-
97
- /* Variables base (medium) */
98
- .lib-mat-btn {
99
- --lib-mat-btn-height: calc(var(--buttons-wip-size-medium-button-medium-container-height) * 1px);
100
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-medium-button-medium-leading-space) * 1px);
101
- --lib-mat-btn-padding-x-right: calc(var(--buttons-wip-size-medium-button-medium-leading-space) * 1px);
102
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-medium-button-medium-between-icon-label-space) * 1px);
103
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-medium-button-medium-shape-round, 1000) * 1px);
104
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-medium-button-medium-shape-square, 12) * 1px);
105
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
106
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-medium-button-medium-label-text-size) * 1px);
107
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-medium-button-medium-label-text-line-height) * 1px);
108
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-medium-button-medium-label-text-tracking) * 1px);
109
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-medium-button-medium-icon-size) * 1px);
110
-
111
- min-height: var(--lib-mat-btn-height);
112
- height: var(--lib-mat-btn-height);
113
- padding-left: var(--lib-mat-btn-padding-x) !important;
114
- padding-right: var(--lib-mat-btn-padding-x) !important;
115
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
116
- font-family: var(--buttons-wip-size-medium-button-medium-label-text-font, Heebo);
117
- font-size: var(--lib-mat-btn-font-size);
118
- font-style: normal;
119
- font-weight: var(--buttons-wip-size-medium-button-medium-label-text-weight, 500);
120
- line-height: var(--lib-mat-btn-line-height);
121
- letter-spacing: var(--lib-mat-btn-tracking);
122
- border-radius: var(--lib-mat-btn-radius);
123
- }
124
-
125
- .lib-mat-btn--variant-outlined {
126
- color: var(--buttons-wip-color-outlined-enabled-button-outlined-label-color, #434749) !important;
127
- }
128
-
129
- .lib-mat-btn--variant-outlined:focus-visible {
130
- color: var(--buttons-wip-color-outlined-focused-button-outlined-focused-label-color, #434749) !important;
131
- }
132
-
133
- .lib-mat-btn--variant-outlined .lib-mat-btn__content,
134
- .lib-mat-btn--variant-outlined .mdc-button__label {
135
- color: inherit !important;
136
- }
137
-
138
- .lib-mat-btn--variant-tonal {
139
- background-color: var(--buttons-wip-color-tonal-enabled-button-tonal-container-color, #e0e3e5) !important;
140
- color: var(--buttons-wip-color-tonal-enabled-button-tonal-label-color, #434749) !important;
141
- --mat-button-tonal-ripple-color: var(--buttons-wip-color-tonal-pressed-button-tonal-pressed-ripple-color, rgba(67, 71, 73, 0.1));
142
- }
143
-
144
- :host ::ng-deep .lib-mat-btn--variant-tonal:hover:not([disabled]) .mat-mdc-button-persistent-ripple::before {
145
- background-color: var(--buttons-wip-color-tonal-hovered-button-tonal-hovered-container-state-layer-color, rgba(67, 71, 73, 0.08)) !important;
146
- opacity: 1 !important;
147
- }
148
-
149
- :host ::ng-deep .lib-mat-btn--variant-tonal.cdk-program-focused .mat-mdc-button-persistent-ripple::before,
150
- :host ::ng-deep .lib-mat-btn--variant-tonal.cdk-keyboard-focused .mat-mdc-button-persistent-ripple::before {
151
- background-color: var(--buttons-wip-color-tonal-focused-button-tonal-focused-container-state-layer-color, rgba(67, 71, 73, 0.1)) !important;
152
- opacity: 1 !important;
153
- }
154
-
155
- :host ::ng-deep .lib-mat-btn--variant-tonal:active:not([disabled]) .mat-mdc-button-persistent-ripple::before {
156
- background-color: var(--buttons-wip-color-tonal-pressed-button-tonal-pressed-container-state-layer-color, rgba(67, 71, 73, 0.1)) !important;
157
- opacity: 1 !important;
158
- }
159
-
160
- :host ::ng-deep .lib-mat-btn--variant-tonal .mat-ripple-element {
161
- background-color: var(--buttons-wip-color-tonal-pressed-button-tonal-pressed-ripple-color, rgba(67, 71, 73, 0.1)) !important;
162
- }
163
-
164
- .lib-mat-btn--full {
165
- width: 100%;
166
- }
167
-
168
- /* xsmall */
169
- .lib-mat-btn--xsmall {
170
- --lib-mat-btn-height: calc(var(--buttons-wip-size-xsmall-button-xsmall-container-height) * 1px);
171
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-xsmall-button-xsmall-leading-space) * 1px);
172
- --lib-mat-btn-padding-x-right: calc(var(--buttons-wip-size-xsmall-button-xsmall-trailing-space) * 1px);
173
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-xsmall-button-xsmall-between-icon-label-space) * 1px);
174
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-xsmall-button-xsmall-shape-round, 1000) * 1px);
175
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-xsmall-button-xsmall-shape-square, 8) * 1px);
176
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
177
- --lib-mat-btn-pressed-radius: var(--buttons-wip-size-xsmall-button-xsmall-shape-pressed-morph);
178
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-xsmall-button-xsmall-label-text-size) * 1px);
179
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-xsmall-button-xsmall-label-text-line-height) * 1px);
180
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-xsmall-button-xsmall-label-text-tracking) * 1px);
181
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-xsmall-button-xsmall-icon-size) * 1px);
182
-
183
- min-height: var(--lib-mat-btn-height);
184
- height: var(--lib-mat-btn-height);
185
- padding-left: var(--lib-mat-btn-padding-x) !important;
186
- padding-right: var(--lib-mat-btn-padding-x-right) !important;
187
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
188
- font-family: var(--buttons-wip-size-xsmall-button-xsmall-label-text-font, Heebo);
189
- font-size: var(--lib-mat-btn-font-size);
190
- font-style: normal;
191
- font-weight: var(--buttons-wip-size-xsmall-button-xsmall-label-text-weight, 500);
192
- line-height: var(--lib-mat-btn-line-height);
193
- letter-spacing: var(--lib-mat-btn-tracking);
194
- border-radius: var(--lib-mat-btn-radius);
195
- }
196
-
197
- .lib-mat-btn--xsmall .mat-icon,
198
- .lib-mat-btn--xsmall .mat-mdc-button-touch-target {
199
- width: var(--lib-mat-btn-icon-size);
200
- height: var(--lib-mat-btn-icon-size);
201
- display: flex;
202
- align-items: center;
203
- justify-content: center;
204
- }
205
-
206
- /* small */
207
- .lib-mat-btn--small {
208
- --lib-mat-btn-height: calc(var(--buttons-wip-size-small-button-small-container-height) * 1px);
209
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-small-button-small-leading-space) * 1px);
210
- --lib-mat-btn-padding-x-right: calc(var(--buttons-wip-size-small-button-small-trailing-space) * 1px);
211
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-small-button-small-between-icon-label-space) * 1px);
212
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-small-button-small-shape-round, 1000) * 1px);
213
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-small-button-small-shape-square, 8) * 1px);
214
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
215
- --lib-mat-btn-pressed-radius: var(--buttons-wip-size-small-button-small-shape-pressed-morph);
216
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-small-button-small-label-text-size) * 1px);
217
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-small-button-small-label-text-line-height) * 1px);
218
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-small-button-small-label-text-tracking) * 1px);
219
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-small-button-small-icon-size) * 1px);
220
-
221
- min-height: var(--lib-mat-btn-height);
222
- height: var(--lib-mat-btn-height);
223
- padding-left: var(--lib-mat-btn-padding-x) !important;
224
- padding-right: var(--lib-mat-btn-padding-x-right) !important;
225
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
226
- font-family: var(--buttons-wip-size-small-button-small-label-text-font, Heebo);
227
- font-size: var(--lib-mat-btn-font-size);
228
- font-style: normal;
229
- font-weight: var(--buttons-wip-size-small-button-small-label-text-weight, 500) !important;
230
- line-height: var(--lib-mat-btn-line-height);
231
- letter-spacing: var(--lib-mat-btn-tracking);
232
- border-radius: var(--lib-mat-btn-radius);
233
- }
234
-
235
- .lib-mat-btn--small .mat-icon,
236
- .lib-mat-btn--small .mat-mdc-button-touch-target {
237
- width: var(--lib-mat-btn-icon-size);
238
- height: var(--lib-mat-btn-icon-size);
239
- font-size: var(--lib-mat-btn-icon-size);
240
- line-height: 1;
241
- display: flex;
242
- align-items: center;
243
- justify-content: center;
244
- }
245
-
246
- /* medium */
247
- .lib-mat-btn--medium {
248
- --lib-mat-btn-height: calc(var(--buttons-wip-size-medium-button-medium-container-height) * 1px);
249
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-medium-button-medium-leading-space) * 1px);
250
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-medium-button-medium-between-icon-label-space) * 1px);
251
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-medium-button-medium-shape-round, 1000) * 1px);
252
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-medium-button-medium-shape-square, 12) * 1px);
253
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
254
- --lib-mat-btn-pressed-radius: var(--buttons-wip-size-medium-button-medium-shape-pressed-morph);
255
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-medium-button-medium-label-text-size) * 1px);
256
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-medium-button-medium-label-text-line-height) * 1px);
257
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-medium-button-medium-label-text-tracking) * 1px);
258
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-medium-button-medium-icon-size) * 1px);
259
-
260
- min-height: var(--lib-mat-btn-height);
261
- height: var(--lib-mat-btn-height);
262
- padding-left: var(--lib-mat-btn-padding-x) !important;
263
- padding-right: var(--lib-mat-btn-padding-x-right) !important;
264
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
265
- font-family: var(--buttons-wip-size-medium-button-medium-label-text-font, Heebo);
266
- font-size: var(--lib-mat-btn-font-size);
267
- font-style: normal;
268
- font-weight: var(--buttons-wip-size-medium-button-medium-label-text-weight, 500) !important;
269
- line-height: var(--lib-mat-btn-line-height);
270
- letter-spacing: var(--lib-mat-btn-tracking);
271
- border-radius: var(--lib-mat-btn-radius);
272
- }
273
-
274
- .lib-mat-btn--medium .mat-icon,
275
- .lib-mat-btn--medium .mat-mdc-button-touch-target {
276
- width: var(--lib-mat-btn-icon-size);
277
- height: var(--lib-mat-btn-icon-size);
278
- font-size: var(--lib-mat-btn-icon-size);
279
- line-height: 1;
280
- display: flex;
281
- align-items: center;
282
- justify-content: center;
283
- }
284
-
285
- /* large */
286
- .lib-mat-btn--large {
287
- --lib-mat-btn-height: calc(var(--buttons-wip-size-large-button-large-container-height) * 1px);
288
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-large-button-large-leading-space) * 1px);
289
- --lib-mat-btn-padding-x-right: calc(var(--buttons-wip-size-large-button-large-trailing-space) * 1px);
290
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-large-button-large-between-icon-label-space) * 1px);
291
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-large-button-large-shape-round, 1000) * 1px);
292
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-large-button-large-shape-square, 16) * 1px);
293
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
294
- --lib-mat-btn-pressed-radius: var(--buttons-wip-size-large-button-large-shape-pressed-morph);
295
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-large-button-large-label-text-size) * 1px);
296
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-large-button-large-label-text-line-height) * 1px);
297
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-large-button-large-label-text-tracking) * 1px);
298
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-large-button-large-icon-size) * 1px);
299
-
300
- min-height: var(--lib-mat-btn-height);
301
- height: var(--lib-mat-btn-height);
302
- padding-left: var(--lib-mat-btn-padding-x) !important;
303
- padding-right: var(--lib-mat-btn-padding-x-right) !important;
304
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
305
- font-family: var(--buttons-wip-size-large-button-large-label-text-font, Heebo);
306
- font-size: var(--lib-mat-btn-font-size);
307
- font-style: normal;
308
- font-weight: var(--buttons-wip-size-large-button-large-label-text-weight, 400) !important;
309
- line-height: var(--lib-mat-btn-line-height);
310
- letter-spacing: var(--lib-mat-btn-tracking);
311
- border-radius: var(--lib-mat-btn-radius);
312
- }
313
-
314
- .lib-mat-btn--large .mat-icon,
315
- .lib-mat-btn--large .mat-mdc-button-touch-target {
316
- width: var(--lib-mat-btn-icon-size);
317
- height: var(--lib-mat-btn-icon-size);
318
- font-size: var(--lib-mat-btn-icon-size);
319
- line-height: 1;
320
- display: flex;
321
- align-items: center;
322
- justify-content: center;
323
- }
324
-
325
- /* xlarge */
326
- .lib-mat-btn--xlarge {
327
- --lib-mat-btn-height: calc(var(--buttons-wip-size-xlarge-button-xlarge-container-height) * 1px);
328
- --lib-mat-btn-padding-x: calc(var(--buttons-wip-size-xlarge-button-xlarge-leading-space) * 1px);
329
- --lib-mat-btn-padding-x-right: calc(var(--buttons-wip-size-xlarge-button-xlarge-trailing-space) * 1px);
330
- --lib-mat-btn-gap: calc(var(--buttons-wip-size-xlarge-button-xlarge-between-icon-label-space) * 1px);
331
- --lib-mat-btn-radius-round: calc(var(--buttons-wip-size-xlarge-button-xlarge-shape-round, 1000) * 1px);
332
- --lib-mat-btn-radius-square: calc(var(--buttons-wip-size-xlarge-button-xlarge-shape-square, 16) * 1px);
333
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
334
- --lib-mat-btn-pressed-radius: var(--buttons-wip-size-xlarge-button-xlarge-shape-pressed-morph);
335
- --lib-mat-btn-font-size: calc(var(--buttons-wip-size-xlarge-button-xlarge-label-text-size) * 1px);
336
- --lib-mat-btn-line-height: calc(var(--buttons-wip-size-xlarge-button-xlarge-label-text-line-height) * 1px);
337
- --lib-mat-btn-tracking: calc(var(--buttons-wip-size-xlarge-button-xlarge-label-text-tracking) * 1px);
338
- --lib-mat-btn-icon-size: calc(var(--buttons-wip-size-xlarge-button-xlarge-icon-size) * 1px);
339
-
340
- min-height: var(--lib-mat-btn-height);
341
- height: var(--lib-mat-btn-height);
342
- padding-left: var(--lib-mat-btn-padding-x) !important;
343
- padding-right: var(--lib-mat-btn-padding-x-right) !important;
344
- color: var(--buttons-wip-color-filled-enabled-button-filled-label-color, #fff);
345
- font-family: var(--buttons-wip-size-xlarge-button-xlarge-label-text-font, Heebo);
346
- font-size: var(--lib-mat-btn-font-size);
347
- font-style: normal;
348
- font-weight: var(--buttons-wip-size-xlarge-button-xlarge-label-text-weight, 400) !important;
349
- line-height: var(--lib-mat-btn-line-height);
350
- letter-spacing: var(--lib-mat-btn-tracking);
351
- border-radius: var(--lib-mat-btn-radius);
352
- }
353
-
354
- .lib-mat-btn--xlarge .mat-icon,
355
- .lib-mat-btn--xlarge .mat-mdc-button-touch-target {
356
- width: var(--lib-mat-btn-icon-size);
357
- height: var(--lib-mat-btn-icon-size);
358
- font-size: var(--lib-mat-btn-icon-size);
359
- line-height: 1;
360
- display: flex;
361
- align-items: center;
362
- justify-content: center;
363
- }
364
-
365
- .lib-mat-btn--shape-round {
366
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-round);
367
- }
368
-
369
- .lib-mat-btn--shape-square {
370
- --lib-mat-btn-radius: var(--lib-mat-btn-radius-square);
371
- }