@magmonium/one 0.4.29 → 0.4.31
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.
- package/assets/docs/en/app-release.md +0 -11
- package/assets/i18n/en.json +2 -0
- package/fesm2022/magmonium-one-attribute-value-CLBOZcme.mjs +255 -0
- package/fesm2022/magmonium-one-attribute-value-CLBOZcme.mjs.map +1 -0
- package/fesm2022/magmonium-one-base-checkbox-D7NYJdU3.mjs +77 -0
- package/fesm2022/magmonium-one-base-checkbox-D7NYJdU3.mjs.map +1 -0
- package/fesm2022/magmonium-one-base-dropdown-CEDsqaPz.mjs +604 -0
- package/fesm2022/magmonium-one-base-dropdown-CEDsqaPz.mjs.map +1 -0
- package/fesm2022/magmonium-one-base-input-BOaD-WIi.mjs +183 -0
- package/fesm2022/magmonium-one-base-input-BOaD-WIi.mjs.map +1 -0
- package/fesm2022/magmonium-one-base-text-D6p6_vsb.mjs +94 -0
- package/fesm2022/magmonium-one-base-text-D6p6_vsb.mjs.map +1 -0
- package/fesm2022/magmonium-one-button-rVNnp6G8.mjs +1281 -0
- package/fesm2022/magmonium-one-button-rVNnp6G8.mjs.map +1 -0
- package/fesm2022/magmonium-one-checkbox-rj4XHxb3.mjs +365 -0
- package/fesm2022/magmonium-one-checkbox-rj4XHxb3.mjs.map +1 -0
- package/fesm2022/magmonium-one-color-utl-CirPzUFk.mjs +449 -0
- package/fesm2022/magmonium-one-color-utl-CirPzUFk.mjs.map +1 -0
- package/fesm2022/magmonium-one-directives-DOBENX_K.mjs +1285 -0
- package/fesm2022/magmonium-one-directives-DOBENX_K.mjs.map +1 -0
- package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs +65 -0
- package/fesm2022/magmonium-one-file.service-Bo06pU3_.mjs.map +1 -0
- package/fesm2022/magmonium-one-group-Cue4x6tD.mjs +428 -0
- package/fesm2022/magmonium-one-group-Cue4x6tD.mjs.map +1 -0
- package/fesm2022/magmonium-one-header-DPVnaEOV.mjs +380 -0
- package/fesm2022/magmonium-one-header-DPVnaEOV.mjs.map +1 -0
- package/fesm2022/magmonium-one-icon-Dso-9RMN.mjs +833 -0
- package/fesm2022/magmonium-one-icon-Dso-9RMN.mjs.map +1 -0
- package/fesm2022/magmonium-one-image-editor-C7AtzEf6.mjs +438 -0
- package/fesm2022/magmonium-one-image-editor-C7AtzEf6.mjs.map +1 -0
- package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs +116 -0
- package/fesm2022/magmonium-one-image-frame-BTSaUSAi.mjs.map +1 -0
- package/fesm2022/magmonium-one-input-DqHPorA1.mjs +39 -0
- package/fesm2022/magmonium-one-input-DqHPorA1.mjs.map +1 -0
- package/fesm2022/magmonium-one-label-B30Q4Vut.mjs +574 -0
- package/fesm2022/magmonium-one-label-B30Q4Vut.mjs.map +1 -0
- package/fesm2022/magmonium-one-m-ref-Dt0DCm8X.mjs +147 -0
- package/fesm2022/magmonium-one-m-ref-Dt0DCm8X.mjs.map +1 -0
- package/fesm2022/magmonium-one-menu-BBOnOK4M.mjs +887 -0
- package/fesm2022/magmonium-one-menu-BBOnOK4M.mjs.map +1 -0
- package/fesm2022/magmonium-one-multi-range-DCOwngql.mjs +458 -0
- package/fesm2022/magmonium-one-multi-range-DCOwngql.mjs.map +1 -0
- package/fesm2022/magmonium-one-options-asset-D8Gg1yNl.mjs +97 -0
- package/fesm2022/magmonium-one-options-asset-D8Gg1yNl.mjs.map +1 -0
- package/fesm2022/magmonium-one-otp-DLF7Pq94.mjs +261 -0
- package/fesm2022/magmonium-one-otp-DLF7Pq94.mjs.map +1 -0
- package/fesm2022/magmonium-one-password-BSOU4RI0.mjs +217 -0
- package/fesm2022/magmonium-one-password-BSOU4RI0.mjs.map +1 -0
- package/fesm2022/magmonium-one-radio-CYnWLXPZ.mjs +111 -0
- package/fesm2022/magmonium-one-radio-CYnWLXPZ.mjs.map +1 -0
- package/fesm2022/magmonium-one-range-CmmZAr57.mjs +216 -0
- package/fesm2022/magmonium-one-range-CmmZAr57.mjs.map +1 -0
- package/fesm2022/magmonium-one-rolldown-runtime-DpJrqANO.mjs +11 -0
- package/fesm2022/magmonium-one-selector-DDnBYNLr.mjs +1065 -0
- package/fesm2022/magmonium-one-selector-DDnBYNLr.mjs.map +1 -0
- package/fesm2022/magmonium-one-size-converter-B-UubQQ0.mjs +1057 -0
- package/fesm2022/magmonium-one-size-converter-B-UubQQ0.mjs.map +1 -0
- package/fesm2022/magmonium-one-text-FXb-RyBh.mjs +406 -0
- package/fesm2022/magmonium-one-text-FXb-RyBh.mjs.map +1 -0
- package/fesm2022/magmonium-one-text-output-D2XQWyL0.mjs +296 -0
- package/fesm2022/magmonium-one-text-output-D2XQWyL0.mjs.map +1 -0
- package/fesm2022/magmonium-one-theme-a7GlFbzE.mjs +1 -0
- package/fesm2022/magmonium-one-toggle-C0eTrtkt.mjs +231 -0
- package/fesm2022/magmonium-one-toggle-C0eTrtkt.mjs.map +1 -0
- package/fesm2022/magmonium-one.mjs +49231 -2
- package/fesm2022/magmonium-one.mjs.map +1 -1
- package/package.json +8 -8
- package/types/magmonium-one.d.ts +13801 -9510
- package/fesm2022/magmonium-one-image-editor-DYbS7fRP.mjs +0 -290
- package/fesm2022/magmonium-one-image-editor-DYbS7fRP.mjs.map +0 -1
- package/fesm2022/magmonium-one-magmonium-one-jBGfJvgl.mjs +0 -41576
- package/fesm2022/magmonium-one-magmonium-one-jBGfJvgl.mjs.map +0 -1
- package/fesm2022/magmonium-one-otp-DY1B1djA.mjs +0 -201
- package/fesm2022/magmonium-one-otp-DY1B1djA.mjs.map +0 -1
- package/fesm2022/magmonium-one-password-CzMwV84X.mjs +0 -105
- package/fesm2022/magmonium-one-password-CzMwV84X.mjs.map +0 -1
- package/fesm2022/magmonium-one-toggle-EoE3fKjl.mjs +0 -62
- package/fesm2022/magmonium-one-toggle-EoE3fKjl.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-B-UubQQ0.mjs";
|
|
3
|
+
import { t as LabelComponent } from "./magmonium-one-label-B30Q4Vut.mjs";
|
|
4
|
+
import { r as IconComponent } from "./magmonium-one-icon-Dso-9RMN.mjs";
|
|
5
|
+
import { t as TextOutputComponent } from "./magmonium-one-text-output-D2XQWyL0.mjs";
|
|
6
|
+
import { t as BaseTextInputComponent } from "./magmonium-one-base-text-D6p6_vsb.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-FXb-RyBh.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magmonium-one-text-FXb-RyBh.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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"}
|