@magmonium/one 0.3.10 → 0.3.13

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.
@@ -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 { h as BaseTextInputComponent, k as IS_DESIGN_MODE, L as LabelComponent, j as TextOutputComponent } from './magmonium-one-magmonium-one-BO3bkkLJ.mjs';
3
+ import { h as BaseTextInputComponent, k as IS_DESIGN_MODE, L as LabelComponent, j as TextOutputComponent } from './magmonium-one-magmonium-one-hJWPaKsU.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-q0vsyzIA.mjs.map
201
+ //# sourceMappingURL=magmonium-one-otp-8373mtJP.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"magmonium-one-otp-q0vsyzIA.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-8373mtJP.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,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { h as BaseTextInputComponent, L as LabelComponent, j as TextOutputComponent, B as ButtonComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-BO3bkkLJ.mjs';
3
+ import { h as BaseTextInputComponent, L as LabelComponent, j as TextOutputComponent, B as ButtonComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-hJWPaKsU.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-DPpQby1s.mjs.map
105
+ //# sourceMappingURL=magmonium-one-password-DajHayGu.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"magmonium-one-password-DPpQby1s.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,s8HAAA,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,YAAA,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,s8HAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"magmonium-one-password-DajHayGu.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,s8HAAA,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,YAAA,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,s8HAAA,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 { g as BaseInputComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-BO3bkkLJ.mjs';
3
+ import { g as BaseInputComponent, T as TranslatePipe } from './magmonium-one-magmonium-one-hJWPaKsU.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-Ckc8qaBq.mjs.map
62
+ //# sourceMappingURL=magmonium-one-toggle-DJwF5ohL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"magmonium-one-toggle-Ckc8qaBq.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
+ {"version":3,"file":"magmonium-one-toggle-DJwF5ohL.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, l as APP_CONTEXT_REF, m as ASSET_BASE_URL, n as AccordionBodyDirective, q as AccordionComponent, s as AccordionGroupComponent, t as ActionComponent, u as AnimatedGraphsComponent, v as AppCardComponent, w as AppRelationType, x as AppTileComponent, y as AssetStore, z as AssetUrlPipe, C as Assets, D as AuthActivityPageComponent, E as AuthApiService, F as AuthStore, G as AutosizeDirective, J as BadgeComponent, K as BandingComponent, N as BaseArrayInputComponent, O as BaseRootWebComponent, P as BaseWebComponent, B as ButtonComponent, Q as ButtonGroupComponent, S as COMPONENT_INPUT_REGISTRY, U as CardComponent, V as CardWrapperComponent, W as CarouselComponent, X as ChartComponent, Y as ChatBubbleComponent, Z as CheckboxInputComponent, _ as ClearableInputComponent, $ as ClipboardService, a0 as ColComponent, a1 as ColorPickerInputComponent, a2 as CommentItemComponent, a3 as CommentsApiService, a4 as CommentsComponent, a5 as CommentsStore, a6 as CompactNumberPipe, a7 as ComponentInputComponent, a8 as ComponentStepperComponent, a9 as ConfigComponent, aa as ConfirmComponent, ab as ContextMenuComponent, ac as CustomIconClass, ad as CustomIconEditComponent, ae as DEFAULT_DENIAL, af as DEFAULT_DOC_DENSITY, ag as DEFAULT_DOC_VARIANT, ah as DEFAULT_FILTER_RANGE_MODE, ai as DEFAULT_FILTER_VARIANT, aj as DEFAULT_NAV_PARAM, ak as DEFAULT_NAV_SEGMENT, al as DEFAULT_SIZE, am as DOCK_MIN_PAGE_REMAINDER, an as DOCS_FOLDER, ao as DOC_ACTION_ICONS, ap as DOC_DENSITIES, aq as DOC_EDIT_ACTIONS, ar as DOC_TOOLBAR_GROUPS, as as DOC_VARIANTS, at as DashboardCardComponent, au as DateInputComponent, av as DatePickerComponent, aw as DeviceService, ax as DocComponent, ay as DocEditorComponent, az as DomService, aA as Domain, aB as DotGridComponent, aC as DragListDirective, aD as DragListItemDirective, aE as DraggableDirective, aF as DropdownInputComponent, aG as FILTER_GROUP_CONTEXT, aH as FILTER_RANGE_MODES, aI as FILTER_VARIANTS, aJ as FLEX_VARIANTS, aK as FOLDER_PICK_LISTENER, aL as FORM_ASSET_FOLDER, aM as FileService, aN as FileUploadDirective, aO as FileUploadInputComponent, aP as FlexComponent, aQ as FlexItemComponent, aR as FormGroupComponent, aS as FrameComponent, aT as FreezeService, aU as GRID_BREAKPOINTS, aV as GetNavService, H as HeaderComponent, aW as HighlightDirective, aX as HttpService, aY as ICON_SOURCE, k as IS_DESIGN_MODE, aZ as IS_SIDE_PANEL, a_ as IconComponent, a$ as ImgComponent, I as InputType, b0 as InstrumentScoreComponent, b1 as InterceptorObservables, b2 as JumbotronComponent, b3 as KeyValueComponent, b4 as LAYOUT_ASSET_FOLDER, b5 as LOGIN_COMPONENT, b6 as LOGIN_STORE, b7 as LanguageComponent, b8 as ListComponent, b9 as LogoComponent, ba as MAG_SOCKET_EVENT, bb as MHeroColorDirective, bc as MHeroComponent, M as MODAL_REF, bd as MODAL_STORE_REF, be as MOUNT_STATIC_SEGMENT, bf as MOUNT_TOKEN, bg as MRefDirective, bh as MStepComponent, bi as MURL_PARAM, bj as MURL_SEP, bk as ManifestEnrichmentService, bl as MenuComponent, bm as ModalDirective, bn as ModalRef, bo as ModalStore, bp as MoneyPipe, bq as MultiRangeInputComponent, br as MurlUrlSerializer, bs as NAV_DEFAULT_MURL, bt as NAV_ID_SEP, bu as NAV_MAIN_BUTTONS, bv as NAV_SEGMENT_RE, bw as NAV_STORE_REF, bx as NAV_WC_COMPONENTS, by as NAV_WIDGET_MAP, bz as NavComponent, bA as NavDetailsComponent, bB as NavHeaderComponent, bC as NavMenuComponent, bD as NavStore, bE as NavTrailComponent, bF as NothingComponent, bG as NotificationElementComponent, bH as NotificationGroupComponent, bI as NotificationPopupComponent, bJ as NotificationService, bK as NotificationStore, bL as NotificationType, bM as NotificationWidgetComponent, bN as ONE_ASSET_BASE_URL, bO as OPTIONS_SOURCE, bP as OVERLAY_WIDGETS, bQ as OneApp, bR as OptionsSourceDirective, bS as OverlayBodyComponent, bT as OverlayRef, bU as OverlayService, bV as PLATFORM_BUTTON_NAV_IDS, bW as PLATFORM_EXTENSIBLE_NAV_IDS, bX as PLATFORM_NAV_MAP, bY as PLATFORM_ROOT_CHILDREN, bZ as PaginationComponent, b_ as PanelComponent, b$ as PercentagePipe, c0 as PlaygroundComponent, c1 as PositionDirective, c2 as PwaInstallComponent, c3 as REMOTE_PAGE_RELOAD, c4 as ROOT_NAV, c5 as RadioGroupComponent, c6 as RadioInputComponent, R as RangeInputComponent, c7 as RatingInputComponent, c8 as ReactiveElementComponent, c9 as RemoteComponent, ca as RemoteLoaderService, cb as ResizeElementComponent, cc as RouteContainer, cd as RowComponent, ce as SEARCH_QUERY, cf as SEARCH_RESULTS_EVENT, cg as SECTION_ACCORDION_GROUP, ch as SECTION_FORM_CONTEXT, ci as SECTION_TABLE_VARIANTS, cj as SHARED_ICONS, ck as SIZE_CONTEXT, cl as ScoreComponent, cm as ScrollComponent, cn as ScrollService, co as SearchPanelComponent, cp as SearchStore, cq as SearchUserPanelComponent, cr as SectionAccordionDirective, cs as SectionAccordionGroupDirective, ct as SectionBackComponent, cu as SectionBadgesComponent, cv as SectionButtonGroupComponent, cw as SectionCardComponent, cx as SectionCarouselComponent, cy as SectionComponent, cz as SectionFilterComponent, cA as SectionFilterGroupComponent, cB as SectionFilterMenuComponent, cC as SectionFilterPanelComponent, cD as SectionFilterRangePanelComponent, cE as SectionFooterComponent, cF as SectionFormComponent, cG as SectionFormItemComponent, cH as SectionHeaderComponent, cI as SectionHeroComponent, cJ as SectionPaginationComponent, cK as SectionSearchComponent, cL as SectionStepperComponent, cM as SectionTableCellComponent, cN as SectionTableComponent, cO as SectionTableRowComponent, cP as SectionTableSortPipe, cQ as SectionTabsComponent, cR as SectionToggleComponent, cS as SectionToggleItemDirective, cT as SelectableCardInputComponent, cU as SelectorDirective, cV as SettingsSearchBarComponent, cW as SettingsSearchService, cX as ShapeComponent, cY as SharedStoreRegistry, cZ as SidePanelDirective, c_ as Size, c$ as SocketStore, d0 as SortComponent, d1 as StatComponent, d2 as StepComponent, d3 as StepperComponent, d4 as StepsComponent, d5 as StorageService, d6 as StrokeLinecap, d7 as StrokeLinejoin, d8 as SummaryComponent, d9 as SvgGeneratorComponent, da as SvgGeneratorService, db as SvgService, dc as TOTAL_COLUMNS, dd as TRANSLATION_SOURCE, de as TableComponent, df as TechnicalMeterComponent, dg as TextInputComponent, j as TextOutputComponent, dh as TextareaInputComponent, di as ThemeComponent, dj as ThemeDataService, dk as ThemeService, dl as ThemeStore, dm as TimeAgoPipe, dn as TimelineComponent, dp as ToggleButtonComponent, dq as ToggleInputComponent, dr as ToggleRadioInputComponent, ds as ToolTipDirective, dt as TooltipComponent, T as TranslatePipe, du as TranslateService, dv as TreeGridComponent, dw as URL_SEP, dx as USER_STORE_REF, dy as USER_TAB_MAP, dz as UniverseComponent, dA as UserApiService, dB as UserAvatarComponent, dC as UserComponent, dD as UserNavComponent, dE as UserSettingsComponent, dF as UserStore, dG as WC_BUNDLE, dH as WC_NAVIGATE_EVENT, dI as WC_ROUTE_CHANGED_EVENT, dJ as WC_SEARCH_GROUPS, dK as WIN_USER_TAB_HOOK, dL as WIN_USER_TAB_KEY, dM as WatermarkComponent, dN as WcRouterStore, dO as WrapperInputComponent, dP as anchorNavId, dQ as applyColorsToElement, dR as applyDocEdit, dS as assetOptions, dT as bootstrapMagApp, dU as bootstrapPwaInstall, dV as buildWcBaseUrl, dW as calculateLuminance, dX as calculateRanks, dY as cellText, dZ as checkDoc, d_ as checkFilterCondition, d$ as childNavId, e0 as claimDenial, e1 as classListSignal, e2 as coerceSize, e3 as cornerEdge, e4 as cornerSide, e5 as createMap, e6 as createPlatformNavMap, e7 as definedWcTierOf, e8 as deriveAvatarGradient, e9 as deriveContrastColor, ea as deriveOppositeColor, eb as derivePropertyName, ec as docActionKey, ed as docAssetCandidates, ee as docProblemKey, ef as docRemotePath, eg as emailValidation, eh as evaluate, ei as evaluateBool, ej as fieldBoolean, ek as fieldNumber, el as fieldString, em as filterHoldsList, en as filterHoldsOneBound, eo as filterHoldsOptions, ep as filterHoldsRange, eq as filterList, er as filterNumber, es as filterNumberList, et as filterOne, eu as filterPanelOf, ev as filterPanelWidth, ew as filterRange, ex as filterTreeGridRows, ey as filterValueList, ez as filterValues, eA as flattenTreeGridRows, eB as formatBadgeCount, eC as fullName, eD as generateClipPath, eE as generateTransform, eF as getClassList, eG as getProperty, eH as getScrollParent, eI as getTierFromPreviewPath, eJ as getTreeGridRow, eK as getUniqueId, eL as getValue, eM as hasErrorComputed, eN as hexToRgb, eO as hslToRgb, eP as initMagmoniumApp, eQ as initialNotificationState, eR as initialState, eS as initials, eT as injectAuthenticate, eU as injectDefaultDenial, eV as injectInstallApp, eW as injectParentSize, eX as injectScrollSticky, eY as isBootRedirect, eZ as isButtonName, e_ as isCancelledComputed, e$ as isExtensiblePlatformNavId, f0 as isJson, f1 as isLoadingComputed, f2 as isLocalhost, f3 as isNavInstanceConfig, f4 as isNavMenuConfig, f5 as isNavRowsConfig, f6 as isNavVisibilityConfig, f7 as isPlatformNavId, f8 as isSize, f9 as isTierPreview, fa as isUrlLocalhost, fb as isValidNavId, fc as isValidNavSegment, fd as isWebComponent, fe as linkToId, ff as linkToNav, fg as loadingActions, fh as mInterceptor, fi as manualValidation, fj as matchFieldValidation, fk as matchMount, fl as maxLengthValidation, fm as maxValidation, fn as mergePlatformNav, fo as mergeUnique, fp as mergeUniqueBy, fq as mergeUniqueWith, fr as minAgeValidation, fs as minLengthValidation, ft as minValidation, fu as miniMarkToHtml, fv as mountFor, fw as mountPatternProblem, fx as mountPatternText, fy as mountSegmentOf, fz as mountTokenOf, fA as navIdChain, fB as navIdFor, fC as navIdSegment, fD as navIdToRoutePath, fE as navIdToSegments, fF as navParamOf, fG as navTailMatcher, fH as navToId, fI as navVisibilityGuard, fJ as nextSectionTableSort, fK as normalizeAssetOptions, fL as offsetOfLine, fM as parentNavId, fN as parseAddress, fO as parseColor, fP as parseMountPattern, fQ as parsePatternNames, fR as patternValidation, fS as patternsValidation, fT as permissionRefusal, fU as platformNavWidgets, fV as privateGuard, fW as processImageToSvg, fX as provideAppContext, fY as provideMagAppConfig, fZ as provideMagWcConfig, f_ as provideMagWcRoutes, f$ as provideModalComponents, g0 as provideMurlUrlSerializer, g1 as provideNavWidgets, g2 as provideOverlayWidgets, g3 as providePlatformNavWidgets, g4 as provideSearch, g5 as provideSizeContext, g6 as provideUserTabs, g7 as publicGuard, g8 as readFieldPatterns, g9 as recordDefinedWcTier, ga as remoteOutletRoute, gb as renderAddress, gc as renderDocument, gd as requiredValidation, ge as resolveConfigAsset, gf as resolveIconSize, gg as resolvePallet, gh as resolvePatternRules, gi as resolveSize, gj as rgbToHex, gk as rgbToHsl, gl as rowHasChildren, gm as samePatterns, gn as sectionTableColumnId, go as sectionTableColumnWidths, gp as sectionTableFrozenCount, gq as segmentsToNavId, gr as setProperty, gs as setTreeGridChildren, gt as setWcTier, gu as settingsWidgets, gv as shouldShowBadge, gw as sortSectionTableRows, gx as splitNavId, gy as splitOnMatch, gz as stringToColor, gA as toAttrBool, gB as toAttrNumber, gC as toCssLength, gD as toHostNavId, gE as toLength, gF as toLocalNavId, gG as toggleTreeGridRow, gH as unfetchedPlatformNav, gI as ungroupedDocActions, gJ as urlValidation, gK as wcTierOf } from './magmonium-one-magmonium-one-BO3bkkLJ.mjs';
1
+ export { A as ACCESS_DOMAINS, l as APP_CONTEXT_REF, m as ASSET_BASE_URL, n as AccordionBodyDirective, q as AccordionComponent, s as AccordionGroupComponent, t as ActionComponent, u as AnimatedGraphsComponent, v as AppCardComponent, w as AppRelationType, x as AppTileComponent, y as AssetStore, z as AssetUrlPipe, C as Assets, D as AuthActivityPageComponent, E as AuthApiService, F as AuthStore, G as AutosizeDirective, J as BadgeComponent, K as BandingComponent, N as BaseArrayInputComponent, O as BaseRootWebComponent, P as BaseWebComponent, B as ButtonComponent, Q as ButtonGroupComponent, S as COMPONENT_INPUT_REGISTRY, U as CardComponent, V as CardWrapperComponent, W as CarouselComponent, X as ChartComponent, Y as ChatBubbleComponent, Z as CheckboxInputComponent, _ as ClearableInputComponent, $ as ClipboardService, a0 as ColComponent, a1 as ColorPickerInputComponent, a2 as CommentItemComponent, a3 as CommentsApiService, a4 as CommentsComponent, a5 as CommentsStore, a6 as CompactNumberPipe, a7 as ComponentInputComponent, a8 as ComponentStepperComponent, a9 as ConfigComponent, aa as ConfirmComponent, ab as ContextMenuComponent, ac as CustomIconClass, ad as CustomIconEditComponent, ae as DEFAULT_DENIAL, af as DEFAULT_DOC_DENSITY, ag as DEFAULT_DOC_VARIANT, ah as DEFAULT_FILTER_RANGE_MODE, ai as DEFAULT_FILTER_VARIANT, aj as DEFAULT_NAV_PARAM, ak as DEFAULT_NAV_SEGMENT, al as DEFAULT_SIZE, am as DOCK_MIN_PAGE_REMAINDER, an as DOCS_FOLDER, ao as DOC_ACTION_ICONS, ap as DOC_DENSITIES, aq as DOC_EDIT_ACTIONS, ar as DOC_TOOLBAR_GROUPS, as as DOC_VARIANTS, at as DashboardCardComponent, au as DateInputComponent, av as DatePickerComponent, aw as DeviceService, ax as DocComponent, ay as DocEditorComponent, az as DomService, aA as Domain, aB as DotGridComponent, aC as DragListDirective, aD as DragListItemDirective, aE as DraggableDirective, aF as DropdownInputComponent, aG as FILTER_GROUP_CONTEXT, aH as FILTER_RANGE_MODES, aI as FILTER_VARIANTS, aJ as FLEX_VARIANTS, aK as FOLDER_PICK_LISTENER, aL as FORM_ASSET_FOLDER, aM as FileService, aN as FileUploadDirective, aO as FileUploadInputComponent, aP as FlexComponent, aQ as FlexItemComponent, aR as FormGroupComponent, aS as FrameComponent, aT as FreezeService, aU as GRID_BREAKPOINTS, aV as GetNavService, H as HeaderComponent, aW as HighlightDirective, aX as HttpService, aY as ICON_SOURCE, k as IS_DESIGN_MODE, aZ as IS_SIDE_PANEL, a_ as IconComponent, a$ as ImgComponent, I as InputType, b0 as InstrumentScoreComponent, b1 as InterceptorObservables, b2 as JumbotronComponent, b3 as KeyValueComponent, b4 as LAYOUT_ASSET_FOLDER, b5 as LOGIN_COMPONENT, b6 as LOGIN_STORE, b7 as LanguageComponent, b8 as ListComponent, b9 as LogoComponent, ba as MAG_SOCKET_EVENT, bb as MHeroColorDirective, bc as MHeroComponent, M as MODAL_REF, bd as MODAL_STORE_REF, be as MOUNT_STATIC_SEGMENT, bf as MOUNT_TOKEN, bg as MRefDirective, bh as MStepComponent, bi as MURL_PARAM, bj as MURL_SEP, bk as ManifestEnrichmentService, bl as MenuComponent, bm as ModalDirective, bn as ModalRef, bo as ModalStore, bp as MoneyPipe, bq as MultiRangeInputComponent, br as MurlUrlSerializer, bs as NAV_DEFAULT_MURL, bt as NAV_ID_SEP, bu as NAV_MAIN_BUTTONS, bv as NAV_SEGMENT_RE, bw as NAV_STORE_REF, bx as NAV_WC_COMPONENTS, by as NAV_WIDGET_MAP, bz as NavComponent, bA as NavDetailsComponent, bB as NavHeaderComponent, bC as NavMenuComponent, bD as NavStore, bE as NavTrailComponent, bF as NothingComponent, bG as NotificationElementComponent, bH as NotificationGroupComponent, bI as NotificationPopupComponent, bJ as NotificationService, bK as NotificationStore, bL as NotificationType, bM as NotificationWidgetComponent, bN as ONE_ASSET_BASE_URL, bO as OPTIONS_SOURCE, bP as OVERLAY_WIDGETS, bQ as OneApp, bR as OptionsSourceDirective, bS as OverlayBodyComponent, bT as OverlayRef, bU as OverlayService, bV as PLATFORM_BUTTON_NAV_IDS, bW as PLATFORM_EXTENSIBLE_NAV_IDS, bX as PLATFORM_NAV_MAP, bY as PLATFORM_ROOT_CHILDREN, bZ as PaginationComponent, b_ as PanelComponent, b$ as PercentagePipe, c0 as PlaygroundComponent, c1 as PositionDirective, c2 as PwaInstallComponent, c3 as REMOTE_PAGE_RELOAD, c4 as ROOT_NAV, c5 as RadioGroupComponent, c6 as RadioInputComponent, R as RangeInputComponent, c7 as RatingInputComponent, c8 as ReactiveElementComponent, c9 as RemoteComponent, ca as RemoteLoaderService, cb as ResizeElementComponent, cc as RouteContainer, cd as RowComponent, ce as SEARCH_QUERY, cf as SEARCH_RESULTS_EVENT, cg as SECTION_ACCORDION_GROUP, ch as SECTION_FORM_CONTEXT, ci as SECTION_TABLE_VARIANTS, cj as SHARED_ICONS, ck as SIZE_CONTEXT, cl as ScoreComponent, cm as ScrollComponent, cn as ScrollService, co as SearchPanelComponent, cp as SearchStore, cq as SearchUserPanelComponent, cr as SectionAccordionDirective, cs as SectionAccordionGroupDirective, ct as SectionBackComponent, cu as SectionBadgesComponent, cv as SectionButtonGroupComponent, cw as SectionCardComponent, cx as SectionCarouselComponent, cy as SectionComponent, cz as SectionFilterComponent, cA as SectionFilterGroupComponent, cB as SectionFilterMenuComponent, cC as SectionFilterPanelComponent, cD as SectionFilterRangePanelComponent, cE as SectionFooterComponent, cF as SectionFormComponent, cG as SectionFormItemComponent, cH as SectionHeaderComponent, cI as SectionHeroComponent, cJ as SectionPaginationComponent, cK as SectionSearchComponent, cL as SectionStepperComponent, cM as SectionTableCellComponent, cN as SectionTableComponent, cO as SectionTableRowComponent, cP as SectionTableSortPipe, cQ as SectionTabsComponent, cR as SectionToggleComponent, cS as SectionToggleItemDirective, cT as SelectableCardInputComponent, cU as SelectorDirective, cV as SettingsSearchBarComponent, cW as SettingsSearchService, cX as ShapeComponent, cY as SharedStoreRegistry, cZ as SidePanelDirective, c_ as Size, c$ as SocketStore, d0 as SortComponent, d1 as StatComponent, d2 as StepComponent, d3 as StepperComponent, d4 as StepsComponent, d5 as StorageService, d6 as StrokeLinecap, d7 as StrokeLinejoin, d8 as SummaryComponent, d9 as SvgGeneratorComponent, da as SvgGeneratorService, db as SvgService, dc as TOTAL_COLUMNS, dd as TRANSLATION_SOURCE, de as TableComponent, df as TechnicalMeterComponent, dg as TextInputComponent, j as TextOutputComponent, dh as TextareaInputComponent, di as ThemeComponent, dj as ThemeDataService, dk as ThemeService, dl as ThemeStore, dm as TimeAgoPipe, dn as TimelineComponent, dp as ToggleButtonComponent, dq as ToggleInputComponent, dr as ToggleRadioInputComponent, ds as ToolTipDirective, dt as TooltipComponent, T as TranslatePipe, du as TranslateService, dv as TreeGridComponent, dw as URL_SEP, dx as USER_STORE_REF, dy as USER_TAB_MAP, dz as UniverseComponent, dA as UserApiService, dB as UserAvatarComponent, dC as UserComponent, dD as UserNavComponent, dE as UserSettingsComponent, dF as UserStore, dG as WC_BUNDLE, dH as WC_NAVIGATE_EVENT, dI as WC_ROUTE_CHANGED_EVENT, dJ as WC_SEARCH_GROUPS, dK as WIN_USER_TAB_HOOK, dL as WIN_USER_TAB_KEY, dM as WatermarkComponent, dN as WcRouterStore, dO as WrapperInputComponent, dP as anchorNavId, dQ as applyColorsToElement, dR as applyDocEdit, dS as assetOptions, dT as bootstrapMagApp, dU as bootstrapPwaInstall, dV as buildWcBaseUrl, dW as calculateLuminance, dX as calculateRanks, dY as cellText, dZ as checkDoc, d_ as checkFilterCondition, d$ as childNavId, e0 as claimDenial, e1 as classListSignal, e2 as coerceSize, e3 as cornerEdge, e4 as cornerSide, e5 as createMap, e6 as createPlatformNavMap, e7 as definedWcTierOf, e8 as deriveAvatarGradient, e9 as deriveContrastColor, ea as deriveOppositeColor, eb as derivePropertyName, ec as docActionKey, ed as docAssetCandidates, ee as docProblemKey, ef as docRemotePath, eg as emailValidation, eh as evaluate, ei as evaluateBool, ej as fieldBoolean, ek as fieldNumber, el as fieldString, em as filterHoldsList, en as filterHoldsOneBound, eo as filterHoldsOptions, ep as filterHoldsRange, eq as filterList, er as filterNumber, es as filterNumberList, et as filterOne, eu as filterPanelOf, ev as filterPanelWidth, ew as filterRange, ex as filterTreeGridRows, ey as filterValueList, ez as filterValues, eA as flattenTreeGridRows, eB as formatBadgeCount, eC as fullName, eD as generateClipPath, eE as generateTransform, eF as getClassList, eG as getProperty, eH as getScrollParent, eI as getTierFromPreviewPath, eJ as getTreeGridRow, eK as getUniqueId, eL as getValue, eM as hasErrorComputed, eN as hexToRgb, eO as hslToRgb, eP as initMagmoniumApp, eQ as initialNotificationState, eR as initialState, eS as initials, eT as injectAuthenticate, eU as injectDefaultDenial, eV as injectInstallApp, eW as injectParentSize, eX as injectScrollSticky, eY as isBootRedirect, eZ as isButtonName, e_ as isCancelledComputed, e$ as isExtensiblePlatformNavId, f0 as isJson, f1 as isLoadingComputed, f2 as isLocalhost, f3 as isNavInstanceConfig, f4 as isNavMenuConfig, f5 as isNavRowsConfig, f6 as isNavVisibilityConfig, f7 as isPlatformNavId, f8 as isSize, f9 as isTierPreview, fa as isUrlLocalhost, fb as isValidNavId, fc as isValidNavSegment, fd as isWebComponent, fe as linkToId, ff as linkToNav, fg as loadingActions, fh as mInterceptor, fi as manualValidation, fj as matchFieldValidation, fk as matchMount, fl as maxLengthValidation, fm as maxValidation, fn as mergePlatformNav, fo as mergeUnique, fp as mergeUniqueBy, fq as mergeUniqueWith, fr as minAgeValidation, fs as minLengthValidation, ft as minValidation, fu as miniMarkToHtml, fv as mountFor, fw as mountPatternProblem, fx as mountPatternText, fy as mountSegmentOf, fz as mountTokenOf, fA as navIdChain, fB as navIdFor, fC as navIdSegment, fD as navIdToRoutePath, fE as navIdToSegments, fF as navParamOf, fG as navTailMatcher, fH as navToId, fI as navVisibilityGuard, fJ as nextSectionTableSort, fK as normalizeAssetOptions, fL as offsetOfLine, fM as parentNavId, fN as parseAddress, fO as parseColor, fP as parseMountPattern, fQ as parsePatternNames, fR as patternValidation, fS as patternsValidation, fT as permissionRefusal, fU as platformNavWidgets, fV as privateGuard, fW as processImageToSvg, fX as provideAppContext, fY as provideMagAppConfig, fZ as provideMagWcConfig, f_ as provideMagWcRoutes, f$ as provideModalComponents, g0 as provideMurlUrlSerializer, g1 as provideNavWidgets, g2 as provideOverlayWidgets, g3 as providePlatformNavWidgets, g4 as provideSearch, g5 as provideSizeContext, g6 as provideUserTabs, g7 as publicGuard, g8 as readFieldPatterns, g9 as recordDefinedWcTier, ga as remoteOutletRoute, gb as renderAddress, gc as renderDocument, gd as requiredValidation, ge as resolveConfigAsset, gf as resolveIconSize, gg as resolvePallet, gh as resolvePatternRules, gi as resolveSize, gj as rgbToHex, gk as rgbToHsl, gl as rowHasChildren, gm as samePatterns, gn as sectionTableColumnId, go as sectionTableColumnWidths, gp as sectionTableFrozenCount, gq as segmentsToNavId, gr as setProperty, gs as setTreeGridChildren, gt as setWcTier, gu as settingsWidgets, gv as shouldShowBadge, gw as sortSectionTableRows, gx as splitNavId, gy as splitOnMatch, gz as stringToColor, gA as toAttrBool, gB as toAttrNumber, gC as toCssLength, gD as toHostNavId, gE as toLength, gF as toLocalNavId, gG as toggleTreeGridRow, gH as unfetchedPlatformNav, gI as ungroupedDocActions, gJ as urlValidation, gK as wcTierOf } from './magmonium-one-magmonium-one-hJWPaKsU.mjs';
2
2
  //# sourceMappingURL=magmonium-one.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmonium/one",
3
- "version": "0.3.10",
3
+ "version": "0.3.13",
4
4
  "description": "Magmonium One — Angular design-system primitives for mm Apps",
5
5
  "author": "magmonium",
6
6
  "license": "MIT",
@@ -522,9 +522,11 @@ type SectionTableDataType = 'text' | 'number' | 'date';
522
522
  type SectionTableSortDirection = 'asc' | 'desc';
523
523
  /**
524
524
  * A SectionTable's look. It never draws a panel border: `zebra` shades every
525
- * other row, `compact` and `spacious` tighten or loosen the cell padding.
525
+ * other row, `compact` and `spacious` tighten or loosen the cell padding,
526
+ * `border` draws a thick rule along its top and a thinner one along its
527
+ * bottom.
526
528
  */
527
- type SectionTableVariant = 'default' | 'zebra' | 'compact' | 'spacious';
529
+ type SectionTableVariant = 'default' | 'zebra' | 'compact' | 'spacious' | 'border';
528
530
  declare const SECTION_TABLE_VARIANTS: readonly SectionTableVariant[];
529
531
  /**
530
532
  * One entry in a SectionTable's configured heading (CONTEXT.md
@@ -557,6 +559,8 @@ type SectionTableSort = {
557
559
  type SectionTableConfig = Config & {
558
560
  columns?: SectionTableColumn[];
559
561
  sticky?: boolean;
562
+ /** 1em outside the table, above and below — beyond a `border` rule. */
563
+ margin?: boolean;
560
564
  variant?: SectionTableVariant;
561
565
  };
562
566
 
@@ -726,10 +730,18 @@ interface NavStoreRef {
726
730
  id: Signal<string | undefined>;
727
731
  /**
728
732
  * The Nav the open panel *is*, once an anchored Murl has fallen through to
729
- * the panel that answered it. What a row compares itself against: `id` is the
730
- * address's own key and names no node when a panel was opened over a page.
733
+ * the panel that answered it — or the Nav a Browse moved it onto. What a
734
+ * toggle compares itself against: `id` is the address's own key and names no
735
+ * node when a panel was opened over a page.
731
736
  */
732
737
  panelNavId?: Signal<string | undefined>;
738
+ /**
739
+ * `panelNavId` with any Browse left out — where the User stands rather than
740
+ * where they are looking (CONTEXT.md Browse). What a row marks itself
741
+ * against, so the row they came through stays marked while they Browse.
742
+ * Optional: a host built before it existed provides none.
743
+ */
744
+ standingNavId?: Signal<string | undefined>;
733
745
  /** Open Murl segments. Empty means no panel is addressed. */
734
746
  murl: Signal<string[]>;
735
747
  /**
@@ -744,6 +756,12 @@ interface NavStoreRef {
744
756
  * instance is data.
745
757
  */
746
758
  setSelected: (navId?: string, params?: Record<string, string | number>) => void;
759
+ /**
760
+ * Moves the open panel onto a Nav without moving the User — the Address and
761
+ * the Page stay put (CONTEXT.md Browse). `params` names the instance of a
762
+ * `dynamic` Nav. Optional: a host built before it existed provides none.
763
+ */
764
+ browse?: (navId: string, params?: Record<string, string | number>) => void;
747
765
  /**
748
766
  * Follows a NavRef whose dynamic segments are keyed by the Nav contributing
749
767
  * each one rather than by parameter name — what an emitted OutcomeNav calls
@@ -2829,7 +2847,7 @@ declare class BaseTextInputComponent<T extends Input = TextInput> extends BaseIn
2829
2847
  private autofocused;
2830
2848
  constructor();
2831
2849
  readonly isFocused: _angular_core.WritableSignal<boolean>;
2832
- readonly iconColor: _angular_core.Signal<"error" | "focus" | "border">;
2850
+ readonly iconColor: _angular_core.Signal<"error" | "border" | "focus">;
2833
2851
  protected readonly setValue: (value: string) => void;
2834
2852
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseTextInputComponent<any>, never>;
2835
2853
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseTextInputComponent<any>, never, never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
@@ -3841,6 +3859,7 @@ declare class SectionButtonGroupComponent extends ConfigComponent<SectionButtonG
3841
3859
  declare class SectionTableComponent extends ConfigComponent<SectionTableConfig> {
3842
3860
  subFolder: "section_tables";
3843
3861
  readonly sticky: _angular_core.InputSignal<boolean | undefined>;
3862
+ readonly margin: _angular_core.InputSignal<boolean | undefined>;
3844
3863
  readonly variant: _angular_core.InputSignal<SectionTableVariant | undefined>;
3845
3864
  readonly loading: _angular_core.InputSignal<boolean>;
3846
3865
  /**
@@ -3859,6 +3878,7 @@ declare class SectionTableComponent extends ConfigComponent<SectionTableConfig>
3859
3878
  readonly sort: _angular_core.WritableSignal<SectionTableSort | null>;
3860
3879
  readonly columns: _angular_core.Signal<SectionTableColumn[]>;
3861
3880
  protected readonly resolvedSticky: _angular_core.Signal<boolean>;
3881
+ protected readonly resolvedMargin: _angular_core.Signal<boolean>;
3862
3882
  protected readonly resolvedVariant: _angular_core.Signal<SectionTableVariant>;
3863
3883
  private readonly unfolded;
3864
3884
  protected readonly frozenCount: _angular_core.Signal<number>;
@@ -3875,7 +3895,7 @@ declare class SectionTableComponent extends ConfigComponent<SectionTableConfig>
3875
3895
  protected ariaSort(index: number): string | null;
3876
3896
  protected onSortClick(column: SectionTableColumn, index: number): void;
3877
3897
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SectionTableComponent, never>;
3878
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionTableComponent, "m-section-table", never, { "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "tableInitialized": "tableInitialized"; }, never, ["*", "m-section-pagination"], true, never>;
3898
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SectionTableComponent, "m-section-table", never, { "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; "tableInitialized": "tableInitialized"; }, never, ["*", "m-section-pagination"], true, never>;
3879
3899
  }
3880
3900
 
3881
3901
  /**
@@ -5177,7 +5197,7 @@ declare class FileUploadInputComponent extends BaseInputComponent<FileUploadInpu
5177
5197
  private readonly editorSize;
5178
5198
  private readonly maxSize;
5179
5199
  protected readonly isLocked: _angular_core.Signal<boolean>;
5180
- protected readonly dropZoneIconColor: _angular_core.Signal<"error" | "focus" | "border">;
5200
+ protected readonly dropZoneIconColor: _angular_core.Signal<"error" | "border" | "focus">;
5181
5201
  /** Object URLs of the previews on show, keyed by what the value holds. */
5182
5202
  private readonly previews;
5183
5203
  protected readonly heldFiles: _angular_core.Signal<HeldFile[]>;
@@ -8177,6 +8197,11 @@ type BreadcrumbTrail = {
8177
8197
  address?: string;
8178
8198
  /** A target outside the app, which has no NavId. */
8179
8199
  href?: string;
8200
+ /**
8201
+ * A menu row whose Nav would draw rows of its own: it carries a chevron that
8202
+ * Browses into it while the row itself follows it (CONTEXT.md Browse).
8203
+ */
8204
+ browsable?: boolean;
8180
8205
  };
8181
8206
  type BreadCrumb = {
8182
8207
  trail?: BreadcrumbTrail[];
@@ -8457,6 +8482,7 @@ declare class FrameComponent {
8457
8482
  outlets: _angular_core.Signal<string[]>;
8458
8483
  navOpenedByUser: _angular_core.Signal<boolean>;
8459
8484
  menuNavId: _angular_core.Signal<string | undefined>;
8485
+ menuParams: _angular_core.Signal<Record<string, string | number> | undefined>;
8460
8486
  keepPanelOnPathChange: _angular_core.Signal<boolean>;
8461
8487
  panelPushed: _angular_core.Signal<boolean>;
8462
8488
  navScrolledDown: _angular_core.Signal<boolean>;
@@ -8479,6 +8505,8 @@ declare class FrameComponent {
8479
8505
  link: undefined;
8480
8506
  })[]>;
8481
8507
  panelNavId: _angular_core.Signal<string>;
8508
+ standingNavId: _angular_core.Signal<string>;
8509
+ panelParams: _angular_core.Signal<Record<string, string>>;
8482
8510
  hasMurl: _angular_core.Signal<boolean>;
8483
8511
  isNavOpened: _angular_core.Signal<boolean>;
8484
8512
  isMNavOpened: _angular_core.Signal<boolean>;
@@ -8535,6 +8563,7 @@ declare class FrameComponent {
8535
8563
  }>;
8536
8564
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
8537
8565
  back: () => void;
8566
+ browse: (navId: string, params?: Record<string, string | number>) => void;
8538
8567
  resolveUrl: (url: string) => string;
8539
8568
  setNavScrolledDown: (value: boolean) => void;
8540
8569
  routePathFor: (navId: string) => string;
@@ -8555,6 +8584,7 @@ declare class FrameComponent {
8555
8584
  outlets: string[];
8556
8585
  navOpenedByUser: boolean;
8557
8586
  menuNavId: string | undefined;
8587
+ menuParams: Record<string, string | number> | undefined;
8558
8588
  keepPanelOnPathChange: boolean;
8559
8589
  panelPushed: boolean;
8560
8590
  navScrolledDown: boolean;
@@ -8680,6 +8710,7 @@ declare const NavStore: _angular_core.Type<{
8680
8710
  outlets: Signal<string[]>;
8681
8711
  navOpenedByUser: Signal<boolean>;
8682
8712
  menuNavId: Signal<string | undefined>;
8713
+ menuParams: Signal<Record<string, string | number> | undefined>;
8683
8714
  keepPanelOnPathChange: Signal<boolean>;
8684
8715
  panelPushed: Signal<boolean>;
8685
8716
  navScrolledDown: Signal<boolean>;
@@ -8702,6 +8733,8 @@ declare const NavStore: _angular_core.Type<{
8702
8733
  link: undefined;
8703
8734
  })[]>;
8704
8735
  panelNavId: Signal<string>;
8736
+ standingNavId: Signal<string>;
8737
+ panelParams: Signal<Record<string, string>>;
8705
8738
  hasMurl: Signal<boolean>;
8706
8739
  isNavOpened: Signal<boolean>;
8707
8740
  isMNavOpened: Signal<boolean>;
@@ -8758,6 +8791,7 @@ declare const NavStore: _angular_core.Type<{
8758
8791
  }>;
8759
8792
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
8760
8793
  back: () => void;
8794
+ browse: (navId: string, params?: Record<string, string | number>) => void;
8761
8795
  resolveUrl: (url: string) => string;
8762
8796
  setNavScrolledDown: (value: boolean) => void;
8763
8797
  routePathFor: (navId: string) => string;
@@ -8778,6 +8812,7 @@ declare const NavStore: _angular_core.Type<{
8778
8812
  outlets: string[];
8779
8813
  navOpenedByUser: boolean;
8780
8814
  menuNavId: string | undefined;
8815
+ menuParams: Record<string, string | number> | undefined;
8781
8816
  keepPanelOnPathChange: boolean;
8782
8817
  panelPushed: boolean;
8783
8818
  navScrolledDown: boolean;
@@ -9106,6 +9141,7 @@ declare class NavDetailsComponent {
9106
9141
  outlets: _angular_core.Signal<string[]>;
9107
9142
  navOpenedByUser: _angular_core.Signal<boolean>;
9108
9143
  menuNavId: _angular_core.Signal<string | undefined>;
9144
+ menuParams: _angular_core.Signal<Record<string, string | number> | undefined>;
9109
9145
  keepPanelOnPathChange: _angular_core.Signal<boolean>;
9110
9146
  panelPushed: _angular_core.Signal<boolean>;
9111
9147
  navScrolledDown: _angular_core.Signal<boolean>;
@@ -9128,6 +9164,8 @@ declare class NavDetailsComponent {
9128
9164
  link: undefined;
9129
9165
  })[]>;
9130
9166
  panelNavId: _angular_core.Signal<string>;
9167
+ standingNavId: _angular_core.Signal<string>;
9168
+ panelParams: _angular_core.Signal<Record<string, string>>;
9131
9169
  hasMurl: _angular_core.Signal<boolean>;
9132
9170
  isNavOpened: _angular_core.Signal<boolean>;
9133
9171
  isMNavOpened: _angular_core.Signal<boolean>;
@@ -9184,6 +9222,7 @@ declare class NavDetailsComponent {
9184
9222
  }>;
9185
9223
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
9186
9224
  back: () => void;
9225
+ browse: (navId: string, params?: Record<string, string | number>) => void;
9187
9226
  resolveUrl: (url: string) => string;
9188
9227
  setNavScrolledDown: (value: boolean) => void;
9189
9228
  routePathFor: (navId: string) => string;
@@ -9204,6 +9243,7 @@ declare class NavDetailsComponent {
9204
9243
  outlets: string[];
9205
9244
  navOpenedByUser: boolean;
9206
9245
  menuNavId: string | undefined;
9246
+ menuParams: Record<string, string | number> | undefined;
9207
9247
  keepPanelOnPathChange: boolean;
9208
9248
  panelPushed: boolean;
9209
9249
  navScrolledDown: boolean;
@@ -9233,6 +9273,11 @@ declare class NavTrailComponent {
9233
9273
  private readonly navStore;
9234
9274
  protected readonly headerColor: _angular_core.Signal<string>;
9235
9275
  protected readonly fromUrl: _angular_core.Signal<boolean>;
9276
+ /**
9277
+ * Moves the panel onto the entry's Nav and leaves the Address, and the Page
9278
+ * behind the panel, where they are (CONTEXT.md Browse).
9279
+ */
9280
+ protected browse: (navId: string, params?: Record<string, string | number>) => void;
9236
9281
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavTrailComponent, never>;
9237
9282
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavTrailComponent, "m-nav-trail", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
9238
9283
  }
@@ -9244,11 +9289,14 @@ declare class NavTrailComponent {
9244
9289
  */
9245
9290
  declare class NavMenuComponent {
9246
9291
  private readonly _settingsSearch;
9292
+ private readonly _navRef;
9247
9293
  items: _angular_core.InputSignal<BreadcrumbTrail[] | undefined>;
9248
9294
  baseUrl: _angular_core.InputSignal<string | undefined>;
9249
9295
  filterBySearch: _angular_core.InputSignal<boolean>;
9250
9296
  size: typeof Size;
9251
9297
  navList: _angular_core.Signal<BreadcrumbTrail[] | undefined>;
9298
+ /** Looks inside the row's Nav without following it (CONTEXT.md Browse). */
9299
+ browse: (item: BreadcrumbTrail) => void;
9252
9300
  rows: _angular_core.Signal<ListItem[]>;
9253
9301
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavMenuComponent, never>;
9254
9302
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavMenuComponent, "m-nav-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "baseUrl": { "alias": "baseUrl"; "required": false; "isSignal": true; }; "filterBySearch": { "alias": "filterBySearch"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -9270,6 +9318,7 @@ declare class NavHeaderComponent {
9270
9318
  outlets: _angular_core.Signal<string[]>;
9271
9319
  navOpenedByUser: _angular_core.Signal<boolean>;
9272
9320
  menuNavId: _angular_core.Signal<string | undefined>;
9321
+ menuParams: _angular_core.Signal<Record<string, string | number> | undefined>;
9273
9322
  keepPanelOnPathChange: _angular_core.Signal<boolean>;
9274
9323
  panelPushed: _angular_core.Signal<boolean>;
9275
9324
  navScrolledDown: _angular_core.Signal<boolean>;
@@ -9292,6 +9341,8 @@ declare class NavHeaderComponent {
9292
9341
  link: undefined;
9293
9342
  })[]>;
9294
9343
  panelNavId: _angular_core.Signal<string>;
9344
+ standingNavId: _angular_core.Signal<string>;
9345
+ panelParams: _angular_core.Signal<Record<string, string>>;
9295
9346
  hasMurl: _angular_core.Signal<boolean>;
9296
9347
  isNavOpened: _angular_core.Signal<boolean>;
9297
9348
  isMNavOpened: _angular_core.Signal<boolean>;
@@ -9348,6 +9399,7 @@ declare class NavHeaderComponent {
9348
9399
  }>;
9349
9400
  registerWidgets: (appLink: string, entry: NavWidgetRegistryEntry) => void;
9350
9401
  back: () => void;
9402
+ browse: (navId: string, params?: Record<string, string | number>) => void;
9351
9403
  resolveUrl: (url: string) => string;
9352
9404
  setNavScrolledDown: (value: boolean) => void;
9353
9405
  routePathFor: (navId: string) => string;
@@ -9368,6 +9420,7 @@ declare class NavHeaderComponent {
9368
9420
  outlets: string[];
9369
9421
  navOpenedByUser: boolean;
9370
9422
  menuNavId: string | undefined;
9423
+ menuParams: Record<string, string | number> | undefined;
9371
9424
  keepPanelOnPathChange: boolean;
9372
9425
  panelPushed: boolean;
9373
9426
  navScrolledDown: boolean;