@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,406 @@
1
+ import { t as __exportAll } from "./magmonium-one-rolldown-runtime-DpJrqANO.mjs";
2
+ import { c as TranslatePipe } from "./magmonium-one-size-converter-BfT0Aw0g.mjs";
3
+ import { t as LabelComponent } from "./magmonium-one-label-D2gjTbKX.mjs";
4
+ import { r as IconComponent } from "./magmonium-one-icon-Ep14YeRY.mjs";
5
+ import { t as TextOutputComponent } from "./magmonium-one-text-output-CfVeqYM7.mjs";
6
+ import { t as BaseTextInputComponent } from "./magmonium-one-base-text-Zb0oLNRX.mjs";
7
+ import { t as InputType } from "./magmonium-one-input-DqHPorA1.mjs";
8
+ import * as i0 from "@angular/core";
9
+ import { ChangeDetectionStrategy, Component, computed, input, model } from "@angular/core";
10
+ var text_exports = /* @__PURE__ */ __exportAll({ TextInputComponent: () => TextInputComponent });
11
+ var TextInputComponent = class TextInputComponent extends BaseTextInputComponent {
12
+ value = model("", ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
13
+ config = input(...ngDevMode ? [void 0, { debugName: "config" }] : /* istanbul ignore next */ []);
14
+ required = input(false, ...ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []);
15
+ disabled = input(false, ...ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []);
16
+ invalid = input(false, ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
17
+ touched = model(false, ...ngDevMode ? [{ debugName: "touched" }] : /* istanbul ignore next */ []);
18
+ focused = input(false, ...ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []);
19
+ errors = input([], ...ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []);
20
+ showErrors = computed(() => this.touched() && this.invalid(), ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
21
+ hideErrors = input(false, ...ngDevMode ? [{ debugName: "hideErrors" }] : /* istanbul ignore next */ []);
22
+ isNumber = computed(() => {
23
+ const config = this.config();
24
+ return !!config && config.type === InputType.NUMBER;
25
+ }, ...ngDevMode ? [{ debugName: "isNumber" }] : /* istanbul ignore next */ []);
26
+ onInput(event) {
27
+ const target = event.target;
28
+ this.setValue(target?.value ?? "");
29
+ }
30
+ static ɵfac = i0.ɵɵngDeclareFactory({
31
+ minVersion: "12.0.0",
32
+ version: "22.2.1",
33
+ ngImport: i0,
34
+ type: TextInputComponent,
35
+ deps: null,
36
+ target: i0.ɵɵFactoryTarget.Component
37
+ });
38
+ static ɵcmp = i0.ɵɵngDeclareComponent({
39
+ minVersion: "17.0.0",
40
+ version: "22.2.1",
41
+ type: TextInputComponent,
42
+ isStandalone: true,
43
+ selector: "m-text-input",
44
+ inputs: {
45
+ value: {
46
+ classPropertyName: "value",
47
+ publicName: "value",
48
+ isSignal: true,
49
+ isRequired: false,
50
+ transformFunction: null
51
+ },
52
+ config: {
53
+ classPropertyName: "config",
54
+ publicName: "config",
55
+ isSignal: true,
56
+ isRequired: false,
57
+ transformFunction: null
58
+ },
59
+ required: {
60
+ classPropertyName: "required",
61
+ publicName: "required",
62
+ isSignal: true,
63
+ isRequired: false,
64
+ transformFunction: null
65
+ },
66
+ disabled: {
67
+ classPropertyName: "disabled",
68
+ publicName: "disabled",
69
+ isSignal: true,
70
+ isRequired: false,
71
+ transformFunction: null
72
+ },
73
+ invalid: {
74
+ classPropertyName: "invalid",
75
+ publicName: "invalid",
76
+ isSignal: true,
77
+ isRequired: false,
78
+ transformFunction: null
79
+ },
80
+ touched: {
81
+ classPropertyName: "touched",
82
+ publicName: "touched",
83
+ isSignal: true,
84
+ isRequired: false,
85
+ transformFunction: null
86
+ },
87
+ focused: {
88
+ classPropertyName: "focused",
89
+ publicName: "focused",
90
+ isSignal: true,
91
+ isRequired: false,
92
+ transformFunction: null
93
+ },
94
+ errors: {
95
+ classPropertyName: "errors",
96
+ publicName: "errors",
97
+ isSignal: true,
98
+ isRequired: false,
99
+ transformFunction: null
100
+ },
101
+ hideErrors: {
102
+ classPropertyName: "hideErrors",
103
+ publicName: "hideErrors",
104
+ isSignal: true,
105
+ isRequired: false,
106
+ transformFunction: null
107
+ }
108
+ },
109
+ outputs: {
110
+ value: "valueChange",
111
+ touched: "touchedChange"
112
+ },
113
+ host: { properties: { "class": "config()?.variant ? 'm-input--' + config()?.variant : ''" } },
114
+ usesInheritance: true,
115
+ ngImport: i0,
116
+ template: `
117
+ @if (config(); as text) {
118
+ @if (text.label) {
119
+ <m-label
120
+ [for]="text.name ?? ''"
121
+ [placeholder]="text.label"
122
+ [params]="text.params"
123
+ [required]="required()"
124
+ [disabled]="disabled()"
125
+ />
126
+ }
127
+ <div class="input-wrapper">
128
+ @if (text.icon) {
129
+ <m-icon
130
+ [name]="text.icon"
131
+ [color]="iconColor()"
132
+ [one]="text.one"
133
+ />
134
+ }
135
+ @if (text.prefix) {
136
+ <span class="input-prefix">{{ text.prefix }}</span>
137
+ }
138
+ <input
139
+ [id]="text.name ?? ''"
140
+ [attr.data-testid]="text.testid ?? (text.name ? text.name + '-input' : null)"
141
+ [value]="value()"
142
+ #inputElement
143
+ [class.error]="showErrors()"
144
+ [class.has-icon]="!!text.icon"
145
+ [class.has-prefix]="!!text.prefix"
146
+ [disabled]="disabled()"
147
+ [readOnly]="readonly() || config()?.readonly"
148
+ [placeholder]="text.placeholder ?? '' | translate: text.params"
149
+ (input)="onInput($event)"
150
+ (focus)="isFocused.set(true)"
151
+ (blur)="isFocused.set(false); touched.set(true)"
152
+ [type]="isNumber() ? 'number' : 'text'"
153
+ [attr.min]="isNumber() ? text.min ?? null : null"
154
+ [attr.max]="isNumber() ? text.max ?? null : null"
155
+ [attr.step]="isNumber() ? text.step ?? null : null"
156
+ />
157
+ @if (config()?.status; as status) {
158
+ <div class="input-indicator" [class]="'input-indicator--' + status">
159
+ @if (status === 'checking') {
160
+ <span class="spinner"></span>
161
+ } @else if (status === 'available') {
162
+ <m-icon name="check" color="success" />
163
+ }
164
+ </div>
165
+ }
166
+ @if (text.suffix) {
167
+ <span class="input-suffix">{{ text.suffix }}</span>
168
+ }
169
+ </div>
170
+ @if (showErrors() && !hideErrors()) {
171
+ @for (error of errors(); track $index) {
172
+ <m-text-output
173
+ variant="footer"
174
+ color="error"
175
+ [label]="error.message"
176
+ />
177
+ }
178
+ }
179
+ }
180
+ `,
181
+ isInline: true,
182
+ 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)}}:host{display:contents}m-text-output{box-sizing:border-box;padding-left:var(--m-text-input-padding-left, var(--m-label-required-space, .75em))}.input-wrapper{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.input-wrapper:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.input-wrapper:disabled{opacity:.6;cursor:not-allowed}.input-wrapper{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.input-wrapper:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.input-wrapper:focus-visible:not(:disabled),.input-wrapper:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.input-wrapper:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.input-wrapper:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.input-wrapper:has(.warning) input::placeholder,.input-wrapper:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.input-wrapper:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.input-wrapper:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:var(--m-border, var(--m-border))}.input-wrapper:focus-within input::placeholder,.input-wrapper:focus-visible input::placeholder,.input-wrapper:focus-within textarea::placeholder,.input-wrapper:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.input-wrapper:has(.error) input::placeholder,.input-wrapper:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.input-wrapper input,.input-wrapper textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.input-wrapper input:focus,.input-wrapper textarea:focus{border-color:transparent;box-shadow:none}.input-wrapper{width:100%;padding-left:var(--m-text-input-padding-left, var(--m-label-required-space, .75em));padding-right:var(--m-text-input-padding-right, calc(var(--input-size, 1em) * .5 * .7));background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease)}.input-wrapper:hover:not(:has(.error)):not(:has(.warning)){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))))}.input-wrapper:focus-within:not(:has(.error)):not(:has(.warning)){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none;background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))))}.input-wrapper .m-icon{--m-icon-size: 1.1em !important;opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.input-wrapper:focus-within .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.input-wrapper input{appearance:none;color:var(--m-text-input-color, var(--m-text));font-weight:var(--m-text-input-font-weight, inherit);font-size:var(--input-size, 1em)}.input-wrapper input::placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit)}.input-wrapper .input-prefix,.input-wrapper .input-suffix{font-size:.9rem;font-weight:700;color:var(--m-text-tertiary);-webkit-user-select:none;user-select:none;display:flex;align-items:center;flex-shrink:0}.input-wrapper .input-prefix{margin-right:.25rem}.input-wrapper .input-suffix{margin-left:.25rem}:host(.m-input--underlined) .input-wrapper{background:transparent;border:none;border-bottom:2px solid var(--m-backdrop-border);border-radius:0;padding:.5rem 0;min-height:auto;height:auto;transition:border-color .3s ease}:host(.m-input--underlined) .input-wrapper:focus-within{border-bottom-color:var(--m-mm);box-shadow:none}:host(.m-input--underlined) input{font-size:1.125rem;font-weight:700;color:var(--m-text)}:host(.m-input--underlined) .input-prefix,:host(.m-input--underlined) .input-suffix{color:var(--m-mm);font-weight:800;font-size:1rem}:host(.m-input--underlined) .input-indicator{display:flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;margin-left:.375em}:host(.m-input--underlined) .input-indicator--available{color:var(--m-success, #10b981)}:host(.m-input--underlined) .input-indicator .spinner{width:.875rem;height:.875rem;border:2px solid var(--m-border, rgba(255, 255, 255, .1));border-top-color:var(--m-focus, #14b8a6);border-radius:50%;animation:m-spin .8s linear infinite}@keyframes m-spin{to{transform:rotate(360deg)}}\n"],
183
+ dependencies: [
184
+ {
185
+ kind: "component",
186
+ type: LabelComponent,
187
+ selector: "m-label",
188
+ inputs: [
189
+ "for",
190
+ "placeholder",
191
+ "params",
192
+ "required",
193
+ "disabled",
194
+ "color",
195
+ "noTranslate"
196
+ ]
197
+ },
198
+ {
199
+ kind: "component",
200
+ type: TextOutputComponent,
201
+ selector: "m-text-output",
202
+ inputs: [
203
+ "config",
204
+ "align",
205
+ "variant",
206
+ "color",
207
+ "fontWeight",
208
+ "label",
209
+ "noTranslate",
210
+ "params"
211
+ ],
212
+ outputs: ["configChange", "clicked"]
213
+ },
214
+ {
215
+ kind: "component",
216
+ type: IconComponent,
217
+ selector: "m-icon, m-one-icon",
218
+ inputs: [
219
+ "config",
220
+ "name",
221
+ "color",
222
+ "size",
223
+ "one",
224
+ "baseUrl",
225
+ "remote"
226
+ ],
227
+ outputs: ["configChange"]
228
+ },
229
+ {
230
+ kind: "pipe",
231
+ type: TranslatePipe,
232
+ name: "translate"
233
+ }
234
+ ],
235
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
236
+ });
237
+ };
238
+ i0.ɵɵngDeclareClassMetadata({
239
+ minVersion: "12.0.0",
240
+ version: "22.2.1",
241
+ ngImport: i0,
242
+ type: TextInputComponent,
243
+ decorators: [{
244
+ type: Component,
245
+ args: [{
246
+ selector: "m-text-input",
247
+ template: `
248
+ @if (config(); as text) {
249
+ @if (text.label) {
250
+ <m-label
251
+ [for]="text.name ?? ''"
252
+ [placeholder]="text.label"
253
+ [params]="text.params"
254
+ [required]="required()"
255
+ [disabled]="disabled()"
256
+ />
257
+ }
258
+ <div class="input-wrapper">
259
+ @if (text.icon) {
260
+ <m-icon
261
+ [name]="text.icon"
262
+ [color]="iconColor()"
263
+ [one]="text.one"
264
+ />
265
+ }
266
+ @if (text.prefix) {
267
+ <span class="input-prefix">{{ text.prefix }}</span>
268
+ }
269
+ <input
270
+ [id]="text.name ?? ''"
271
+ [attr.data-testid]="text.testid ?? (text.name ? text.name + '-input' : null)"
272
+ [value]="value()"
273
+ #inputElement
274
+ [class.error]="showErrors()"
275
+ [class.has-icon]="!!text.icon"
276
+ [class.has-prefix]="!!text.prefix"
277
+ [disabled]="disabled()"
278
+ [readOnly]="readonly() || config()?.readonly"
279
+ [placeholder]="text.placeholder ?? '' | translate: text.params"
280
+ (input)="onInput($event)"
281
+ (focus)="isFocused.set(true)"
282
+ (blur)="isFocused.set(false); touched.set(true)"
283
+ [type]="isNumber() ? 'number' : 'text'"
284
+ [attr.min]="isNumber() ? text.min ?? null : null"
285
+ [attr.max]="isNumber() ? text.max ?? null : null"
286
+ [attr.step]="isNumber() ? text.step ?? null : null"
287
+ />
288
+ @if (config()?.status; as status) {
289
+ <div class="input-indicator" [class]="'input-indicator--' + status">
290
+ @if (status === 'checking') {
291
+ <span class="spinner"></span>
292
+ } @else if (status === 'available') {
293
+ <m-icon name="check" color="success" />
294
+ }
295
+ </div>
296
+ }
297
+ @if (text.suffix) {
298
+ <span class="input-suffix">{{ text.suffix }}</span>
299
+ }
300
+ </div>
301
+ @if (showErrors() && !hideErrors()) {
302
+ @for (error of errors(); track $index) {
303
+ <m-text-output
304
+ variant="footer"
305
+ color="error"
306
+ [label]="error.message"
307
+ />
308
+ }
309
+ }
310
+ }
311
+ `,
312
+ imports: [
313
+ LabelComponent,
314
+ TextOutputComponent,
315
+ IconComponent,
316
+ TranslatePipe
317
+ ],
318
+ host: { "[class]": "config()?.variant ? 'm-input--' + config()?.variant : ''" },
319
+ changeDetection: ChangeDetectionStrategy.OnPush,
320
+ 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)}}:host{display:contents}m-text-output{box-sizing:border-box;padding-left:var(--m-text-input-padding-left, var(--m-label-required-space, .75em))}.input-wrapper{display:flex;align-items:center;background:var(--m-background);overflow:hidden;height:calc(var(--input-size, 1em) * 2);min-height:calc(var(--input-size, 1em) * 2);border-width:max(1px,var(--input-size, 1em) * .0625);border-radius:calc(var(--input-size, 1em) * .4);padding:calc(var(--input-size, 1em) * .5) calc(var(--input-size, 1em) * .5);gap:calc(var(--input-size, 1em) * .375);font-size:var(--input-size, 1em);border-width:var(--m-input-border-width, 1px);border-radius:var(--m-input-radius, calc(var(--input-size, 1em) * .5));height:calc(var(--input-size, 1em) * 2.25);min-height:calc(var(--input-size, 1em) * 2.25);padding-top:0;padding-bottom:0;border-color:var(--m-input-color, var(--m-mm));transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,opacity .2s ease}.input-wrapper:hover:not(:disabled){background-color:color-mix(in srgb,var(--m-input-color, var(--m-mm)) 6%,transparent)}.input-wrapper:disabled{opacity:.6;cursor:not-allowed}.input-wrapper{border-style:solid;backdrop-filter:var(--m-text-input-backdrop-filter, none);-webkit-backdrop-filter:var(--m-text-input-backdrop-filter, none);box-shadow:var(--m-text-input-shadow, none)}.input-wrapper:has(>m-one-button,>m-button,>.input-indicator,>.input-suffix,>m-icon:last-child){padding-right:0}.input-wrapper:focus-visible:not(:disabled),.input-wrapper:focus-within:not(:disabled){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none}.input-wrapper:has(.warning){border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)));box-shadow:none}.input-wrapper:has(.warning):focus-within{border-color:var(--m-input-warning-border, var(--m-warning));background:var(--m-input-warning-background, color-mix(in srgb, var(--m-warning) 6%, var(--m-background)))}.input-wrapper:has(.warning) input::placeholder,.input-wrapper:has(.warning) textarea::placeholder{color:var(--m-warning, var(--m-warning))}.input-wrapper:has(.error){border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.input-wrapper:has(.error):focus-within{border-color:var(--m-error);background:var(--m-input-error-background, color-mix(in srgb, var(--m-error) 5%, var(--m-background)));box-shadow:none}.input-wrapper input::placeholder,.input-wrapper textarea::placeholder{color:var(--m-border, var(--m-border))}.input-wrapper:focus-within input::placeholder,.input-wrapper:focus-visible input::placeholder,.input-wrapper:focus-within textarea::placeholder,.input-wrapper:focus-visible textarea::placeholder{color:var(--m-focus, var(--m-focus))}.input-wrapper:has(.error) input::placeholder,.input-wrapper:has(.error) textarea::placeholder{color:var(--m-error, var(--m-error))}.input-wrapper input,.input-wrapper textarea{flex:1;border:none;outline:none;background:transparent;color:var(--m-text);font-family:inherit;font-size:inherit;padding:0}.input-wrapper input:focus,.input-wrapper textarea:focus{border-color:transparent;box-shadow:none}.input-wrapper{width:100%;padding-left:var(--m-text-input-padding-left, var(--m-label-required-space, .75em));padding-right:var(--m-text-input-padding-right, calc(var(--input-size, 1em) * .5 * .7));background:var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background)));border-color:var(--m-text-input-border, color-mix(in srgb, var(--m-text) 18%, var(--m-background)));transition:var(--m-text-input-transition, border-color .2s ease, box-shadow .2s ease)}.input-wrapper:hover:not(:has(.error)):not(:has(.warning)){border-color:var(--m-text-input-hover-border, color-mix(in srgb, var(--m-focus) 55%, var(--m-background)));background:var(--m-text-input-hover-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))))}.input-wrapper:focus-within:not(:has(.error)):not(:has(.warning)){border-color:var(--m-text-input-focus-border, var(--m-focus));box-shadow:none;background:var(--m-text-input-focus-background, var(--m-text-input-background, color-mix(in srgb, var(--m-focus) 2%, var(--m-background))))}.input-wrapper .m-icon{--m-icon-size: 1.1em !important;opacity:var(--m-text-input-icon-opacity, 1);transition:opacity .2s ease}.input-wrapper:focus-within .m-icon{opacity:var(--m-text-input-icon-focus-opacity, var(--m-text-input-icon-opacity, 1))}.input-wrapper input{appearance:none;color:var(--m-text-input-color, var(--m-text));font-weight:var(--m-text-input-font-weight, inherit);font-size:var(--input-size, 1em)}.input-wrapper input::placeholder{font-weight:var(--m-text-input-placeholder-weight, inherit);opacity:var(--m-text-input-placeholder-opacity, inherit)}.input-wrapper .input-prefix,.input-wrapper .input-suffix{font-size:.9rem;font-weight:700;color:var(--m-text-tertiary);-webkit-user-select:none;user-select:none;display:flex;align-items:center;flex-shrink:0}.input-wrapper .input-prefix{margin-right:.25rem}.input-wrapper .input-suffix{margin-left:.25rem}:host(.m-input--underlined) .input-wrapper{background:transparent;border:none;border-bottom:2px solid var(--m-backdrop-border);border-radius:0;padding:.5rem 0;min-height:auto;height:auto;transition:border-color .3s ease}:host(.m-input--underlined) .input-wrapper:focus-within{border-bottom-color:var(--m-mm);box-shadow:none}:host(.m-input--underlined) input{font-size:1.125rem;font-weight:700;color:var(--m-text)}:host(.m-input--underlined) .input-prefix,:host(.m-input--underlined) .input-suffix{color:var(--m-mm);font-weight:800;font-size:1rem}:host(.m-input--underlined) .input-indicator{display:flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;margin-left:.375em}:host(.m-input--underlined) .input-indicator--available{color:var(--m-success, #10b981)}:host(.m-input--underlined) .input-indicator .spinner{width:.875rem;height:.875rem;border:2px solid var(--m-border, rgba(255, 255, 255, .1));border-top-color:var(--m-focus, #14b8a6);border-radius:50%;animation:m-spin .8s linear infinite}@keyframes m-spin{to{transform:rotate(360deg)}}\n"]
321
+ }]
322
+ }],
323
+ propDecorators: {
324
+ value: [{
325
+ type: i0.Input,
326
+ args: [{
327
+ isSignal: true,
328
+ alias: "value",
329
+ required: false
330
+ }]
331
+ }, {
332
+ type: i0.Output,
333
+ args: ["valueChange"]
334
+ }],
335
+ config: [{
336
+ type: i0.Input,
337
+ args: [{
338
+ isSignal: true,
339
+ alias: "config",
340
+ required: false
341
+ }]
342
+ }],
343
+ required: [{
344
+ type: i0.Input,
345
+ args: [{
346
+ isSignal: true,
347
+ alias: "required",
348
+ required: false
349
+ }]
350
+ }],
351
+ disabled: [{
352
+ type: i0.Input,
353
+ args: [{
354
+ isSignal: true,
355
+ alias: "disabled",
356
+ required: false
357
+ }]
358
+ }],
359
+ invalid: [{
360
+ type: i0.Input,
361
+ args: [{
362
+ isSignal: true,
363
+ alias: "invalid",
364
+ required: false
365
+ }]
366
+ }],
367
+ touched: [{
368
+ type: i0.Input,
369
+ args: [{
370
+ isSignal: true,
371
+ alias: "touched",
372
+ required: false
373
+ }]
374
+ }, {
375
+ type: i0.Output,
376
+ args: ["touchedChange"]
377
+ }],
378
+ focused: [{
379
+ type: i0.Input,
380
+ args: [{
381
+ isSignal: true,
382
+ alias: "focused",
383
+ required: false
384
+ }]
385
+ }],
386
+ errors: [{
387
+ type: i0.Input,
388
+ args: [{
389
+ isSignal: true,
390
+ alias: "errors",
391
+ required: false
392
+ }]
393
+ }],
394
+ hideErrors: [{
395
+ type: i0.Input,
396
+ args: [{
397
+ isSignal: true,
398
+ alias: "hideErrors",
399
+ required: false
400
+ }]
401
+ }]
402
+ }
403
+ });
404
+ export { text_exports as n, TextInputComponent as t };
405
+
406
+ //# sourceMappingURL=magmonium-one-text-B4xKn-EQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"magmonium-one-text-B4xKn-EQ.mjs","names":[],"sources":["../../../../libs/one/src/lib/shared/ui/input/ui/text/text.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n} from '@angular/core';\nimport { LabelComponent } from '../label';\nimport { TextOutputComponent } from '../../../text-output';\nimport { BaseTextInputComponent } from './base-text';\nimport { IconComponent } from '../../../icon';\nimport { TranslatePipe } from '../../../../pipe';\nimport { Input, InputType, NumberInput } from '../../model/input';\nimport { ValidationError, WithOptionalFieldTree } from '@angular/forms/signals';\n\n/**\n * What this one component draws: a line of text, or the same line typed\n * `number`. WrapperInputComponent has no case for a `number` Field, so it\n * lands here — and the figures a NumberInput carries have to be readable off\n * the config the template already holds.\n */\nexport type TextOrNumberInput = Omit<Input, 'type'> &\n Pick<NumberInput, 'min' | 'max' | 'step'> & {\n type: InputType.TEXT | InputType.NUMBER;\n };\n\n@Component({\n selector: 'm-text-input',\n template: `\n @if (config(); as text) {\n @if (text.label) {\n <m-label\n [for]=\"text.name ?? ''\"\n [placeholder]=\"text.label\"\n [params]=\"text.params\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n }\n <div class=\"input-wrapper\">\n @if (text.icon) {\n <m-icon\n [name]=\"text.icon\"\n [color]=\"iconColor()\"\n [one]=\"text.one\"\n />\n }\n @if (text.prefix) {\n <span class=\"input-prefix\">{{ text.prefix }}</span>\n }\n <input\n [id]=\"text.name ?? ''\"\n [attr.data-testid]=\"text.testid ?? (text.name ? text.name + '-input' : null)\"\n [value]=\"value()\"\n #inputElement\n [class.error]=\"showErrors()\"\n [class.has-icon]=\"!!text.icon\"\n [class.has-prefix]=\"!!text.prefix\"\n [disabled]=\"disabled()\"\n [readOnly]=\"readonly() || config()?.readonly\"\n [placeholder]=\"text.placeholder ?? '' | translate: text.params\"\n (input)=\"onInput($event)\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false); touched.set(true)\"\n [type]=\"isNumber() ? 'number' : 'text'\"\n [attr.min]=\"isNumber() ? text.min ?? null : null\"\n [attr.max]=\"isNumber() ? text.max ?? null : null\"\n [attr.step]=\"isNumber() ? text.step ?? null : null\"\n />\n @if (config()?.status; as status) {\n <div class=\"input-indicator\" [class]=\"'input-indicator--' + status\">\n @if (status === 'checking') {\n <span class=\"spinner\"></span>\n } @else if (status === 'available') {\n <m-icon name=\"check\" color=\"success\" />\n }\n </div>\n }\n @if (text.suffix) {\n <span class=\"input-suffix\">{{ text.suffix }}</span>\n }\n </div>\n @if (showErrors() && !hideErrors()) {\n @for (error of errors(); track $index) {\n <m-text-output\n variant=\"footer\"\n color=\"error\"\n [label]=\"error.message\"\n />\n }\n }\n }\n `,\n imports: [LabelComponent, TextOutputComponent, IconComponent, TranslatePipe],\n styleUrl: './text.sass',\n host: {\n '[class]': \"config()?.variant ? 'm-input--' + config()?.variant : ''\",\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TextInputComponent extends BaseTextInputComponent<TextOrNumberInput> {\n public override value = model<string>('');\n public override config = input<Partial<TextOrNumberInput> | undefined>();\n public override required = input<boolean>(false);\n public override disabled = input<boolean>(false);\n public override invalid = input<boolean>(false);\n public override touched = model<boolean>(false);\n public override focused = input<boolean>(false);\n public override errors = input<readonly WithOptionalFieldTree<ValidationError>[]>(\n []\n );\n public override showErrors = computed(() => this.touched() && this.invalid());\n readonly hideErrors = input<boolean>(false);\n\n // A `number` Field draws this same component (WrapperInputComponent has no\n // case of its own for it), so the type it declares decides the element it\n // draws. What *leaves* the field is coerced a level up, in the wrapper: an\n // `<input>` reads its value as text whatever its type, and every other\n // component on this base is a string field.\n protected readonly isNumber = computed(() => {\n const config = this.config();\n return !!config && config.type === InputType.NUMBER;\n });\n\n protected onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.setValue(target?.value ?? '');\n }\n}\n"],"mappings":"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"}