@magmonium/one 0.4.30 → 0.4.32

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 (196) hide show
  1. package/assets/button_groups/nav_user_actions.json +1 -0
  2. package/assets/button_groups/notification_filter.json +2 -13
  3. package/assets/buttons/nav_user_edit_profile.json +5 -0
  4. package/assets/docs/en/app-release.md +0 -11
  5. package/assets/i18n/af.json +10 -2
  6. package/assets/i18n/am.json +10 -1
  7. package/assets/i18n/ar.json +10 -2
  8. package/assets/i18n/as.json +11 -2
  9. package/assets/i18n/az.json +11 -2
  10. package/assets/i18n/ba.json +8 -0
  11. package/assets/i18n/be.json +11 -2
  12. package/assets/i18n/bg.json +11 -2
  13. package/assets/i18n/bn.json +11 -2
  14. package/assets/i18n/br.json +7 -0
  15. package/assets/i18n/bs.json +10 -2
  16. package/assets/i18n/ca.json +10 -2
  17. package/assets/i18n/ceb.json +9 -2
  18. package/assets/i18n/cnr.json +8 -0
  19. package/assets/i18n/co.json +7 -1
  20. package/assets/i18n/cs.json +9 -2
  21. package/assets/i18n/cy.json +11 -2
  22. package/assets/i18n/da.json +7 -1
  23. package/assets/i18n/de.json +8 -2
  24. package/assets/i18n/doi.json +9 -0
  25. package/assets/i18n/el.json +10 -2
  26. package/assets/i18n/en.json +21 -4
  27. package/assets/i18n/eo.json +9 -2
  28. package/assets/i18n/es.json +9 -2
  29. package/assets/i18n/et.json +8 -2
  30. package/assets/i18n/eu.json +9 -2
  31. package/assets/i18n/fa.json +10 -2
  32. package/assets/i18n/fi.json +9 -2
  33. package/assets/i18n/fr.json +9 -2
  34. package/assets/i18n/fy.json +6 -2
  35. package/assets/i18n/ga.json +10 -2
  36. package/assets/i18n/gd.json +9 -2
  37. package/assets/i18n/gl.json +8 -1
  38. package/assets/i18n/gu.json +11 -2
  39. package/assets/i18n/ha.json +7 -1
  40. package/assets/i18n/haw.json +8 -2
  41. package/assets/i18n/he.json +8 -0
  42. package/assets/i18n/hi.json +10 -2
  43. package/assets/i18n/hmn.json +6 -2
  44. package/assets/i18n/hr.json +10 -2
  45. package/assets/i18n/hu.json +10 -2
  46. package/assets/i18n/hy.json +11 -2
  47. package/assets/i18n/id.json +10 -2
  48. package/assets/i18n/ig.json +8 -1
  49. package/assets/i18n/ilo.json +6 -0
  50. package/assets/i18n/is.json +10 -2
  51. package/assets/i18n/it.json +9 -2
  52. package/assets/i18n/iw.json +9 -1
  53. package/assets/i18n/ja.json +8 -1
  54. package/assets/i18n/jw.json +8 -2
  55. package/assets/i18n/ka.json +10 -2
  56. package/assets/i18n/kk.json +10 -2
  57. package/assets/i18n/km.json +10 -2
  58. package/assets/i18n/kn.json +11 -2
  59. package/assets/i18n/ko.json +8 -1
  60. package/assets/i18n/kok.json +9 -0
  61. package/assets/i18n/ku.json +10 -2
  62. package/assets/i18n/ky.json +9 -1
  63. package/assets/i18n/la.json +6 -1
  64. package/assets/i18n/lb.json +6 -2
  65. package/assets/i18n/lo.json +10 -2
  66. package/assets/i18n/lt.json +10 -2
  67. package/assets/i18n/lv.json +10 -2
  68. package/assets/i18n/mai.json +9 -0
  69. package/assets/i18n/mg.json +8 -2
  70. package/assets/i18n/mi.json +8 -2
  71. package/assets/i18n/mk.json +10 -2
  72. package/assets/i18n/ml.json +11 -2
  73. package/assets/i18n/mn.json +10 -2
  74. package/assets/i18n/mr.json +11 -2
  75. package/assets/i18n/ms.json +9 -2
  76. package/assets/i18n/mt.json +9 -2
  77. package/assets/i18n/my.json +10 -2
  78. package/assets/i18n/ne.json +10 -2
  79. package/assets/i18n/nl.json +6 -2
  80. package/assets/i18n/no.json +8 -2
  81. package/assets/i18n/ny.json +9 -2
  82. package/assets/i18n/or.json +10 -1
  83. package/assets/i18n/pa.json +11 -2
  84. package/assets/i18n/pl.json +8 -2
  85. package/assets/i18n/ps.json +8 -1
  86. package/assets/i18n/pt.json +9 -2
  87. package/assets/i18n/ro.json +9 -2
  88. package/assets/i18n/ru.json +9 -2
  89. package/assets/i18n/sa.json +9 -0
  90. package/assets/i18n/sat.json +9 -0
  91. package/assets/i18n/sd.json +11 -2
  92. package/assets/i18n/si.json +10 -2
  93. package/assets/i18n/sk.json +6 -1
  94. package/assets/i18n/sl.json +10 -2
  95. package/assets/i18n/sm.json +7 -1
  96. package/assets/i18n/sn.json +6 -2
  97. package/assets/i18n/so.json +8 -1
  98. package/assets/i18n/sq.json +10 -2
  99. package/assets/i18n/sr.json +10 -2
  100. package/assets/i18n/st.json +8 -2
  101. package/assets/i18n/su.json +8 -2
  102. package/assets/i18n/sv.json +8 -2
  103. package/assets/i18n/sw.json +10 -2
  104. package/assets/i18n/ta.json +11 -2
  105. package/assets/i18n/te.json +11 -2
  106. package/assets/i18n/tg.json +11 -2
  107. package/assets/i18n/th.json +10 -1
  108. package/assets/i18n/tl.json +8 -2
  109. package/assets/i18n/tr.json +10 -2
  110. package/assets/i18n/uk.json +11 -2
  111. package/assets/i18n/ur.json +11 -2
  112. package/assets/i18n/uz.json +10 -2
  113. package/assets/i18n/vi.json +10 -1
  114. package/assets/i18n/xh.json +11 -2
  115. package/assets/i18n/yi.json +10 -1
  116. package/assets/i18n/yo.json +9 -1
  117. package/assets/i18n/zh.json +9 -1
  118. package/assets/i18n/zu.json +11 -2
  119. package/assets/index.json +1 -1
  120. package/fesm2022/magmonium-one-attribute-value-DMI0yJpL.mjs +255 -0
  121. package/fesm2022/magmonium-one-attribute-value-DMI0yJpL.mjs.map +1 -0
  122. package/fesm2022/magmonium-one-base-checkbox-C9dvZ2IH.mjs +77 -0
  123. package/fesm2022/magmonium-one-base-checkbox-C9dvZ2IH.mjs.map +1 -0
  124. package/fesm2022/magmonium-one-base-dropdown-U-cWl3p9.mjs +604 -0
  125. package/fesm2022/magmonium-one-base-dropdown-U-cWl3p9.mjs.map +1 -0
  126. package/fesm2022/magmonium-one-base-input-CLBOTOUs.mjs +183 -0
  127. package/fesm2022/magmonium-one-base-input-CLBOTOUs.mjs.map +1 -0
  128. package/fesm2022/magmonium-one-base-text-Zb0oLNRX.mjs +94 -0
  129. package/fesm2022/magmonium-one-base-text-Zb0oLNRX.mjs.map +1 -0
  130. package/fesm2022/magmonium-one-button-Bwzaxxn3.mjs +1281 -0
  131. package/fesm2022/magmonium-one-button-Bwzaxxn3.mjs.map +1 -0
  132. package/fesm2022/magmonium-one-checkbox-CPQ9m291.mjs +365 -0
  133. package/fesm2022/magmonium-one-checkbox-CPQ9m291.mjs.map +1 -0
  134. package/fesm2022/magmonium-one-color-utl-CAbZLKB5.mjs +449 -0
  135. package/fesm2022/magmonium-one-color-utl-CAbZLKB5.mjs.map +1 -0
  136. package/fesm2022/magmonium-one-directives-BVKX77zM.mjs +1285 -0
  137. package/fesm2022/magmonium-one-directives-BVKX77zM.mjs.map +1 -0
  138. package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs +65 -0
  139. package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs.map +1 -0
  140. package/fesm2022/magmonium-one-group-D4yYrVP3.mjs +428 -0
  141. package/fesm2022/magmonium-one-group-D4yYrVP3.mjs.map +1 -0
  142. package/fesm2022/magmonium-one-header-DmN8M1a3.mjs +380 -0
  143. package/fesm2022/magmonium-one-header-DmN8M1a3.mjs.map +1 -0
  144. package/fesm2022/magmonium-one-icon-Ep14YeRY.mjs +833 -0
  145. package/fesm2022/magmonium-one-icon-Ep14YeRY.mjs.map +1 -0
  146. package/fesm2022/magmonium-one-image-editor-BX4eNd4u.mjs +438 -0
  147. package/fesm2022/magmonium-one-image-editor-BX4eNd4u.mjs.map +1 -0
  148. package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs +116 -0
  149. package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs.map +1 -0
  150. package/fesm2022/magmonium-one-input-DqHPorA1.mjs +39 -0
  151. package/fesm2022/magmonium-one-input-DqHPorA1.mjs.map +1 -0
  152. package/fesm2022/magmonium-one-label-D2gjTbKX.mjs +574 -0
  153. package/fesm2022/magmonium-one-label-D2gjTbKX.mjs.map +1 -0
  154. package/fesm2022/magmonium-one-m-ref-Bq0gQbKE.mjs +147 -0
  155. package/fesm2022/magmonium-one-m-ref-Bq0gQbKE.mjs.map +1 -0
  156. package/fesm2022/magmonium-one-menu-BM9f2knw.mjs +887 -0
  157. package/fesm2022/magmonium-one-menu-BM9f2knw.mjs.map +1 -0
  158. package/fesm2022/magmonium-one-multi-range-a3ZVTy7i.mjs +458 -0
  159. package/fesm2022/magmonium-one-multi-range-a3ZVTy7i.mjs.map +1 -0
  160. package/fesm2022/magmonium-one-options-asset-CDEXIif6.mjs +97 -0
  161. package/fesm2022/magmonium-one-options-asset-CDEXIif6.mjs.map +1 -0
  162. package/fesm2022/magmonium-one-otp-DO4oTeSK.mjs +261 -0
  163. package/fesm2022/magmonium-one-otp-DO4oTeSK.mjs.map +1 -0
  164. package/fesm2022/magmonium-one-password-D3oTo41c.mjs +217 -0
  165. package/fesm2022/magmonium-one-password-D3oTo41c.mjs.map +1 -0
  166. package/fesm2022/magmonium-one-radio-CkaWESS3.mjs +111 -0
  167. package/fesm2022/magmonium-one-radio-CkaWESS3.mjs.map +1 -0
  168. package/fesm2022/magmonium-one-range-D_WEKrli.mjs +216 -0
  169. package/fesm2022/magmonium-one-range-D_WEKrli.mjs.map +1 -0
  170. package/fesm2022/magmonium-one-rolldown-runtime-DpJrqANO.mjs +11 -0
  171. package/fesm2022/magmonium-one-selector-BowevmOd.mjs +1065 -0
  172. package/fesm2022/magmonium-one-selector-BowevmOd.mjs.map +1 -0
  173. package/fesm2022/magmonium-one-size-converter-BfT0Aw0g.mjs +1060 -0
  174. package/fesm2022/magmonium-one-size-converter-BfT0Aw0g.mjs.map +1 -0
  175. package/fesm2022/magmonium-one-text-B4xKn-EQ.mjs +406 -0
  176. package/fesm2022/magmonium-one-text-B4xKn-EQ.mjs.map +1 -0
  177. package/fesm2022/magmonium-one-text-output-CfVeqYM7.mjs +296 -0
  178. package/fesm2022/magmonium-one-text-output-CfVeqYM7.mjs.map +1 -0
  179. package/fesm2022/magmonium-one-theme-Xgsx8bJs.mjs +1 -0
  180. package/fesm2022/magmonium-one-toggle-D2XEbN-b.mjs +231 -0
  181. package/fesm2022/magmonium-one-toggle-D2XEbN-b.mjs.map +1 -0
  182. package/fesm2022/magmonium-one.mjs +49250 -2
  183. package/fesm2022/magmonium-one.mjs.map +1 -1
  184. package/package.json +8 -8
  185. package/types/magmonium-one.d.ts +13909 -9533
  186. package/assets/menu/user_header.json +0 -27
  187. package/fesm2022/magmonium-one-image-editor-QPOy7XQt.mjs +0 -290
  188. package/fesm2022/magmonium-one-image-editor-QPOy7XQt.mjs.map +0 -1
  189. package/fesm2022/magmonium-one-magmonium-one-BTi-rHpF.mjs +0 -41583
  190. package/fesm2022/magmonium-one-magmonium-one-BTi-rHpF.mjs.map +0 -1
  191. package/fesm2022/magmonium-one-otp-BcNCgGpz.mjs +0 -201
  192. package/fesm2022/magmonium-one-otp-BcNCgGpz.mjs.map +0 -1
  193. package/fesm2022/magmonium-one-password-BDcSzmV_.mjs +0 -105
  194. package/fesm2022/magmonium-one-password-BDcSzmV_.mjs.map +0 -1
  195. package/fesm2022/magmonium-one-toggle-bLWTwEHE.mjs +0 -62
  196. package/fesm2022/magmonium-one-toggle-bLWTwEHE.mjs.map +0 -1
@@ -0,0 +1,380 @@
1
+ import { i as resolveSize, l as TranslateService } from "./magmonium-one-size-converter-BfT0Aw0g.mjs";
2
+ import { i as SIZE_CONTEXT, r as IconComponent } from "./magmonium-one-icon-Ep14YeRY.mjs";
3
+ import { t as ButtonComponent } from "./magmonium-one-button-Bwzaxxn3.mjs";
4
+ import * as i0 from "@angular/core";
5
+ import { ChangeDetectionStrategy, Component, computed, inject, input, output } from "@angular/core";
6
+ var HeaderComponent = class HeaderComponent {
7
+ level = input(3, ...ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []);
8
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
9
+ icon = input(...ngDevMode ? [void 0, { debugName: "icon" }] : /* istanbul ignore next */ []);
10
+ actionButton = input(...ngDevMode ? [void 0, { debugName: "actionButton" }] : /* istanbul ignore next */ []);
11
+ actionLabel = input(...ngDevMode ? [void 0, { debugName: "actionLabel" }] : /* istanbul ignore next */ []);
12
+ noTranslate = input(false, ...ngDevMode ? [{ debugName: "noTranslate" }] : /* istanbul ignore next */ []);
13
+ params = input(void 0, ...ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []);
14
+ actionClick = output();
15
+ translateService = inject(TranslateService);
16
+ sizeContext = inject(SIZE_CONTEXT, { optional: true });
17
+ actionSize = computed(() => resolveSize(this.sizeContext?.size()), ...ngDevMode ? [{ debugName: "actionSize" }] : /* istanbul ignore next */ []);
18
+ actionConfig = computed(() => {
19
+ const icon = this.actionButton();
20
+ if (!icon) return void 0;
21
+ return {
22
+ icon,
23
+ label: this.actionLabel(),
24
+ iconOnly: true,
25
+ variant: "ghost"
26
+ };
27
+ }, ...ngDevMode ? [{ debugName: "actionConfig" }] : /* istanbul ignore next */ []);
28
+ text = computed(() => this.noTranslate() ? this.label() ?? "" : this.translateService.translate(this.label(), this.params()), ...ngDevMode ? [{ debugName: "text" }] : /* istanbul ignore next */ []);
29
+ static ɵfac = i0.ɵɵngDeclareFactory({
30
+ minVersion: "12.0.0",
31
+ version: "22.2.1",
32
+ ngImport: i0,
33
+ type: HeaderComponent,
34
+ deps: [],
35
+ target: i0.ɵɵFactoryTarget.Component
36
+ });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({
38
+ minVersion: "17.0.0",
39
+ version: "22.2.1",
40
+ type: HeaderComponent,
41
+ isStandalone: true,
42
+ selector: "m-header",
43
+ inputs: {
44
+ level: {
45
+ classPropertyName: "level",
46
+ publicName: "level",
47
+ isSignal: true,
48
+ isRequired: false,
49
+ transformFunction: null
50
+ },
51
+ label: {
52
+ classPropertyName: "label",
53
+ publicName: "label",
54
+ isSignal: true,
55
+ isRequired: false,
56
+ transformFunction: null
57
+ },
58
+ icon: {
59
+ classPropertyName: "icon",
60
+ publicName: "icon",
61
+ isSignal: true,
62
+ isRequired: false,
63
+ transformFunction: null
64
+ },
65
+ actionButton: {
66
+ classPropertyName: "actionButton",
67
+ publicName: "actionButton",
68
+ isSignal: true,
69
+ isRequired: false,
70
+ transformFunction: null
71
+ },
72
+ actionLabel: {
73
+ classPropertyName: "actionLabel",
74
+ publicName: "actionLabel",
75
+ isSignal: true,
76
+ isRequired: false,
77
+ transformFunction: null
78
+ },
79
+ noTranslate: {
80
+ classPropertyName: "noTranslate",
81
+ publicName: "noTranslate",
82
+ isSignal: true,
83
+ isRequired: false,
84
+ transformFunction: null
85
+ },
86
+ params: {
87
+ classPropertyName: "params",
88
+ publicName: "params",
89
+ isSignal: true,
90
+ isRequired: false,
91
+ transformFunction: null
92
+ }
93
+ },
94
+ outputs: { actionClick: "actionClick" },
95
+ ngImport: i0,
96
+ template: `
97
+ @switch (level()) {
98
+ @case (1) {
99
+ <h1 class="header__heading">
100
+ @if (icon(); as iconName) {
101
+ <m-icon class="header__icon" [name]="iconName" />
102
+ }
103
+ <span>{{ text() }}</span>
104
+ <ng-content />
105
+ @if (actionConfig(); as action) {
106
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
107
+ }
108
+ </h1>
109
+ }
110
+ @case (2) {
111
+ <h2 class="header__heading">
112
+ @if (icon(); as iconName) {
113
+ <m-icon class="header__icon" [name]="iconName" />
114
+ }
115
+ <span>{{ text() }}</span>
116
+ <ng-content />
117
+ @if (actionConfig(); as action) {
118
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
119
+ }
120
+ </h2>
121
+ }
122
+ @case (3) {
123
+ <h3 class="header__heading">
124
+ @if (icon(); as iconName) {
125
+ <m-icon class="header__icon" [name]="iconName" />
126
+ }
127
+ <span>{{ text() }}</span>
128
+ <ng-content />
129
+ @if (actionConfig(); as action) {
130
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
131
+ }
132
+ </h3>
133
+ }
134
+ @case (4) {
135
+ <h4 class="header__heading">
136
+ @if (icon(); as iconName) {
137
+ <m-icon class="header__icon" [name]="iconName" />
138
+ }
139
+ <span>{{ text() }}</span>
140
+ <ng-content />
141
+ @if (actionConfig(); as action) {
142
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
143
+ }
144
+ </h4>
145
+ }
146
+ @case (5) {
147
+ <h5 class="header__heading">
148
+ @if (icon(); as iconName) {
149
+ <m-icon class="header__icon" [name]="iconName" />
150
+ }
151
+ <span>{{ text() }}</span>
152
+ <ng-content />
153
+ @if (actionConfig(); as action) {
154
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
155
+ }
156
+ </h5>
157
+ }
158
+ @case (6) {
159
+ <h6 class="header__heading">
160
+ @if (icon(); as iconName) {
161
+ <m-icon class="header__icon" [name]="iconName" />
162
+ }
163
+ <span>{{ text() }}</span>
164
+ <ng-content />
165
+ @if (actionConfig(); as action) {
166
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
167
+ }
168
+ </h6>
169
+ }
170
+ }
171
+ `,
172
+ isInline: true,
173
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__icon{flex-shrink:0}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"],
174
+ dependencies: [{
175
+ kind: "component",
176
+ type: ButtonComponent,
177
+ selector: "m-button,m-one-button",
178
+ inputs: [
179
+ "config",
180
+ "color",
181
+ "labelClass",
182
+ "fullWidth",
183
+ "nav",
184
+ "navParams",
185
+ "href",
186
+ "disabled",
187
+ "variant",
188
+ "name",
189
+ "baseUrl",
190
+ "one",
191
+ "remote",
192
+ "label",
193
+ "noTranslate",
194
+ "params",
195
+ "noNative",
196
+ "icon",
197
+ "isRightIcon",
198
+ "iconOnly",
199
+ "stacked",
200
+ "imgSrc",
201
+ "nonClickable",
202
+ "inverted",
203
+ "isSubmit",
204
+ "tabindex"
205
+ ],
206
+ outputs: ["configChange", "clicked"]
207
+ }, {
208
+ kind: "component",
209
+ type: IconComponent,
210
+ selector: "m-icon, m-one-icon",
211
+ inputs: [
212
+ "config",
213
+ "name",
214
+ "color",
215
+ "size",
216
+ "one",
217
+ "baseUrl",
218
+ "remote"
219
+ ],
220
+ outputs: ["configChange"]
221
+ }],
222
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
223
+ });
224
+ };
225
+ i0.ɵɵngDeclareClassMetadata({
226
+ minVersion: "12.0.0",
227
+ version: "22.2.1",
228
+ ngImport: i0,
229
+ type: HeaderComponent,
230
+ decorators: [{
231
+ type: Component,
232
+ args: [{
233
+ selector: "m-header",
234
+ imports: [ButtonComponent, IconComponent],
235
+ template: `
236
+ @switch (level()) {
237
+ @case (1) {
238
+ <h1 class="header__heading">
239
+ @if (icon(); as iconName) {
240
+ <m-icon class="header__icon" [name]="iconName" />
241
+ }
242
+ <span>{{ text() }}</span>
243
+ <ng-content />
244
+ @if (actionConfig(); as action) {
245
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
246
+ }
247
+ </h1>
248
+ }
249
+ @case (2) {
250
+ <h2 class="header__heading">
251
+ @if (icon(); as iconName) {
252
+ <m-icon class="header__icon" [name]="iconName" />
253
+ }
254
+ <span>{{ text() }}</span>
255
+ <ng-content />
256
+ @if (actionConfig(); as action) {
257
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
258
+ }
259
+ </h2>
260
+ }
261
+ @case (3) {
262
+ <h3 class="header__heading">
263
+ @if (icon(); as iconName) {
264
+ <m-icon class="header__icon" [name]="iconName" />
265
+ }
266
+ <span>{{ text() }}</span>
267
+ <ng-content />
268
+ @if (actionConfig(); as action) {
269
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
270
+ }
271
+ </h3>
272
+ }
273
+ @case (4) {
274
+ <h4 class="header__heading">
275
+ @if (icon(); as iconName) {
276
+ <m-icon class="header__icon" [name]="iconName" />
277
+ }
278
+ <span>{{ text() }}</span>
279
+ <ng-content />
280
+ @if (actionConfig(); as action) {
281
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
282
+ }
283
+ </h4>
284
+ }
285
+ @case (5) {
286
+ <h5 class="header__heading">
287
+ @if (icon(); as iconName) {
288
+ <m-icon class="header__icon" [name]="iconName" />
289
+ }
290
+ <span>{{ text() }}</span>
291
+ <ng-content />
292
+ @if (actionConfig(); as action) {
293
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
294
+ }
295
+ </h5>
296
+ }
297
+ @case (6) {
298
+ <h6 class="header__heading">
299
+ @if (icon(); as iconName) {
300
+ <m-icon class="header__icon" [name]="iconName" />
301
+ }
302
+ <span>{{ text() }}</span>
303
+ <ng-content />
304
+ @if (actionConfig(); as action) {
305
+ <m-button class="header__action" [config]="action" [style.--m-button-size]="actionSize()" (clicked)="actionClick.emit()" />
306
+ }
307
+ </h6>
308
+ }
309
+ }
310
+ `,
311
+ changeDetection: ChangeDetectionStrategy.OnPush,
312
+ styles: ["@keyframes toggle-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes thumb-slide{0%{transform:translate(0) scale(1)}50%{transform:translate(.3em) scale(.9)}to{transform:translate(.6em) scale(1)}}.header__heading{display:flex;flex-direction:row;align-items:center;justify-content:var(--m-header-justify, flex-start);gap:.75rem;margin:0;padding:0;line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--m-header-color, var(--m-text));transition:transform .2s cubic-bezier(.4,0,.2,1)}.header__heading:hover{transform:translate(2px)}.header__icon{flex-shrink:0}.header__action{margin-left:auto}.header__action span{display:inline-block;vertical-align:middle}h1.header__heading{font-size:var(--m-header-font-size, 2.25rem);font-weight:300;color:var(--m-text-quaternary);letter-spacing:-.035em;line-height:1.15}h2.header__heading{font-size:var(--m-header-font-size, 1.75rem);font-weight:300;color:var(--m-text-tertiary);letter-spacing:-.03em;line-height:1.2}h3.header__heading{font-size:var(--m-header-font-size, 1.375rem);font-weight:400;color:var(--m-text-secondary);letter-spacing:-.025em}h4.header__heading{font-size:var(--m-header-font-size, 1.125rem);font-weight:500;color:var(--m-text);letter-spacing:-.02em}h5.header__heading{font-size:var(--m-header-font-size, 1rem);font-weight:600;color:var(--m-text);letter-spacing:-.01em}h6.header__heading{font-size:var(--m-header-font-size, .875rem);font-weight:600;color:var(--m-text);letter-spacing:.05em;text-transform:uppercase}\n"]
313
+ }]
314
+ }],
315
+ propDecorators: {
316
+ level: [{
317
+ type: i0.Input,
318
+ args: [{
319
+ isSignal: true,
320
+ alias: "level",
321
+ required: false
322
+ }]
323
+ }],
324
+ label: [{
325
+ type: i0.Input,
326
+ args: [{
327
+ isSignal: true,
328
+ alias: "label",
329
+ required: false
330
+ }]
331
+ }],
332
+ icon: [{
333
+ type: i0.Input,
334
+ args: [{
335
+ isSignal: true,
336
+ alias: "icon",
337
+ required: false
338
+ }]
339
+ }],
340
+ actionButton: [{
341
+ type: i0.Input,
342
+ args: [{
343
+ isSignal: true,
344
+ alias: "actionButton",
345
+ required: false
346
+ }]
347
+ }],
348
+ actionLabel: [{
349
+ type: i0.Input,
350
+ args: [{
351
+ isSignal: true,
352
+ alias: "actionLabel",
353
+ required: false
354
+ }]
355
+ }],
356
+ noTranslate: [{
357
+ type: i0.Input,
358
+ args: [{
359
+ isSignal: true,
360
+ alias: "noTranslate",
361
+ required: false
362
+ }]
363
+ }],
364
+ params: [{
365
+ type: i0.Input,
366
+ args: [{
367
+ isSignal: true,
368
+ alias: "params",
369
+ required: false
370
+ }]
371
+ }],
372
+ actionClick: [{
373
+ type: i0.Output,
374
+ args: ["actionClick"]
375
+ }]
376
+ }
377
+ });
378
+ export { HeaderComponent as t };
379
+
380
+ //# sourceMappingURL=magmonium-one-header-DmN8M1a3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magmonium-one-header-DmN8M1a3.mjs","names":[],"sources":["../../../../libs/one/src/lib/shared/ui/header/ui/header.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { TranslateService } from '../../../services/translate';\nimport { HeaderLevel } from '../type/header';\nimport { ButtonComponent } from '../../button/ui/button';\nimport { IconComponent } from '../../icon';\nimport { Button } from '../../button/type/button';\nimport { SIZE_CONTEXT } from '../../../config/size-context.token';\nimport { resolveSize } from '../../../functions/size/size-converter';\n\n@Component({\n selector: 'm-header',\n imports: [ButtonComponent, IconComponent],\n template: `\n @switch (level()) {\n @case (1) {\n <h1 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h1>\n }\n @case (2) {\n <h2 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h2>\n }\n @case (3) {\n <h3 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h3>\n }\n @case (4) {\n <h4 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h4>\n }\n @case (5) {\n <h5 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h5>\n }\n @case (6) {\n <h6 class=\"header__heading\">\n @if (icon(); as iconName) {\n <m-icon class=\"header__icon\" [name]=\"iconName\" />\n }\n <span>{{ text() }}</span>\n <ng-content />\n @if (actionConfig(); as action) {\n <m-button class=\"header__action\" [config]=\"action\" [style.--m-button-size]=\"actionSize()\" (clicked)=\"actionClick.emit()\" />\n }\n </h6>\n }\n }\n `,\n styleUrl: './header.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeaderComponent {\n readonly level = input<HeaderLevel>(3);\n readonly label = input<string | undefined>();\n // Drawn inside the heading rather than beside it. A glyph placed as the\n // heading's sibling has no line box of its own to centre against — it ends\n // up centred on whatever column it sits next to, which is how a Canvas\n // header's icon came to line up with the label slot's drop rect instead of\n // with the label. Inside, the two share one line box at every level.\n readonly icon = input<string | undefined>();\n readonly actionButton = input<string | undefined>();\n // The action Button's accessible name. It renders icon-only, so the label is\n // the only thing a screen reader has to go on — without it the button reads\n // as nothing at all.\n readonly actionLabel = input<string | undefined>();\n // The label is authored text rather than a translation key. Needed for text\n // carrying angle brackets above all: `translate` reads `<...>` as link\n // markup, so a heading naming a MessageVariable — `<$app>` — resolves to\n // nothing at all rather than to itself.\n readonly noTranslate = input<boolean>(false);\n // A message's [MessageVariable] values, the same record `m-text-output`\n // takes: a heading naming `<$count>` is a sentence with a datum in it, and\n // splicing that datum into the key instead would be parsed as a query\n // string (m-one-ui ADR 0066).\n readonly params = input<Record<string, string> | undefined>(undefined);\n readonly actionClick = output<void>();\n\n private readonly translateService = inject(TranslateService);\n private readonly sizeContext = inject(SIZE_CONTEXT, { optional: true });\n\n // The action Button sits inside the heading, whose font-size is the level's\n // own — 2.25rem at h1 — so `em` inheritance would scale the Button to the\n // heading rather than to the Section it belongs to. It reads the Size in\n // force instead, the way Icon does, and lands at the same size as every\n // other Button on that Section (ADR 0008).\n protected readonly actionSize = computed(() =>\n resolveSize(this.sizeContext?.size())\n );\n\n protected readonly actionConfig = computed<Button | undefined>(() => {\n const icon = this.actionButton();\n if (!icon) return undefined;\n return {\n icon,\n label: this.actionLabel(),\n iconOnly: true,\n variant: 'ghost',\n };\n });\n\n // A computed rather than the impure TranslatePipe repeated six times: one\n // lookup per label change instead of one per change-detection tick, and it\n // still repaints when the language or an in-memory translation moves.\n protected readonly text = computed(() =>\n this.noTranslate()\n ? (this.label() ?? '')\n : this.translateService.translate(this.label(), this.params())\n );\n}\n"],"mappings":"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"}