@magmonium/one 0.1.18 → 0.1.19
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/fesm2022/{magmonium-one-magmonium-one-DqEB7539.mjs → magmonium-one-magmonium-one-BSbTn-74.mjs} +239 -185
- package/fesm2022/magmonium-one-magmonium-one-BSbTn-74.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-B24CBOMZ.mjs → magmonium-one-otp-Dt96oQ44.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-B24CBOMZ.mjs.map → magmonium-one-otp-Dt96oQ44.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-CsCnHV0b.mjs → magmonium-one-password-ChSqmvi4.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-CsCnHV0b.mjs.map → magmonium-one-password-ChSqmvi4.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-DAuDrcHw.mjs → magmonium-one-toggle-BYujoexg.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-DAuDrcHw.mjs.map → magmonium-one-toggle-BYujoexg.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +62 -52
- package/fesm2022/magmonium-one-magmonium-one-DqEB7539.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { signal, viewChildren, computed, inject, effect, afterRenderEffect, untracked, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { a as BaseTextInputComponent, I as IS_DESIGN_MODE, L as LabelComponent, b as TextOutputComponent } from './magmonium-one-magmonium-one-
|
|
3
|
+
import { a as BaseTextInputComponent, I as IS_DESIGN_MODE, L as LabelComponent, b as TextOutputComponent } from './magmonium-one-magmonium-one-BSbTn-74.mjs';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class OtpInputComponent extends BaseTextInputComponent {
|
|
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
196
196
|
}], ctorParameters: () => [], propDecorators: { otpInputs: [{ type: i0.ViewChildren, args: ['otpInput', { isSignal: true }] }] } });
|
|
197
197
|
|
|
198
198
|
export { OtpInputComponent };
|
|
199
|
-
//# sourceMappingURL=magmonium-one-otp-
|
|
199
|
+
//# sourceMappingURL=magmonium-one-otp-Dt96oQ44.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-otp-B24CBOMZ.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/text/otp.ts"],"sourcesContent":["import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n signal,\n untracked,\n viewChildren,\n} from '@angular/core';\nimport { LabelComponent } from '../label';\nimport { TextOutputComponent } from '../../../text-output';\nimport { BaseTextInputComponent } from './base-text';\nimport { CommonModule } from '@angular/common';\nimport { OtpInput } from '../../model/input';\nimport { IS_DESIGN_MODE } from '../../../../config/tokens';\n\n@Component({\n selector: 'm-otp-input',\n template: `\n @if (otpConfig(); as otp) {\n <m-label\n [for]=\"otp.name\"\n [placeholder]=\"otp.label\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n />\n <div class=\"otp-container\">\n @for (item of otpArray(); track $index) {\n <input\n [id]=\"$index === 0 ? (otp.name ?? '') : ''\"\n #otpInput\n type=\"text\"\n maxlength=\"1\"\n [class.error]=\"showErrors()\"\n [disabled]=\"isDisabled()\"\n [value]=\"otpValues()[$index] || ''\"\n (input)=\"onInput($event, $index)\"\n (keydown)=\"onKeyDown($event, $index)\"\n (paste)=\"onPaste($event)\"\n />\n }\n </div>\n @if (showErrors()) {\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 styleUrl: './otp.sass',\n imports: [LabelComponent, TextOutputComponent, CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OtpInputComponent extends BaseTextInputComponent<OtpInput> {\n otpValues = signal<string[]>([]);\n otpInputs = viewChildren<ElementRef<HTMLInputElement>>('otpInput');\n protected readonly otpConfig = computed(() => this.config() as OtpInput);\n otpArray = computed(() => {\n const length = this.otpConfig()?.length || 6;\n return Array(length).fill(0);\n });\n\n // Inert on the Canvas — other inputs stay idle because they never autofocus;\n // OTP used to steal focus and look live while composing (DesignMode).\n private readonly isDesignMode = !!inject(IS_DESIGN_MODE, { optional: true });\n protected readonly isDisabled = computed(\n () => this.isDesignMode || this.disabled()\n );\n\n // BaseText answers `focused` by focusing its `#inputElement`, and an OTP has\n // none — it has a row of boxes. Without this the caret never lands on an OTP\n // field, so the form that opens on one (login's verification step) reads as\n // dead until the User clicks it.\n private hasAutofocused = false;\n\n constructor() {\n super();\n effect(() => {\n const length = this.otpConfig()?.length || 6;\n this.otpValues.set(Array(length).fill(''));\n });\n\n afterRenderEffect(() => {\n const inputs = this.otpInputs();\n if (!this.focused() || !inputs.length || this.hasAutofocused) return;\n this.hasAutofocused = true;\n untracked(() => this.focusInput(0));\n });\n }\n\n onInput = (event: Event, index: number): void => {\n if (this.isDisabled()) return;\n const input = event.target as HTMLInputElement;\n let value = input.value;\n\n value = value.replace(/[^a-zA-Z0-9]/g, '');\n\n if (value.length > 1) {\n value = value.slice(-1);\n }\n\n input.value = value.toUpperCase();\n\n const newValues = [...this.otpValues()];\n newValues[index] = value.toUpperCase();\n this.otpValues.set(newValues);\n\n const length = this.otpConfig()?.length || 6;\n if (value && index < length - 1) {\n this.focusInput(index + 1);\n }\n this.updateValue();\n };\n\n onKeyDown = (event: KeyboardEvent, index: number): void => {\n if (this.isDisabled()) return;\n const input = event.target as HTMLInputElement;\n const length = this.otpConfig()?.length || 6;\n\n const isAlphaNumeric = /^[a-zA-Z0-9]$/.test(event.key);\n const isControlKey = [\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Tab',\n ].includes(event.key);\n\n if (!isAlphaNumeric && !isControlKey) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'Backspace') {\n if (!input.value && index > 0) {\n this.focusInput(index - 1);\n }\n }\n if (event.key === 'ArrowLeft' && index > 0) {\n event.preventDefault();\n this.focusInput(index - 1);\n }\n if (event.key === 'ArrowRight' && index < length - 1) {\n event.preventDefault();\n this.focusInput(index + 1);\n }\n };\n\n onPaste = (event: ClipboardEvent): void => {\n if (this.isDisabled()) return;\n event.preventDefault();\n event.stopPropagation();\n\n const length = this.otpConfig()?.length || 6;\n const pastedData = event.clipboardData?.getData('text') || '';\n\n const alphanumeric = pastedData\n .replace(/[^a-zA-Z0-9]/g, '')\n .slice(0, length);\n\n if (alphanumeric.length > 0) {\n const newValues = Array(length).fill('');\n alphanumeric.split('').forEach((char, index) => {\n if (index < length) {\n newValues[index] = char.toUpperCase();\n }\n });\n\n this.otpValues.set(newValues);\n this.updateValue();\n\n const focusIndex = Math.min(alphanumeric.length, length - 1);\n setTimeout(() => this.focusInput(focusIndex), 0);\n }\n };\n\n private focusInput(index: number): void {\n if (this.isDisabled()) return;\n const inputs = this.otpInputs();\n if (inputs[index]) {\n inputs[index].nativeElement.focus();\n }\n }\n\n private updateValue(): void {\n const otpValue = this.otpValues().join('');\n this.setValue(otpValue);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"magmonium-one-otp-Dt96oQ44.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/text/otp.ts"],"sourcesContent":["import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n inject,\n signal,\n untracked,\n viewChildren,\n} from '@angular/core';\nimport { LabelComponent } from '../label';\nimport { TextOutputComponent } from '../../../text-output';\nimport { BaseTextInputComponent } from './base-text';\nimport { CommonModule } from '@angular/common';\nimport { OtpInput } from '../../model/input';\nimport { IS_DESIGN_MODE } from '../../../../config/tokens';\n\n@Component({\n selector: 'm-otp-input',\n template: `\n @if (otpConfig(); as otp) {\n <m-label\n [for]=\"otp.name\"\n [placeholder]=\"otp.label\"\n [required]=\"required()\"\n [disabled]=\"isDisabled()\"\n />\n <div class=\"otp-container\">\n @for (item of otpArray(); track $index) {\n <input\n [id]=\"$index === 0 ? (otp.name ?? '') : ''\"\n #otpInput\n type=\"text\"\n maxlength=\"1\"\n [class.error]=\"showErrors()\"\n [disabled]=\"isDisabled()\"\n [value]=\"otpValues()[$index] || ''\"\n (input)=\"onInput($event, $index)\"\n (keydown)=\"onKeyDown($event, $index)\"\n (paste)=\"onPaste($event)\"\n />\n }\n </div>\n @if (showErrors()) {\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 styleUrl: './otp.sass',\n imports: [LabelComponent, TextOutputComponent, CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class OtpInputComponent extends BaseTextInputComponent<OtpInput> {\n otpValues = signal<string[]>([]);\n otpInputs = viewChildren<ElementRef<HTMLInputElement>>('otpInput');\n protected readonly otpConfig = computed(() => this.config() as OtpInput);\n otpArray = computed(() => {\n const length = this.otpConfig()?.length || 6;\n return Array(length).fill(0);\n });\n\n // Inert on the Canvas — other inputs stay idle because they never autofocus;\n // OTP used to steal focus and look live while composing (DesignMode).\n private readonly isDesignMode = !!inject(IS_DESIGN_MODE, { optional: true });\n protected readonly isDisabled = computed(\n () => this.isDesignMode || this.disabled()\n );\n\n // BaseText answers `focused` by focusing its `#inputElement`, and an OTP has\n // none — it has a row of boxes. Without this the caret never lands on an OTP\n // field, so the form that opens on one (login's verification step) reads as\n // dead until the User clicks it.\n private hasAutofocused = false;\n\n constructor() {\n super();\n effect(() => {\n const length = this.otpConfig()?.length || 6;\n this.otpValues.set(Array(length).fill(''));\n });\n\n afterRenderEffect(() => {\n const inputs = this.otpInputs();\n if (!this.focused() || !inputs.length || this.hasAutofocused) return;\n this.hasAutofocused = true;\n untracked(() => this.focusInput(0));\n });\n }\n\n onInput = (event: Event, index: number): void => {\n if (this.isDisabled()) return;\n const input = event.target as HTMLInputElement;\n let value = input.value;\n\n value = value.replace(/[^a-zA-Z0-9]/g, '');\n\n if (value.length > 1) {\n value = value.slice(-1);\n }\n\n input.value = value.toUpperCase();\n\n const newValues = [...this.otpValues()];\n newValues[index] = value.toUpperCase();\n this.otpValues.set(newValues);\n\n const length = this.otpConfig()?.length || 6;\n if (value && index < length - 1) {\n this.focusInput(index + 1);\n }\n this.updateValue();\n };\n\n onKeyDown = (event: KeyboardEvent, index: number): void => {\n if (this.isDisabled()) return;\n const input = event.target as HTMLInputElement;\n const length = this.otpConfig()?.length || 6;\n\n const isAlphaNumeric = /^[a-zA-Z0-9]$/.test(event.key);\n const isControlKey = [\n 'Backspace',\n 'Delete',\n 'ArrowLeft',\n 'ArrowRight',\n 'Tab',\n ].includes(event.key);\n\n if (!isAlphaNumeric && !isControlKey) {\n event.preventDefault();\n return;\n }\n\n if (event.key === 'Backspace') {\n if (!input.value && index > 0) {\n this.focusInput(index - 1);\n }\n }\n if (event.key === 'ArrowLeft' && index > 0) {\n event.preventDefault();\n this.focusInput(index - 1);\n }\n if (event.key === 'ArrowRight' && index < length - 1) {\n event.preventDefault();\n this.focusInput(index + 1);\n }\n };\n\n onPaste = (event: ClipboardEvent): void => {\n if (this.isDisabled()) return;\n event.preventDefault();\n event.stopPropagation();\n\n const length = this.otpConfig()?.length || 6;\n const pastedData = event.clipboardData?.getData('text') || '';\n\n const alphanumeric = pastedData\n .replace(/[^a-zA-Z0-9]/g, '')\n .slice(0, length);\n\n if (alphanumeric.length > 0) {\n const newValues = Array(length).fill('');\n alphanumeric.split('').forEach((char, index) => {\n if (index < length) {\n newValues[index] = char.toUpperCase();\n }\n });\n\n this.otpValues.set(newValues);\n this.updateValue();\n\n const focusIndex = Math.min(alphanumeric.length, length - 1);\n setTimeout(() => this.focusInput(focusIndex), 0);\n }\n };\n\n private focusInput(index: number): void {\n if (this.isDisabled()) return;\n const inputs = this.otpInputs();\n if (inputs[index]) {\n inputs[index].nativeElement.focus();\n }\n }\n\n private updateValue(): void {\n const otpValue = this.otpValues().join('');\n this.setValue(otpValue);\n }\n}\n"],"names":[],"mappings":"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"}
|
package/fesm2022/{magmonium-one-password-CsCnHV0b.mjs → magmonium-one-password-ChSqmvi4.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { a as BaseTextInputComponent, L as LabelComponent, b as TextOutputComponent, c as ButtonComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-
|
|
3
|
+
import { a as BaseTextInputComponent, L as LabelComponent, b as TextOutputComponent, c as ButtonComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-BSbTn-74.mjs';
|
|
4
4
|
|
|
5
5
|
class PasswordInputComponent extends BaseTextInputComponent {
|
|
6
6
|
isPassword = signal(true, ...(ngDevMode ? [{ debugName: "isPassword" }] : /* istanbul ignore next */ []));
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
100
100
|
}] });
|
|
101
101
|
|
|
102
102
|
export { PasswordInputComponent };
|
|
103
|
-
//# sourceMappingURL=magmonium-one-password-
|
|
103
|
+
//# sourceMappingURL=magmonium-one-password-ChSqmvi4.mjs.map
|
package/fesm2022/{magmonium-one-password-CsCnHV0b.mjs.map → magmonium-one-password-ChSqmvi4.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-password-
|
|
1
|
+
{"version":3,"file":"magmonium-one-password-ChSqmvi4.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/text/password.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n signal,\n} from '@angular/core';\nimport { LabelComponent } from '../label';\nimport { TextOutputComponent } from '../../../text-output';\nimport { BaseTextInputComponent } from './base-text';\nimport { ButtonComponent } from '../../../button/ui/button';\nimport { TranslatePipe } from '../../../../pipe';\n\n@Component({\n selector: 'm-password-input',\n template: `\n @if (config(); as text) {\n <m-label\n [for]=\"text.name\"\n [placeholder]=\"text.label\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n />\n <div class=\"input-wrapper\">\n <input\n [id]=\"text.name ?? ''\"\n [value]=\"value()\"\n #inputElement\n [class.error]=\"showErrors()\"\n [disabled]=\"disabled()\"\n [placeholder]=\"(text.placeholder ?? '') | translate\"\n (input)=\"onInput($event)\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false); touched.set(true)\"\n [type]=\"type()\"\n />\n <m-one-button\n type=\"button\"\n [disabled]=\"disabled()\"\n [name]=\"button()\"\n [color]=\"iconColor()\"\n (clicked)=\"toggleType()\"\n />\n </div>\n @if (showErrors()) {\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, ButtonComponent, TranslatePipe],\n styleUrl: './password.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PasswordInputComponent extends BaseTextInputComponent {\n isPassword = signal<boolean>(true);\n type = computed(() => (this.isPassword() ? 'password' : 'text'));\n button = computed(() => (!this.isPassword() ? 'eye' : 'eye_close'));\n\n protected toggleType() {\n this.isPassword.update((now) => !now);\n }\n\n protected onInput(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.setValue(target?.value ?? '');\n }\n}\n"],"names":[],"mappings":";;;;AA0DM,MAAO,sBAAuB,SAAQ,sBAAsB,CAAA;AAChE,IAAA,UAAU,GAAG,MAAM,CAAU,IAAI,iFAAC;IAClC,IAAI,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IAChE,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,GAAG,WAAW,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;IAEzD,UAAU,GAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;IACvC;AAEU,IAAA,OAAO,CAAC,KAAY,EAAA;AAC5B,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B;QAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;IACpC;uGAZW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA5CvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qqFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,cAAc,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,mBAAmB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,kYAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIlE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA9ClC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,QAAA,EAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCT,EAAA,CAAA,EAAA,OAAA,EACQ,CAAC,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,aAAa,CAAC,EAAA,eAAA,EAE7D,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,qqFAAA,CAAA,EAAA;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { model, input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
-
import { B as BaseInputComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-
|
|
3
|
+
import { B as BaseInputComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-BSbTn-74.mjs';
|
|
4
4
|
|
|
5
5
|
class ToggleInputComponent extends BaseInputComponent {
|
|
6
6
|
value = undefined;
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
59
59
|
}], ctorParameters: () => [], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], focused: [{ type: i0.Input, args: [{ isSignal: true, alias: "focused", required: false }] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }] } });
|
|
60
60
|
|
|
61
61
|
export { ToggleInputComponent };
|
|
62
|
-
//# sourceMappingURL=magmonium-one-toggle-
|
|
62
|
+
//# sourceMappingURL=magmonium-one-toggle-BYujoexg.mjs.map
|
package/fesm2022/{magmonium-one-toggle-DAuDrcHw.mjs.map → magmonium-one-toggle-BYujoexg.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-toggle-
|
|
1
|
+
{"version":3,"file":"magmonium-one-toggle-BYujoexg.mjs","sources":["../../../../libs/one/src/lib/shared/ui/input/ui/toggle/toggle.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n ModelSignal,\n} from '@angular/core';\nimport { ToggleInput } from '../../model/input';\nimport { TranslatePipe } from '../../../../pipe/translate';\nimport {\n FormCheckboxControl,\n ValidationError,\n WithOptionalField,\n} from '@angular/forms/signals';\nimport { BaseInputComponent } from '../../lib/base-input';\n\n@Component({\n selector: 'm-toggle-input',\n template: `\n @if (config(); as toggle) {\n <div class=\"toggle\">\n <input\n [id]=\"toggle.name ?? ''\"\n [checked]=\"checked()\"\n (change)=\"onChange($event)\"\n type=\"checkbox\"\n />\n <label [attr.for]=\"toggle.name || null\">{{\n toggle.label | translate\n }}</label>\n </div>\n }\n `,\n imports: [TranslatePipe],\n styleUrl: './toggle.sass',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ToggleInputComponent\n extends BaseInputComponent<ToggleInput>\n implements FormCheckboxControl\n{\n public value = undefined;\n public checked = model<boolean>(false) as ModelSignal<boolean>;\n public override config = input<Partial<ToggleInput> | 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 WithOptionalField<ValidationError>[]>(\n []\n );\n public override showErrors = computed(() => this.touched() && this.invalid());\n\n /** Required by FormCheckboxControl interface */\n // public readonly checked: ModelSignal<boolean> = this.value; // Already defined above\n\n constructor() {\n super();\n }\n\n protected onChange(event: Event): void {\n const target = event.target as HTMLInputElement;\n this.checked.set(target?.checked ?? false);\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { A as ACCESS_DOMAINS, d as APP_CONTEXT_REF, e as ASSET_BASE_URL, f as AccordionBodyDirective, g as AccordionComponent, h as AccordionGroupComponent, i as ActionComponent, j as AnimatedGraphsComponent, k as AppCardComponent, l as AppRelationType, m as AppTileComponent, n as AssetStore, o as AssetUrlPipe, p as Assets, q as AuthActivityPageComponent, r as AuthApiService, s as AuthStore, t as AutosizeDirective, u as BadgeComponent, v as BandingComponent, w as BaseArrayInputComponent, x as BaseRootWebComponent, y as BaseWebComponent, c as ButtonComponent, z as ButtonGroupComponent, C as COMPONENT_INPUT_REGISTRY, D as CardComponent, E as CardWrapperComponent, F as CarouselComponent, G as ChartComponent, H as CheckboxInputComponent, J as ClearableInputComponent, K as ColComponent, M as ColorPickerInputComponent, N as CommentItemComponent, O as CommentsApiService, P as CommentsComponent, Q as CommentsStore, R as ComponentInputComponent, S as ComponentStepperComponent, U as ConfigComponent, V as ConfirmComponent, W as ContextMenuComponent, X as CustomIconClass, Y as CustomIconEditComponent, Z as DEFAULT_SIZE, _ as DashboardCardComponent, $ as DateInputComponent, a0 as DatePickerComponent, a1 as DeviceService, a2 as DomService, a3 as Domain, a4 as DotGridComponent, a5 as DragListDirective, a6 as DragListItemDirective, a7 as DraggableDirective, a8 as DropdownInputComponent, a9 as FLEX_VARIANTS, aa as FOLDER_PICK_LISTENER, ab as FORM_ASSET_FOLDER, ac as FileService, ad as FileUploadDirective, ae as FileUploadInputComponent, af as FlexComponent, ag as FlexItemComponent, ah as FormGroupComponent, ai as FrameComponent, aj as FreezeService, ak as GRID_BREAKPOINTS, al as GetNavService, am as HeaderComponent, an as HighlightDirective, ao as HttpService, ap as ICON_SOURCE, I as IS_DESIGN_MODE, aq as IS_SIDE_PANEL, ar as IconComponent, as as ImgComponent, at as InputType, au as InstrumentScoreComponent, av as InterceptorObservables, aw as JumbotronComponent, ax as KeyValueComponent, ay as LAYOUT_ASSET_FOLDER, az as LOGIN_COMPONENT, aA as LOGIN_STORE, aB as LanguageComponent, aC as LogoComponent, aD as MAG_SOCKET_EVENT, aE as MHeroColorDirective, aF as MHeroComponent, aG as MODAL_REF, aH as MODAL_STORE_REF, aI as MRefDirective, aJ as MStepComponent, aK as MURL_PARAM, aL as MURL_SEP, aM as ManifestEnrichmentService, aN as MenuComponent, aO as ModalDirective, aP as ModalRef, aQ as ModalStore, aR as MoneyPipe, aS as MultiRangeInputComponent, aT as MurlUrlSerializer, aU as NAV_DEFAULT_MURL, aV as NAV_ID_SEP, aW as NAV_MAIN_BUTTONS, aX as NAV_SEGMENT_RE, aY as NAV_STORE_REF, aZ as NAV_WC_COMPONENTS, a_ as NAV_WIDGET_MAP, a$ as NavComponent, b0 as NavDetailsComponent, b1 as NavHeaderComponent, b2 as NavMenuComponent, b3 as NavStore, b4 as NavTrailComponent, b5 as NothingComponent, b6 as NotificationElementComponent, b7 as NotificationGroupComponent, b8 as NotificationPopupComponent, b9 as NotificationService, ba as NotificationStore, bb as NotificationType, bc as NotificationWidgetComponent, bd as ONE_ASSET_BASE_URL, be as OPTIONS_SOURCE, bf as OVERLAY_WIDGETS, bg as OneApp, bh as OptionsSourceDirective, bi as OverlayBodyComponent, bj as OverlayRef, bk as OverlayService, bl as PLATFORM_BUTTON_NAV_IDS, bm as PLATFORM_EXTENSIBLE_NAV_IDS, bn as PLATFORM_NAV_MAP, bo as PLATFORM_ROOT_CHILDREN, bp as PaginationComponent, bq as PanelComponent, br as PercentagePipe, bs as PlaygroundComponent, bt as PositionDirective, bu as PwaInstallComponent, bv as ROOT_NAV, bw as RadioGroupComponent, bx as RadioInputComponent, by as RangeInputComponent, bz as RatingInputComponent, bA as ReactiveElementComponent, bB as RemoteComponent, bC as RemoteLoaderService, bD as ResizeElementComponent, bE as RouteContainer, bF as RowComponent, bG as SEARCH_QUERY, bH as SEARCH_RESULTS_EVENT, bI as SECTION_ACCORDION_GROUP, bJ as SECTION_FORM_CONTEXT, bK as SHARED_ICONS, bL as SIZE_CONTEXT, bM as ScoreComponent, bN as ScrollComponent, bO as ScrollService, bP as SearchPanelComponent, bQ as SearchStore, bR as SearchUserPanelComponent, bS as SectionAccordionDirective, bT as SectionAccordionGroupDirective, bU as SectionBackComponent, bV as SectionBadgesComponent, bW as SectionButtonGroupComponent, bX as SectionCardComponent, bY as SectionComponent, bZ as SectionFilterComponent, b_ as SectionFooterComponent, b$ as SectionFormComponent, c0 as SectionFormItemComponent, c1 as SectionHeaderComponent, c2 as SectionHeroComponent, c3 as SectionSearchComponent, c4 as SectionStepperComponent, c5 as SectionTabsComponent, c6 as SectionToggleComponent, c7 as SectionToggleItemDirective, c8 as SelectableCardInputComponent, c9 as SelectorDirective, ca as SettingsSearchBarComponent, cb as SettingsSearchService, cc as ShapeComponent, cd as SharedStoreRegistry, ce as SidePanelDirective, cf as Size, cg as SocketStore, ch as SortComponent, ci as StatComponent, cj as StepComponent, ck as StepperComponent, cl as StepsComponent, cm as StorageService, cn as StrokeLinecap, co as StrokeLinejoin, cp as SummaryComponent, cq as SvgGeneratorComponent, cr as SvgGeneratorService, cs as SvgService, ct as TOTAL_COLUMNS, cu as TRANSLATION_SOURCE, cv as TableComponent, cw as TechnicalMeterComponent, cx as TextInputComponent, b as TextOutputComponent, cy as TextareaInputComponent, cz as ThemeComponent, cA as ThemeDataService, cB as ThemeService, cC as ThemeStore, cD as TimeAgoPipe, cE as TimelineComponent, cF as ToggleButtonComponent, cG as ToggleInputComponent, cH as ToggleRadioInputComponent, cI as ToolTipDirective, cJ as TooltipComponent, T as TranslatePipe, cK as TranslateService, cL as TreeGridComponent, cM as URL_SEP, cN as USER_STORE_REF, cO as USER_TAB_MAP, cP as UlComponent, cQ as UniverseComponent, cR as UserApiService, cS as UserAvatarComponent, cT as UserComponent, cU as UserNavComponent, cV as UserSettingsComponent, cW as UserStore, cX as WC_ROUTE_CHANGED_EVENT, cY as WC_SEARCH_GROUPS, cZ as WIN_USER_TAB_HOOK, c_ as WIN_USER_TAB_KEY, c$ as WatermarkComponent, d0 as WcRouterStore, d1 as WrapperInputComponent, d2 as anchorNavId, d3 as applyColorsToElement, d4 as bootstrapMagApp, d5 as bootstrapPwaInstall, d6 as buildWcBaseUrl, d7 as calculateLuminance, d8 as calculateRanks, d9 as cellText, da as checkFilterCondition, db as childNavId, dc as classListSignal, dd as coerceSize, de as cornerEdge, df as cornerSide, dg as createMap, dh as createPlatformNavMap, di as deriveAvatarGradient, dj as deriveContrastColor, dk as deriveOppositeColor, dl as derivePropertyName, dm as emailValidation, dn as evaluate, dp as evaluateBool, dq as flattenTreeGridRows, dr as formatBadgeCount, ds as fullName, dt as generateClipPath, du as generateTransform, dv as getClassList, dw as getProperty, dx as getScrollParent, dy as getTierFromPreviewPath, dz as getTreeGridRow, dA as getUniqueId, dB as getValue, dC as hasErrorComputed, dD as hexToRgb, dE as hslToRgb, dF as initMagmoniumApp, dG as initialNotificationState, dH as initialState, dI as initials, dJ as injectAuthenticate, dK as injectInstallApp, dL as injectParentSize, dM as injectScrollSticky, dN as isButtonName, dO as isCancelledComputed, dP as isExtensiblePlatformNavId, dQ as isJson, dR as isLoadingComputed, dS as isLocalhost, dT as isPlatformNavId, dU as isSize, dV as isTierPreview, dW as isUrlLocalhost, dX as isValidNavId, dY as isValidNavSegment, dZ as isWebComponent, d_ as linkToId, d$ as linkToNav, e0 as loadingActions, e1 as mInterceptor, e2 as manualValidation, e3 as matchFieldValidation, e4 as maxLengthValidation, e5 as maxValidation, e6 as mergePlatformNav, e7 as mergeUnique, e8 as mergeUniqueBy, e9 as mergeUniqueWith, ea as minAgeValidation, eb as minLengthValidation, ec as minValidation, ed as miniMarkToHtml, ee as navIdChain, ef as navIdFor, eg as navIdSegment, eh as navIdToRoutePath, ei as navIdToSegments, ej as navToId, ek as parentNavId, el as parseAddress, em as parseColor, en as parsePatternNames, eo as patternValidation, ep as patternsValidation, eq as platformNavWidgets, er as privateGuard, es as processImageToSvg, et as provideAppContext, eu as provideMagAppConfig, ev as provideMagWcConfig, ew as provideMagWcRoutes, ex as provideModalComponents, ey as provideMurlUrlSerializer, ez as provideNavWidgets, eA as provideOverlayWidgets, eB as providePlatformNavWidgets, eC as provideSearch, eD as provideSizeContext, eE as provideUserTabs, eF as publicGuard, eG as readFieldPatterns, eH as renderAddress, eI as requiredValidation, eJ as resolveConfigAsset, eK as resolveIconSize, eL as resolvePallet, eM as resolvePatternRules, eN as resolveSize, eO as rgbToHex, eP as rgbToHsl, eQ as rowHasChildren, eR as samePatterns, eS as segmentsToNavId, eT as setProperty, eU as setTreeGridChildren, eV as settingsWidgets, eW as shouldShowBadge, eX as splitNavId, eY as stringToColor, eZ as toAttrBool, e_ as toAttrNumber, e$ as toCssLength, f0 as toHostNavId, f1 as toLength, f2 as toLocalNavId, f3 as toggleTreeGridRow, f4 as unfetchedPlatformNav, f5 as urlValidation } from './magmonium-one-magmonium-one-
|
|
1
|
+
export { A as ACCESS_DOMAINS, d as APP_CONTEXT_REF, e as ASSET_BASE_URL, f as AccordionBodyDirective, g as AccordionComponent, h as AccordionGroupComponent, i as ActionComponent, j as AnimatedGraphsComponent, k as AppCardComponent, l as AppRelationType, m as AppTileComponent, n as AssetStore, o as AssetUrlPipe, p as Assets, q as AuthActivityPageComponent, r as AuthApiService, s as AuthStore, t as AutosizeDirective, u as BadgeComponent, v as BandingComponent, w as BaseArrayInputComponent, x as BaseRootWebComponent, y as BaseWebComponent, c as ButtonComponent, z as ButtonGroupComponent, C as COMPONENT_INPUT_REGISTRY, D as CardComponent, E as CardWrapperComponent, F as CarouselComponent, G as ChartComponent, H as CheckboxInputComponent, J as ClearableInputComponent, K as ColComponent, M as ColorPickerInputComponent, N as CommentItemComponent, O as CommentsApiService, P as CommentsComponent, Q as CommentsStore, R as ComponentInputComponent, S as ComponentStepperComponent, U as ConfigComponent, V as ConfirmComponent, W as ContextMenuComponent, X as CustomIconClass, Y as CustomIconEditComponent, Z as DEFAULT_SIZE, _ as DashboardCardComponent, $ as DateInputComponent, a0 as DatePickerComponent, a1 as DeviceService, a2 as DomService, a3 as Domain, a4 as DotGridComponent, a5 as DragListDirective, a6 as DragListItemDirective, a7 as DraggableDirective, a8 as DropdownInputComponent, a9 as FLEX_VARIANTS, aa as FOLDER_PICK_LISTENER, ab as FORM_ASSET_FOLDER, ac as FileService, ad as FileUploadDirective, ae as FileUploadInputComponent, af as FlexComponent, ag as FlexItemComponent, ah as FormGroupComponent, ai as FrameComponent, aj as FreezeService, ak as GRID_BREAKPOINTS, al as GetNavService, am as HeaderComponent, an as HighlightDirective, ao as HttpService, ap as ICON_SOURCE, I as IS_DESIGN_MODE, aq as IS_SIDE_PANEL, ar as IconComponent, as as ImgComponent, at as InputType, au as InstrumentScoreComponent, av as InterceptorObservables, aw as JumbotronComponent, ax as KeyValueComponent, ay as LAYOUT_ASSET_FOLDER, az as LOGIN_COMPONENT, aA as LOGIN_STORE, aB as LanguageComponent, aC as LogoComponent, aD as MAG_SOCKET_EVENT, aE as MHeroColorDirective, aF as MHeroComponent, aG as MODAL_REF, aH as MODAL_STORE_REF, aI as MRefDirective, aJ as MStepComponent, aK as MURL_PARAM, aL as MURL_SEP, aM as ManifestEnrichmentService, aN as MenuComponent, aO as ModalDirective, aP as ModalRef, aQ as ModalStore, aR as MoneyPipe, aS as MultiRangeInputComponent, aT as MurlUrlSerializer, aU as NAV_DEFAULT_MURL, aV as NAV_ID_SEP, aW as NAV_MAIN_BUTTONS, aX as NAV_SEGMENT_RE, aY as NAV_STORE_REF, aZ as NAV_WC_COMPONENTS, a_ as NAV_WIDGET_MAP, a$ as NavComponent, b0 as NavDetailsComponent, b1 as NavHeaderComponent, b2 as NavMenuComponent, b3 as NavStore, b4 as NavTrailComponent, b5 as NothingComponent, b6 as NotificationElementComponent, b7 as NotificationGroupComponent, b8 as NotificationPopupComponent, b9 as NotificationService, ba as NotificationStore, bb as NotificationType, bc as NotificationWidgetComponent, bd as ONE_ASSET_BASE_URL, be as OPTIONS_SOURCE, bf as OVERLAY_WIDGETS, bg as OneApp, bh as OptionsSourceDirective, bi as OverlayBodyComponent, bj as OverlayRef, bk as OverlayService, bl as PLATFORM_BUTTON_NAV_IDS, bm as PLATFORM_EXTENSIBLE_NAV_IDS, bn as PLATFORM_NAV_MAP, bo as PLATFORM_ROOT_CHILDREN, bp as PaginationComponent, bq as PanelComponent, br as PercentagePipe, bs as PlaygroundComponent, bt as PositionDirective, bu as PwaInstallComponent, bv as ROOT_NAV, bw as RadioGroupComponent, bx as RadioInputComponent, by as RangeInputComponent, bz as RatingInputComponent, bA as ReactiveElementComponent, bB as RemoteComponent, bC as RemoteLoaderService, bD as ResizeElementComponent, bE as RouteContainer, bF as RowComponent, bG as SEARCH_QUERY, bH as SEARCH_RESULTS_EVENT, bI as SECTION_ACCORDION_GROUP, bJ as SECTION_FORM_CONTEXT, bK as SHARED_ICONS, bL as SIZE_CONTEXT, bM as ScoreComponent, bN as ScrollComponent, bO as ScrollService, bP as SearchPanelComponent, bQ as SearchStore, bR as SearchUserPanelComponent, bS as SectionAccordionDirective, bT as SectionAccordionGroupDirective, bU as SectionBackComponent, bV as SectionBadgesComponent, bW as SectionButtonGroupComponent, bX as SectionCardComponent, bY as SectionComponent, bZ as SectionFilterComponent, b_ as SectionFooterComponent, b$ as SectionFormComponent, c0 as SectionFormItemComponent, c1 as SectionHeaderComponent, c2 as SectionHeroComponent, c3 as SectionSearchComponent, c4 as SectionStepperComponent, c5 as SectionTabsComponent, c6 as SectionToggleComponent, c7 as SectionToggleItemDirective, c8 as SelectableCardInputComponent, c9 as SelectorDirective, ca as SettingsSearchBarComponent, cb as SettingsSearchService, cc as ShapeComponent, cd as SharedStoreRegistry, ce as SidePanelDirective, cf as Size, cg as SocketStore, ch as SortComponent, ci as StatComponent, cj as StepComponent, ck as StepperComponent, cl as StepsComponent, cm as StorageService, cn as StrokeLinecap, co as StrokeLinejoin, cp as SummaryComponent, cq as SvgGeneratorComponent, cr as SvgGeneratorService, cs as SvgService, ct as TOTAL_COLUMNS, cu as TRANSLATION_SOURCE, cv as TableComponent, cw as TechnicalMeterComponent, cx as TextInputComponent, b as TextOutputComponent, cy as TextareaInputComponent, cz as ThemeComponent, cA as ThemeDataService, cB as ThemeService, cC as ThemeStore, cD as TimeAgoPipe, cE as TimelineComponent, cF as ToggleButtonComponent, cG as ToggleInputComponent, cH as ToggleRadioInputComponent, cI as ToolTipDirective, cJ as TooltipComponent, T as TranslatePipe, cK as TranslateService, cL as TreeGridComponent, cM as URL_SEP, cN as USER_STORE_REF, cO as USER_TAB_MAP, cP as UlComponent, cQ as UniverseComponent, cR as UserApiService, cS as UserAvatarComponent, cT as UserComponent, cU as UserNavComponent, cV as UserSettingsComponent, cW as UserStore, cX as WC_ROUTE_CHANGED_EVENT, cY as WC_SEARCH_GROUPS, cZ as WIN_USER_TAB_HOOK, c_ as WIN_USER_TAB_KEY, c$ as WatermarkComponent, d0 as WcRouterStore, d1 as WrapperInputComponent, d2 as anchorNavId, d3 as applyColorsToElement, d4 as bootstrapMagApp, d5 as bootstrapPwaInstall, d6 as buildWcBaseUrl, d7 as calculateLuminance, d8 as calculateRanks, d9 as cellText, da as checkFilterCondition, db as childNavId, dc as classListSignal, dd as coerceSize, de as cornerEdge, df as cornerSide, dg as createMap, dh as createPlatformNavMap, di as deriveAvatarGradient, dj as deriveContrastColor, dk as deriveOppositeColor, dl as derivePropertyName, dm as emailValidation, dn as evaluate, dp as evaluateBool, dq as flattenTreeGridRows, dr as formatBadgeCount, ds as fullName, dt as generateClipPath, du as generateTransform, dv as getClassList, dw as getProperty, dx as getScrollParent, dy as getTierFromPreviewPath, dz as getTreeGridRow, dA as getUniqueId, dB as getValue, dC as hasErrorComputed, dD as hexToRgb, dE as hslToRgb, dF as initMagmoniumApp, dG as initialNotificationState, dH as initialState, dI as initials, dJ as injectAuthenticate, dK as injectInstallApp, dL as injectParentSize, dM as injectScrollSticky, dN as isButtonName, dO as isCancelledComputed, dP as isExtensiblePlatformNavId, dQ as isJson, dR as isLoadingComputed, dS as isLocalhost, dT as isPlatformNavId, dU as isSize, dV as isTierPreview, dW as isUrlLocalhost, dX as isValidNavId, dY as isValidNavSegment, dZ as isWebComponent, d_ as linkToId, d$ as linkToNav, e0 as loadingActions, e1 as mInterceptor, e2 as manualValidation, e3 as matchFieldValidation, e4 as maxLengthValidation, e5 as maxValidation, e6 as mergePlatformNav, e7 as mergeUnique, e8 as mergeUniqueBy, e9 as mergeUniqueWith, ea as minAgeValidation, eb as minLengthValidation, ec as minValidation, ed as miniMarkToHtml, ee as navIdChain, ef as navIdFor, eg as navIdSegment, eh as navIdToRoutePath, ei as navIdToSegments, ej as navToId, ek as parentNavId, el as parseAddress, em as parseColor, en as parsePatternNames, eo as patternValidation, ep as patternsValidation, eq as platformNavWidgets, er as privateGuard, es as processImageToSvg, et as provideAppContext, eu as provideMagAppConfig, ev as provideMagWcConfig, ew as provideMagWcRoutes, ex as provideModalComponents, ey as provideMurlUrlSerializer, ez as provideNavWidgets, eA as provideOverlayWidgets, eB as providePlatformNavWidgets, eC as provideSearch, eD as provideSizeContext, eE as provideUserTabs, eF as publicGuard, eG as readFieldPatterns, eH as renderAddress, eI as requiredValidation, eJ as resolveConfigAsset, eK as resolveIconSize, eL as resolvePallet, eM as resolvePatternRules, eN as resolveSize, eO as rgbToHex, eP as rgbToHsl, eQ as rowHasChildren, eR as samePatterns, eS as segmentsToNavId, eT as setProperty, eU as setTreeGridChildren, eV as settingsWidgets, eW as shouldShowBadge, eX as splitNavId, eY as stringToColor, eZ as toAttrBool, e_ as toAttrNumber, e$ as toCssLength, f0 as toHostNavId, f1 as toLength, f2 as toLocalNavId, f3 as toggleTreeGridRow, f4 as unfetchedPlatformNav, f5 as urlValidation } from './magmonium-one-magmonium-one-BSbTn-74.mjs';
|
|
2
2
|
//# sourceMappingURL=magmonium-one.mjs.map
|
package/package.json
CHANGED
package/types/magmonium-one.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { HttpEvent, HttpRequest, HttpHandlerFn } from '@angular/common/http';
|
|
|
2
2
|
import * as rxjs from 'rxjs';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import * as _angular_core from '@angular/core';
|
|
5
|
-
import { Type, Binding, ComponentRef, PipeTransform, OnDestroy, InjectionToken, Signal, WritableSignal, Injector, Provider, AfterViewChecked, ElementRef, ChangeDetectorRef, EnvironmentProviders, ApplicationConfig,
|
|
5
|
+
import { Type, Binding, ComponentRef, PipeTransform, OnDestroy, InjectionToken, Signal, WritableSignal, Injector, Provider, AfterViewChecked, ElementRef, ChangeDetectorRef, EnvironmentProviders, ApplicationConfig, InputSignal, ModelSignal, TemplateRef, OnInit, EventEmitter, AfterViewInit, ViewContainerRef, AfterContentInit, StaticProvider } from '@angular/core';
|
|
6
6
|
import * as _magmonium_cli from '@magmonium/cli';
|
|
7
7
|
import { ThemeColor, Theme, ThemeList, WebComponentConfig as WebComponentConfig$1 } from '@magmonium/cli';
|
|
8
8
|
import * as _ngrx_signals from '@ngrx/signals';
|
|
@@ -10,9 +10,9 @@ import * as _ngrx_signals_rxjs_interop from '@ngrx/signals/rxjs-interop';
|
|
|
10
10
|
import * as _angular_router from '@angular/router';
|
|
11
11
|
import { Router, Route, Routes, RouterStateSnapshot, UrlSerializer, UrlTree, ActivatedRouteSnapshot } from '@angular/router';
|
|
12
12
|
import * as dist_libs_cli_src from 'dist/libs/cli/src';
|
|
13
|
+
import * as _magmonium_one from '@magmonium/one';
|
|
13
14
|
import * as _angular_forms_signals from '@angular/forms/signals';
|
|
14
15
|
import { WithOptionalField, ValidationError, FormValueControl, FormCheckboxControl, FieldTree, SchemaOrSchemaFn, SchemaPath } from '@angular/forms/signals';
|
|
15
|
-
import * as _magmonium_one from '@magmonium/one';
|
|
16
16
|
import { SafeStyle } from '@angular/platform-browser';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -2049,58 +2049,13 @@ type Header = Config & {
|
|
|
2049
2049
|
level?: HeaderLevel;
|
|
2050
2050
|
};
|
|
2051
2051
|
|
|
2052
|
-
type SectionAccordion = Config & {
|
|
2053
|
-
icon?: string;
|
|
2054
|
-
toggleIcon?: string;
|
|
2055
|
-
};
|
|
2056
|
-
|
|
2057
|
-
interface SectionAccordionRef {
|
|
2058
|
-
setOpen(value: boolean): void;
|
|
2059
|
-
readonly isOpen: () => boolean;
|
|
2060
|
-
}
|
|
2061
|
-
interface SectionAccordionGroupContext {
|
|
2062
|
-
register(accordion: SectionAccordionRef): void;
|
|
2063
|
-
unregister(accordion: SectionAccordionRef): void;
|
|
2064
|
-
onOpened(accordion: SectionAccordionRef): void;
|
|
2065
|
-
}
|
|
2066
|
-
declare const SECTION_ACCORDION_GROUP: InjectionToken<SectionAccordionGroupContext>;
|
|
2067
|
-
|
|
2068
|
-
/**
|
|
2069
|
-
* Makes an `<m-section>` collapse — a toggle button renders at the start of
|
|
2070
|
-
* its projected `m-section-header` (nothing renders, and the Section never
|
|
2071
|
-
* collapses, if it has no header) and everything below the header collapses
|
|
2072
|
-
* as one region. Ungrouped, starts open; inside an `mAccordionGroup`, only
|
|
2073
|
-
* the first-registered member starts open (CONTEXT.md SectionAccordion).
|
|
2074
|
-
*/
|
|
2075
|
-
declare class SectionAccordionDirective implements SectionAccordionRef, OnInit, OnDestroy {
|
|
2076
|
-
readonly mAccordion: _angular_core.InputSignal<string | Partial<SectionAccordion>>;
|
|
2077
|
-
private readonly elementRef;
|
|
2078
|
-
private readonly assetStore;
|
|
2079
|
-
private readonly isDesignMode;
|
|
2080
|
-
private readonly group;
|
|
2081
|
-
private readonly groupDirective;
|
|
2082
|
-
private readonly configResource;
|
|
2083
|
-
private readonly resolvedConfig;
|
|
2084
|
-
readonly icon: _angular_core.Signal<string>;
|
|
2085
|
-
readonly toggleIcon: _angular_core.Signal<string>;
|
|
2086
|
-
private readonly _open;
|
|
2087
|
-
readonly isOpen: _angular_core.Signal<boolean>;
|
|
2088
|
-
readonly sectionAccordionId: string;
|
|
2089
|
-
readonly headerId: string;
|
|
2090
|
-
readonly bodyId: string;
|
|
2091
|
-
ngOnInit(): void;
|
|
2092
|
-
ngOnDestroy(): void;
|
|
2093
|
-
setOpen(value: boolean): void;
|
|
2094
|
-
toggle(): void;
|
|
2095
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionAccordionDirective, never>;
|
|
2096
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SectionAccordionDirective, "m-section[mAccordion]", never, { "mAccordion": { "alias": "mAccordion"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2097
|
-
}
|
|
2098
|
-
|
|
2099
2052
|
declare class SectionHeaderComponent {
|
|
2100
2053
|
readonly sticky: _angular_core.InputSignal<boolean>;
|
|
2101
2054
|
readonly level: _angular_core.InputSignal<HeaderLevel>;
|
|
2102
2055
|
readonly label: _angular_core.InputSignal<string>;
|
|
2103
2056
|
readonly subLabel: _angular_core.InputSignal<string>;
|
|
2057
|
+
readonly noTranslate: _angular_core.InputSignal<boolean>;
|
|
2058
|
+
readonly reverse: _angular_core.InputSignal<boolean>;
|
|
2104
2059
|
readonly icon: _angular_core.InputSignal<string>;
|
|
2105
2060
|
readonly menu: _angular_core.InputSignal<ContextMenu>;
|
|
2106
2061
|
readonly menuName: _angular_core.InputSignal<string>;
|
|
@@ -2117,6 +2072,8 @@ declare class SectionHeaderComponent {
|
|
|
2117
2072
|
readonly actionClick: _angular_core.OutputEmitterRef<void>;
|
|
2118
2073
|
readonly action: _angular_core.OutputEmitterRef<MenuItem>;
|
|
2119
2074
|
readonly back: _angular_core.OutputEmitterRef<void>;
|
|
2075
|
+
private readonly translateService;
|
|
2076
|
+
protected readonly subText: _angular_core.Signal<string>;
|
|
2120
2077
|
private readonly scrollSticky;
|
|
2121
2078
|
private readonly sectionContext;
|
|
2122
2079
|
protected readonly sidepanel: _angular_core.Signal<boolean>;
|
|
@@ -2124,12 +2081,12 @@ declare class SectionHeaderComponent {
|
|
|
2124
2081
|
protected readonly isSticky: _angular_core.Signal<boolean>;
|
|
2125
2082
|
protected readonly hasMenu: _angular_core.Signal<boolean>;
|
|
2126
2083
|
protected readonly actionConfig: _angular_core.Signal<Button>;
|
|
2127
|
-
protected readonly accordion: SectionAccordionDirective
|
|
2084
|
+
protected readonly accordion: _angular_core.Signal<_magmonium_one.SectionAccordionDirective>;
|
|
2128
2085
|
protected readonly toggleIconName: _angular_core.Signal<string>;
|
|
2129
2086
|
protected readonly toggleRotates: _angular_core.Signal<boolean>;
|
|
2130
2087
|
protected onToggleClick(): void;
|
|
2131
2088
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionHeaderComponent, never>;
|
|
2132
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionHeaderComponent, "m-section-header", never, { "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "subLabel": { "alias": "subLabel"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "menu": { "alias": "menu"; "required": false; "isSignal": true; }; "menuName": { "alias": "menuName"; "required": false; "isSignal": true; }; "visibilityRule": { "alias": "visibilityRule"; "required": false; "isSignal": true; }; "disableRule": { "alias": "disableRule"; "required": false; "isSignal": true; }; "extraData": { "alias": "extraData"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "actionButton": { "alias": "actionButton"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "actionClick": "actionClick"; "action": "action"; "back": "back"; }, never, ["*", "
|
|
2089
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionHeaderComponent, "m-section-header", never, { "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "level": { "alias": "level"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "subLabel": { "alias": "subLabel"; "required": false; "isSignal": true; }; "noTranslate": { "alias": "noTranslate"; "required": false; "isSignal": true; }; "reverse": { "alias": "reverse"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "menu": { "alias": "menu"; "required": false; "isSignal": true; }; "menuName": { "alias": "menuName"; "required": false; "isSignal": true; }; "visibilityRule": { "alias": "visibilityRule"; "required": false; "isSignal": true; }; "disableRule": { "alias": "disableRule"; "required": false; "isSignal": true; }; "extraData": { "alias": "extraData"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "showBack": { "alias": "showBack"; "required": false; "isSignal": true; }; "actionButton": { "alias": "actionButton"; "required": false; "isSignal": true; }; "actionLabel": { "alias": "actionLabel"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; }, { "actionClick": "actionClick"; "action": "action"; "back": "back"; }, never, ["*", "[sub]"], true, never>;
|
|
2133
2090
|
}
|
|
2134
2091
|
|
|
2135
2092
|
declare class SectionBackComponent {
|
|
@@ -2695,6 +2652,56 @@ declare class CarouselComponent extends ReactiveElementComponent<Carousel> imple
|
|
|
2695
2652
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselComponent, "m-carousel, m-one-carousel", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "config": "configChange"; }, never, never, true, never>;
|
|
2696
2653
|
}
|
|
2697
2654
|
|
|
2655
|
+
type SectionAccordion = Config & {
|
|
2656
|
+
icon?: string;
|
|
2657
|
+
toggleIcon?: string;
|
|
2658
|
+
};
|
|
2659
|
+
|
|
2660
|
+
interface SectionAccordionRef {
|
|
2661
|
+
setOpen(value: boolean): void;
|
|
2662
|
+
readonly isOpen: () => boolean;
|
|
2663
|
+
}
|
|
2664
|
+
interface SectionAccordionGroupContext {
|
|
2665
|
+
register(accordion: SectionAccordionRef): void;
|
|
2666
|
+
unregister(accordion: SectionAccordionRef): void;
|
|
2667
|
+
onOpened(accordion: SectionAccordionRef): void;
|
|
2668
|
+
}
|
|
2669
|
+
declare const SECTION_ACCORDION_GROUP: InjectionToken<SectionAccordionGroupContext>;
|
|
2670
|
+
|
|
2671
|
+
/**
|
|
2672
|
+
* Makes an `<m-section>` collapse — a toggle button renders at the start of
|
|
2673
|
+
* its projected `m-section-header` (nothing renders, and the Section never
|
|
2674
|
+
* collapses, if it has no header) and everything below the header collapses
|
|
2675
|
+
* as one region. Ungrouped, starts open; inside an `mAccordionGroup`, only
|
|
2676
|
+
* the first-registered member starts open (CONTEXT.md SectionAccordion).
|
|
2677
|
+
*/
|
|
2678
|
+
declare class SectionAccordionDirective implements SectionAccordionRef, OnInit, OnDestroy {
|
|
2679
|
+
readonly mAccordion: _angular_core.InputSignal<string | Partial<SectionAccordion>>;
|
|
2680
|
+
private readonly elementRef;
|
|
2681
|
+
private readonly assetStore;
|
|
2682
|
+
private readonly isDesignMode;
|
|
2683
|
+
private readonly group;
|
|
2684
|
+
private readonly groupDirective;
|
|
2685
|
+
private readonly configResource;
|
|
2686
|
+
private readonly resolvedConfig;
|
|
2687
|
+
private readonly staticAttribute;
|
|
2688
|
+
readonly isActive: _angular_core.Signal<boolean>;
|
|
2689
|
+
private readonly activeGroup;
|
|
2690
|
+
readonly icon: _angular_core.Signal<string>;
|
|
2691
|
+
readonly toggleIcon: _angular_core.Signal<string>;
|
|
2692
|
+
private readonly _open;
|
|
2693
|
+
readonly isOpen: _angular_core.Signal<boolean>;
|
|
2694
|
+
readonly sectionAccordionId: string;
|
|
2695
|
+
readonly headerId: string;
|
|
2696
|
+
readonly bodyId: string;
|
|
2697
|
+
ngOnInit(): void;
|
|
2698
|
+
ngOnDestroy(): void;
|
|
2699
|
+
setOpen(value: boolean): void;
|
|
2700
|
+
toggle(): void;
|
|
2701
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionAccordionDirective, never>;
|
|
2702
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SectionAccordionDirective, "m-section[mAccordion]", never, { "mAccordion": { "alias": "mAccordion"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2703
|
+
}
|
|
2704
|
+
|
|
2698
2705
|
type SectionHeightMode = 'full' | 'fixed';
|
|
2699
2706
|
type SectionAlign = 'left' | 'right' | 'center';
|
|
2700
2707
|
interface SectionConfig extends Config {
|
|
@@ -2708,7 +2715,8 @@ interface SectionConfig extends Config {
|
|
|
2708
2715
|
}
|
|
2709
2716
|
declare class SectionComponent extends ConfigComponent<SectionConfig> {
|
|
2710
2717
|
subFolder: "sections";
|
|
2711
|
-
|
|
2718
|
+
private readonly accordionDirective;
|
|
2719
|
+
readonly accordion: _angular_core.Signal<SectionAccordionDirective>;
|
|
2712
2720
|
protected readonly header: _angular_core.Signal<SectionHeaderComponent>;
|
|
2713
2721
|
protected readonly badges: _angular_core.Signal<SectionBadgesComponent>;
|
|
2714
2722
|
protected readonly toggle: _angular_core.Signal<SectionToggleComponent<any>>;
|
|
@@ -2888,6 +2896,8 @@ declare class SectionAccordionGroupDirective implements SectionAccordionGroupCon
|
|
|
2888
2896
|
readonly mAccordionGroup: _angular_core.InputSignal<string | Partial<SectionAccordionGroup>>;
|
|
2889
2897
|
private readonly elementRef;
|
|
2890
2898
|
private readonly assetStore;
|
|
2899
|
+
private readonly staticAttribute;
|
|
2900
|
+
readonly isActive: _angular_core.Signal<boolean>;
|
|
2891
2901
|
private readonly configResource;
|
|
2892
2902
|
private readonly resolvedConfig;
|
|
2893
2903
|
readonly icon: _angular_core.Signal<string>;
|