@ptsecurity/mosaic 15.0.0 → 15.0.1
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 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-core.mjs","sources":["../../../packages/mosaic/core/animation/fade-animations.ts","../../../packages/mosaic/core/animation/animation.ts","../../../packages/mosaic/core/animation/select-animations.ts","../../../packages/mosaic/core/common-behaviors/common-module.ts","../../../packages/mosaic/core/common-behaviors/disabled.ts","../../../packages/mosaic/core/common-behaviors/color.ts","../../../packages/mosaic/core/common-behaviors/tabindex.ts","../../../packages/mosaic/core/common-behaviors/error-state.ts","../../../packages/mosaic/core/datetime/date-formats.ts","../../../packages/mosaic/core/datetime/date-adapter.ts","../../../packages/mosaic/core/error/error-options.ts","../../../packages/mosaic/core/formatters/date/formatter.ts","../../../packages/mosaic/core/formatters/date/formatter.pipe.ts","../../../packages/mosaic/core/formatters/number/formatter.ts","../../../packages/mosaic/core/formatters/index.ts","../../../packages/mosaic/core/forms/forms.directive.ts","../../../packages/mosaic/core/forms/forms-module.ts","../../../packages/mosaic/core/highlight/highlight.pipe.ts","../../../packages/mosaic/core/highlight/index.ts","../../../packages/mosaic/core/label/label-options.ts","../../../packages/mosaic/core/line/line.ts","../../../packages/mosaic/core/option/optgroup.ts","../../../packages/mosaic/core/option/optgroup.html","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.partial.html","../../../packages/mosaic/core/option/option.ts","../../../packages/mosaic/core/option/option.html","../../../packages/mosaic/core/option/action.ts","../../../packages/mosaic/core/selection/constants.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.module.ts","../../../packages/mosaic/core/option/option-module.ts","../../../packages/mosaic/core/overlay/overlay-position-map.ts","../../../packages/mosaic/core/pop-up/constants.ts","../../../packages/mosaic/core/pop-up/pop-up.ts","../../../packages/mosaic/core/pop-up/pop-up-trigger.ts","../../../packages/mosaic/core/select/events.ts","../../../packages/mosaic/core/select/errors.ts","../../../packages/mosaic/core/select/constants.ts","../../../packages/mosaic/core/services/measure-scrollbar.service.ts","../../../packages/mosaic/core/utils/utils.ts","../../../packages/mosaic/core/validation/validation.ts","../../../packages/mosaic/core/version.ts","../../../packages/mosaic/core/ptsecurity-mosaic-core.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\n\nexport const fadeAnimation: AnimationTriggerMetadata = trigger('fadeAnimation', [\n state('void', style({ opacity: 0 })),\n state('true', style({ opacity: 1 })),\n state('false', style({ opacity: 0 })),\n transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))\n]);\n","export enum AnimationCurves {\n StandardCurve = 'cubic-bezier(0.4,0.0,0.2,1)',\n DecelerationCurve = 'cubic-bezier(0.0,0.0,0.2,1)',\n AccelerationCurve = 'cubic-bezier(0.4,0.0,1,1)',\n SharpCurve = 'cubic-bezier(0.4,0.0,0.6,1)'\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n group\n} from '@angular/animations';\n\n\n/**\n * The following are all the animations for the mc-select component, with each\n * const containing the metadata for one animation.\n *\n */\nexport const mcSelectAnimations: {\n readonly transformPanel: AnimationTriggerMetadata;\n readonly fadeInContent: AnimationTriggerMetadata;\n} = {\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state('void', style({\n transform: 'scaleY(0)',\n minWidth: '100%',\n opacity: 0\n })),\n transition('void => *', group([\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\n ])),\n transition('* => void', [\n animate('250ms 100ms linear', style({ opacity: 0 }))\n ])\n ]),\n\n /**\n * This animation fades in the background color and text content of the\n * select's options. It is time delayed to occur 100ms after the overlay\n * panel has transformed in.\n */\n fadeInContent: trigger('fadeInContent', [\n state('showing', style({ opacity: 1 })),\n transition('void => showing', [\n style({ opacity: 0 }),\n animate('150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n};\n\n\nexport const transformPanel = mcSelectAnimations.transformPanel;\n\nexport const fadeInContent = mcSelectAnimations.fadeInContent;\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { NgModule, InjectionToken, Optional, Inject, isDevMode } from '@angular/core';\n\n\n// Injection token that configures whether the Mosaic sanity checks are enabled.\nexport const MC_SANITY_CHECKS = new InjectionToken<boolean>('mc-sanity-checks', {\n providedIn: 'root',\n factory: mcSanityChecksFactory\n});\n\nexport function mcSanityChecksFactory(): boolean {\n return true;\n}\n\n/**\n * Module that captures anything that should be loaded and/or run for *all* Mosaic\n * components. This includes Bidi, etc.\n *\n * This module should be imported to each top-level component module (e.g., McTabsModule).\n */\n@NgModule({\n imports: [BidiModule],\n exports: [BidiModule]\n})\nexport class McCommonModule {\n // Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).\n private hasDoneGlobalChecks = false;\n\n // Reference to the global `document` object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _document = typeof document === 'object' && document ? document : null;\n\n // Reference to the global 'window' object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _window = typeof window === 'object' && window ? window : null;\n\n constructor(@Optional() @Inject(MC_SANITY_CHECKS) private _sanityChecksEnabled: boolean) {\n if (this.areChecksEnabled() && !this.hasDoneGlobalChecks) {\n this.checkDoctypeIsDefined();\n this.checkThemeIsPresent();\n this.hasDoneGlobalChecks = true;\n }\n }\n\n // Whether any sanity checks are enabled\n private areChecksEnabled(): boolean {\n return this._sanityChecksEnabled && isDevMode() && !this.isTestEnv();\n }\n\n // Whether the code is running in tests.\n private isTestEnv() {\n // tslint:disable-next-line\n return this._window && (this._window['__karma__'] || this._window['jasmine']);\n }\n\n private checkDoctypeIsDefined(): void {\n if (this._document && !this._document.doctype) {\n console.warn(\n 'Current document does not have a doctype. This may cause ' +\n 'some Mosaic components not to behave as expected.'\n );\n }\n }\n\n private checkThemeIsPresent(): void {\n if (this._document && typeof getComputedStyle === 'function') {\n const testElement = this._document.createElement('div');\n\n testElement.classList.add('mc-theme-loaded-marker');\n this._document.body.appendChild(testElement);\n\n const computedStyle = getComputedStyle(testElement);\n\n // In some situations, the computed style of the test element can be null. For example in\n // Firefox, the computed style is null if an application is running inside of a hidden iframe.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n if (computedStyle && computedStyle.display !== 'none') {\n console.warn(\n 'Could not find Mosaic core theme. Most Mosaic ' +\n 'components may not work as expected. For more info refer ' +\n 'to the theming guide: link there'\n );\n }\n\n this._document.body.removeChild(testElement);\n }\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\nexport interface CanDisable {\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable> & AbstractConstructor<CanDisable>;\n\n/** Mixin to augment a directive with a `disabled` property. */\nexport function mixinDisabled<T extends AbstractConstructor<{}>>(base: T): CanDisableCtor & T;\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n // tslint:disable-next-line\n super(...args);\n }\n };\n}\n","import { ElementRef } from '@angular/core';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface CanColor {\n color: ThemePalette;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor> & AbstractConstructor<CanColor>;\n\n// tslint:disable-next-line:naming-convention\nexport interface HasElementRef {\n elementRef: ElementRef;\n}\n\nexport enum ThemePalette {\n Primary = 'primary',\n Secondary = 'secondary',\n Error = 'error',\n Info = 'info',\n Warning = 'warning',\n Success = 'success',\n\n Default = 'secondary',\n Empty = ''\n}\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends AbstractConstructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T;\n\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor = ThemePalette.Default): CanColorCtor & T {\n return class extends base {\n get color(): ThemePalette { return this._color; }\n set color(value: ThemePalette) {\n const colorPalette = value || defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this.elementRef.nativeElement.classList.remove(`mc-${this._color}`);\n }\n if (colorPalette) {\n this.elementRef.nativeElement.classList.add(`mc-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n private _color: ThemePalette;\n\n constructor(...args: any[]) {\n super(...args);\n\n this.color = defaultColor;\n }\n };\n}\n\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface HasTabIndex {\n tabIndex: number;\n}\n\nexport type HasTabIndexCtor = Constructor<HasTabIndex> & AbstractConstructor<HasTabIndex>;\n\n/** Mixin to augment a directive with a `tabIndex` property. */\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex?: number): HasTabIndexCtor & T;\n\nexport function mixinTabIndex<T extends Constructor<CanDisable>>(base: T, defaultTabIndex = 0): HasTabIndexCtor & T {\n return class extends base implements HasTabIndex {\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n private _tabIndex: number = defaultTabIndex;\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { UntypedFormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { ErrorStateMatcher } from '../error/error-options';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface CanUpdateErrorState {\n /** Whether the component is in an error state. */\n errorState: boolean;\n /** An object used to control the error state of the component. */\n errorStateMatcher: ErrorStateMatcher;\n /** Updates the error state based on the provided error state matcher. */\n updateErrorState(): void;\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface HasErrorState {\n parentFormGroup: FormGroupDirective;\n parentForm: NgForm;\n defaultErrorStateMatcher: ErrorStateMatcher;\n\n ngControl: NgControl;\n stateChanges: Subject<void>;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends AbstractConstructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T;\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n errorStateMatcher: ErrorStateMatcher;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this.parentFormGroup || this.parentForm;\n const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;\n const control = this.ngControl ? this.ngControl.control as UntypedFormControl : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { DateFormats } from '@mosaic-design/date-adapter';\n\n\nexport const MC_DATE_FORMATS = new InjectionToken<DateFormats>('mc-date-formats');\nexport type McDateFormats = DateFormats;\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { DateAdapter as BaseDateAdapter } from '@mosaic-design/date-adapter';\nimport { Observable, Subject } from 'rxjs';\n\n\n/** InjectionToken for datepicker that can be used to override default locale code. */\nexport const MC_DATE_LOCALE = new InjectionToken<string>('MC_DATE_LOCALE', {\n providedIn: 'root',\n factory: MC_DATE_LOCALE_FACTORY\n});\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport function MC_DATE_LOCALE_FACTORY(): string {\n return inject(LOCALE_ID);\n}\n\nexport abstract class DateAdapter<D> extends BaseDateAdapter<D> {\n /** A stream that emits when the locale changes. */\n abstract get localeChanges(): Observable<any>;\n\n protected abstract _localeChanges: Subject<void>;\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroupDirective, NgForm, UntypedFormControl } from '@angular/forms';\n\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DateAdapter } from '@mosaic-design/date-adapter';\nimport { DateFormatter as BaseDateFormatter } from '@mosaic-design/date-formatter';\n\nimport { MC_DATE_LOCALE } from '../../datetime';\n\n\n@Injectable()\nexport class DateFormatter<D> extends BaseDateFormatter<D> {\n constructor(\n override readonly adapter: DateAdapter<D>,\n @Inject(MC_DATE_LOCALE) locale: string\n ) {\n super(adapter, locale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateTimeOptions } from '@mosaic-design/date-formatter';\n\nimport { DateAdapter } from '../../datetime';\n\nimport { DateFormatter } from './formatter';\n\n\n@Pipe({ name: 'absoluteLongDate' })\nexport class AbsoluteDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, currYear?: boolean): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteLongDate(date, currYear) : '';\n }\n}\n\n@Pipe({ name: 'absoluteLongDateTime' })\nexport class AbsoluteDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteLongDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'absoluteShortDate' })\nexport class AbsoluteDateShortFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, currYear?: boolean): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteShortDate(date, currYear) : '';\n }\n}\n\n@Pipe({ name: 'absoluteShortDateTime' })\nexport class AbsoluteShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteShortDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'relativeLongDate' })\nexport class RelativeDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeLongDate(date) : '';\n }\n}\n\n@Pipe({ name: 'relativeLongDateTime' })\nexport class RelativeDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeLongDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'relativeShortDate' })\nexport class RelativeShortDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeShortDate(date) : '';\n }\n}\n\n@Pipe({ name: 'relativeShortDateTime' })\nexport class RelativeShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeShortDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'rangeLongDate' })\nexport class RangeDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[]): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeLongDate(date1 as D, date2 as D);\n }\n}\n\n@Pipe({ name: 'rangeShortDate' })\nexport class RangeShortDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[]): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeShortDate(date1 as D, date2 as D);\n }\n}\n\n@Pipe({ name: 'rangeLongDateTime' })\nexport class RangeDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeLongDateTime(date1 as D, date2 as D, options);\n }\n}\n\n@Pipe({ name: 'rangeMiddleDateTime' })\nexport class RangeMiddleDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeMiddleDateTime(date1 as D, date2 as D, options);\n }\n}\n\n@Pipe({ name: 'rangeShortDateTime' })\nexport class RangeShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeShortDateTime(date1 as D, date2 as D, options);\n }\n}\n","/* tslint:disable:naming-convention */\nimport { Inject, Injectable, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\n\n\nexport const MC_LOCALE_ID = new InjectionToken<string>('McLocaleId');\n\nexport const MC_NUMBER_FORMATTER_OPTIONS = new InjectionToken<string>('McNumberFormatterOptions');\n\nexport const MC_NUMBER_FORMATTER_DEFAULT_OPTIONS: ParsedDigitsInfo = {\n useGrouping: true,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 3\n};\n\nexport const DEFAULT_MC_LOCALE_ID = 'ru';\n\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\nfunction strToNumber(value: number | string): number {\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n\n return value;\n}\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?(-(true|false))?)?$/;\n\nconst minIntGroupPosition = 1;\nconst minFractionGroupPosition = 3;\nconst maxFractionGroupPosition = 5;\nconst useGroupingPosition = 7;\n\ninterface NumberFormatOptions {\n useGrouping: boolean;\n\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n minimumSignificantDigits: number;\n maximumSignificantDigits: number;\n\n localeMatcher?: string;\n style?: string;\n\n currency?: string;\n currencyDisplay?: string;\n}\n\nclass ParsedDigitsInfo {\n useGrouping: boolean;\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n}\n\nfunction parseDigitsInfo(digitsInfo: string): ParsedDigitsInfo {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n\n const minIntPart = parts[minIntGroupPosition];\n const minFractionPart = parts[minFractionGroupPosition];\n const maxFractionPart = parts[maxFractionGroupPosition];\n const useGroupingPart = parts[useGroupingPosition];\n\n const result = new ParsedDigitsInfo();\n\n if (minIntPart != null) {\n result.minimumIntegerDigits = parseInt(minIntPart);\n }\n\n if (minFractionPart != null) {\n result.minimumFractionDigits = parseInt(minFractionPart);\n }\n\n if (maxFractionPart != null) {\n result.maximumFractionDigits = parseInt(maxFractionPart);\n } else if (minFractionPart != null && result.minimumFractionDigits > result.maximumFractionDigits) {\n result.maximumFractionDigits = result.minimumFractionDigits;\n }\n\n if (useGroupingPart != null) {\n result.useGrouping = useGroupingPart === 'true';\n }\n\n return result;\n}\n\n\n@Injectable({ providedIn: 'root' })\n@Pipe({name: 'mcNumber'})\nexport class McDecimalPipe implements PipeTransform {\n constructor(\n @Optional() @Inject(MC_LOCALE_ID) private locale: string,\n @Optional() @Inject(MC_NUMBER_FORMATTER_OPTIONS) private readonly options: ParsedDigitsInfo\n ) {\n this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;\n }\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:<br>\n * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.\n */\n transform(value: any, digitsInfo?: string, locale?: string): string | null {\n if (isEmpty(value)) { return null; }\n\n const currentLocale = locale || this.locale || DEFAULT_MC_LOCALE_ID;\n\n let parsedDigitsInfo;\n\n if (digitsInfo) {\n parsedDigitsInfo = parseDigitsInfo(digitsInfo);\n }\n\n const options: NumberFormatOptions = {\n ...this.options,\n ...parsedDigitsInfo\n };\n\n try {\n const num = strToNumber(value);\n\n return Intl.NumberFormat.call(this, currentLocale, options).format(num);\n } catch (error: any) {\n throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DateFormatter } from './date/formatter';\nimport {\n AbsoluteDateFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n RangeDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe\n} from './date/formatter.pipe';\nimport { McDecimalPipe } from './number/formatter';\n\n\n@NgModule({\n declarations: [\n McDecimalPipe,\n\n AbsoluteDateFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe,\n\n RangeDateFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe\n ],\n exports: [\n McDecimalPipe,\n\n AbsoluteDateFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe,\n\n RangeDateFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe\n ],\n providers: [DateFormatter]\n})\nexport class McFormattersModule {}\n\n\nexport * from './number/formatter';\nexport * from './date/formatter';\nexport * from './date/formatter.pipe';\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList\n} from '@angular/core';\n\n\n@Directive({\n selector: '.mc-form__row, .mc-form__fieldset, .mc-form__legend',\n exportAs: 'mcFormElement',\n host: {\n '[class.mc-form-row_margin]': 'margin'\n }\n})\nexport class McFormElement implements AfterContentInit {\n margin = false;\n\n isRow = false;\n isFieldSet = false;\n hasLegend = false;\n isHorizontal = false;\n\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n constructor(private readonly element: ElementRef<HTMLElement>) {}\n\n ngAfterContentInit(): void {\n const classList = this.element.nativeElement.classList;\n\n this.isRow = classList.contains('mc-form__row');\n this.isHorizontal = classList.contains('mc-horizontal');\n\n this.isFieldSet = classList.contains('mc-form__fieldset');\n\n if (this.isFieldSet && this.element.nativeElement.firstElementChild) {\n this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('mc-form__legend');\n }\n }\n}\n\n\n@Directive({\n selector: '.mc-form-vertical, .mc-form-horizontal',\n exportAs: 'mcForm',\n host: {\n class: 'mc-form'\n }\n})\nexport class McForm implements AfterContentInit {\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n ngAfterContentInit(): void {\n this.handleElements(this.elements);\n }\n\n handleElements(elements: QueryList<McFormElement>): void {\n elements.forEach((element, index) => {\n const nextElement: McFormElement | undefined = elements.get(index + 1);\n\n if (element.isFieldSet && !element.isHorizontal) {\n this.handleElements(element.elements);\n }\n\n element.margin = !!(nextElement && !nextElement.hasLegend);\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n McForm,\n McFormElement\n} from './forms.directive';\n\n\n@NgModule({\n exports: [\n McForm,\n McFormElement\n ],\n declarations: [\n McForm,\n McFormElement\n ]\n})\nexport class McFormsModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\nexport function escapeRegExp(value: string) {\n if (value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n\n return value;\n}\n\n@Pipe({ name: 'mcHighlight' })\nexport class McHighlightPipe implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) { return value; }\n\n return value.replace(new RegExp(`(${escapeRegExp(args)})`, 'gi'), '<mark class=\"mc-highlight\">$1</mark>');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McHighlightPipe } from './highlight.pipe';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McHighlightPipe],\n declarations: [McHighlightPipe]\n})\nexport class McHighlightModule {}\n\n\nexport * from './highlight.pipe';\n","import { InjectionToken } from '@angular/core';\n\n\n/** InjectionToken that can be used to specify the global label options. */\nexport const MC_LABEL_GLOBAL_OPTIONS =\n new InjectionToken<LabelOptions>('mc-label-global-options');\n\n/** Type for the available floatLabel values. */\nexport type FloatLabelType = 'always' | 'never' | 'auto';\n\n/** Configurable options for floating labels. */\n// tslint:disable-next-line:naming-convention\nexport interface LabelOptions {\n /**\n * Whether the label should float `always`, `never`, or `auto` (only when necessary).\n * Default behavior is assumed to be `auto`.\n */\n float?: FloatLabelType;\n}\n","import { NgModule, Directive, ElementRef, QueryList } from '@angular/core';\n\n\n/**\n * Shared directive to count lines inside a text area, such as a list item.\n * Line elements can be extracted with a @ContentChildren(McLine) query, then\n * counted by checking the query list's length.\n */\n@Directive({\n selector: '[mc-line], [mcLine]',\n host: { class: 'mc-line' }\n})\nexport class McLine {}\n\n/**\n * Helper that takes a query list of lines and sets the correct class on the host.\n * @docs-private\n */\nexport class McLineSetter {\n constructor(private _lines: QueryList<McLine>, private _element: ElementRef) {\n this.setLineClass(this._lines.length);\n\n this._lines.changes.subscribe(() => {\n this.setLineClass(this._lines.length);\n });\n }\n\n private setLineClass(count: number): void {\n const minLineClassNumber = 2;\n const maxLineClassNumber = 3;\n this.resetClasses();\n if (count === minLineClassNumber || count === maxLineClassNumber) {\n this.setClass(`mc-${count}-line`, true);\n } else if (count > maxLineClassNumber) {\n this.setClass(`mc-multi-line`, true);\n }\n }\n\n private resetClasses(): void {\n this.setClass('mc-2-line', false);\n this.setClass('mc-3-line', false);\n this.setClass('mc-multi-line', false);\n }\n\n private setClass(className: string, isAdd: boolean): void {\n if (isAdd) {\n this._element.nativeElement.classList.add(className);\n } else {\n this._element.nativeElement.classList.remove(className);\n }\n }\n}\n\n@NgModule({\n imports: [],\n exports: [McLine],\n declarations: [McLine]\n})\nexport class McLineModule {}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\nimport { mixinDisabled, CanDisable, CanDisableCtor } from '../common-behaviors';\n\n\n/** @docs-private */\nexport class McOptgroupBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McOptgroupMixinBase: CanDisableCtor & typeof McOptgroupBase = mixinDisabled(McOptgroupBase);\n\nlet uniqueOptgroupIdCounter = 0;\n\n/**\n * Component that is used to group instances of `mc-option`.\n */\n@Component({\n selector: 'mc-optgroup',\n exportAs: 'mcOptgroup',\n templateUrl: 'optgroup.html',\n styleUrls: ['./optgroup.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n host: {\n class: 'mc-optgroup',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McOptgroup extends McOptgroupMixinBase implements CanDisable {\n @Input() label: string;\n\n /** Unique id for the underlying label. */\n labelId: string = `mc-optgroup-label-${uniqueOptgroupIdCounter++}`;\n}\n","<label class=\"mc-optgroup-label\" [id]=\"labelId\">{{ label }}</label>\n<ng-content select=\"mc-option, mc-list-option, mc-timezone-option, ng-container\"></ng-content>\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy, ElementRef } from '@angular/core';\n\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n mixinColor,\n mixinDisabled,\n ThemePalette\n} from '../../common-behaviors';\n\n\nexport type McPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n\n// Boilerplate for applying mixins to McPseudoCheckbox.\n/** @docs-private */\nexport class McPseudoCheckboxBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McPseudoCheckboxMixinBase:\n CanColorCtor &\n CanDisableCtor &\n typeof McPseudoCheckboxBase = mixinColor(mixinDisabled(McPseudoCheckboxBase), ThemePalette.Primary);\n\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mc-primary .mc-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<mc-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n selector: 'mc-pseudo-checkbox',\n templateUrl: 'pseudo-checkbox.partial.html',\n styleUrls: ['pseudo-checkbox.scss'],\n host: {\n class: 'mc-pseudo-checkbox',\n '[class.mc-indeterminate]': 'state === \"indeterminate\"',\n '[class.mc-checked]': 'state === \"checked\"',\n '[class.mc-disabled]': 'disabled'\n },\n preserveWhitespaces: false,\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPseudoCheckbox extends McPseudoCheckboxMixinBase implements CanColor, CanDisable {\n @Input() state: McPseudoCheckboxState = 'unchecked';\n\n @Input() disabled: boolean = false;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { McOptgroup } from './optgroup';\n\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet uniqueIdCounter = 0;\n\n/** Event object emitted by McOption when selected or deselected. */\nexport class McOptionSelectionChange {\n constructor(public source: McOption, public isUserInput = false) {}\n}\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\n// tslint:disable-next-line: naming-convention\nexport interface McOptionParentComponent {\n multiple?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_OPTION_PARENT_COMPONENT =\n new InjectionToken<McOptionParentComponent>('MC_OPTION_PARENT_COMPONENT');\n\n/**\n * Single option inside of a `<mc-select>` element.\n */\n@Component({\n selector: 'mc-option',\n exportAs: 'mcOption',\n host: {\n '[attr.tabindex]': 'getTabIndex()',\n class: 'mc-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-option-multiple]': 'multiple',\n '[class.mc-active]': 'active',\n '[class.mc-disabled]': 'disabled',\n '[id]': 'id',\n\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)'\n },\n styleUrls: ['option.scss'],\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOption implements AfterViewChecked, OnDestroy {\n @ViewChild('mcTextElement', { static: false }) textElement: ElementRef;\n\n /** The form value of the option. */\n @Input() value: any;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;\n }\n\n set showCheckbox(value) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<McOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly stateChanges = new Subject<void>();\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this.parent && this.parent.multiple;\n }\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-option-${uniqueIdCounter++}`;\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected = false;\n\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled = false;\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n private _active = false;\n\n private mostRecentViewValue = '';\n\n constructor(\n private readonly element: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MC_OPTION_PARENT_COMPONENT) private readonly parent: McOptionParentComponent,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this.mostRecentViewValue) {\n this.mostRecentViewValue = viewValue;\n this.stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n getHeight(): number {\n // tslint:disable-next-line:naming-convention\n const DOMRect: DOMRect = this.element.nativeElement.getClientRects()[0];\n\n return DOMRect ? DOMRect.height : 0;\n }\n\n select(): void {\n if (!this._selected) {\n this._selected = true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n focus(): void {\n const element = this.getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus();\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n handleKeydown(event: KeyboardEvent): void {\n // tslint:disable-next-line\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n }\n }\n\n getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n /** Emits the selection change event. */\n private emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<McOption>,\n optionGroups: QueryList<McOptgroup>\n): number {\n\n if (optionGroups.length) {\n const optionsArray = options.toArray();\n const groups = optionGroups.toArray();\n\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionIndex Index of the option to be scrolled into the view.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function getOptionScrollPosition(\n optionIndex: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number\n): number {\n const optionOffset = optionIndex * optionHeight;\n\n if (optionOffset < currentScrollPosition) { return optionOffset; }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n\n","<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTextElement class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE, TAB } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CanDisableCtor, HasTabIndexCtor, mixinDisabled, mixinTabIndex } from '../common-behaviors';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McOptionActionParent {\n dropdownTrigger: {\n opened: boolean;\n restoreFocus: boolean;\n dropdownClosed: EventEmitter<void>;\n lastDestroyReason: void | 'click' | 'keydown' | 'tab';\n openedBy: Exclude<FocusOrigin, 'program' | null> | undefined;\n toggle(): void;\n };\n tooltipTrigger: {\n disabled: boolean;\n };\n focus(): void;\n}\n\nexport const MC_OPTION_ACTION_PARENT = new InjectionToken<McOptionActionParent>('MC_OPTION_ACTION_PARENT');\n\n/** @docs-private */\nexport class McOptionActionBase {}\n\n/** @docs-private */\nexport const McOptionActionMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof McOptionActionBase = mixinTabIndex(mixinDisabled(McOptionActionBase));\n\n\n@Component({\n selector: 'mc-option-action',\n exportAs: 'mcOptionAction',\n template: `\n <ng-container [ngSwitch]=\"!!customIcon\">\n <i class=\"mc mc-icon mc-ellipsis_16\" *ngSwitchCase=\"false\"></i>\n <ng-content select=\"[mc-icon]\" *ngSwitchCase=\"true\"></ng-content>\n </ng-container>\n `,\n styleUrls: ['./action.scss'],\n host: {\n class: 'mc-option-action',\n '[class.mc-expanded]': 'false',\n\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': '-1',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeyDown($event)'\n },\n inputs: ['disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOptionActionComponent extends McOptionActionMixinBase implements AfterViewInit, OnDestroy {\n @ContentChild('customIcon') customIcon: ElementRef;\n\n hasFocus: boolean = false;\n\n get active(): boolean {\n return this.hasFocus || !!this.option.dropdownTrigger?.opened;\n }\n\n private readonly destroy = new Subject<void>();\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n @Inject(MC_OPTION_ACTION_PARENT) private option: McOptionActionParent\n ) {\n super();\n\n this.focusMonitor.monitor(this.elementRef.nativeElement);\n }\n\n ngAfterViewInit(): void {\n if (!this.option.dropdownTrigger) { return; }\n\n this.option.dropdownTrigger.restoreFocus = false;\n\n this.option.dropdownTrigger.dropdownClosed\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n this.preventShowingTooltip();\n\n const destroyReason: FocusOrigin = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ?\n 'keyboard' :\n 'program';\n\n this.focus(destroyReason);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy.next();\n this.destroy.complete();\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (this.focusMonitor && origin) {\n this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);\n } else {\n this.elementRef.nativeElement.focus();\n }\n\n this.hasFocus = true;\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n onClick($event) {\n $event.stopPropagation();\n }\n\n onKeyDown($event) {\n if ([SPACE, ENTER].includes($event.keyCode) && this.option.dropdownTrigger) {\n this.option.dropdownTrigger.openedBy = 'keyboard';\n this.option.dropdownTrigger.toggle();\n } else if ($event.shiftKey && $event.keyCode === TAB) {\n this.hasFocus = false;\n\n this.option.focus();\n } else if ($event.keyCode === TAB) {\n return;\n }\n\n $event.preventDefault();\n $event.stopPropagation();\n }\n\n private preventShowingTooltip() {\n if (!this.option.tooltipTrigger) { return; }\n\n this.option.tooltipTrigger.disabled = true;\n\n setTimeout(() => this.option.tooltipTrigger.disabled = false);\n }\n}\n","export enum MultipleMode {\n CHECKBOX = 'checkbox',\n KEYBOARD = 'keyboard'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckbox } from './pseudo-checkbox';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McPseudoCheckbox],\n declarations: [McPseudoCheckbox]\n})\nexport class McPseudoCheckboxModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckboxModule } from '../selection';\n\nimport { McOptionActionComponent } from './action';\nimport { McOptgroup } from './optgroup';\nimport { McOption } from './option';\n\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n declarations: [McOption, McOptgroup, McOptionActionComponent],\n exports: [McOption, McOptgroup, McOptionActionComponent]\n})\nexport class McOptionModule {}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\n\nexport const POSITION_MAP: { [key: string]: ConnectionPositionPair } = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topCenter: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topLeft: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n topRight: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n rightTop: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n rightBottom: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomCenter: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomLeft: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n bottomRight: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n leftTop: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n leftBottom: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n};\n\nexport const EXTENDED_OVERLAY_POSITIONS = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom\n]);\n\nexport const TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.bottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight\n]);\n\nexport const BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottom,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom\n]);\n\nexport const RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.right,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.left,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const RIGHT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop,\n POSITION_MAP.left,\n POSITION_MAP.leftBottom,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const RIGHT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const LEFT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop,\n POSITION_MAP.right,\n POSITION_MAP.rightBottom,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const LEFT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const TOP_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomRight,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const TOP_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const BOTTOM_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop\n]);\n\nexport const BOTTOM_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.top,\n POSITION_MAP.topRight,\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop\n]);\n\nexport const POSITION_PRIORITY_STRATEGY = {\n top: TOP_POSITION_PRIORITY,\n topLeft: TOP_LEFT_POSITION_PRIORITY,\n topRight: TOP_RIGHT_POSITION_PRIORITY,\n bottom: BOTTOM_POSITION_PRIORITY,\n bottomLeft: BOTTOM_LEFT_POSITION_PRIORITY,\n bottomRight: BOTTOM_RIGHT_POSITION_PRIORITY,\n left: LEFT_POSITION_PRIORITY,\n leftTop: LEFT_TOP_POSITION_PRIORITY,\n leftBottom: LEFT_BOTTOM_POSITION_PRIORITY,\n right: RIGHT_POSITION_PRIORITY,\n rightTop: RIGHT_TOP_POSITION_PRIORITY,\n rightBottom: RIGHT_BOTTOM_POSITION_PRIORITY\n};\n\nexport const POSITION_TO_CSS_MAP: {[key: string]: string} = {\n top: 'top',\n topLeft: 'top-left',\n topRight: 'top-right',\n right: 'right',\n rightTop: 'right-top',\n rightBottom: 'right-bottom',\n left: 'left',\n leftTop: 'left-top',\n leftBottom: 'left-bottom',\n bottom: 'bottom',\n bottomLeft: 'bottom-left',\n bottomRight: 'bottom-right'\n};\n\n\nfunction arrayMap<T, S>(array: T[], iteratee: (item: T, index: number, arr: T[]) => S): S[] {\n let index = -1;\n const length = array === null ? 0 : array.length;\n const result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[ index ], index, array);\n }\n\n return result;\n}\nfunction baseValues<T>(object: T[], props: string[]): T[] {\n return arrayMap(props, (key) => object[key]);\n}\nfunction objectValues<T>(object: T[]): T[] {\n return object === null ? [] : baseValues(object, Object.keys(object));\n}\n","export enum PopUpPlacements {\n Top = 'top',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n Right = 'right',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n Left = 'left',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n Bottom = 'bottom',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight'\n}\n\nexport enum PopUpVisibility {\n Initial = 'initial',\n Visible = 'visible',\n Hidden = 'hidden'\n}\n\nexport enum PopUpTriggers {\n Click = 'click',\n Focus = 'focus',\n Hover = 'hover'\n}\n\nexport enum PopUpSizes {\n Small = 'small',\n Normal = 'normal',\n Large = 'large'\n}\n","import { AnimationEvent } from '@angular/animations';\nimport { ChangeDetectorRef, Directive, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { PopUpVisibility } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUp implements OnDestroy {\n header: string | TemplateRef<any>;\n content: string | TemplateRef<any>;\n\n classMap = {};\n\n warning: boolean;\n\n visibility = PopUpVisibility.Initial;\n visibleChange = new EventEmitter<boolean>();\n\n protected prefix: string;\n\n /** Subject for notifying that the tooltip has been hidden from the view */\n protected readonly onHideSubject = new Subject<void>();\n\n protected closeOnInteraction: boolean = false;\n\n private showTimeoutId: any;\n private hideTimeoutId: any;\n\n protected constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnDestroy() {\n clearTimeout(this.showTimeoutId);\n clearTimeout(this.hideTimeoutId);\n\n this.onHideSubject.complete();\n }\n\n isTemplateRef(value: any): boolean {\n return value instanceof TemplateRef;\n }\n\n show(delay: number): void {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n this.closeOnInteraction = true;\n\n this.showTimeoutId = setTimeout(\n () => {\n this.showTimeoutId = undefined;\n\n this.visibility = PopUpVisibility.Visible;\n this.visibleChange.emit(true);\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n hide(delay: number): void {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n this.hideTimeoutId = setTimeout(\n () => {\n this.hideTimeoutId = undefined;\n this.visibility = PopUpVisibility.Hidden;\n\n this.visibleChange.emit(false);\n this.onHideSubject.next();\n\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n isVisible(): boolean {\n return this.visibility === PopUpVisibility.Visible;\n }\n\n updateClassMap(placement: string, customClass: string, classMap?): void {\n this.classMap = {\n [`${this.prefix}_placement-${placement}`]: true,\n [customClass]: !!customClass,\n ...classMap\n };\n }\n\n /** Returns an observable that notifies when the tooltip has been hidden from view. */\n afterHidden(): Observable<void> {\n return this.onHideSubject.asObservable();\n }\n\n markForCheck(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n detectChanges(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n animationStart() {\n this.closeOnInteraction = false;\n }\n\n animationDone({ toState }: AnimationEvent): void {\n if (toState === PopUpVisibility.Hidden && !this.isVisible()) {\n this.onHideSubject.next();\n }\n\n if (toState === PopUpVisibility.Visible || toState === PopUpVisibility.Hidden) {\n this.closeOnInteraction = true;\n }\n }\n\n handleBodyInteraction(): void {\n if (this.closeOnInteraction) {\n this.hide(0);\n }\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayRef,\n ScrollDispatcher,\n OverlayConfig\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n NgZone,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { ESCAPE } from '@ptsecurity/cdk/keycodes';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { delay as rxDelay, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport {\n EXTENDED_OVERLAY_POSITIONS,\n POSITION_MAP,\n POSITION_PRIORITY_STRATEGY,\n POSITION_TO_CSS_MAP\n} from '../overlay/overlay-position-map';\n\nimport { PopUpPlacements, PopUpTriggers } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUpTrigger<T> {\n isOpen: boolean = false;\n\n enterDelay: number = 0;\n leaveDelay: number = 0;\n\n abstract disabled: boolean;\n abstract trigger: string;\n abstract customClass: string;\n abstract content: string | TemplateRef<any>;\n\n abstract placementChange: EventEmitter<string>;\n abstract visibleChange: EventEmitter<boolean>;\n\n protected abstract originSelector: string;\n protected abstract overlayConfig: OverlayConfig;\n\n protected placement = PopUpPlacements.Top;\n protected placementPriority: string | string[] | null = null;\n\n protected visible = false;\n\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _content: string | TemplateRef<any>;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _disabled: boolean;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _customClass: string;\n\n protected overlayRef: OverlayRef | null;\n protected portal: ComponentPortal<T>;\n protected instance: any | null;\n\n protected listeners = new Map<string, EventListenerOrEventListenerObject>();\n protected closingActionsSubscription: Subscription;\n\n protected readonly availablePositions: { [key: string]: ConnectionPositionPair };\n protected readonly destroyed = new Subject<void>();\n\n protected constructor(\n protected overlay: Overlay,\n protected elementRef: ElementRef,\n protected ngZone: NgZone,\n protected scrollDispatcher: ScrollDispatcher,\n protected hostView: ViewContainerRef,\n protected scrollStrategy,\n protected direction?: Directionality\n ) {\n this.availablePositions = POSITION_MAP;\n }\n\n abstract updateClassMap(newPlacement?: string): void;\n\n abstract updateData(): void;\n\n abstract closingActions(): Observable<any>;\n\n abstract getOverlayHandleComponentType(): Type<T>;\n\n ngOnInit(): void {\n this.initListeners();\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n updatePlacement(value: PopUpPlacements) {\n if (POSITION_TO_CSS_MAP[value]) {\n this.placement = value;\n\n this.updateClassMap();\n } else {\n this.placement = PopUpPlacements.Top;\n\n console.warn(`Unknown position: ${value}. Will used default position: ${this.placement}`);\n }\n\n if (this.visible) {\n this.updatePosition();\n }\n }\n\n updatePlacementPriority(value) {\n if (value && value.length > 0) {\n this.placementPriority = value;\n } else {\n this.placementPriority = null;\n }\n }\n\n updateVisible(externalValue: boolean) {\n const value = coerceBooleanProperty(externalValue);\n\n if (this.visible !== value) {\n this.visible = value;\n\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n\n handleKeydown(event: KeyboardEvent) {\n if (this.isOpen && event.keyCode === ESCAPE) { // tslint:disable-line\n this.hide();\n }\n }\n\n handleTouchend() {\n this.hide();\n }\n\n show(delay: number = this.enterDelay): void {\n if (this.disabled || this.instance) { return; }\n\n this.overlayRef = this.createOverlay();\n this.subscribeOnClosingActions();\n this.detach();\n\n this.portal = this.portal || new ComponentPortal(this.getOverlayHandleComponentType(), this.hostView);\n\n this.instance = this.overlayRef.attach(this.portal).instance;\n\n this.instance.afterHidden()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n this.updateClassMap();\n\n this.updateData();\n\n this.instance.visibleChange\n .pipe(takeUntil(this.destroyed), distinctUntilChanged())\n .subscribe((value) => {\n this.visible = value;\n this.visibleChange.emit(value);\n this.isOpen = value;\n });\n\n this.updatePosition();\n\n this.instance.show(delay);\n }\n\n hide(delay: number = this.leaveDelay): void {\n if (this.instance) {\n this.instance.hide(delay);\n }\n }\n\n detach = (): void => {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n }\n\n this.instance = null;\n }\n\n /** Create the overlay config and position strategy */\n createOverlay(): OverlayRef {\n if (this.overlayRef) { return this.overlayRef; }\n\n // Create connected position strategy that listens for scroll events to reposition.\n const strategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withTransformOriginOn(this.originSelector)\n .withFlexibleDimensions(false)\n .withPositions([...EXTENDED_OVERLAY_POSITIONS])\n .withScrollableContainers(this.scrollDispatcher.getAncestorScrollContainers(this.elementRef));\n\n strategy.positionChanges\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.onPositionChange);\n\n this.overlayRef = this.overlay.create({\n ...this.overlayConfig,\n direction: this.direction,\n positionStrategy: strategy,\n scrollStrategy: this.scrollStrategy()\n });\n\n this.subscribeOnClosingActions();\n\n this.overlayRef.detachments()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n return this.overlayRef;\n }\n\n onPositionChange = ($event: ConnectedOverlayPositionChange): void => {\n if (!this.instance) { return; }\n\n let newPlacement = this.placement;\n\n const { originX, originY, overlayX, overlayY } = $event.connectionPair;\n\n Object.keys(this.availablePositions).some((key) => {\n if (\n originX === this.availablePositions[key].originX && originY === this.availablePositions[key].originY &&\n overlayX === this.availablePositions[key].overlayX && overlayY === this.availablePositions[key].overlayY\n ) {\n newPlacement = key as PopUpPlacements;\n\n return true;\n }\n\n return false;\n });\n\n this.placementChange.emit(newPlacement);\n\n this.updateClassMap(newPlacement);\n\n this.instance.detectChanges();\n }\n\n initListeners() {\n this.clearListeners();\n\n if (this.trigger.includes(PopUpTriggers.Click)) {\n this.listeners\n .set('click', () => this.show())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.listeners\n .set('mouseenter', () => this.show())\n .set('mouseleave', () => this.hide())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Focus)) {\n this.listeners\n .set('focus', () => this.show())\n .set('blur', () => this.hide())\n .forEach(this.addEventListener);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n this.subscribeOnClosingActions();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n protected getPriorityPlacementStrategy(value: string | string[]): ConnectionPositionPair[] {\n const result: ConnectionPositionPair[] = [];\n const possiblePositions = Object.keys(this.availablePositions);\n\n if (Array.isArray(value)) {\n value.forEach((position: string) => {\n if (possiblePositions.includes(position)) {\n result.push(this.availablePositions[position]);\n }\n });\n } else if (possiblePositions.includes(value)) {\n result.push(this.availablePositions[value]);\n }\n\n return result;\n }\n\n protected getPrioritizedPositions() {\n if (this.placementPriority) {\n return this.getPriorityPlacementStrategy(this.placementPriority);\n }\n\n return POSITION_PRIORITY_STRATEGY[this.placement];\n }\n\n protected clearListeners() {\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n }\n\n private addEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.addEventListener(event, listener);\n }\n\n private removeEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.removeEventListener(event, listener);\n }\n\n private subscribeOnClosingActions() {\n this.closingActionsSubscription?.unsubscribe();\n\n this.closingActionsSubscription = this.closingActions()\n .pipe(takeUntil(this.destroyed))\n .pipe(rxDelay(0))\n .subscribe((event) => {\n if (event?.type === 'click' && event.mcPopoverPreventHide) { return; }\n\n this.hide();\n });\n }\n}\n","export const selectEvents = 'selectEvents';\n","/**\n * Returns an exception to be thrown when attempting to change a select's `multiple` option\n * after initialization.\n * @docs-private\n */\nexport function getMcSelectDynamicMultipleError(): Error {\n return Error('Cannot change `multiple` mode of select after initialization.');\n}\n\n/**\n * Returns an exception to be thrown when attempting to assign a non-array value to a select\n * in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for\n * resetting the value.\n * @docs-private\n */\nexport function getMcSelectNonArrayValueError(): Error {\n return Error('Value must be an array in multiple-selection mode.');\n}\n\n/**\n * Returns an exception to be thrown when assigning a non-function value to the comparator\n * used to determine if a value corresponds to an option. Note that whether the function\n * actually takes two values and returns a boolean is not checked.\n */\nexport function getMcSelectNonFunctionValueError(): Error {\n return Error('`compareWith` must be a function.');\n}\n","import { ScrollStrategy, Overlay, RepositionScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n\n/** The max height of the select's overlay panel */\nexport const SELECT_PANEL_MAX_HEIGHT = 224;\n\n/** The panel's padding on the x-axis */\nexport const SELECT_PANEL_PADDING_X = 1;\n\n/** The panel's x axis padding if it is indented (e.g. there is an option group). */\n/* tslint:disable-next-line:no-magic-numbers */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n\n/** Injection token that determines the scroll handling while a select is open. */\nexport const MC_SELECT_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-select-scroll-strategy');\n\n/** @docs-private */\nexport function mcSelectScrollStrategyProviderFactory(overlay: Overlay): () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const MC_SELECT_SCROLL_STRATEGY_PROVIDER = {\n provide: MC_SELECT_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcSelectScrollStrategyProviderFactory\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class McMeasureScrollbarService {\n\n get scrollBarWidth(): number {\n if (this._scrollBarWidth) {\n return this._scrollBarWidth;\n }\n this.initScrollBarWidth();\n\n return this._scrollBarWidth;\n }\n\n private _scrollBarWidth: number;\n private scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n overflow: 'scroll'\n };\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this.initScrollBarWidth();\n }\n\n initScrollBarWidth() {\n const scrollDiv = this.document.createElement('div');\n\n // tslint:disable-next-line\n for (const scrollProp in this.scrollbarMeasure) {\n if (this.scrollbarMeasure.hasOwnProperty(scrollProp)) {\n scrollDiv.style[scrollProp] = this.scrollbarMeasure[scrollProp];\n }\n }\n\n this.document.body.appendChild(scrollDiv);\n\n const width = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n this.document.body.removeChild(scrollDiv);\n this._scrollBarWidth = width;\n }\n}\n","\nexport function isBoolean(val: any): val is boolean { return typeof val === 'boolean'; }\n\nexport function toBoolean(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const validationTooltipShowDelay = 10;\nexport const validationTooltipHideDelay = 3000;\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McValidationOptions {\n useValidation: boolean;\n}\n\nexport const MC_VALIDATION = new InjectionToken<McValidationOptions>(\n 'McUseValidation',\n { factory: () => ({ useValidation: true }) }\n);\n","import { Version } from '@angular/core';\n\n\nexport const VERSION = new Version('15.0.0+sha-e73ad01');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseDateAdapter","BaseDateFormatter","i1.DateAdapter","i2.DateFormatter","i1.McOptgroup","i3.McPseudoCheckbox","rxDelay"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-core.mjs","sources":["../../../packages/mosaic/core/animation/fade-animations.ts","../../../packages/mosaic/core/animation/animation.ts","../../../packages/mosaic/core/animation/select-animations.ts","../../../packages/mosaic/core/common-behaviors/common-module.ts","../../../packages/mosaic/core/common-behaviors/disabled.ts","../../../packages/mosaic/core/common-behaviors/color.ts","../../../packages/mosaic/core/common-behaviors/tabindex.ts","../../../packages/mosaic/core/common-behaviors/error-state.ts","../../../packages/mosaic/core/datetime/date-formats.ts","../../../packages/mosaic/core/datetime/date-adapter.ts","../../../packages/mosaic/core/error/error-options.ts","../../../packages/mosaic/core/formatters/date/formatter.ts","../../../packages/mosaic/core/formatters/date/formatter.pipe.ts","../../../packages/mosaic/core/formatters/number/formatter.ts","../../../packages/mosaic/core/formatters/index.ts","../../../packages/mosaic/core/forms/forms.directive.ts","../../../packages/mosaic/core/forms/forms-module.ts","../../../packages/mosaic/core/highlight/highlight.pipe.ts","../../../packages/mosaic/core/highlight/index.ts","../../../packages/mosaic/core/label/label-options.ts","../../../packages/mosaic/core/line/line.ts","../../../packages/mosaic/core/option/optgroup.ts","../../../packages/mosaic/core/option/optgroup.html","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.partial.html","../../../packages/mosaic/core/option/option.ts","../../../packages/mosaic/core/option/option.html","../../../packages/mosaic/core/option/action.ts","../../../packages/mosaic/core/selection/constants.ts","../../../packages/mosaic/core/selection/pseudo-checkbox/pseudo-checkbox.module.ts","../../../packages/mosaic/core/option/option-module.ts","../../../packages/mosaic/core/overlay/overlay-position-map.ts","../../../packages/mosaic/core/pop-up/constants.ts","../../../packages/mosaic/core/pop-up/pop-up.ts","../../../packages/mosaic/core/pop-up/pop-up-trigger.ts","../../../packages/mosaic/core/select/events.ts","../../../packages/mosaic/core/select/errors.ts","../../../packages/mosaic/core/select/constants.ts","../../../packages/mosaic/core/services/measure-scrollbar.service.ts","../../../packages/mosaic/core/utils/utils.ts","../../../packages/mosaic/core/validation/validation.ts","../../../packages/mosaic/core/version.ts","../../../packages/mosaic/core/ptsecurity-mosaic-core.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata\n} from '@angular/animations';\n\n\nexport const fadeAnimation: AnimationTriggerMetadata = trigger('fadeAnimation', [\n state('void', style({ opacity: 0 })),\n state('true', style({ opacity: 1 })),\n state('false', style({ opacity: 0 })),\n transition('* => true', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n transition('* => void', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)'))\n]);\n","export enum AnimationCurves {\n StandardCurve = 'cubic-bezier(0.4,0.0,0.2,1)',\n DecelerationCurve = 'cubic-bezier(0.0,0.0,0.2,1)',\n AccelerationCurve = 'cubic-bezier(0.4,0.0,1,1)',\n SharpCurve = 'cubic-bezier(0.4,0.0,0.6,1)'\n}\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n group\n} from '@angular/animations';\n\n\n/**\n * The following are all the animations for the mc-select component, with each\n * const containing the metadata for one animation.\n *\n */\nexport const mcSelectAnimations: {\n readonly transformPanel: AnimationTriggerMetadata;\n readonly fadeInContent: AnimationTriggerMetadata;\n} = {\n /**\n * This animation transforms the select's overlay panel on and off the page.\n *\n * When the panel is attached to the DOM, it expands its width by the amount of padding, scales it\n * up to 100% on the Y axis, fades in its border, and translates slightly up and to the\n * side to ensure the option text correctly overlaps the trigger text.\n *\n * When the panel is removed from the DOM, it simply fades out linearly.\n */\n transformPanel: trigger('transformPanel', [\n state('void', style({\n transform: 'scaleY(0)',\n minWidth: '100%',\n opacity: 0\n })),\n transition('void => *', group([\n animate('150ms cubic-bezier(0.25, 0.8, 0.25, 1)')\n ])),\n transition('* => void', [\n animate('250ms 100ms linear', style({ opacity: 0 }))\n ])\n ]),\n\n /**\n * This animation fades in the background color and text content of the\n * select's options. It is time delayed to occur 100ms after the overlay\n * panel has transformed in.\n */\n fadeInContent: trigger('fadeInContent', [\n state('showing', style({ opacity: 1 })),\n transition('void => showing', [\n style({ opacity: 0 }),\n animate('150ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)')\n ])\n ])\n};\n\n\nexport const transformPanel = mcSelectAnimations.transformPanel;\n\nexport const fadeInContent = mcSelectAnimations.fadeInContent;\n","import { BidiModule } from '@angular/cdk/bidi';\nimport { NgModule, InjectionToken, Optional, Inject, isDevMode } from '@angular/core';\n\n\n// Injection token that configures whether the Mosaic sanity checks are enabled.\nexport const MC_SANITY_CHECKS = new InjectionToken<boolean>('mc-sanity-checks', {\n providedIn: 'root',\n factory: mcSanityChecksFactory\n});\n\nexport function mcSanityChecksFactory(): boolean {\n return true;\n}\n\n/**\n * Module that captures anything that should be loaded and/or run for *all* Mosaic\n * components. This includes Bidi, etc.\n *\n * This module should be imported to each top-level component module (e.g., McTabsModule).\n */\n@NgModule({\n imports: [BidiModule],\n exports: [BidiModule]\n})\nexport class McCommonModule {\n // Whether we've done the global sanity checks (e.g. a theme is loaded, there is a doctype).\n private hasDoneGlobalChecks = false;\n\n // Reference to the global `document` object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _document = typeof document === 'object' && document ? document : null;\n\n // Reference to the global 'window' object.\n // tslint:disable-next-line: orthodox-getter-and-setter\n private _window = typeof window === 'object' && window ? window : null;\n\n constructor(@Optional() @Inject(MC_SANITY_CHECKS) private _sanityChecksEnabled: boolean) {\n if (this.areChecksEnabled() && !this.hasDoneGlobalChecks) {\n this.checkDoctypeIsDefined();\n this.checkThemeIsPresent();\n this.hasDoneGlobalChecks = true;\n }\n }\n\n // Whether any sanity checks are enabled\n private areChecksEnabled(): boolean {\n return this._sanityChecksEnabled && isDevMode() && !this.isTestEnv();\n }\n\n // Whether the code is running in tests.\n private isTestEnv() {\n // tslint:disable-next-line\n return this._window && (this._window['__karma__'] || this._window['jasmine']);\n }\n\n private checkDoctypeIsDefined(): void {\n if (this._document && !this._document.doctype) {\n console.warn(\n 'Current document does not have a doctype. This may cause ' +\n 'some Mosaic components not to behave as expected.'\n );\n }\n }\n\n private checkThemeIsPresent(): void {\n if (this._document && typeof getComputedStyle === 'function') {\n const testElement = this._document.createElement('div');\n\n testElement.classList.add('mc-theme-loaded-marker');\n this._document.body.appendChild(testElement);\n\n const computedStyle = getComputedStyle(testElement);\n\n // In some situations, the computed style of the test element can be null. For example in\n // Firefox, the computed style is null if an application is running inside of a hidden iframe.\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n if (computedStyle && computedStyle.display !== 'none') {\n console.warn(\n 'Could not find Mosaic core theme. Most Mosaic ' +\n 'components may not work as expected. For more info refer ' +\n 'to the theming guide: link there'\n );\n }\n\n this._document.body.removeChild(testElement);\n }\n }\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\nexport interface CanDisable {\n disabled: boolean;\n}\n\n/** @docs-private */\nexport type CanDisableCtor = Constructor<CanDisable> & AbstractConstructor<CanDisable>;\n\n/** Mixin to augment a directive with a `disabled` property. */\nexport function mixinDisabled<T extends AbstractConstructor<{}>>(base: T): CanDisableCtor & T;\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): CanDisableCtor & T {\n return class extends base {\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n // tslint:disable-next-line\n super(...args);\n }\n };\n}\n","import { ElementRef } from '@angular/core';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface CanColor {\n color: ThemePalette;\n}\n\n/** @docs-private */\nexport type CanColorCtor = Constructor<CanColor> & AbstractConstructor<CanColor>;\n\n// tslint:disable-next-line:naming-convention\nexport interface HasElementRef {\n elementRef: ElementRef;\n}\n\nexport enum ThemePalette {\n Primary = 'primary',\n Secondary = 'secondary',\n Error = 'error',\n Info = 'info',\n Warning = 'warning',\n Success = 'success',\n\n Default = 'secondary',\n Empty = ''\n}\n\n/** Mixin to augment a directive with a `color` property. */\nexport function mixinColor<T extends AbstractConstructor<HasElementRef>>(base: T, defaultColor?: ThemePalette): CanColorCtor & T;\n\nexport function mixinColor<T extends Constructor<HasElementRef>>(base: T, defaultColor = ThemePalette.Default): CanColorCtor & T {\n return class extends base {\n get color(): ThemePalette { return this._color; }\n set color(value: ThemePalette) {\n const colorPalette = value || defaultColor;\n\n if (colorPalette !== this._color) {\n if (this._color) {\n this.elementRef.nativeElement.classList.remove(`mc-${this._color}`);\n }\n if (colorPalette) {\n this.elementRef.nativeElement.classList.add(`mc-${colorPalette}`);\n }\n\n this._color = colorPalette;\n }\n }\n\n private _color: ThemePalette;\n\n constructor(...args: any[]) {\n super(...args);\n\n this.color = defaultColor;\n }\n };\n}\n\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { AbstractConstructor, Constructor } from './constructor';\nimport { CanDisable } from './disabled';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface HasTabIndex {\n tabIndex: number;\n}\n\nexport type HasTabIndexCtor = Constructor<HasTabIndex> & AbstractConstructor<HasTabIndex>;\n\n/** Mixin to augment a directive with a `tabIndex` property. */\nexport function mixinTabIndex<T extends AbstractConstructor<CanDisable>>(base: T, defaultTabIndex?: number): HasTabIndexCtor & T;\n\nexport function mixinTabIndex<T extends Constructor<CanDisable>>(base: T, defaultTabIndex = 0): HasTabIndexCtor & T {\n return class extends base implements HasTabIndex {\n defaultTabIndex = defaultTabIndex;\n\n get tabIndex(): number {\n return this.disabled ? -1 : this._tabIndex;\n }\n\n set tabIndex(value: number) {\n // If the specified tabIndex value is null or undefined, fall back to the default value.\n this._tabIndex = value != null ? coerceNumberProperty(value) : this.defaultTabIndex;\n }\n\n private _tabIndex: number = defaultTabIndex;\n\n constructor(...args: any[]) {\n super(...args);\n }\n };\n}\n","import { UntypedFormControl, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { Subject } from 'rxjs';\n\nimport { ErrorStateMatcher } from '../error/error-options';\n\nimport { AbstractConstructor, Constructor } from './constructor';\n\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface CanUpdateErrorState {\n /** Whether the component is in an error state. */\n errorState: boolean;\n /** An object used to control the error state of the component. */\n errorStateMatcher: ErrorStateMatcher;\n /** Updates the error state based on the provided error state matcher. */\n updateErrorState(): void;\n}\n\n/** @docs-private */\nexport type CanUpdateErrorStateCtor = Constructor<CanUpdateErrorState>;\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport interface HasErrorState {\n parentFormGroup: FormGroupDirective;\n parentForm: NgForm;\n defaultErrorStateMatcher: ErrorStateMatcher;\n\n ngControl: NgControl;\n stateChanges: Subject<void>;\n}\n\n/**\n * Mixin to augment a directive with updateErrorState method.\n * For component with `errorState` and need to update `errorState`.\n */\nexport function mixinErrorState<T extends AbstractConstructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T;\nexport function mixinErrorState<T extends Constructor<HasErrorState>>(base: T): CanUpdateErrorStateCtor & T {\n return class extends base {\n /** Whether the component is in an error state. */\n errorState: boolean = false;\n\n errorStateMatcher: ErrorStateMatcher;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n updateErrorState() {\n const oldState = this.errorState;\n const parent = this.parentFormGroup || this.parentForm;\n const matcher = this.errorStateMatcher || this.defaultErrorStateMatcher;\n const control = this.ngControl ? this.ngControl.control as UntypedFormControl : null;\n const newState = matcher.isErrorState(control, parent);\n\n if (newState !== oldState) {\n this.errorState = newState;\n this.stateChanges.next();\n }\n }\n };\n}\n","import { InjectionToken } from '@angular/core';\nimport { DateFormats } from '@mosaic-design/date-adapter';\n\n\nexport const MC_DATE_FORMATS = new InjectionToken<DateFormats>('mc-date-formats');\nexport type McDateFormats = DateFormats;\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { DateAdapter as BaseDateAdapter } from '@mosaic-design/date-adapter';\nimport { Observable, Subject } from 'rxjs';\n\n\n/** InjectionToken for datepicker that can be used to override default locale code. */\nexport const MC_DATE_LOCALE = new InjectionToken<string>('MC_DATE_LOCALE', {\n providedIn: 'root',\n factory: MC_DATE_LOCALE_FACTORY\n});\n\n/** @docs-private */\n// tslint:disable-next-line:naming-convention\nexport function MC_DATE_LOCALE_FACTORY(): string {\n return inject(LOCALE_ID);\n}\n\nexport abstract class DateAdapter<D> extends BaseDateAdapter<D> {\n /** A stream that emits when the locale changes. */\n abstract get localeChanges(): Observable<any>;\n\n protected abstract _localeChanges: Subject<void>;\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroupDirective, NgForm, UntypedFormControl } from '@angular/forms';\n\n\n/** Error state matcher that matches when a control is invalid and dirty. */\n@Injectable()\nexport class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.dirty || (form && form.submitted)));\n }\n}\n\n/** Provider that defines how form controls behave with regards to displaying error messages. */\n@Injectable({ providedIn: 'root' })\nexport class ErrorStateMatcher {\n isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n return !!(control && control.invalid && (control.touched || (form && form.submitted)));\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DateAdapter } from '@mosaic-design/date-adapter';\nimport { DateFormatter as BaseDateFormatter } from '@mosaic-design/date-formatter';\n\nimport { MC_DATE_LOCALE } from '../../datetime';\n\n\n@Injectable()\nexport class DateFormatter<D> extends BaseDateFormatter<D> {\n constructor(\n override readonly adapter: DateAdapter<D>,\n @Inject(MC_DATE_LOCALE) locale: string\n ) {\n super(adapter, locale);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DateTimeOptions } from '@mosaic-design/date-formatter';\n\nimport { DateAdapter } from '../../datetime';\n\nimport { DateFormatter } from './formatter';\n\n\n@Pipe({ name: 'absoluteLongDate' })\nexport class AbsoluteDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, currYear?: boolean): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteLongDate(date, currYear) : '';\n }\n}\n\n@Pipe({ name: 'absoluteLongDateTime' })\nexport class AbsoluteDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteLongDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'absoluteShortDate' })\nexport class AbsoluteDateShortFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, currYear?: boolean): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteShortDate(date, currYear) : '';\n }\n}\n\n@Pipe({ name: 'absoluteShortDateTime' })\nexport class AbsoluteShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.absoluteShortDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'relativeLongDate' })\nexport class RelativeDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeLongDate(date) : '';\n }\n}\n\n@Pipe({ name: 'relativeLongDateTime' })\nexport class RelativeDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeLongDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'relativeShortDate' })\nexport class RelativeShortDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeShortDate(date) : '';\n }\n}\n\n@Pipe({ name: 'relativeShortDateTime' })\nexport class RelativeShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform(value: D | string, options?: DateTimeOptions): string {\n const date = this.adapter.deserialize(value);\n\n return date ? this.formatter.relativeShortDateTime(date, options) : '';\n }\n}\n\n@Pipe({ name: 'rangeLongDate' })\nexport class RangeDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[]): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeLongDate(date1 as D, date2 as D);\n }\n}\n\n@Pipe({ name: 'rangeShortDate' })\nexport class RangeShortDateFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[]): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeShortDate(date1 as D, date2 as D);\n }\n}\n\n@Pipe({ name: 'rangeLongDateTime' })\nexport class RangeDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeLongDateTime(date1 as D, date2 as D, options);\n }\n}\n\n@Pipe({ name: 'rangeMiddleDateTime' })\nexport class RangeMiddleDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeMiddleDateTime(date1 as D, date2 as D, options);\n }\n}\n\n@Pipe({ name: 'rangeShortDateTime' })\nexport class RangeShortDateTimeFormatterPipe<D> implements PipeTransform {\n constructor(\n private adapter: DateAdapter<D>,\n private formatter: DateFormatter<D>\n ) {}\n\n transform([value1, value2]: D[] | string[], options?: DateTimeOptions): string {\n const date1 = this.adapter.deserialize(value1);\n const date2 = this.adapter.deserialize(value2);\n\n return this.formatter.rangeShortDateTime(date1 as D, date2 as D, options);\n }\n}\n","/* tslint:disable:naming-convention */\nimport { Inject, Injectable, InjectionToken, Optional, Pipe, PipeTransform } from '@angular/core';\n\n\nexport const MC_LOCALE_ID = new InjectionToken<string>('McLocaleId');\n\nexport const MC_NUMBER_FORMATTER_OPTIONS = new InjectionToken<string>('McNumberFormatterOptions');\n\nexport const MC_NUMBER_FORMATTER_DEFAULT_OPTIONS: ParsedDigitsInfo = {\n useGrouping: true,\n minimumIntegerDigits: 1,\n minimumFractionDigits: 0,\n maximumFractionDigits: 3\n};\n\nexport const DEFAULT_MC_LOCALE_ID = 'ru';\n\n\nfunction isEmpty(value: any): boolean {\n return value == null || value === '' || value !== value;\n}\n\nfunction strToNumber(value: number | string): number {\n if (typeof value === 'string' && !isNaN(Number(value) - parseFloat(value))) {\n return Number(value);\n }\n\n if (typeof value !== 'number') {\n throw new Error(`${value} is not a number`);\n }\n\n return value;\n}\n\nexport const NUMBER_FORMAT_REGEXP = /^(\\d+)?\\.((\\d+)(-(\\d+))?(-(true|false))?)?$/;\n\nconst minIntGroupPosition = 1;\nconst minFractionGroupPosition = 3;\nconst maxFractionGroupPosition = 5;\nconst useGroupingPosition = 7;\n\ninterface NumberFormatOptions {\n useGrouping: boolean;\n\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n minimumSignificantDigits: number;\n maximumSignificantDigits: number;\n\n localeMatcher?: string;\n style?: string;\n\n currency?: string;\n currencyDisplay?: string;\n}\n\nclass ParsedDigitsInfo {\n useGrouping: boolean;\n minimumIntegerDigits: number;\n minimumFractionDigits: number;\n maximumFractionDigits: number;\n}\n\nfunction parseDigitsInfo(digitsInfo: string): ParsedDigitsInfo {\n const parts = digitsInfo.match(NUMBER_FORMAT_REGEXP);\n\n if (parts === null) {\n throw new Error(`${digitsInfo} is not a valid digit info`);\n }\n\n const minIntPart = parts[minIntGroupPosition];\n const minFractionPart = parts[minFractionGroupPosition];\n const maxFractionPart = parts[maxFractionGroupPosition];\n const useGroupingPart = parts[useGroupingPosition];\n\n const result = new ParsedDigitsInfo();\n\n if (minIntPart != null) {\n result.minimumIntegerDigits = parseInt(minIntPart);\n }\n\n if (minFractionPart != null) {\n result.minimumFractionDigits = parseInt(minFractionPart);\n }\n\n if (maxFractionPart != null) {\n result.maximumFractionDigits = parseInt(maxFractionPart);\n } else if (minFractionPart != null && result.minimumFractionDigits > result.maximumFractionDigits) {\n result.maximumFractionDigits = result.minimumFractionDigits;\n }\n\n if (useGroupingPart != null) {\n result.useGrouping = useGroupingPart === 'true';\n }\n\n return result;\n}\n\n\n@Injectable({ providedIn: 'root' })\n@Pipe({name: 'mcNumber'})\nexport class McDecimalPipe implements PipeTransform {\n constructor(\n @Optional() @Inject(MC_LOCALE_ID) private locale: string,\n @Optional() @Inject(MC_NUMBER_FORMATTER_OPTIONS) private readonly options: ParsedDigitsInfo\n ) {\n this.options = this.options || MC_NUMBER_FORMATTER_DEFAULT_OPTIONS;\n }\n\n /**\n * @param value The number to be formatted.\n * @param digitsInfo Decimal representation options, specified by a string\n * in the following format:<br>\n * <code>{minIntegerDigits}.{minFractionDigits}-{maxFractionDigits}</code>.\n * - `minIntegerDigits`: The minimum number of integer digits before the decimal point.\n * Default is `1`.\n * - `minFractionDigits`: The minimum number of digits after the decimal point.\n * Default is `0`.\n * - `maxFractionDigits`: The maximum number of digits after the decimal point.\n * Default is `3`.\n * @param locale A locale code for the locale format rules to use.\n * When not supplied, uses the value of `MC_LOCALE_ID`, which is `ru` by default.\n */\n transform(value: any, digitsInfo?: string, locale?: string): string | null {\n if (isEmpty(value)) { return null; }\n\n const currentLocale = locale || this.locale || DEFAULT_MC_LOCALE_ID;\n\n let parsedDigitsInfo;\n\n if (digitsInfo) {\n parsedDigitsInfo = parseDigitsInfo(digitsInfo);\n }\n\n const options: NumberFormatOptions = {\n ...this.options,\n ...parsedDigitsInfo\n };\n\n try {\n const num = strToNumber(value);\n\n return Intl.NumberFormat.call(this, currentLocale, options).format(num);\n } catch (error: any) {\n throw Error(`InvalidPipeArgument: McDecimalPipe for pipe '${JSON.stringify(error.message)}'`);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DateFormatter } from './date/formatter';\nimport {\n AbsoluteDateFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n RangeDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe\n} from './date/formatter.pipe';\nimport { McDecimalPipe } from './number/formatter';\n\n\n@NgModule({\n declarations: [\n McDecimalPipe,\n\n AbsoluteDateFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe,\n\n RangeDateFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe\n ],\n exports: [\n McDecimalPipe,\n\n AbsoluteDateFormatterPipe,\n AbsoluteDateTimeFormatterPipe,\n AbsoluteDateShortFormatterPipe,\n AbsoluteShortDateTimeFormatterPipe,\n\n RelativeDateFormatterPipe,\n RelativeDateTimeFormatterPipe,\n RelativeShortDateFormatterPipe,\n RelativeShortDateTimeFormatterPipe,\n\n RangeDateFormatterPipe,\n RangeShortDateFormatterPipe,\n RangeDateTimeFormatterPipe,\n RangeShortDateTimeFormatterPipe,\n RangeMiddleDateTimeFormatterPipe\n ],\n providers: [DateFormatter]\n})\nexport class McFormattersModule {}\n\n\nexport * from './number/formatter';\nexport * from './date/formatter';\nexport * from './date/formatter.pipe';\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n ElementRef,\n QueryList\n} from '@angular/core';\n\n\n@Directive({\n selector: '.mc-form__row, .mc-form__fieldset, .mc-form__legend',\n exportAs: 'mcFormElement',\n host: {\n '[class.mc-form-row_margin]': 'margin'\n }\n})\nexport class McFormElement implements AfterContentInit {\n margin = false;\n\n isRow = false;\n isFieldSet = false;\n hasLegend = false;\n isHorizontal = false;\n\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n constructor(private readonly element: ElementRef<HTMLElement>) {}\n\n ngAfterContentInit(): void {\n const classList = this.element.nativeElement.classList;\n\n this.isRow = classList.contains('mc-form__row');\n this.isHorizontal = classList.contains('mc-horizontal');\n\n this.isFieldSet = classList.contains('mc-form__fieldset');\n\n if (this.isFieldSet && this.element.nativeElement.firstElementChild) {\n this.hasLegend = this.element.nativeElement.firstElementChild.classList.contains('mc-form__legend');\n }\n }\n}\n\n\n@Directive({\n selector: '.mc-form-vertical, .mc-form-horizontal',\n exportAs: 'mcForm',\n host: {\n class: 'mc-form'\n }\n})\nexport class McForm implements AfterContentInit {\n @ContentChildren(McFormElement) elements: QueryList<McFormElement>;\n\n ngAfterContentInit(): void {\n this.handleElements(this.elements);\n }\n\n handleElements(elements: QueryList<McFormElement>): void {\n elements.forEach((element, index) => {\n const nextElement: McFormElement | undefined = elements.get(index + 1);\n\n if (element.isFieldSet && !element.isHorizontal) {\n this.handleElements(element.elements);\n }\n\n element.margin = !!(nextElement && !nextElement.hasLegend);\n });\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport {\n McForm,\n McFormElement\n} from './forms.directive';\n\n\n@NgModule({\n exports: [\n McForm,\n McFormElement\n ],\n declarations: [\n McForm,\n McFormElement\n ]\n})\nexport class McFormsModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n\nexport function escapeRegExp(value: string) {\n if (value) {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n }\n\n return value;\n}\n\n@Pipe({ name: 'mcHighlight' })\nexport class McHighlightPipe implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) { return value; }\n\n return value.replace(new RegExp(`(${escapeRegExp(args)})`, 'gi'), '<mark class=\"mc-highlight\">$1</mark>');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McHighlightPipe } from './highlight.pipe';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McHighlightPipe],\n declarations: [McHighlightPipe]\n})\nexport class McHighlightModule {}\n\n\nexport * from './highlight.pipe';\n","import { InjectionToken } from '@angular/core';\n\n\n/** InjectionToken that can be used to specify the global label options. */\nexport const MC_LABEL_GLOBAL_OPTIONS =\n new InjectionToken<LabelOptions>('mc-label-global-options');\n\n/** Type for the available floatLabel values. */\nexport type FloatLabelType = 'always' | 'never' | 'auto';\n\n/** Configurable options for floating labels. */\n// tslint:disable-next-line:naming-convention\nexport interface LabelOptions {\n /**\n * Whether the label should float `always`, `never`, or `auto` (only when necessary).\n * Default behavior is assumed to be `auto`.\n */\n float?: FloatLabelType;\n}\n","import { NgModule, Directive, ElementRef, QueryList } from '@angular/core';\n\n\n/**\n * Shared directive to count lines inside a text area, such as a list item.\n * Line elements can be extracted with a @ContentChildren(McLine) query, then\n * counted by checking the query list's length.\n */\n@Directive({\n selector: '[mc-line], [mcLine]',\n host: { class: 'mc-line' }\n})\nexport class McLine {}\n\n/**\n * Helper that takes a query list of lines and sets the correct class on the host.\n * @docs-private\n */\nexport class McLineSetter {\n constructor(private _lines: QueryList<McLine>, private _element: ElementRef) {\n this.setLineClass(this._lines.length);\n\n this._lines.changes.subscribe(() => {\n this.setLineClass(this._lines.length);\n });\n }\n\n private setLineClass(count: number): void {\n const minLineClassNumber = 2;\n const maxLineClassNumber = 3;\n this.resetClasses();\n if (count === minLineClassNumber || count === maxLineClassNumber) {\n this.setClass(`mc-${count}-line`, true);\n } else if (count > maxLineClassNumber) {\n this.setClass(`mc-multi-line`, true);\n }\n }\n\n private resetClasses(): void {\n this.setClass('mc-2-line', false);\n this.setClass('mc-3-line', false);\n this.setClass('mc-multi-line', false);\n }\n\n private setClass(className: string, isAdd: boolean): void {\n if (isAdd) {\n this._element.nativeElement.classList.add(className);\n } else {\n this._element.nativeElement.classList.remove(className);\n }\n }\n}\n\n@NgModule({\n imports: [],\n exports: [McLine],\n declarations: [McLine]\n})\nexport class McLineModule {}\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy } from '@angular/core';\n\nimport { mixinDisabled, CanDisable, CanDisableCtor } from '../common-behaviors';\n\n\n/** @docs-private */\nexport class McOptgroupBase {}\n\n// tslint:disable-next-line: naming-convention\nexport const McOptgroupMixinBase: CanDisableCtor & typeof McOptgroupBase = mixinDisabled(McOptgroupBase);\n\nlet uniqueOptgroupIdCounter = 0;\n\n/**\n * Component that is used to group instances of `mc-option`.\n */\n@Component({\n selector: 'mc-optgroup',\n exportAs: 'mcOptgroup',\n templateUrl: 'optgroup.html',\n styleUrls: ['./optgroup.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n inputs: ['disabled'],\n host: {\n class: 'mc-optgroup',\n '[class.mc-disabled]': 'disabled'\n }\n})\nexport class McOptgroup extends McOptgroupMixinBase implements CanDisable {\n @Input() label: string;\n\n /** Unique id for the underlying label. */\n labelId: string = `mc-optgroup-label-${uniqueOptgroupIdCounter++}`;\n}\n","<label class=\"mc-optgroup-label\" [id]=\"labelId\">{{ label }}</label>\n<ng-content select=\"mc-option, mc-list-option, mc-timezone-option, ng-container\"></ng-content>\n","import { Component, ViewEncapsulation, Input, ChangeDetectionStrategy, ElementRef } from '@angular/core';\n\nimport {\n CanColor,\n CanColorCtor,\n CanDisable,\n CanDisableCtor,\n mixinColor,\n mixinDisabled,\n ThemePalette\n} from '../../common-behaviors';\n\n\nexport type McPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n\n// Boilerplate for applying mixins to McPseudoCheckbox.\n/** @docs-private */\nexport class McPseudoCheckboxBase {\n constructor(public elementRef: ElementRef) {}\n}\n\n/** @docs-private */\nexport const McPseudoCheckboxMixinBase:\n CanColorCtor &\n CanDisableCtor &\n typeof McPseudoCheckboxBase = mixinColor(mixinDisabled(McPseudoCheckboxBase), ThemePalette.Primary);\n\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mc-primary .mc-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `<mc-checkbox>` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n selector: 'mc-pseudo-checkbox',\n templateUrl: 'pseudo-checkbox.partial.html',\n styleUrls: ['pseudo-checkbox.scss'],\n host: {\n class: 'mc-pseudo-checkbox',\n '[class.mc-indeterminate]': 'state === \"indeterminate\"',\n '[class.mc-checked]': 'state === \"checked\"',\n '[class.mc-disabled]': 'disabled'\n },\n preserveWhitespaces: false,\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class McPseudoCheckbox extends McPseudoCheckboxMixinBase implements CanColor, CanDisable {\n @Input() state: McPseudoCheckboxState = 'unchecked';\n\n @Input() disabled: boolean = false;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","<i class=\"mc-checkbox-checkmark mc mc-check_16\"></i>\n<i class=\"mc-checkbox-mixedmark mc mc-minus_16\"></i>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\n\nimport { McOptgroup } from './optgroup';\n\n\n/**\n * Option IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nlet uniqueIdCounter = 0;\n\n/** Event object emitted by McOption when selected or deselected. */\nexport class McOptionSelectionChange {\n constructor(public source: McOption, public isUserInput = false) {}\n}\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\n// tslint:disable-next-line: naming-convention\nexport interface McOptionParentComponent {\n multiple?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MC_OPTION_PARENT_COMPONENT =\n new InjectionToken<McOptionParentComponent>('MC_OPTION_PARENT_COMPONENT');\n\n/**\n * Single option inside of a `<mc-select>` element.\n */\n@Component({\n selector: 'mc-option',\n exportAs: 'mcOption',\n host: {\n '[attr.tabindex]': 'getTabIndex()',\n class: 'mc-option',\n '[class.mc-selected]': 'selected',\n '[class.mc-option-multiple]': 'multiple',\n '[class.mc-active]': 'active',\n '[class.mc-disabled]': 'disabled',\n '[id]': 'id',\n\n '(click)': 'selectViaInteraction()',\n '(keydown)': 'handleKeydown($event)'\n },\n styleUrls: ['option.scss'],\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOption implements AfterViewChecked, OnDestroy {\n @ViewChild('mcTextElement', { static: false }) textElement: ElementRef;\n\n /** The form value of the option. */\n @Input() value: any;\n\n @Input()\n get showCheckbox() {\n return this._showCheckbox === undefined ? this.multiple : this._showCheckbox;\n }\n\n set showCheckbox(value) {\n this._showCheckbox = coerceBooleanProperty(value);\n }\n\n private _showCheckbox: boolean;\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter<McOptionSelectionChange>();\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly stateChanges = new Subject<void>();\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO: Add input property alternative for node envs.\n return (this.getHostElement().textContent || '').trim();\n }\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this.parent && this.parent.multiple;\n }\n\n get id(): string {\n return this._id;\n }\n\n private _id = `mc-option-${uniqueIdCounter++}`;\n\n get selected(): boolean {\n return this._selected;\n }\n\n private _selected = false;\n\n @Input()\n get disabled() {\n return (this.group && this.group.disabled) || this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _disabled = false;\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n private _active = false;\n\n private mostRecentViewValue = '';\n\n constructor(\n private readonly element: ElementRef,\n private readonly changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MC_OPTION_PARENT_COMPONENT) private readonly parent: McOptionParentComponent,\n @Optional() readonly group: McOptgroup\n ) {}\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mc-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this.mostRecentViewValue) {\n this.mostRecentViewValue = viewValue;\n this.stateChanges.next();\n }\n }\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n getHeight(): number {\n // tslint:disable-next-line:naming-convention\n const DOMRect: DOMRect = this.element.nativeElement.getClientRects()[0];\n\n return DOMRect ? DOMRect.height : 0;\n }\n\n select(): void {\n if (!this._selected) {\n this._selected = true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n deselect(): void {\n if (this._selected) {\n this._selected = false;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent();\n }\n }\n\n focus(): void {\n const element = this.getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus();\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n handleKeydown(event: KeyboardEvent): void {\n // tslint:disable-next-line\n if (event.keyCode === ENTER || event.keyCode === SPACE) {\n this.selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n\n this.changeDetectorRef.markForCheck();\n this.emitSelectionChangeEvent(true);\n }\n }\n\n getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n getHostElement(): HTMLElement {\n return this.element.nativeElement;\n }\n\n /** Emits the selection change event. */\n private emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new McOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList<McOption>,\n optionGroups: QueryList<McOptgroup>\n): number {\n\n if (optionGroups.length) {\n const optionsArray = options.toArray();\n const groups = optionGroups.toArray();\n\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionIndex Index of the option to be scrolled into the view.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function getOptionScrollPosition(\n optionIndex: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number\n): number {\n const optionOffset = optionIndex * optionHeight;\n\n if (optionOffset < currentScrollPosition) { return optionOffset; }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n\n","<mc-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\"\n [disabled]=\"disabled\">\n</mc-pseudo-checkbox>\n\n<span #mcTextElement class=\"mc-option-text\"><ng-content></ng-content></span>\n\n<div class=\"mc-option-overlay\"></div>\n","import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n OnDestroy,\n ViewEncapsulation\n} from '@angular/core';\nimport { ENTER, SPACE, TAB } from '@ptsecurity/cdk/keycodes';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { CanDisableCtor, HasTabIndexCtor, mixinDisabled, mixinTabIndex } from '../common-behaviors';\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McOptionActionParent {\n dropdownTrigger: {\n opened: boolean;\n restoreFocus: boolean;\n dropdownClosed: EventEmitter<void>;\n lastDestroyReason: void | 'click' | 'keydown' | 'tab';\n openedBy: Exclude<FocusOrigin, 'program' | null> | undefined;\n toggle(): void;\n };\n tooltipTrigger: {\n disabled: boolean;\n };\n focus(): void;\n}\n\nexport const MC_OPTION_ACTION_PARENT = new InjectionToken<McOptionActionParent>('MC_OPTION_ACTION_PARENT');\n\n/** @docs-private */\nexport class McOptionActionBase {}\n\n/** @docs-private */\nexport const McOptionActionMixinBase:\n HasTabIndexCtor & CanDisableCtor & typeof McOptionActionBase = mixinTabIndex(mixinDisabled(McOptionActionBase));\n\n\n@Component({\n selector: 'mc-option-action',\n exportAs: 'mcOptionAction',\n template: `\n <ng-container [ngSwitch]=\"!!customIcon\">\n <i class=\"mc mc-icon mc-ellipsis_16\" *ngSwitchCase=\"false\"></i>\n <ng-content select=\"[mc-icon]\" *ngSwitchCase=\"true\"></ng-content>\n </ng-container>\n `,\n styleUrls: ['./action.scss'],\n host: {\n class: 'mc-option-action',\n '[class.mc-expanded]': 'false',\n\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': '-1',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()',\n '(click)': 'onClick($event)',\n '(keydown)': 'onKeyDown($event)'\n },\n inputs: ['disabled'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class McOptionActionComponent extends McOptionActionMixinBase implements AfterViewInit, OnDestroy {\n @ContentChild('customIcon') customIcon: ElementRef;\n\n hasFocus: boolean = false;\n\n get active(): boolean {\n return this.hasFocus || !!this.option.dropdownTrigger?.opened;\n }\n\n private readonly destroy = new Subject<void>();\n\n constructor(\n private elementRef: ElementRef,\n private focusMonitor: FocusMonitor,\n @Inject(MC_OPTION_ACTION_PARENT) private option: McOptionActionParent\n ) {\n super();\n\n this.focusMonitor.monitor(this.elementRef.nativeElement);\n }\n\n ngAfterViewInit(): void {\n if (!this.option.dropdownTrigger) { return; }\n\n this.option.dropdownTrigger.restoreFocus = false;\n\n this.option.dropdownTrigger.dropdownClosed\n .pipe(takeUntil(this.destroy))\n .subscribe(() => {\n this.preventShowingTooltip();\n\n const destroyReason: FocusOrigin = this.option.dropdownTrigger.lastDestroyReason === 'keydown' ?\n 'keyboard' :\n 'program';\n\n this.focus(destroyReason);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy.next();\n this.destroy.complete();\n this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);\n }\n\n focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (this.focusMonitor && origin) {\n this.focusMonitor.focusVia(this.elementRef.nativeElement, origin, options);\n } else {\n this.elementRef.nativeElement.focus();\n }\n\n this.hasFocus = true;\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n onClick($event) {\n $event.stopPropagation();\n }\n\n onKeyDown($event) {\n if ([SPACE, ENTER].includes($event.keyCode) && this.option.dropdownTrigger) {\n this.option.dropdownTrigger.openedBy = 'keyboard';\n this.option.dropdownTrigger.toggle();\n } else if ($event.shiftKey && $event.keyCode === TAB) {\n this.hasFocus = false;\n\n this.option.focus();\n } else if ($event.keyCode === TAB) {\n return;\n }\n\n $event.preventDefault();\n $event.stopPropagation();\n }\n\n private preventShowingTooltip() {\n if (!this.option.tooltipTrigger) { return; }\n\n this.option.tooltipTrigger.disabled = true;\n\n setTimeout(() => this.option.tooltipTrigger.disabled = false);\n }\n}\n","export enum MultipleMode {\n CHECKBOX = 'checkbox',\n KEYBOARD = 'keyboard'\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckbox } from './pseudo-checkbox';\n\n\n@NgModule({\n imports: [CommonModule],\n exports: [McPseudoCheckbox],\n declarations: [McPseudoCheckbox]\n})\nexport class McPseudoCheckboxModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { McPseudoCheckboxModule } from '../selection';\n\nimport { McOptionActionComponent } from './action';\nimport { McOptgroup } from './optgroup';\nimport { McOption } from './option';\n\n\n@NgModule({\n imports: [CommonModule, McPseudoCheckboxModule],\n declarations: [McOption, McOptgroup, McOptionActionComponent],\n exports: [McOption, McOptgroup, McOptionActionComponent]\n})\nexport class McOptionModule {}\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\n\n\nexport const POSITION_MAP: { [key: string]: ConnectionPositionPair } = {\n top: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topCenter: {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom'\n },\n topLeft: {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n topRight: {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom'\n },\n right: {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center'\n },\n rightTop: {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top'\n },\n rightBottom: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'bottom'\n },\n bottom: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomCenter: {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top'\n },\n bottomLeft: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top'\n },\n bottomRight: {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top'\n },\n left: {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center'\n },\n leftTop: {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top'\n },\n leftBottom: {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'bottom'\n }\n};\n\nexport const EXTENDED_OVERLAY_POSITIONS = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom\n]);\n\nexport const TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.top,\n POSITION_MAP.bottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight\n]);\n\nexport const BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottom,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom\n]);\n\nexport const RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.right,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.leftBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.left,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.rightBottom,\n POSITION_MAP.top,\n POSITION_MAP.bottom\n]);\n\nexport const RIGHT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop,\n POSITION_MAP.left,\n POSITION_MAP.leftBottom,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const RIGHT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.rightBottom,\n POSITION_MAP.leftBottom,\n POSITION_MAP.left,\n POSITION_MAP.leftTop,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomLeft\n]);\n\nexport const LEFT_TOP_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop,\n POSITION_MAP.right,\n POSITION_MAP.rightBottom,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const LEFT_BOTTOM_POSITION_PRIORITY = objectValues([\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom,\n POSITION_MAP.right,\n POSITION_MAP.rightTop,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomRight\n]);\n\nexport const TOP_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomRight,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const TOP_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.topRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottom,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.leftBottom,\n POSITION_MAP.rightBottom\n]);\n\nexport const BOTTOM_RIGHT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomRight,\n POSITION_MAP.bottomLeft,\n POSITION_MAP.topRight,\n POSITION_MAP.top,\n POSITION_MAP.topLeft,\n POSITION_MAP.leftTop,\n POSITION_MAP.rightTop\n]);\n\nexport const BOTTOM_LEFT_POSITION_PRIORITY = objectValues([\n POSITION_MAP.bottomLeft,\n POSITION_MAP.bottomRight,\n POSITION_MAP.topLeft,\n POSITION_MAP.top,\n POSITION_MAP.topRight,\n POSITION_MAP.rightTop,\n POSITION_MAP.leftTop\n]);\n\nexport const POSITION_PRIORITY_STRATEGY = {\n top: TOP_POSITION_PRIORITY,\n topLeft: TOP_LEFT_POSITION_PRIORITY,\n topRight: TOP_RIGHT_POSITION_PRIORITY,\n bottom: BOTTOM_POSITION_PRIORITY,\n bottomLeft: BOTTOM_LEFT_POSITION_PRIORITY,\n bottomRight: BOTTOM_RIGHT_POSITION_PRIORITY,\n left: LEFT_POSITION_PRIORITY,\n leftTop: LEFT_TOP_POSITION_PRIORITY,\n leftBottom: LEFT_BOTTOM_POSITION_PRIORITY,\n right: RIGHT_POSITION_PRIORITY,\n rightTop: RIGHT_TOP_POSITION_PRIORITY,\n rightBottom: RIGHT_BOTTOM_POSITION_PRIORITY\n};\n\nexport const POSITION_TO_CSS_MAP: {[key: string]: string} = {\n top: 'top',\n topLeft: 'top-left',\n topRight: 'top-right',\n right: 'right',\n rightTop: 'right-top',\n rightBottom: 'right-bottom',\n left: 'left',\n leftTop: 'left-top',\n leftBottom: 'left-bottom',\n bottom: 'bottom',\n bottomLeft: 'bottom-left',\n bottomRight: 'bottom-right'\n};\n\n\nfunction arrayMap<T, S>(array: T[], iteratee: (item: T, index: number, arr: T[]) => S): S[] {\n let index = -1;\n const length = array === null ? 0 : array.length;\n const result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[ index ], index, array);\n }\n\n return result;\n}\nfunction baseValues<T>(object: T[], props: string[]): T[] {\n return arrayMap(props, (key) => object[key]);\n}\nfunction objectValues<T>(object: T[]): T[] {\n return object === null ? [] : baseValues(object, Object.keys(object));\n}\n","export enum PopUpPlacements {\n Top = 'top',\n TopLeft = 'topLeft',\n TopRight = 'topRight',\n Right = 'right',\n RightTop = 'rightTop',\n RightBottom = 'rightBottom',\n Left = 'left',\n LeftTop = 'leftTop',\n LeftBottom = 'leftBottom',\n Bottom = 'bottom',\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight'\n}\n\nexport enum PopUpVisibility {\n Initial = 'initial',\n Visible = 'visible',\n Hidden = 'hidden'\n}\n\nexport enum PopUpTriggers {\n Click = 'click',\n Focus = 'focus',\n Hover = 'hover'\n}\n\nexport enum PopUpSizes {\n Small = 'small',\n Normal = 'normal',\n Large = 'large'\n}\n","import { AnimationEvent } from '@angular/animations';\nimport { ChangeDetectorRef, Directive, EventEmitter, OnDestroy, TemplateRef } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { PopUpVisibility } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUp implements OnDestroy {\n header: string | TemplateRef<any>;\n content: string | TemplateRef<any>;\n\n classMap = {};\n\n warning: boolean;\n\n visibility = PopUpVisibility.Initial;\n visibleChange = new EventEmitter<boolean>();\n\n protected prefix: string;\n\n /** Subject for notifying that the tooltip has been hidden from the view */\n protected readonly onHideSubject = new Subject<void>();\n\n protected closeOnInteraction: boolean = false;\n\n private showTimeoutId: any;\n private hideTimeoutId: any;\n\n protected constructor(private changeDetectorRef: ChangeDetectorRef) {}\n\n ngOnDestroy() {\n clearTimeout(this.showTimeoutId);\n clearTimeout(this.hideTimeoutId);\n\n this.onHideSubject.complete();\n }\n\n isTemplateRef(value: any): boolean {\n return value instanceof TemplateRef;\n }\n\n show(delay: number): void {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n }\n\n this.closeOnInteraction = true;\n\n this.showTimeoutId = setTimeout(\n () => {\n this.showTimeoutId = undefined;\n\n this.visibility = PopUpVisibility.Visible;\n this.visibleChange.emit(true);\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n hide(delay: number): void {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n }\n\n this.hideTimeoutId = setTimeout(\n () => {\n this.hideTimeoutId = undefined;\n this.visibility = PopUpVisibility.Hidden;\n\n this.visibleChange.emit(false);\n this.onHideSubject.next();\n\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n this.markForCheck();\n },\n delay\n );\n }\n\n isVisible(): boolean {\n return this.visibility === PopUpVisibility.Visible;\n }\n\n updateClassMap(placement: string, customClass: string, classMap?): void {\n this.classMap = {\n [`${this.prefix}_placement-${placement}`]: true,\n [customClass]: !!customClass,\n ...classMap\n };\n }\n\n /** Returns an observable that notifies when the tooltip has been hidden from view. */\n afterHidden(): Observable<void> {\n return this.onHideSubject.asObservable();\n }\n\n markForCheck(): void {\n this.changeDetectorRef.markForCheck();\n }\n\n detectChanges(): void {\n this.changeDetectorRef.detectChanges();\n }\n\n animationStart() {\n this.closeOnInteraction = false;\n }\n\n animationDone({ toState }: AnimationEvent): void {\n if (toState === PopUpVisibility.Hidden && !this.isVisible()) {\n this.onHideSubject.next();\n }\n\n if (toState === PopUpVisibility.Visible || toState === PopUpVisibility.Hidden) {\n this.closeOnInteraction = true;\n }\n }\n\n handleBodyInteraction(): void {\n if (this.closeOnInteraction) {\n this.hide(0);\n }\n }\n}\n","import { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ConnectedOverlayPositionChange,\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayRef,\n ScrollDispatcher,\n OverlayConfig\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n NgZone,\n TemplateRef,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { ESCAPE } from '@ptsecurity/cdk/keycodes';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { delay as rxDelay, distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport {\n EXTENDED_OVERLAY_POSITIONS,\n POSITION_MAP,\n POSITION_PRIORITY_STRATEGY,\n POSITION_TO_CSS_MAP\n} from '../overlay/overlay-position-map';\n\nimport { PopUpPlacements, PopUpTriggers } from './constants';\n\n\n@Directive()\n// tslint:disable-next-line:naming-convention\nexport abstract class McPopUpTrigger<T> {\n isOpen: boolean = false;\n\n enterDelay: number = 0;\n leaveDelay: number = 0;\n\n abstract disabled: boolean;\n abstract trigger: string;\n abstract customClass: string;\n abstract content: string | TemplateRef<any>;\n\n abstract placementChange: EventEmitter<string>;\n abstract visibleChange: EventEmitter<boolean>;\n\n protected abstract originSelector: string;\n protected abstract overlayConfig: OverlayConfig;\n\n protected placement = PopUpPlacements.Top;\n protected placementPriority: string | string[] | null = null;\n\n protected visible = false;\n\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _content: string | TemplateRef<any>;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _disabled: boolean;\n // tslint:disable-next-line:naming-convention orthodox-getter-and-setter\n protected _customClass: string;\n\n protected overlayRef: OverlayRef | null;\n protected portal: ComponentPortal<T>;\n protected instance: any | null;\n\n protected listeners = new Map<string, EventListenerOrEventListenerObject>();\n protected closingActionsSubscription: Subscription;\n\n protected readonly availablePositions: { [key: string]: ConnectionPositionPair };\n protected readonly destroyed = new Subject<void>();\n\n protected constructor(\n protected overlay: Overlay,\n protected elementRef: ElementRef,\n protected ngZone: NgZone,\n protected scrollDispatcher: ScrollDispatcher,\n protected hostView: ViewContainerRef,\n protected scrollStrategy,\n protected direction?: Directionality\n ) {\n this.availablePositions = POSITION_MAP;\n }\n\n abstract updateClassMap(newPlacement?: string): void;\n\n abstract updateData(): void;\n\n abstract closingActions(): Observable<any>;\n\n abstract getOverlayHandleComponentType(): Type<T>;\n\n ngOnInit(): void {\n this.initListeners();\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n\n this.destroyed.next();\n this.destroyed.complete();\n }\n\n updatePlacement(value: PopUpPlacements) {\n if (POSITION_TO_CSS_MAP[value]) {\n this.placement = value;\n\n this.updateClassMap();\n } else {\n this.placement = PopUpPlacements.Top;\n\n console.warn(`Unknown position: ${value}. Will used default position: ${this.placement}`);\n }\n\n if (this.visible) {\n this.updatePosition();\n }\n }\n\n updatePlacementPriority(value) {\n if (value && value.length > 0) {\n this.placementPriority = value;\n } else {\n this.placementPriority = null;\n }\n }\n\n updateVisible(externalValue: boolean) {\n const value = coerceBooleanProperty(externalValue);\n\n if (this.visible !== value) {\n this.visible = value;\n\n if (value) {\n this.show();\n } else {\n this.hide();\n }\n }\n }\n\n handleKeydown(event: KeyboardEvent) {\n if (this.isOpen && event.keyCode === ESCAPE) { // tslint:disable-line\n this.hide();\n }\n }\n\n handleTouchend() {\n this.hide();\n }\n\n show(delay: number = this.enterDelay): void {\n if (this.disabled || this.instance) { return; }\n\n this.overlayRef = this.createOverlay();\n this.subscribeOnClosingActions();\n this.detach();\n\n this.portal = this.portal || new ComponentPortal(this.getOverlayHandleComponentType(), this.hostView);\n\n this.instance = this.overlayRef.attach(this.portal).instance;\n\n this.instance.afterHidden()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n this.updateClassMap();\n\n this.updateData();\n\n this.instance.visibleChange\n .pipe(takeUntil(this.destroyed), distinctUntilChanged())\n .subscribe((value) => {\n this.visible = value;\n this.visibleChange.emit(value);\n this.isOpen = value;\n });\n\n this.updatePosition();\n\n this.instance.show(delay);\n }\n\n hide(delay: number = this.leaveDelay): void {\n if (this.instance) {\n this.instance.hide(delay);\n }\n }\n\n detach = (): void => {\n if (this.overlayRef?.hasAttached()) {\n this.overlayRef.detach();\n }\n\n this.instance = null;\n }\n\n /** Create the overlay config and position strategy */\n createOverlay(): OverlayRef {\n if (this.overlayRef) { return this.overlayRef; }\n\n // Create connected position strategy that listens for scroll events to reposition.\n const strategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withTransformOriginOn(this.originSelector)\n .withFlexibleDimensions(false)\n .withPositions([...EXTENDED_OVERLAY_POSITIONS])\n .withScrollableContainers(this.scrollDispatcher.getAncestorScrollContainers(this.elementRef));\n\n strategy.positionChanges\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.onPositionChange);\n\n this.overlayRef = this.overlay.create({\n ...this.overlayConfig,\n direction: this.direction,\n positionStrategy: strategy,\n scrollStrategy: this.scrollStrategy()\n });\n\n this.subscribeOnClosingActions();\n\n this.overlayRef.detachments()\n .pipe(takeUntil(this.destroyed))\n .subscribe(this.detach);\n\n return this.overlayRef;\n }\n\n onPositionChange = ($event: ConnectedOverlayPositionChange): void => {\n if (!this.instance) { return; }\n\n let newPlacement = this.placement;\n\n const { originX, originY, overlayX, overlayY } = $event.connectionPair;\n\n Object.keys(this.availablePositions).some((key) => {\n if (\n originX === this.availablePositions[key].originX && originY === this.availablePositions[key].originY &&\n overlayX === this.availablePositions[key].overlayX && overlayY === this.availablePositions[key].overlayY\n ) {\n newPlacement = key as PopUpPlacements;\n\n return true;\n }\n\n return false;\n });\n\n this.placementChange.emit(newPlacement);\n\n this.updateClassMap(newPlacement);\n\n this.instance.detectChanges();\n }\n\n initListeners() {\n this.clearListeners();\n\n if (this.trigger.includes(PopUpTriggers.Click)) {\n this.listeners\n .set('click', () => this.show())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Hover)) {\n this.listeners\n .set('mouseenter', () => this.show())\n .set('mouseleave', () => this.hide())\n .forEach(this.addEventListener);\n }\n\n if (this.trigger.includes(PopUpTriggers.Focus)) {\n this.listeners\n .set('focus', () => this.show())\n .set('blur', () => this.hide())\n .forEach(this.addEventListener);\n }\n }\n\n /** Updates the position of the current popover. */\n updatePosition(reapplyPosition: boolean = false) {\n this.overlayRef = this.createOverlay();\n\n this.subscribeOnClosingActions();\n\n const position = (this.overlayRef.getConfig().positionStrategy as FlexibleConnectedPositionStrategy)\n .withPositions(this.getPrioritizedPositions())\n .withPush(true);\n\n if (reapplyPosition) {\n setTimeout(() => position.reapplyLastPosition());\n }\n }\n\n protected getPriorityPlacementStrategy(value: string | string[]): ConnectionPositionPair[] {\n const result: ConnectionPositionPair[] = [];\n const possiblePositions = Object.keys(this.availablePositions);\n\n if (Array.isArray(value)) {\n value.forEach((position: string) => {\n if (possiblePositions.includes(position)) {\n result.push(this.availablePositions[position]);\n }\n });\n } else if (possiblePositions.includes(value)) {\n result.push(this.availablePositions[value]);\n }\n\n return result;\n }\n\n protected getPrioritizedPositions() {\n if (this.placementPriority) {\n return this.getPriorityPlacementStrategy(this.placementPriority);\n }\n\n return POSITION_PRIORITY_STRATEGY[this.placement];\n }\n\n protected clearListeners() {\n this.listeners.forEach(this.removeEventListener);\n\n this.listeners.clear();\n }\n\n private addEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.addEventListener(event, listener);\n }\n\n private removeEventListener = (listener: EventListener | EventListenerObject, event: string) => {\n this.elementRef.nativeElement.removeEventListener(event, listener);\n }\n\n private subscribeOnClosingActions() {\n this.closingActionsSubscription?.unsubscribe();\n\n this.closingActionsSubscription = this.closingActions()\n .pipe(takeUntil(this.destroyed))\n .pipe(rxDelay(0))\n .subscribe((event) => {\n if (event?.type === 'click' && event.mcPopoverPreventHide) { return; }\n\n this.hide();\n });\n }\n}\n","export const selectEvents = 'selectEvents';\n","/**\n * Returns an exception to be thrown when attempting to change a select's `multiple` option\n * after initialization.\n * @docs-private\n */\nexport function getMcSelectDynamicMultipleError(): Error {\n return Error('Cannot change `multiple` mode of select after initialization.');\n}\n\n/**\n * Returns an exception to be thrown when attempting to assign a non-array value to a select\n * in `multiple` mode. Note that `undefined` and `null` are still valid values to allow for\n * resetting the value.\n * @docs-private\n */\nexport function getMcSelectNonArrayValueError(): Error {\n return Error('Value must be an array in multiple-selection mode.');\n}\n\n/**\n * Returns an exception to be thrown when assigning a non-function value to the comparator\n * used to determine if a value corresponds to an option. Note that whether the function\n * actually takes two values and returns a boolean is not checked.\n */\nexport function getMcSelectNonFunctionValueError(): Error {\n return Error('`compareWith` must be a function.');\n}\n","import { ScrollStrategy, Overlay, RepositionScrollStrategy } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\n\n\n/** The max height of the select's overlay panel */\nexport const SELECT_PANEL_MAX_HEIGHT = 224;\n\n/** The panel's padding on the x-axis */\nexport const SELECT_PANEL_PADDING_X = 1;\n\n/** The panel's x axis padding if it is indented (e.g. there is an option group). */\n/* tslint:disable-next-line:no-magic-numbers */\nexport const SELECT_PANEL_INDENT_PADDING_X = SELECT_PANEL_PADDING_X * 2;\n\n/**\n * The select panel will only \"fit\" inside the viewport if it is positioned at\n * this value or more away from the viewport boundary.\n */\nexport const SELECT_PANEL_VIEWPORT_PADDING = 8;\n\n\n/** Injection token that determines the scroll handling while a select is open. */\nexport const MC_SELECT_SCROLL_STRATEGY =\n new InjectionToken<() => ScrollStrategy>('mc-select-scroll-strategy');\n\n/** @docs-private */\nexport function mcSelectScrollStrategyProviderFactory(overlay: Overlay): () => RepositionScrollStrategy {\n return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const MC_SELECT_SCROLL_STRATEGY_PROVIDER = {\n provide: MC_SELECT_SCROLL_STRATEGY,\n deps: [Overlay],\n useFactory: mcSelectScrollStrategyProviderFactory\n};\n","import { DOCUMENT } from '@angular/common';\nimport { Inject, Injectable } from '@angular/core';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class McMeasureScrollbarService {\n\n get scrollBarWidth(): number {\n if (this._scrollBarWidth) {\n return this._scrollBarWidth;\n }\n this.initScrollBarWidth();\n\n return this._scrollBarWidth;\n }\n\n private _scrollBarWidth: number;\n private scrollbarMeasure = {\n position: 'absolute',\n top: '-9999px',\n width: '50px',\n height: '50px',\n overflow: 'scroll'\n };\n\n constructor(\n @Inject(DOCUMENT) private document: any\n ) {\n this.initScrollBarWidth();\n }\n\n initScrollBarWidth() {\n const scrollDiv = this.document.createElement('div');\n\n // tslint:disable-next-line\n for (const scrollProp in this.scrollbarMeasure) {\n if (this.scrollbarMeasure.hasOwnProperty(scrollProp)) {\n scrollDiv.style[scrollProp] = this.scrollbarMeasure[scrollProp];\n }\n }\n\n this.document.body.appendChild(scrollDiv);\n\n const width = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\n this.document.body.removeChild(scrollDiv);\n this._scrollBarWidth = width;\n }\n}\n","\nexport function isBoolean(val: any): val is boolean { return typeof val === 'boolean'; }\n\nexport function toBoolean(value: any): boolean {\n return value != null && `${value}` !== 'false';\n}\n","import { InjectionToken } from '@angular/core';\n\n\nexport const validationTooltipShowDelay = 10;\nexport const validationTooltipHideDelay = 3000;\n\n\n// tslint:disable-next-line:naming-convention\nexport interface McValidationOptions {\n useValidation: boolean;\n}\n\nexport const MC_VALIDATION = new InjectionToken<McValidationOptions>(\n 'McUseValidation',\n { factory: () => ({ useValidation: true }) }\n);\n","import { Version } from '@angular/core';\n\n\nexport const VERSION = new Version('15.0.1+sha-03bc62a');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["BaseDateAdapter","BaseDateFormatter","i1.DateAdapter","i2.DateFormatter","i1.McOptgroup","i3.McPseudoCheckbox","rxDelay"],"mappings":"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"}
|