@rededor/site-front-end-lib 20.0.39 → 20.1.0-alpha.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 (162) hide show
  1. package/components/algolia-search/index.d.ts +1 -1
  2. package/components/filters/filter-generic/index.d.ts +3 -3
  3. package/components/filters/filter-planos-convenios/index.d.ts +3 -2
  4. package/components/footer/index.d.ts +1 -1
  5. package/components/header/index.d.ts +1 -1
  6. package/core/index.d.ts +3 -4
  7. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +4 -4
  8. package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs.map +1 -1
  9. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +5 -5
  10. package/fesm2022/rededor-site-front-end-lib-components-banner.mjs.map +1 -1
  11. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +2 -2
  12. package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +6 -6
  14. package/fesm2022/rededor-site-front-end-lib-components-cards.mjs.map +1 -1
  15. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +2 -2
  16. package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs.map +1 -1
  17. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +2 -2
  18. package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs.map +1 -1
  19. package/fesm2022/rededor-site-front-end-lib-components-error.mjs +6 -6
  20. package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -1
  21. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +1 -1
  22. package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs.map +1 -1
  23. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +13 -13
  24. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
  25. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +14 -14
  26. package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -1
  27. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +1 -1
  28. package/fesm2022/rededor-site-front-end-lib-components-footer.mjs.map +1 -1
  29. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +1 -1
  30. package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs.map +1 -1
  31. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +1 -1
  32. package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs.map +1 -1
  33. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +1 -1
  34. package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs.map +1 -1
  35. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +1 -1
  36. package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs.map +1 -1
  37. package/fesm2022/rededor-site-front-end-lib-components-header.mjs +1 -1
  38. package/fesm2022/rededor-site-front-end-lib-components-header.mjs.map +1 -1
  39. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +1 -1
  40. package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs.map +1 -1
  41. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +1 -1
  42. package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs.map +1 -1
  43. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +1 -1
  44. package/fesm2022/rededor-site-front-end-lib-components-modal.mjs.map +1 -1
  45. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +2 -2
  46. package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +1 -1
  47. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +2 -2
  48. package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs.map +1 -1
  49. package/fesm2022/rededor-site-front-end-lib-components-search.mjs +3 -3
  50. package/fesm2022/rededor-site-front-end-lib-components-search.mjs.map +1 -1
  51. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +1 -1
  52. package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs.map +1 -1
  53. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +2 -2
  54. package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs.map +1 -1
  55. package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +3 -3
  56. package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs.map +1 -1
  57. package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +3 -3
  58. package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs.map +1 -1
  59. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +2 -2
  60. package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs.map +1 -1
  61. package/fesm2022/rededor-site-front-end-lib-core.mjs +1 -0
  62. package/fesm2022/rededor-site-front-end-lib-core.mjs.map +1 -1
  63. package/package.json +2 -133
  64. package/cura/accordion/index.d.ts +0 -120
  65. package/cura/api/index.d.ts +0 -359
  66. package/cura/badges/cura-badge-counter/index.d.ts +0 -38
  67. package/cura/badges/cura-badge-distance/index.d.ts +0 -21
  68. package/cura/badges/cura-badge-dot/index.d.ts +0 -29
  69. package/cura/badges/cura-badge-pill/index.d.ts +0 -42
  70. package/cura/badges/index.d.ts +0 -5
  71. package/cura/buttons/cura-button/index.d.ts +0 -90
  72. package/cura/buttons/cura-button-outline/index.d.ts +0 -90
  73. package/cura/buttons/cura-button-select/index.d.ts +0 -39
  74. package/cura/buttons/cura-button-transparent/index.d.ts +0 -87
  75. package/cura/buttons/index.d.ts +0 -15
  76. package/cura/cards/cura-card/index.d.ts +0 -49
  77. package/cura/feedback/cura-alert/index.d.ts +0 -55
  78. package/cura/feedback/cura-modal/index.d.ts +0 -97
  79. package/cura/feedback/cura-toast/index.d.ts +0 -104
  80. package/cura/forms/cura-checkbox/index.d.ts +0 -160
  81. package/cura/forms/cura-input-text/index.d.ts +0 -236
  82. package/cura/forms/cura-label/index.d.ts +0 -47
  83. package/cura/forms/cura-radio/index.d.ts +0 -148
  84. package/cura/forms/cura-select/index.d.ts +0 -154
  85. package/cura/forms/cura-select-option/index.d.ts +0 -54
  86. package/cura/forms/cura-select-state/index.d.ts +0 -72
  87. package/cura/forms/cura-switch/index.d.ts +0 -113
  88. package/cura/forms/cura-textarea/index.d.ts +0 -113
  89. package/cura/forms/index.d.ts +0 -20
  90. package/cura/icons/cura-icon/index.d.ts +0 -46
  91. package/cura/loaders/cura-loader-bar/index.d.ts +0 -22
  92. package/cura/loaders/cura-loader-circle/index.d.ts +0 -24
  93. package/cura/texts/cura-display/index.d.ts +0 -54
  94. package/cura/texts/cura-heading/index.d.ts +0 -65
  95. package/cura/texts/cura-paragraph/index.d.ts +0 -54
  96. package/cura/texts/index.d.ts +0 -7
  97. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +0 -252
  98. package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs.map +0 -1
  99. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +0 -643
  100. package/fesm2022/rededor-site-front-end-lib-cura-api.mjs.map +0 -1
  101. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +0 -90
  102. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs.map +0 -1
  103. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +0 -55
  104. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs.map +0 -1
  105. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +0 -66
  106. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs.map +0 -1
  107. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +0 -91
  108. package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs.map +0 -1
  109. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs +0 -4
  110. package/fesm2022/rededor-site-front-end-lib-cura-badges.mjs.map +0 -1
  111. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +0 -170
  112. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map +0 -1
  113. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +0 -135
  114. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map +0 -1
  115. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +0 -161
  116. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs.map +0 -1
  117. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +0 -170
  118. package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs.map +0 -1
  119. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs +0 -13
  120. package/fesm2022/rededor-site-front-end-lib-cura-buttons.mjs.map +0 -1
  121. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +0 -72
  122. package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs.map +0 -1
  123. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +0 -90
  124. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs.map +0 -1
  125. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +0 -105
  126. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs.map +0 -1
  127. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs +0 -198
  128. package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs.map +0 -1
  129. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +0 -262
  130. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +0 -1
  131. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +0 -586
  132. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs.map +0 -1
  133. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +0 -82
  134. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs.map +0 -1
  135. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +0 -243
  136. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs.map +0 -1
  137. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +0 -89
  138. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs.map +0 -1
  139. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs +0 -123
  140. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs.map +0 -1
  141. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +0 -365
  142. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +0 -1
  143. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +0 -182
  144. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs.map +0 -1
  145. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs +0 -209
  146. package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs.map +0 -1
  147. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs +0 -21
  148. package/fesm2022/rededor-site-front-end-lib-cura-forms.mjs.map +0 -1
  149. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +0 -88
  150. package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs.map +0 -1
  151. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +0 -44
  152. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs.map +0 -1
  153. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +0 -49
  154. package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs.map +0 -1
  155. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +0 -84
  156. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs.map +0 -1
  157. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +0 -104
  158. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs.map +0 -1
  159. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +0 -89
  160. package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs.map +0 -1
  161. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs +0 -4
  162. package/fesm2022/rededor-site-front-end-lib-cura-texts.mjs.map +0 -1
@@ -1,170 +0,0 @@
1
- import * as i1 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { inject, input, output, computed, HostListener, Component } from '@angular/core';
5
- import { labelSizes } from '@rededor/site-front-end-lib/cura/buttons';
6
- import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
7
- import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
8
- import { CuraLoaderCircleComponent } from '@rededor/site-front-end-lib/cura/loaders/cura-loader-circle';
9
- import { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';
10
-
11
- class CuraButtonOutlineComponent {
12
- constructor() {
13
- this.curaApi = inject(CuraApiService);
14
- /**
15
- * Button type: button (default) | submit | reset
16
- */
17
- this.type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : []));
18
- /**
19
- * Button size: small | medium | large (default)
20
- */
21
- this.size = input('large', ...(ngDevMode ? [{ debugName: "size" }] : []));
22
- /**
23
- * Disabled state. Boolean.
24
- */
25
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
26
- /**
27
- * Loading state. Boolean.
28
- */
29
- this.isLoading = input(false, ...(ngDevMode ? [{ debugName: "isLoading" }] : []));
30
- /**
31
- * Name of the icon to be used from iconset.
32
- */
33
- this.iconName = input('', ...(ngDevMode ? [{ debugName: "iconName" }] : []));
34
- /**
35
- * Custom iconset if needed.
36
- */
37
- this.iconset = input('default', ...(ngDevMode ? [{ debugName: "iconset" }] : []));
38
- /**
39
- * Icon position: left (default) | right.
40
- */
41
- this.iconPosition = input('left', ...(ngDevMode ? [{ debugName: "iconPosition" }] : []));
42
- /**
43
- * Set button to FAB/icon only.
44
- */
45
- this.iconOnly = input(false, ...(ngDevMode ? [{ debugName: "iconOnly" }] : []));
46
- /**
47
- * Property href switch button to link.
48
- */
49
- this.href = input('', ...(ngDevMode ? [{ debugName: "href" }] : []));
50
- /**
51
- * Set target if link.
52
- */
53
- this.target = input('_self', ...(ngDevMode ? [{ debugName: "target" }] : []));
54
- /**
55
- * Color base from color scheme. Default: primary.
56
- */
57
- this.color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : []));
58
- /**
59
- * Set the font background to dark or light.
60
- */
61
- this.background = input('light', ...(ngDevMode ? [{ debugName: "background" }] : []));
62
- /**
63
- * Set the font color to dark or light.
64
- */
65
- this.fontColor = input('dark', ...(ngDevMode ? [{ debugName: "fontColor" }] : []));
66
- /**
67
- * Set text alignment for the button label.
68
- * Values: left (default) | center | right.
69
- */
70
- this.textAlign = input('left', ...(ngDevMode ? [{ debugName: "textAlign" }] : []));
71
- /**
72
- * Justify icons and label inside the button.
73
- * Values: false (default) | true.
74
- */
75
- this.justify = input(false, ...(ngDevMode ? [{ debugName: "justify" }] : []));
76
- /**
77
- * Accessible name for the button (aria-label).
78
- * Required for icon-only buttons or when button text is not descriptive enough.
79
- */
80
- this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
81
- this.buttonClick = output();
82
- this.hovered = false;
83
- // Computed signal
84
- this.buttonStyles = computed(() => {
85
- const styles = {};
86
- styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();
87
- styles['--neutral-white'] = this.curaApi.theme.colors.getColor('neutral-white');
88
- styles['--neutral-base'] = this.curaApi.theme.colors.getColor('neutral-base');
89
- styles['--neutral-dark'] = this.curaApi.theme.colors.getColor('neutral-dark');
90
- styles['--font-size'] = this.curaApi.theme.fonts.getSize();
91
- styles['--font-family'] = this.curaApi.theme.fonts.getFamily();
92
- const weights = this.curaApi.theme.fonts.getWeights();
93
- styles['--font-weight-medium'] = weights.medium;
94
- styles['--text-align'] = this.textAlign();
95
- const colorMappings = [
96
- { name: '--color-dark-neutral-purewhite', theme: this.background() === 'light' ? `${this.color()}-dark` : 'neutral-purewhite' },
97
- { name: '--color-lighter-color-darker', theme: this.background() === 'light' ? `${this.color()}-lighter` : `${this.color()}-darker` },
98
- { name: '--color-light-color-darker', theme: this.background() === 'light' ? `${this.color()}-light` : `${this.color()}-lighter` },
99
- { name: '--neutral-dark', theme: 'neutral-dark' },
100
- ];
101
- colorMappings.forEach((mapping) => {
102
- styles[mapping.name] = this.curaApi.theme.colors.getColor(mapping.theme);
103
- });
104
- return styles;
105
- }, ...(ngDevMode ? [{ debugName: "buttonStyles" }] : []));
106
- this.containerClasses = computed(() => {
107
- const classes = [];
108
- classes.push(this.size()?.toLowerCase());
109
- classes.push(`icon-${this.iconPosition()?.toLowerCase()}`);
110
- if (this.iconOnly())
111
- classes.push('icon-only');
112
- if (this.disabled())
113
- classes.push('disabled');
114
- if (this.isLoading())
115
- classes.push('isLoading');
116
- if (this.justify())
117
- classes.push('justify');
118
- return classes.join(' ');
119
- }, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
120
- this.iconSize = computed(() => {
121
- return this.size() === 'large' ? '20' : '16';
122
- }, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
123
- this.symbolColor = computed(() => {
124
- if (this.disabled())
125
- return 'neutral-dark';
126
- return this.fontColor() === 'light' ? 'neutral-purewhite' : `${this.color()}-darker`;
127
- }, ...(ngDevMode ? [{ debugName: "symbolColor" }] : []));
128
- this.labelSize = computed(() => {
129
- return (labelSizes[this.size()] || labelSizes['default']);
130
- }, ...(ngDevMode ? [{ debugName: "labelSize" }] : []));
131
- }
132
- handleMouseEnter() {
133
- if (this.disabled())
134
- return;
135
- this.hovered = true;
136
- }
137
- handleMouseLeave() {
138
- this.hovered = false;
139
- }
140
- handleClick(event) {
141
- if (this.disabled() || this.isLoading()) {
142
- event.preventDefault();
143
- return;
144
- }
145
- this.buttonClick.emit(event);
146
- }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraButtonOutlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraButtonOutlineComponent, isStandalone: true, selector: "cura-button-outline", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, iconset: { classPropertyName: "iconset", publicName: "iconset", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, iconOnly: { classPropertyName: "iconOnly", publicName: "iconOnly", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, fontColor: { classPropertyName: "fontColor", publicName: "fontColor", isSignal: true, isRequired: false, transformFunction: null }, textAlign: { classPropertyName: "textAlign", publicName: "textAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { buttonClick: "buttonClick" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.role": "href() ? \"link\" : type()", "attr.aria-disabled": "disabled()", "attr.href": "href()" } }, ngImport: i0, template: "<ng-template #button>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (href()) {\r\n <a\r\n [href]=\"disabled() ? '' : href()\"\r\n [target]=\"target()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </a>\r\n} @else {\r\n <button\r\n [type]=\"type()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </button>\r\n}\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraLoaderCircleComponent, selector: "cura-loader-circle", inputs: ["size", "color"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
149
- }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraButtonOutlineComponent, decorators: [{
151
- type: Component,
152
- args: [{ selector: 'cura-button-outline', imports: [CommonModule, CuraIconComponent, CuraLoaderCircleComponent, CuraLabelComponent], host: {
153
- '[attr.role]': 'href() ? "link" : type()',
154
- '[attr.aria-disabled]': 'disabled()',
155
- '[attr.href]': 'href()',
156
- }, template: "<ng-template #button>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (href()) {\r\n <a\r\n [href]=\"disabled() ? '' : href()\"\r\n [target]=\"target()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </a>\r\n} @else {\r\n <button\r\n [type]=\"type()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </button>\r\n}\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:transparent;box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-dark-neutral-purewhite);border-radius:var(--border-radius)}:host button:not(.disabled):not(.isLoading):hover,:host a:not(.disabled):not(.isLoading):hover{background-color:var(--color-lighter-color-darker)}:host button:not(.disabled):not(.inverted):not(.isLoading):active,:host a:not(.disabled):not(.inverted):not(.isLoading):active{background-color:var(--color-light-color-darker)}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.disabled,:host a.disabled{cursor:not-allowed}:host button.disabled:before,:host a.disabled:before{border-color:var(--neutral-dark)}:host button.icon-only,:host a.icon-only{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 3px)}:host button.icon-only cura-label,:host a.icon-only cura-label{display:none}:host button.icon-only cura-icon,:host a.icon-only cura-icon{margin-left:0!important;margin-right:0!important}:host button.icon-only.medium,:host a.icon-only.medium{padding:calc(var(--cura-spacing-base) * 3px)}:host button.icon-only.small,:host a.icon-only.small{padding:calc(var(--cura-spacing-base) * 2px)}:host button cura-loader-circle,:host a cura-loader-circle{position:absolute;display:none}:host button.isLoading,:host a.isLoading{cursor:wait}:host button.isLoading .button-container,:host a.isLoading .button-container{opacity:0}:host button.isLoading cura-loader-circle,:host a.isLoading cura-loader-circle{display:block}\n"] }]
157
- }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], iconset: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconset", required: false }] }], iconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPosition", required: false }] }], iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }], href: [{ type: i0.Input, args: [{ isSignal: true, alias: "href", required: false }] }], target: [{ type: i0.Input, args: [{ isSignal: true, alias: "target", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], fontColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "fontColor", required: false }] }], textAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "textAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], buttonClick: [{ type: i0.Output, args: ["buttonClick"] }], handleMouseEnter: [{
158
- type: HostListener,
159
- args: ['mouseenter']
160
- }], handleMouseLeave: [{
161
- type: HostListener,
162
- args: ['mouseleave']
163
- }] } });
164
-
165
- /**
166
- * Generated bundle index. Do not edit.
167
- */
168
-
169
- export { CuraButtonOutlineComponent };
170
- //# sourceMappingURL=rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs","sources":["../../../projects/site-front-end-lib/cura/buttons/cura-button-outline/cura-button-outline.component.ts","../../../projects/site-front-end-lib/cura/buttons/cura-button-outline/cura-button-outline.component.html","../../../projects/site-front-end-lib/cura/buttons/cura-button-outline/rededor-site-front-end-lib-cura-buttons-cura-button-outline.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, input, output, HostListener, computed, inject } from '@angular/core';\r\nimport { labelSizes, ButtonType, ButtonSize, IconPosition, BackgroundType, FontColor, TextAlign } from '@rededor/site-front-end-lib/cura/buttons';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { CuraLoaderCircleComponent } from '@rededor/site-front-end-lib/cura/loaders/cura-loader-circle';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { LabelSize } from '@rededor/site-front-end-lib/cura/forms';\r\n\r\n@Component({\r\n selector: 'cura-button-outline',\r\n imports: [CommonModule, CuraIconComponent, CuraLoaderCircleComponent, CuraLabelComponent],\r\n templateUrl: './cura-button-outline.component.html',\r\n styleUrls: ['./cura-button-outline.component.scss'],\r\n host: {\r\n '[attr.role]': 'href() ? \"link\" : type()',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.href]': 'href()',\r\n },\r\n})\r\nexport class CuraButtonOutlineComponent {\r\n private curaApi: CuraApiService = inject(CuraApiService);\r\n\r\n /**\r\n * Button type: button (default) | submit | reset\r\n */\r\n type = input<ButtonType>('button');\r\n\r\n /**\r\n * Button size: small | medium | large (default)\r\n */\r\n size = input<ButtonSize>('large');\r\n\r\n /**\r\n * Disabled state. Boolean.\r\n */\r\n disabled = input<boolean>(false);\r\n\r\n /**\r\n * Loading state. Boolean.\r\n */\r\n isLoading = input<boolean>(false);\r\n\r\n /**\r\n * Name of the icon to be used from iconset.\r\n */\r\n iconName = input<string>('');\r\n\r\n /**\r\n * Custom iconset if needed.\r\n */\r\n iconset = input<string>('default');\r\n\r\n /**\r\n * Icon position: left (default) | right.\r\n */\r\n iconPosition = input<IconPosition>('left');\r\n\r\n /**\r\n * Set button to FAB/icon only.\r\n */\r\n iconOnly = input<boolean>(false);\r\n\r\n /**\r\n * Property href switch button to link.\r\n */\r\n href = input<string>('');\r\n\r\n /**\r\n * Set target if link.\r\n */\r\n target = input<string>('_self');\r\n\r\n /**\r\n * Color base from color scheme. Default: primary.\r\n */\r\n color = input<string>('primary');\r\n\r\n /**\r\n * Set the font background to dark or light.\r\n */\r\n background = input<BackgroundType>('light');\r\n\r\n /**\r\n * Set the font color to dark or light.\r\n */\r\n fontColor = input<FontColor>('dark');\r\n\r\n /**\r\n * Set text alignment for the button label.\r\n * Values: left (default) | center | right.\r\n */\r\n textAlign = input<TextAlign>('left');\r\n\r\n /**\r\n * Justify icons and label inside the button.\r\n * Values: false (default) | true.\r\n */\r\n justify = input<boolean>(false);\r\n\r\n /**\r\n * Accessible name for the button (aria-label).\r\n * Required for icon-only buttons or when button text is not descriptive enough.\r\n */\r\n ariaLabel = input<string>('');\r\n\r\n buttonClick = output<Event>();\r\n\r\n hovered = false;\r\n\r\n // Computed signal\r\n buttonStyles = computed(() => {\r\n const styles: { [key: string]: string } = {};\r\n\r\n styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();\r\n styles['--neutral-white'] = this.curaApi.theme.colors.getColor('neutral-white');\r\n styles['--neutral-base'] = this.curaApi.theme.colors.getColor('neutral-base');\r\n styles['--neutral-dark'] = this.curaApi.theme.colors.getColor('neutral-dark');\r\n styles['--font-size'] = this.curaApi.theme.fonts.getSize();\r\n styles['--font-family'] = this.curaApi.theme.fonts.getFamily();\r\n const weights = this.curaApi.theme.fonts.getWeights();\r\n styles['--font-weight-medium'] = weights.medium;\r\n styles['--text-align'] = this.textAlign();\r\n\r\n const colorMappings = [\r\n { name: '--color-dark-neutral-purewhite', theme: this.background() === 'light' ? `${this.color()}-dark` : 'neutral-purewhite' },\r\n { name: '--color-lighter-color-darker', theme: this.background() === 'light' ? `${this.color()}-lighter` : `${this.color()}-darker` },\r\n { name: '--color-light-color-darker', theme: this.background() === 'light' ? `${this.color()}-light` : `${this.color()}-lighter` },\r\n { name: '--neutral-dark', theme: 'neutral-dark' },\r\n ];\r\n\r\n colorMappings.forEach((mapping) => {\r\n styles[mapping.name] = this.curaApi.theme.colors.getColor(mapping.theme);\r\n });\r\n\r\n return styles;\r\n });\r\n\r\n containerClasses = computed(() => {\r\n const classes = [];\r\n classes.push(this.size()?.toLowerCase());\r\n classes.push(`icon-${this.iconPosition()?.toLowerCase()}`);\r\n\r\n if (this.iconOnly()) classes.push('icon-only');\r\n if (this.disabled()) classes.push('disabled');\r\n if (this.isLoading()) classes.push('isLoading');\r\n if (this.justify()) classes.push('justify');\r\n\r\n return classes.join(' ');\r\n });\r\n\r\n iconSize = computed(() => {\r\n return this.size() === 'large' ? '20' : '16';\r\n });\r\n\r\n symbolColor = computed(() => {\r\n if (this.disabled()) return 'neutral-dark';\r\n return this.fontColor() === 'light' ? 'neutral-purewhite' : `${this.color()}-darker`;\r\n });\r\n\r\n labelSize = computed(() => {\r\n return (labelSizes[this.size()] || labelSizes['default']) as LabelSize;\r\n });\r\n\r\n @HostListener('mouseenter')\r\n handleMouseEnter() {\r\n if (this.disabled()) return;\r\n this.hovered = true;\r\n }\r\n\r\n @HostListener('mouseleave')\r\n handleMouseLeave() {\r\n this.hovered = false;\r\n }\r\n\r\n handleClick(event: Event) {\r\n if (this.disabled() || this.isLoading()) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n this.buttonClick.emit(event);\r\n }\r\n}\r\n","<ng-template #button>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n\r\n@if (href()) {\r\n <a\r\n [href]=\"disabled() ? '' : href()\"\r\n [target]=\"target()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </a>\r\n} @else {\r\n <button\r\n [type]=\"type()\"\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n >\r\n <span class=\"button-container\">\r\n @if (iconName()) {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"symbolColor()\" [iconset]=\"iconset()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"normal\" [color]=\"symbolColor()\">\r\n <ng-container *ngTemplateOutlet=\"button\"></ng-container>\r\n </cura-label>\r\n </span>\r\n <cura-loader-circle [size]=\"size()\" [color]=\"symbolColor()\"> </cura-loader-circle>\r\n </button>\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,135 +0,0 @@
1
- import * as i1 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { inject, model, input, output, computed, HostListener, Component } from '@angular/core';
5
- import { labelSizes } from '@rededor/site-front-end-lib/cura/buttons';
6
- import { CuraApiService } from '@rededor/site-front-end-lib/cura/api';
7
- import { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';
8
- import { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';
9
- import { CuraBadgeCounterComponent } from '@rededor/site-front-end-lib/cura/badges/cura-badge-counter';
10
-
11
- class CuraButtonSelectComponent {
12
- constructor() {
13
- this.curaApi = inject(CuraApiService);
14
- this.selected = model(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
15
- this.iconName = input('', ...(ngDevMode ? [{ debugName: "iconName" }] : []));
16
- this.size = input('medium', ...(ngDevMode ? [{ debugName: "size" }] : []));
17
- this.counter = input(null, ...(ngDevMode ? [{ debugName: "counter" }] : []));
18
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
19
- this.background = input('light', ...(ngDevMode ? [{ debugName: "background" }] : []));
20
- this.color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : []));
21
- this.iconPosition = input(...(ngDevMode ? [undefined, { debugName: "iconPosition" }] : []));
22
- /**
23
- * Accessible name for the button (aria-label).
24
- * Required for icon-only buttons or when button text is not descriptive enough.
25
- */
26
- this.ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
27
- this.onclick = output();
28
- this.hovered = false;
29
- this.buttonStyles = computed(() => {
30
- const styles = {};
31
- styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();
32
- styles['--font-size'] = this.curaApi.theme.fonts.getSize();
33
- styles['--font-family'] = this.curaApi.theme.fonts.getFamily();
34
- const weights = this.curaApi.theme.fonts.getWeights();
35
- styles['--font-weight-medium'] = weights.medium;
36
- const colorMappings = [
37
- { name: '--color-border', theme: this.background() === 'light' ? `${this.color()}-darker` : 'neutral-white' },
38
- { name: '--color-border-hover-pressed', theme: this.background() === 'light' ? `${this.color()}-dark` : `${this.color()}-light` },
39
- { name: '--color-background-hover', theme: this.background() === 'light' ? `${this.color()}-light` : `${this.color()}-dark` },
40
- { name: '--color-select', theme: this.background() === 'light' ? `${this.color()}-base` : 'neutral-white' },
41
- { name: '--color-select-hover-pressed', theme: this.background() === 'light' ? `${this.color()}-dark` : `${this.color()}-lighter` },
42
- { name: '--color-select-focus', theme: this.background() === 'light' ? `${this.color()}-base` : `${this.color()}-lighter` },
43
- { name: '--color-disable-select', theme: this.background() === 'light' ? 'neutral-white' : 'neutral-black' },
44
- { name: '--color-border-disable-unselect', theme: 'neutral-dark' },
45
- { name: '--color-counter-disabled', theme: this.background() === 'light' ? 'neutral-pale' : 'neutral-black' },
46
- { name: '--color-counter', theme: !this.disabled() ? 'primary-lighter' : '' },
47
- ];
48
- colorMappings.forEach((mapping) => {
49
- if (mapping.theme) {
50
- styles[mapping.name] = this.curaApi.theme.colors.getColor(mapping.theme);
51
- }
52
- });
53
- return styles;
54
- }, ...(ngDevMode ? [{ debugName: "buttonStyles" }] : []));
55
- this.containerClasses = computed(() => {
56
- const classes = [];
57
- classes.push(this.size()?.toLowerCase());
58
- if (this.iconPosition()) {
59
- classes.push(`icon-${this.iconPosition()?.toLowerCase()}`);
60
- }
61
- if (this.disabled())
62
- classes.push('disabled');
63
- if (this.selected())
64
- classes.push('selected');
65
- return classes.join(' ');
66
- }, ...(ngDevMode ? [{ debugName: "containerClasses" }] : []));
67
- this.labelFontColor = computed(() => {
68
- if (this.disabled())
69
- return 'neutral-dark';
70
- if (this.background() === 'dark') {
71
- return this.selected() ? 'neutral-black' : 'neutral-white';
72
- }
73
- if (this.background() === 'light') {
74
- return this.selected() ? 'neutral-white' : 'neutral-black';
75
- }
76
- return 'neutral-black';
77
- }, ...(ngDevMode ? [{ debugName: "labelFontColor" }] : []));
78
- this.iconSize = computed(() => {
79
- return this.size() === 'large' ? '20' : '16';
80
- }, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
81
- this.iconColor = computed(() => {
82
- if (this.disabled())
83
- return 'neutral-dark';
84
- if (this.background() === 'dark') {
85
- return this.selected() ? 'neutral-black' : 'neutral-white';
86
- }
87
- if (this.background() === 'light') {
88
- return this.selected() ? 'neutral-white' : 'neutral-black';
89
- }
90
- return 'neutral-black';
91
- }, ...(ngDevMode ? [{ debugName: "iconColor" }] : []));
92
- this.labelSize = computed(() => {
93
- return (labelSizes[this.size()] || labelSizes['default']);
94
- }, ...(ngDevMode ? [{ debugName: "labelSize" }] : []));
95
- }
96
- handleMouseEnter() {
97
- if (this.disabled())
98
- return;
99
- this.hovered = true;
100
- }
101
- handleMouseLeave() {
102
- this.hovered = false;
103
- }
104
- handleClick(event) {
105
- if (this.disabled()) {
106
- event.preventDefault();
107
- }
108
- const newSelectedValue = !this.selected();
109
- this.selected.set(newSelectedValue);
110
- this.onclick.emit({ selected: newSelectedValue });
111
- }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraButtonSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
113
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraButtonSelectComponent, isStandalone: true, selector: "cura-button-select", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, counter: { classPropertyName: "counter", publicName: "counter", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange", onclick: "onclick" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.role": "\"button\"", "attr.aria-disabled": "disabled()", "attr.aria-pressed": "selected()" } }, ngImport: i0, template: "<button\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n>\r\n <div class=\"button-container\">\r\n @if (iconName() && iconPosition() !== 'right') {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"0%\" [color]=\"labelFontColor()\" weight=\"regular\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n\r\n @if (counter()) {\r\n <cura-badge-counter class=\"badge-number\" [number]=\"counter()\" [color]=\"color()\" [disabled]=\"disabled()\"> </cura-badge-counter>\r\n }\r\n\r\n @if (iconPosition() === 'right' && selected()) {\r\n <cura-icon name=\"check\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n </div>\r\n</button>\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:var(--neutral-purewhite);box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-border);border-radius:var(--border-radius)}:host button:not(.disabled):hover,:host a:not(.disabled):hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover-pressed)}:host button:focus,:host a:focus{border-color:var(--color-border)!important}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative;flex-direction:row!important}:host button .button-container .badge-number,:host a .button-container .badge-number{margin-left:10px}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.selected,:host a.selected{cursor:pointer;background-color:var(--color-select);border-color:var(--color-select)}:host button.selected:not(.disabled):hover,:host a.selected:not(.disabled):hover{background-color:var(--color-border-hover-pressed);border-color:var(--color-border-hover-pressed)}:host button.selected:focus,:host a.selected:focus{border-color:var(--color-select-focus)!important}:host button.selected.disabled,:host a.selected.disabled{background-color:var(--color-disable-select);border-color:var(--color-disable-select)}:host button.disabled,:host a.disabled{cursor:not-allowed;background-color:var(--neutral-white-primary-darker);border-color:var(--color-border-disable-unselect)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraBadgeCounterComponent, selector: "cura-badge-counter", inputs: ["number", "color", "disabled", "type"] }] }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraButtonSelectComponent, decorators: [{
116
- type: Component,
117
- args: [{ selector: 'cura-button-select', imports: [CommonModule, CuraIconComponent, CuraLabelComponent, CuraBadgeCounterComponent], host: {
118
- '[attr.role]': '"button"',
119
- '[attr.aria-disabled]': 'disabled()',
120
- '[attr.aria-pressed]': 'selected()',
121
- }, template: "<button\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n>\r\n <div class=\"button-container\">\r\n @if (iconName() && iconPosition() !== 'right') {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"0%\" [color]=\"labelFontColor()\" weight=\"regular\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n\r\n @if (counter()) {\r\n <cura-badge-counter class=\"badge-number\" [number]=\"counter()\" [color]=\"color()\" [disabled]=\"disabled()\"> </cura-badge-counter>\r\n }\r\n\r\n @if (iconPosition() === 'right' && selected()) {\r\n <cura-icon name=\"check\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n </div>\r\n</button>\r\n", styles: [":host{--border-radius: 4px;display:inline-block;vertical-align:middle;position:relative}:host button,:host a{outline:none;box-shadow:none;display:flex;width:100%;align-items:center;justify-content:center;text-decoration:none!important;font-size:var(--font-size);cursor:pointer;transition:background-color .07s linear,box-shadow .07s linear,border-color .07s linear;border-radius:var(--border-radius);position:relative;background-color:var(--neutral-purewhite);box-sizing:border-box;border:none}:host button:focus,:host a:focus{outline:2px solid #6ea8ff}:host button:before,:host a:before{content:\"\";width:100%;height:100%;position:absolute;left:0;top:0;box-sizing:border-box;border:2px solid var(--color-border);border-radius:var(--border-radius)}:host button:not(.disabled):hover,:host a:not(.disabled):hover{background-color:var(--color-background-hover);border-color:var(--color-border-hover-pressed)}:host button:focus,:host a:focus{border-color:var(--color-border)!important}:host button.large,:host a.large{padding:calc(var(--cura-spacing-base) * 3px) calc(var(--cura-spacing-base) * 4px);min-height:calc(var(--cura-spacing-base) * 11px)}:host button.medium,:host a.medium{padding:calc(var(--cura-spacing-base) * 3px);min-height:calc(var(--cura-spacing-base) * 10px)}:host button.small,:host a.small{padding:calc(var(--cura-spacing-base) * 2px);min-height:calc(var(--cura-spacing-base) * 8px)}:host button cura-label,:host a cura-label{flex:1;text-align:var(--text-align, \"left\")}:host button .button-container,:host a .button-container{display:flex;align-items:center;opacity:1;transition:opacity .2s linear;position:relative;flex-direction:row!important}:host button .button-container .badge-number,:host a .button-container .badge-number{margin-left:10px}:host button.icon-right .button-container,:host a.icon-right .button-container{flex-direction:row-reverse}:host button.justify .button-container,:host a.justify .button-container{width:100%}:host button.icon-left cura-icon,:host a.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 3px)}:host button.icon-right cura-icon,:host a.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 3px)}:host button.medium.icon-left cura-icon,:host button.small.icon-left cura-icon,:host a.medium.icon-left cura-icon,:host a.small.icon-left cura-icon{margin-right:calc(var(--cura-spacing-base) * 2px)}:host button.medium.icon-right cura-icon,:host button.small.icon-right cura-icon,:host a.medium.icon-right cura-icon,:host a.small.icon-right cura-icon{margin-left:calc(var(--cura-spacing-base) * 2px)}:host button.selected,:host a.selected{cursor:pointer;background-color:var(--color-select);border-color:var(--color-select)}:host button.selected:not(.disabled):hover,:host a.selected:not(.disabled):hover{background-color:var(--color-border-hover-pressed);border-color:var(--color-border-hover-pressed)}:host button.selected:focus,:host a.selected:focus{border-color:var(--color-select-focus)!important}:host button.selected.disabled,:host a.selected.disabled{background-color:var(--color-disable-select);border-color:var(--color-disable-select)}:host button.disabled,:host a.disabled{cursor:not-allowed;background-color:var(--neutral-white-primary-darker);border-color:var(--color-border-disable-unselect)}\n"] }]
122
- }], propDecorators: { selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], counter: [{ type: i0.Input, args: [{ isSignal: true, alias: "counter", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], background: [{ type: i0.Input, args: [{ isSignal: true, alias: "background", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], iconPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconPosition", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], onclick: [{ type: i0.Output, args: ["onclick"] }], handleMouseEnter: [{
123
- type: HostListener,
124
- args: ['mouseenter']
125
- }], handleMouseLeave: [{
126
- type: HostListener,
127
- args: ['mouseleave']
128
- }] } });
129
-
130
- /**
131
- * Generated bundle index. Do not edit.
132
- */
133
-
134
- export { CuraButtonSelectComponent };
135
- //# sourceMappingURL=rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs","sources":["../../../projects/site-front-end-lib/cura/buttons/cura-button-select/cura-button-select.component.ts","../../../projects/site-front-end-lib/cura/buttons/cura-button-select/cura-button-select.component.html","../../../projects/site-front-end-lib/cura/buttons/cura-button-select/rededor-site-front-end-lib-cura-buttons-cura-button-select.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, input, output, model, HostListener, computed, inject } from '@angular/core';\r\nimport { labelSizes, ButtonSize, IconPosition, BackgroundType } from '@rededor/site-front-end-lib/cura/buttons';\r\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\r\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\r\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\r\nimport { LabelSize } from '@rededor/site-front-end-lib/cura/forms';\r\nimport { CuraBadgeCounterComponent } from '@rededor/site-front-end-lib/cura/badges/cura-badge-counter';\r\n\r\n@Component({\r\n selector: 'cura-button-select',\r\n imports: [CommonModule, CuraIconComponent, CuraLabelComponent, CuraBadgeCounterComponent],\r\n templateUrl: './cura-button-select.component.html',\r\n styleUrls: ['./cura-button-select.component.scss'],\r\n host: {\r\n '[attr.role]': '\"button\"',\r\n '[attr.aria-disabled]': 'disabled()',\r\n '[attr.aria-pressed]': 'selected()',\r\n },\r\n})\r\nexport class CuraButtonSelectComponent {\r\n private curaApi: CuraApiService = inject(CuraApiService);\r\n\r\n selected = model<boolean>(false);\r\n iconName = input<string>('');\r\n size = input<ButtonSize>('medium');\r\n counter = input<number | null>(null);\r\n disabled = input<boolean>(false);\r\n background = input<BackgroundType>('light');\r\n color = input<string>('primary');\r\n iconPosition = input<IconPosition>();\r\n\r\n /**\r\n * Accessible name for the button (aria-label).\r\n * Required for icon-only buttons or when button text is not descriptive enough.\r\n */\r\n ariaLabel = input<string>('');\r\n\r\n onclick = output<{ selected: boolean }>();\r\n\r\n hovered = false;\r\n\r\n buttonStyles = computed(() => {\r\n const styles: { [key: string]: string } = {};\r\n\r\n styles['--base-spacing'] = this.curaApi.theme.spacing.getSpacing();\r\n styles['--font-size'] = this.curaApi.theme.fonts.getSize();\r\n styles['--font-family'] = this.curaApi.theme.fonts.getFamily();\r\n const weights = this.curaApi.theme.fonts.getWeights();\r\n styles['--font-weight-medium'] = weights.medium;\r\n\r\n const colorMappings = [\r\n { name: '--color-border', theme: this.background() === 'light' ? `${this.color()}-darker` : 'neutral-white' },\r\n { name: '--color-border-hover-pressed', theme: this.background() === 'light' ? `${this.color()}-dark` : `${this.color()}-light` },\r\n { name: '--color-background-hover', theme: this.background() === 'light' ? `${this.color()}-light` : `${this.color()}-dark` },\r\n { name: '--color-select', theme: this.background() === 'light' ? `${this.color()}-base` : 'neutral-white' },\r\n { name: '--color-select-hover-pressed', theme: this.background() === 'light' ? `${this.color()}-dark` : `${this.color()}-lighter` },\r\n { name: '--color-select-focus', theme: this.background() === 'light' ? `${this.color()}-base` : `${this.color()}-lighter` },\r\n { name: '--color-disable-select', theme: this.background() === 'light' ? 'neutral-white' : 'neutral-black' },\r\n { name: '--color-border-disable-unselect', theme: 'neutral-dark' },\r\n { name: '--color-counter-disabled', theme: this.background() === 'light' ? 'neutral-pale' : 'neutral-black' },\r\n { name: '--color-counter', theme: !this.disabled() ? 'primary-lighter' : '' },\r\n ];\r\n\r\n colorMappings.forEach((mapping) => {\r\n if (mapping.theme) {\r\n styles[mapping.name] = this.curaApi.theme.colors.getColor(mapping.theme);\r\n }\r\n });\r\n\r\n return styles;\r\n });\r\n\r\n containerClasses = computed(() => {\r\n const classes = [];\r\n classes.push(this.size()?.toLowerCase());\r\n\r\n if (this.iconPosition()) {\r\n classes.push(`icon-${this.iconPosition()?.toLowerCase()}`);\r\n }\r\n\r\n if (this.disabled()) classes.push('disabled');\r\n if (this.selected()) classes.push('selected');\r\n\r\n return classes.join(' ');\r\n });\r\n\r\n labelFontColor = computed(() => {\r\n if (this.disabled()) return 'neutral-dark';\r\n\r\n if (this.background() === 'dark') {\r\n return this.selected() ? 'neutral-black' : 'neutral-white';\r\n }\r\n if (this.background() === 'light') {\r\n return this.selected() ? 'neutral-white' : 'neutral-black';\r\n }\r\n return 'neutral-black';\r\n });\r\n\r\n iconSize = computed(() => {\r\n return this.size() === 'large' ? '20' : '16';\r\n });\r\n\r\n iconColor = computed(() => {\r\n if (this.disabled()) return 'neutral-dark';\r\n\r\n if (this.background() === 'dark') {\r\n return this.selected() ? 'neutral-black' : 'neutral-white';\r\n }\r\n if (this.background() === 'light') {\r\n return this.selected() ? 'neutral-white' : 'neutral-black';\r\n }\r\n return 'neutral-black';\r\n });\r\n\r\n labelSize = computed(() => {\r\n return (labelSizes[this.size()] || labelSizes['default']) as LabelSize;\r\n });\r\n\r\n @HostListener('mouseenter')\r\n handleMouseEnter() {\r\n if (this.disabled()) return;\r\n this.hovered = true;\r\n }\r\n\r\n @HostListener('mouseleave')\r\n handleMouseLeave() {\r\n this.hovered = false;\r\n }\r\n\r\n handleClick(event: Event) {\r\n if (this.disabled()) {\r\n event.preventDefault();\r\n }\r\n\r\n const newSelectedValue = !this.selected();\r\n this.selected.set(newSelectedValue);\r\n this.onclick.emit({ selected: newSelectedValue });\r\n }\r\n}\r\n","<button\r\n [class]=\"containerClasses()\"\r\n [ngStyle]=\"buttonStyles()\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"ariaLabel()\"\r\n (click)=\"handleClick($event)\"\r\n (mouseenter)=\"handleMouseEnter()\"\r\n (mouseleave)=\"handleMouseLeave()\"\r\n>\r\n <div class=\"button-container\">\r\n @if (iconName() && iconPosition() !== 'right') {\r\n <cura-icon [name]=\"iconName()\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n\r\n <cura-label class=\"label\" [size]=\"labelSize()\" lineHeight=\"0%\" [color]=\"labelFontColor()\" weight=\"regular\">\r\n <ng-content></ng-content>\r\n </cura-label>\r\n\r\n @if (counter()) {\r\n <cura-badge-counter class=\"badge-number\" [number]=\"counter()\" [color]=\"color()\" [disabled]=\"disabled()\"> </cura-badge-counter>\r\n }\r\n\r\n @if (iconPosition() === 'right' && selected()) {\r\n <cura-icon name=\"check\" [size]=\"iconSize()\" [color]=\"iconColor()\" [disabled]=\"disabled()\"> </cura-icon>\r\n }\r\n </div>\r\n</button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}