@magmonium/one 0.2.27 → 0.2.28
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-BudsrBEI.mjs → magmonium-one-magmonium-one-Ckv5BQBl.mjs} +152 -31
- package/fesm2022/magmonium-one-magmonium-one-Ckv5BQBl.mjs.map +1 -0
- package/fesm2022/{magmonium-one-otp-CGJwpx2O.mjs → magmonium-one-otp-yKv_Sfbn.mjs} +2 -2
- package/fesm2022/{magmonium-one-otp-CGJwpx2O.mjs.map → magmonium-one-otp-yKv_Sfbn.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-password-C_iu89uG.mjs → magmonium-one-password-Cl3qN0JY.mjs} +2 -2
- package/fesm2022/{magmonium-one-password-C_iu89uG.mjs.map → magmonium-one-password-Cl3qN0JY.mjs.map} +1 -1
- package/fesm2022/{magmonium-one-toggle-OB-u7l7C.mjs → magmonium-one-toggle-dPCJcoX8.mjs} +2 -2
- package/fesm2022/{magmonium-one-toggle-OB-u7l7C.mjs.map → magmonium-one-toggle-dPCJcoX8.mjs.map} +1 -1
- package/fesm2022/magmonium-one.mjs +1 -1
- package/package.json +1 -1
- package/types/magmonium-one.d.ts +47 -4
- package/fesm2022/magmonium-one-magmonium-one-BudsrBEI.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-Ckv5BQBl.mjs';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
|
|
6
6
|
class OtpInputComponent extends BaseTextInputComponent {
|
|
@@ -198,4 +198,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
198
198
|
}], ctorParameters: () => [], propDecorators: { otpInputs: [{ type: i0.ViewChildren, args: ['otpInput', { isSignal: true }] }] } });
|
|
199
199
|
|
|
200
200
|
export { OtpInputComponent };
|
|
201
|
-
//# sourceMappingURL=magmonium-one-otp-
|
|
201
|
+
//# sourceMappingURL=magmonium-one-otp-yKv_Sfbn.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-otp-CGJwpx2O.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 [params]=\"otp.params\"\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-yKv_Sfbn.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 [params]=\"otp.params\"\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-C_iu89uG.mjs → magmonium-one-password-Cl3qN0JY.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-Ckv5BQBl.mjs';
|
|
4
4
|
|
|
5
5
|
class PasswordInputComponent extends BaseTextInputComponent {
|
|
6
6
|
isPassword = signal(true, ...(ngDevMode ? [{ debugName: "isPassword" }] : /* istanbul ignore next */ []));
|
|
@@ -102,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
102
102
|
}] });
|
|
103
103
|
|
|
104
104
|
export { PasswordInputComponent };
|
|
105
|
-
//# sourceMappingURL=magmonium-one-password-
|
|
105
|
+
//# sourceMappingURL=magmonium-one-password-Cl3qN0JY.mjs.map
|
package/fesm2022/{magmonium-one-password-C_iu89uG.mjs.map → magmonium-one-password-Cl3qN0JY.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-password-
|
|
1
|
+
{"version":3,"file":"magmonium-one-password-Cl3qN0JY.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 [params]=\"text.params\"\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: text.params\"\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":";;;;AA2DM,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,EA7CvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,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,QAAA,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,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,4YAAE,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIlE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA/ClC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,QAAA,EAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,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-Ckv5BQBl.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-dPCJcoX8.mjs.map
|
package/fesm2022/{magmonium-one-toggle-OB-u7l7C.mjs.map → magmonium-one-toggle-dPCJcoX8.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magmonium-one-toggle-
|
|
1
|
+
{"version":3,"file":"magmonium-one-toggle-dPCJcoX8.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_FILTER_RANGE_MODE, _ as DEFAULT_FILTER_VARIANT, $ as DEFAULT_SIZE, a0 as DashboardCardComponent, a1 as DateInputComponent, a2 as DatePickerComponent, a3 as DeviceService, a4 as DomService, a5 as Domain, a6 as DotGridComponent, a7 as DragListDirective, a8 as DragListItemDirective, a9 as DraggableDirective, aa as DropdownInputComponent, ab as FILTER_GROUP_CONTEXT, ac as FILTER_RANGE_MODES, ad as FILTER_VARIANTS, ae as FLEX_VARIANTS, af as FOLDER_PICK_LISTENER, ag as FORM_ASSET_FOLDER, ah as FileService, ai as FileUploadDirective, aj as FileUploadInputComponent, ak as FlexComponent, al as FlexItemComponent, am as FormGroupComponent, an as FrameComponent, ao as FreezeService, ap as GRID_BREAKPOINTS, aq as GetNavService, ar as HeaderComponent, as as HighlightDirective, at as HttpService, au as ICON_SOURCE, I as IS_DESIGN_MODE, av as IS_SIDE_PANEL, aw as IconComponent, ax as ImgComponent, ay as InputType, az as InstrumentScoreComponent, aA as InterceptorObservables, aB as JumbotronComponent, aC as KeyValueComponent, aD as LAYOUT_ASSET_FOLDER, aE as LOGIN_COMPONENT, aF as LOGIN_STORE, aG as LanguageComponent, aH as LogoComponent, aI as MAG_SOCKET_EVENT, aJ as MHeroColorDirective, aK as MHeroComponent, aL as MODAL_REF, aM as MODAL_STORE_REF, aN as MRefDirective, aO as MStepComponent, aP as MURL_PARAM, aQ as MURL_SEP, aR as ManifestEnrichmentService, aS as MenuComponent, aT as ModalDirective, aU as ModalRef, aV as ModalStore, aW as MoneyPipe, aX as MultiRangeInputComponent, aY as MurlUrlSerializer, aZ as NAV_DEFAULT_MURL, a_ as NAV_ID_SEP, a$ as NAV_MAIN_BUTTONS, b0 as NAV_SEGMENT_RE, b1 as NAV_STORE_REF, b2 as NAV_WC_COMPONENTS, b3 as NAV_WIDGET_MAP, b4 as NavComponent, b5 as NavDetailsComponent, b6 as NavHeaderComponent, b7 as NavMenuComponent, b8 as NavStore, b9 as NavTrailComponent, ba as NothingComponent, bb as NotificationElementComponent, bc as NotificationGroupComponent, bd as NotificationPopupComponent, be as NotificationService, bf as NotificationStore, bg as NotificationType, bh as NotificationWidgetComponent, bi as ONE_ASSET_BASE_URL, bj as OPTIONS_SOURCE, bk as OVERLAY_WIDGETS, bl as OneApp, bm as OptionsSourceDirective, bn as OverlayBodyComponent, bo as OverlayRef, bp as OverlayService, bq as PLATFORM_BUTTON_NAV_IDS, br as PLATFORM_EXTENSIBLE_NAV_IDS, bs as PLATFORM_NAV_MAP, bt as PLATFORM_ROOT_CHILDREN, bu as PaginationComponent, bv as PanelComponent, bw as PercentagePipe, bx as PlaygroundComponent, by as PositionDirective, bz as PwaInstallComponent, bA as ROOT_NAV, bB as RadioGroupComponent, bC as RadioInputComponent, bD as RangeInputComponent, bE as RatingInputComponent, bF as ReactiveElementComponent, bG as RemoteComponent, bH as RemoteLoaderService, bI as ResizeElementComponent, bJ as RouteContainer, bK as RowComponent, bL as SEARCH_QUERY, bM as SEARCH_RESULTS_EVENT, bN as SECTION_ACCORDION_GROUP, bO as SECTION_FORM_CONTEXT, bP as SHARED_ICONS, bQ as SIZE_CONTEXT, bR as ScoreComponent, bS as ScrollComponent, bT as ScrollService, bU as SearchPanelComponent, bV as SearchStore, bW as SearchUserPanelComponent, bX as SectionAccordionDirective, bY as SectionAccordionGroupDirective, bZ as SectionBackComponent, b_ as SectionBadgesComponent, b$ as SectionButtonGroupComponent, c0 as SectionCardComponent, c1 as SectionCarouselComponent, c2 as SectionComponent, c3 as SectionFilterComponent, c4 as SectionFilterGroupComponent, c5 as SectionFilterMenuComponent, c6 as SectionFilterPanelComponent, c7 as SectionFilterRangePanelComponent, c8 as SectionFooterComponent, c9 as SectionFormComponent, ca as SectionFormItemComponent, cb as SectionHeaderComponent, cc as SectionHeroComponent, cd as SectionPaginationComponent, ce as SectionSearchComponent, cf as SectionStepperComponent, cg as SectionTabsComponent, ch as SectionToggleComponent, ci as SectionToggleItemDirective, cj as SelectableCardInputComponent, ck as SelectorDirective, cl as SettingsSearchBarComponent, cm as SettingsSearchService, cn as ShapeComponent, co as SharedStoreRegistry, cp as SidePanelDirective, cq as Size, cr as SocketStore, cs as SortComponent, ct as StatComponent, cu as StepComponent, cv as StepperComponent, cw as StepsComponent, cx as StorageService, cy as StrokeLinecap, cz as StrokeLinejoin, cA as SummaryComponent, cB as SvgGeneratorComponent, cC as SvgGeneratorService, cD as SvgService, cE as TOTAL_COLUMNS, cF as TRANSLATION_SOURCE, cG as TableComponent, cH as TechnicalMeterComponent, cI as TextInputComponent, b as TextOutputComponent, cJ as TextareaInputComponent, cK as ThemeComponent, cL as ThemeDataService, cM as ThemeService, cN as ThemeStore, cO as TimeAgoPipe, cP as TimelineComponent, cQ as ToggleButtonComponent, cR as ToggleInputComponent, cS as ToggleRadioInputComponent, cT as ToolTipDirective, cU as TooltipComponent, T as TranslatePipe, cV as TranslateService, cW as TreeGridComponent, cX as URL_SEP, cY as USER_STORE_REF, cZ as USER_TAB_MAP, c_ as UlComponent, c$ as UniverseComponent, d0 as UserApiService, d1 as UserAvatarComponent, d2 as UserComponent, d3 as UserNavComponent, d4 as UserSettingsComponent, d5 as UserStore, d6 as WC_ROUTE_CHANGED_EVENT, d7 as WC_SEARCH_GROUPS, d8 as WIN_USER_TAB_HOOK, d9 as WIN_USER_TAB_KEY, da as WatermarkComponent, db as WcRouterStore, dc as WrapperInputComponent, dd as anchorNavId, de as applyColorsToElement, df as bootstrapMagApp, dg as bootstrapPwaInstall, dh as buildWcBaseUrl, di as calculateLuminance, dj as calculateRanks, dk as cellText, dl as checkFilterCondition, dm as childNavId, dn as classListSignal, dp as coerceSize, dq as cornerEdge, dr as cornerSide, ds as createMap, dt as createPlatformNavMap, du as deriveAvatarGradient, dv as deriveContrastColor, dw as deriveOppositeColor, dx as derivePropertyName, dy as emailValidation, dz as evaluate, dA as evaluateBool, dB as filterHoldsList, dC as filterHoldsOneBound, dD as filterHoldsOptions, dE as filterHoldsRange, dF as filterList, dG as filterOne, dH as filterPanelOf, dI as filterPanelWidth, dJ as filterRange, dK as filterValueList, dL as filterValues, dM as flattenTreeGridRows, dN as formatBadgeCount, dO as fullName, dP as generateClipPath, dQ as generateTransform, dR as getClassList, dS as getProperty, dT as getScrollParent, dU as getTierFromPreviewPath, dV as getTreeGridRow, dW as getUniqueId, dX as getValue, dY as hasErrorComputed, dZ as hexToRgb, d_ as hslToRgb, d$ as initMagmoniumApp, e0 as initialNotificationState, e1 as initialState, e2 as initials, e3 as injectAuthenticate, e4 as injectInstallApp, e5 as injectParentSize, e6 as injectScrollSticky, e7 as isButtonName, e8 as isCancelledComputed, e9 as isExtensiblePlatformNavId, ea as isJson, eb as isLoadingComputed, ec as isLocalhost, ed as isPlatformNavId, ee as isSize, ef as isTierPreview, eg as isUrlLocalhost, eh as isValidNavId, ei as isValidNavSegment, ej as isWebComponent, ek as linkToId, el as linkToNav, em as loadingActions, en as mInterceptor, eo as manualValidation, ep as matchFieldValidation, eq as maxLengthValidation, er as maxValidation, es as mergePlatformNav, et as mergeUnique, eu as mergeUniqueBy, ev as mergeUniqueWith, ew as minAgeValidation, ex as minLengthValidation, ey as minValidation, ez as miniMarkToHtml, eA as navIdChain, eB as navIdFor, eC as navIdSegment, eD as navIdToRoutePath, eE as navIdToSegments, eF as navToId, eG as parentNavId, eH as parseAddress, eI as parseColor, eJ as parsePatternNames, eK as patternValidation, eL as patternsValidation, eM as platformNavWidgets, eN as privateGuard, eO as processImageToSvg, eP as provideAppContext, eQ as provideMagAppConfig, eR as provideMagWcConfig, eS as provideMagWcRoutes, eT as provideModalComponents, eU as provideMurlUrlSerializer, eV as provideNavWidgets, eW as provideOverlayWidgets, eX as providePlatformNavWidgets, eY as provideSearch, eZ as provideSizeContext, e_ as provideUserTabs, e$ as publicGuard, f0 as readFieldPatterns, f1 as renderAddress, f2 as requiredValidation, f3 as resolveConfigAsset, f4 as resolveIconSize, f5 as resolvePallet, f6 as resolvePatternRules, f7 as resolveSize, f8 as rgbToHex, f9 as rgbToHsl, fa as rowHasChildren, fb as samePatterns, fc as segmentsToNavId, fd as setProperty, fe as setTreeGridChildren, ff as settingsWidgets, fg as shouldShowBadge, fh as splitNavId, fi as stringToColor, fj as toAttrBool, fk as toAttrNumber, fl as toCssLength, fm as toHostNavId, fn as toLength, fo as toLocalNavId, fp as toggleTreeGridRow, fq as unfetchedPlatformNav, fr 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_FILTER_RANGE_MODE, _ as DEFAULT_FILTER_VARIANT, $ as DEFAULT_SIZE, a0 as DashboardCardComponent, a1 as DateInputComponent, a2 as DatePickerComponent, a3 as DeviceService, a4 as DomService, a5 as Domain, a6 as DotGridComponent, a7 as DragListDirective, a8 as DragListItemDirective, a9 as DraggableDirective, aa as DropdownInputComponent, ab as FILTER_GROUP_CONTEXT, ac as FILTER_RANGE_MODES, ad as FILTER_VARIANTS, ae as FLEX_VARIANTS, af as FOLDER_PICK_LISTENER, ag as FORM_ASSET_FOLDER, ah as FileService, ai as FileUploadDirective, aj as FileUploadInputComponent, ak as FlexComponent, al as FlexItemComponent, am as FormGroupComponent, an as FrameComponent, ao as FreezeService, ap as GRID_BREAKPOINTS, aq as GetNavService, ar as HeaderComponent, as as HighlightDirective, at as HttpService, au as ICON_SOURCE, I as IS_DESIGN_MODE, av as IS_SIDE_PANEL, aw as IconComponent, ax as ImgComponent, ay as InputType, az as InstrumentScoreComponent, aA as InterceptorObservables, aB as JumbotronComponent, aC as KeyValueComponent, aD as LAYOUT_ASSET_FOLDER, aE as LOGIN_COMPONENT, aF as LOGIN_STORE, aG as LanguageComponent, aH as LogoComponent, aI as MAG_SOCKET_EVENT, aJ as MHeroColorDirective, aK as MHeroComponent, aL as MODAL_REF, aM as MODAL_STORE_REF, aN as MRefDirective, aO as MStepComponent, aP as MURL_PARAM, aQ as MURL_SEP, aR as ManifestEnrichmentService, aS as MenuComponent, aT as ModalDirective, aU as ModalRef, aV as ModalStore, aW as MoneyPipe, aX as MultiRangeInputComponent, aY as MurlUrlSerializer, aZ as NAV_DEFAULT_MURL, a_ as NAV_ID_SEP, a$ as NAV_MAIN_BUTTONS, b0 as NAV_SEGMENT_RE, b1 as NAV_STORE_REF, b2 as NAV_WC_COMPONENTS, b3 as NAV_WIDGET_MAP, b4 as NavComponent, b5 as NavDetailsComponent, b6 as NavHeaderComponent, b7 as NavMenuComponent, b8 as NavStore, b9 as NavTrailComponent, ba as NothingComponent, bb as NotificationElementComponent, bc as NotificationGroupComponent, bd as NotificationPopupComponent, be as NotificationService, bf as NotificationStore, bg as NotificationType, bh as NotificationWidgetComponent, bi as ONE_ASSET_BASE_URL, bj as OPTIONS_SOURCE, bk as OVERLAY_WIDGETS, bl as OneApp, bm as OptionsSourceDirective, bn as OverlayBodyComponent, bo as OverlayRef, bp as OverlayService, bq as PLATFORM_BUTTON_NAV_IDS, br as PLATFORM_EXTENSIBLE_NAV_IDS, bs as PLATFORM_NAV_MAP, bt as PLATFORM_ROOT_CHILDREN, bu as PaginationComponent, bv as PanelComponent, bw as PercentagePipe, bx as PlaygroundComponent, by as PositionDirective, bz as PwaInstallComponent, bA as ROOT_NAV, bB as RadioGroupComponent, bC as RadioInputComponent, bD as RangeInputComponent, bE as RatingInputComponent, bF as ReactiveElementComponent, bG as RemoteComponent, bH as RemoteLoaderService, bI as ResizeElementComponent, bJ as RouteContainer, bK as RowComponent, bL as SEARCH_QUERY, bM as SEARCH_RESULTS_EVENT, bN as SECTION_ACCORDION_GROUP, bO as SECTION_FORM_CONTEXT, bP as SHARED_ICONS, bQ as SIZE_CONTEXT, bR as ScoreComponent, bS as ScrollComponent, bT as ScrollService, bU as SearchPanelComponent, bV as SearchStore, bW as SearchUserPanelComponent, bX as SectionAccordionDirective, bY as SectionAccordionGroupDirective, bZ as SectionBackComponent, b_ as SectionBadgesComponent, b$ as SectionButtonGroupComponent, c0 as SectionCardComponent, c1 as SectionCarouselComponent, c2 as SectionComponent, c3 as SectionFilterComponent, c4 as SectionFilterGroupComponent, c5 as SectionFilterMenuComponent, c6 as SectionFilterPanelComponent, c7 as SectionFilterRangePanelComponent, c8 as SectionFooterComponent, c9 as SectionFormComponent, ca as SectionFormItemComponent, cb as SectionHeaderComponent, cc as SectionHeroComponent, cd as SectionPaginationComponent, ce as SectionSearchComponent, cf as SectionStepperComponent, cg as SectionTabsComponent, ch as SectionToggleComponent, ci as SectionToggleItemDirective, cj as SelectableCardInputComponent, ck as SelectorDirective, cl as SettingsSearchBarComponent, cm as SettingsSearchService, cn as ShapeComponent, co as SharedStoreRegistry, cp as SidePanelDirective, cq as Size, cr as SocketStore, cs as SortComponent, ct as StatComponent, cu as StepComponent, cv as StepperComponent, cw as StepsComponent, cx as StorageService, cy as StrokeLinecap, cz as StrokeLinejoin, cA as SummaryComponent, cB as SvgGeneratorComponent, cC as SvgGeneratorService, cD as SvgService, cE as TOTAL_COLUMNS, cF as TRANSLATION_SOURCE, cG as TableComponent, cH as TechnicalMeterComponent, cI as TextInputComponent, b as TextOutputComponent, cJ as TextareaInputComponent, cK as ThemeComponent, cL as ThemeDataService, cM as ThemeService, cN as ThemeStore, cO as TimeAgoPipe, cP as TimelineComponent, cQ as ToggleButtonComponent, cR as ToggleInputComponent, cS as ToggleRadioInputComponent, cT as ToolTipDirective, cU as TooltipComponent, T as TranslatePipe, cV as TranslateService, cW as TreeGridComponent, cX as URL_SEP, cY as USER_STORE_REF, cZ as USER_TAB_MAP, c_ as UlComponent, c$ as UniverseComponent, d0 as UserApiService, d1 as UserAvatarComponent, d2 as UserComponent, d3 as UserNavComponent, d4 as UserSettingsComponent, d5 as UserStore, d6 as WC_ROUTE_CHANGED_EVENT, d7 as WC_SEARCH_GROUPS, d8 as WIN_USER_TAB_HOOK, d9 as WIN_USER_TAB_KEY, da as WatermarkComponent, db as WcRouterStore, dc as WrapperInputComponent, dd as anchorNavId, de as applyColorsToElement, df as bootstrapMagApp, dg as bootstrapPwaInstall, dh as buildWcBaseUrl, di as calculateLuminance, dj as calculateRanks, dk as cellText, dl as checkFilterCondition, dm as childNavId, dn as classListSignal, dp as coerceSize, dq as cornerEdge, dr as cornerSide, ds as createMap, dt as createPlatformNavMap, du as deriveAvatarGradient, dv as deriveContrastColor, dw as deriveOppositeColor, dx as derivePropertyName, dy as emailValidation, dz as evaluate, dA as evaluateBool, dB as filterHoldsList, dC as filterHoldsOneBound, dD as filterHoldsOptions, dE as filterHoldsRange, dF as filterList, dG as filterOne, dH as filterPanelOf, dI as filterPanelWidth, dJ as filterRange, dK as filterValueList, dL as filterValues, dM as flattenTreeGridRows, dN as formatBadgeCount, dO as fullName, dP as generateClipPath, dQ as generateTransform, dR as getClassList, dS as getProperty, dT as getScrollParent, dU as getTierFromPreviewPath, dV as getTreeGridRow, dW as getUniqueId, dX as getValue, dY as hasErrorComputed, dZ as hexToRgb, d_ as hslToRgb, d$ as initMagmoniumApp, e0 as initialNotificationState, e1 as initialState, e2 as initials, e3 as injectAuthenticate, e4 as injectInstallApp, e5 as injectParentSize, e6 as injectScrollSticky, e7 as isButtonName, e8 as isCancelledComputed, e9 as isExtensiblePlatformNavId, ea as isJson, eb as isLoadingComputed, ec as isLocalhost, ed as isPlatformNavId, ee as isSize, ef as isTierPreview, eg as isUrlLocalhost, eh as isValidNavId, ei as isValidNavSegment, ej as isWebComponent, ek as linkToId, el as linkToNav, em as loadingActions, en as mInterceptor, eo as manualValidation, ep as matchFieldValidation, eq as maxLengthValidation, er as maxValidation, es as mergePlatformNav, et as mergeUnique, eu as mergeUniqueBy, ev as mergeUniqueWith, ew as minAgeValidation, ex as minLengthValidation, ey as minValidation, ez as miniMarkToHtml, eA as navIdChain, eB as navIdFor, eC as navIdSegment, eD as navIdToRoutePath, eE as navIdToSegments, eF as navToId, eG as parentNavId, eH as parseAddress, eI as parseColor, eJ as parsePatternNames, eK as patternValidation, eL as patternsValidation, eM as platformNavWidgets, eN as privateGuard, eO as processImageToSvg, eP as provideAppContext, eQ as provideMagAppConfig, eR as provideMagWcConfig, eS as provideMagWcRoutes, eT as provideModalComponents, eU as provideMurlUrlSerializer, eV as provideNavWidgets, eW as provideOverlayWidgets, eX as providePlatformNavWidgets, eY as provideSearch, eZ as provideSizeContext, e_ as provideUserTabs, e$ as publicGuard, f0 as readFieldPatterns, f1 as renderAddress, f2 as requiredValidation, f3 as resolveConfigAsset, f4 as resolveIconSize, f5 as resolvePallet, f6 as resolvePatternRules, f7 as resolveSize, f8 as rgbToHex, f9 as rgbToHsl, fa as rowHasChildren, fb as samePatterns, fc as segmentsToNavId, fd as setProperty, fe as setTreeGridChildren, ff as settingsWidgets, fg as shouldShowBadge, fh as splitNavId, fi as stringToColor, fj as toAttrBool, fk as toAttrNumber, fl as toCssLength, fm as toHostNavId, fn as toLength, fo as toLocalNavId, fp as toggleTreeGridRow, fq as unfetchedPlatformNav, fr as urlValidation } from './magmonium-one-magmonium-one-Ckv5BQBl.mjs';
|
|
2
2
|
//# sourceMappingURL=magmonium-one.mjs.map
|
package/package.json
CHANGED
package/types/magmonium-one.d.ts
CHANGED
|
@@ -2761,6 +2761,7 @@ declare class SectionFilterComponent {
|
|
|
2761
2761
|
/** The group's slice when there is one, this Filter's own model otherwise. */
|
|
2762
2762
|
protected readonly selected: _angular_core.Signal<readonly (string | number)[]>;
|
|
2763
2763
|
protected readonly toggleConfig: _angular_core.Signal<Button>;
|
|
2764
|
+
protected readonly clearConfig: _angular_core.Signal<Button>;
|
|
2764
2765
|
protected readonly chipConfig: _angular_core.Signal<Partial<Badge>>;
|
|
2765
2766
|
private readonly dropdownRef;
|
|
2766
2767
|
private readonly namedOptions;
|
|
@@ -2783,6 +2784,12 @@ declare class SectionFilterComponent {
|
|
|
2783
2784
|
*/
|
|
2784
2785
|
protected readonly writeRange: (next: readonly number[] | undefined) => void;
|
|
2785
2786
|
protected readonly clearRange: () => void;
|
|
2787
|
+
/**
|
|
2788
|
+
* Drop everything this Filter holds. In a group that is the key deleted
|
|
2789
|
+
* outright; alone it is the model emptied, which emits `''` under the
|
|
2790
|
+
* variants whose key carries one value.
|
|
2791
|
+
*/
|
|
2792
|
+
protected readonly clearAll: () => void;
|
|
2786
2793
|
protected readonly removeOption: (val: string | number) => void;
|
|
2787
2794
|
/**
|
|
2788
2795
|
* The model is a list whatever the variant, the badges and every panel
|
|
@@ -2839,14 +2846,32 @@ interface FilterGroupContext {
|
|
|
2839
2846
|
*/
|
|
2840
2847
|
setRange(name: string, next: readonly number[] | undefined): void;
|
|
2841
2848
|
remove(name: string, value: string | number): void;
|
|
2849
|
+
/**
|
|
2850
|
+
* Drop the Filter's key outright — every value it holds at once, whatever
|
|
2851
|
+
* the variant. What the bar's own clear mark calls: a Filter is one answer
|
|
2852
|
+
* to the reader on the other side, so taking it back is one act rather than
|
|
2853
|
+
* a `remove` per badge.
|
|
2854
|
+
*/
|
|
2855
|
+
clear(name: string): void;
|
|
2842
2856
|
}
|
|
2843
2857
|
declare const FILTER_GROUP_CONTEXT: InjectionToken<FilterGroupContext>;
|
|
2844
2858
|
|
|
2845
2859
|
type MenuRow = {
|
|
2846
2860
|
readonly name: string;
|
|
2847
2861
|
readonly label: string;
|
|
2848
|
-
/**
|
|
2862
|
+
/**
|
|
2863
|
+
* A `range` Filter's bounds, drawn beside its name. Empty for the
|
|
2864
|
+
* option-picking variants — how many they hold is a count, and a count is
|
|
2865
|
+
* the notification badge rather than text (`count` below).
|
|
2866
|
+
*/
|
|
2849
2867
|
readonly detail: string;
|
|
2868
|
+
/**
|
|
2869
|
+
* How many options this Filter holds, already capped at `99+`. Drawn as the
|
|
2870
|
+
* same notification badge the squeezed group's own toggle wears, so one
|
|
2871
|
+
* Filter's answer count is read the way the group's is. Empty when the
|
|
2872
|
+
* Filter holds nothing or answers with bounds.
|
|
2873
|
+
*/
|
|
2874
|
+
readonly count: string;
|
|
2850
2875
|
readonly selected: boolean;
|
|
2851
2876
|
};
|
|
2852
2877
|
/**
|
|
@@ -2872,6 +2897,8 @@ declare class SectionFilterMenuComponent {
|
|
|
2872
2897
|
protected readonly forwardIcon: _angular_core.Signal<{
|
|
2873
2898
|
name: string;
|
|
2874
2899
|
}>;
|
|
2900
|
+
protected readonly countBadgeConfig: _angular_core.Signal<Partial<Badge>>;
|
|
2901
|
+
protected readonly clearConfig: _angular_core.Signal<Button>;
|
|
2875
2902
|
protected readonly rows: _angular_core.Signal<MenuRow[]>;
|
|
2876
2903
|
private readonly active;
|
|
2877
2904
|
protected readonly activeRow: _angular_core.Signal<{
|
|
@@ -2887,14 +2914,30 @@ declare class SectionFilterMenuComponent {
|
|
|
2887
2914
|
private readonly activeMax;
|
|
2888
2915
|
private readonly activeMode;
|
|
2889
2916
|
constructor();
|
|
2917
|
+
/**
|
|
2918
|
+
* Drill into a Filter's panel — unless the clear mark inside the row was what
|
|
2919
|
+
* was hit. Read off the event rather than stopped inside the mark's own
|
|
2920
|
+
* handler: a `(click)` there would make the wrapping span interactive, which
|
|
2921
|
+
* it is not — the Button inside it is what takes focus.
|
|
2922
|
+
*/
|
|
2923
|
+
protected readonly open: (name: string, event: Event) => void;
|
|
2924
|
+
/** Drop everything the named Filter holds, without drilling into it. */
|
|
2925
|
+
protected readonly clear: (name: string) => void;
|
|
2890
2926
|
private readonly pick;
|
|
2891
2927
|
private readonly setRange;
|
|
2892
2928
|
/**
|
|
2893
|
-
* A range says what it holds
|
|
2894
|
-
*
|
|
2895
|
-
*
|
|
2929
|
+
* A range says what it holds: two bounds *are* the answer and fit beside the
|
|
2930
|
+
* name. An option list says nothing here — two picked options are two of a
|
|
2931
|
+
* set the row cannot show, so how many it holds goes to `countOf` and is
|
|
2932
|
+
* drawn as a badge rather than as text.
|
|
2896
2933
|
*/
|
|
2897
2934
|
private readonly detailOf;
|
|
2935
|
+
/**
|
|
2936
|
+
* How many options the Filter holds, as the badge draws it — `99+` past the
|
|
2937
|
+
* cap, and empty for a `range`, whose two entries are one answer and are
|
|
2938
|
+
* spelled out by `detailOf` instead.
|
|
2939
|
+
*/
|
|
2940
|
+
private readonly countOf;
|
|
2898
2941
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionFilterMenuComponent, never>;
|
|
2899
2942
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionFilterMenuComponent, "m-section-filter-menu", never, { "members": { "alias": "members"; "required": false; "isSignal": true; }; "ctx": { "alias": "ctx"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2900
2943
|
}
|