@ngx-stoui/core 19.0.0 → 19.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.
- package/fesm2022/ngx-stoui-core.mjs.map +1 -1
- package/ngx-stoui.css +56 -50
- package/package.json +1 -1
- package/style/form/sto-form.scss +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\r\nMIT License\r\n\r\nCopyright (c) 2017 Nathan Friend\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE. **/\r\n\r\nexport enum Key {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Ctrl = 17,\r\n Alt = 18,\r\n PauseBreak = 19,\r\n CapsLock = 20,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n\r\n LeftArrow = 37,\r\n UpArrow = 38,\r\n RightArrow = 39,\r\n DownArrow = 40,\r\n\r\n Insert = 45,\r\n Delete = 46,\r\n\r\n Zero = 48,\r\n ClosedParen = Zero,\r\n One = 49,\r\n ExclamationMark = One,\r\n Two = 50,\r\n AtSign = Two,\r\n Three = 51,\r\n PoundSign = Three,\r\n Hash = PoundSign,\r\n Four = 52,\r\n DollarSign = Four,\r\n Five = 53,\r\n PercentSign = Five,\r\n Six = 54,\r\n Caret = Six,\r\n Hat = Caret,\r\n Seven = 55,\r\n Ampersand = Seven,\r\n Eight = 56,\r\n Star = Eight,\r\n Asterik = Star,\r\n Nine = 57,\r\n OpenParen = Nine,\r\n\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n E = 69,\r\n F = 70,\r\n G = 71,\r\n H = 72,\r\n I = 73,\r\n J = 74,\r\n K = 75,\r\n L = 76,\r\n M = 77,\r\n N = 78,\r\n O = 79,\r\n P = 80,\r\n Q = 81,\r\n R = 82,\r\n S = 83,\r\n T = 84,\r\n U = 85,\r\n V = 86,\r\n W = 87,\r\n X = 88,\r\n Y = 89,\r\n Z = 90,\r\n\r\n LeftWindowKey = 91,\r\n RightWindowKey = 92,\r\n SelectKey = 93,\r\n\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n\r\n Multiply = 106,\r\n Add = 107,\r\n Subtract = 109,\r\n DecimalPoint = 110,\r\n Divide = 111,\r\n\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F4 = 115,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n NumLock = 144,\r\n ScrollLock = 145,\r\n\r\n SemiColon = 186,\r\n Equals = 187,\r\n Comma = 188,\r\n Dash = 189,\r\n Period = 190,\r\n UnderScore = Dash,\r\n PlusSign = Equals,\r\n ForwardSlash = 191,\r\n Tilde = 192,\r\n GraveAccent = Tilde,\r\n\r\n OpenBracket = 219,\r\n ClosedBracket = 221,\r\n Quote = 222\r\n}\r\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\r\n\r\n/**\r\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\r\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\r\n */\r\n\r\n@Directive({\r\n selector: '[stoQuickKeys]',\r\n standalone: true\r\n})\r\nexport class QuickKeysDirective {\r\n @Input() quickKeys: unknown;\r\n /**\r\n * Optional formGroup input, when used in combination with a reactive form\r\n */\r\n @Input() formGroup: UntypedFormGroup;\r\n /**\r\n * Emits when ctrl + enter is clicked in combination\r\n * <form (quickSubmit)=\"save()\">\r\n */\r\n @Output() quickSubmit = new EventEmitter<void>();\r\n /**\r\n * Emits when escape is clicked\r\n * <form (quickCancel)=\"cancel()\">\r\n */\r\n @Output() quickCancel = new EventEmitter<void>();\r\n\r\n /**\r\n * Listens on the host element for any keyup events\r\n * @param e\r\n */\r\n @HostListener('keyup', [ '$event' ])\r\n onKeyUp(e: KeyboardEvent) {\r\n if ( this.formGroup ) {\r\n this.handleFormKeys(e);\r\n }\r\n this.handleGenericKeydown(e);\r\n }\r\n\r\n /**\r\n * Handler for generic keydowns, such as cancel events to close drawers\r\n * @param e\r\n * void\r\n */\r\n private handleGenericKeydown(e: KeyboardEvent) {\r\n // Shortcuts that are useful outside of forms\r\n if ( e.keyCode === Key.Escape ) {\r\n this.quickCancel.emit();\r\n }\r\n if ( !this.formGroup && e.keyCode === Key.Enter && e.ctrlKey ) {\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Handler for form specific shortcuts, such as saving the form\r\n * @param e\r\n */\r\n private handleFormKeys(e: KeyboardEvent) {\r\n if ( this.formGroup.pristine ) {\r\n return;\r\n }\r\n if ( e.keyCode === Key.Enter && e.ctrlKey ) {\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n}\r\n","import { ContentChildren, Directive, HostListener, Input, OnDestroy, OnInit, QueryList } from '@angular/core';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n/**\r\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\r\n * This directive has two tasks:\r\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\r\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\r\n */\r\n@Directive({\r\n selector: '[stoDateFormFieldClick]',\r\n standalone: true\r\n})\r\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\r\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\r\n @Input() stoDateFormFieldClick: MatDatepicker<Date>;\r\n private destroy$ = new Subject();\r\n\r\n @HostListener('click')\r\n clickEvent() {\r\n this.stoDateFormFieldClick.open();\r\n }\r\n\r\n ngOnInit() {\r\n this.stoDateFormFieldClick.closedStream\r\n .pipe(\r\n takeUntil(this.destroy$)\r\n ).subscribe(() => this.inputs.first.focus());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\r\n\r\n/**\r\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\r\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\r\n */\r\n@Directive({\r\n selector: '[stoSelectTextOnFocus]',\r\n standalone: true\r\n})\r\nexport class StoSelectTextOnFocusDirective {\n private elementRef = inject(ElementRef);\n\r\n\r\n private _el: HTMLInputElement;\r\n\r\n constructor() {\r\n this._el = this.elementRef.nativeElement;\r\n }\r\n\r\n /**\r\n * Listens for focus events on the host (input) element, and focuses if applicable\r\n */\r\n @HostListener('focus')\r\n @HostListener('dblclick')\r\n onFocus() {\r\n if ( !this._el.readOnly ) {\r\n this._el.select();\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { AfterViewInit, ContentChildren, Directive, ElementRef, HostBinding, Input, OnDestroy, QueryList, inject } from '@angular/core';\r\n\r\ninterface BreakpointConfig {\r\n 2: number;\r\n 4: number;\r\n}\r\n\r\nconst getClass = (width: number, small = 400, large = 800) => {\r\n let cols = 1;\r\n if ( width > small ) {\r\n cols += 1;\r\n }\r\n if ( width > large ) {\r\n cols += 2;\r\n }\r\n return `sto-f-grid--${cols}`;\r\n};\r\n\r\nconst ALL_GRIDS = [ 'sto-f-grid--1', 'sto-f-grid--2', 'sto-f-grid--4', 'sto-f-grid--6' ];\r\n\r\n@Directive({\r\n selector: '[stoGridSpacer]',\r\n standalone: true\r\n})\r\nexport class StoGridSpacerDirective {\r\n @HostBinding('class.sto-f-grid__col')\r\n @HostBinding('class.sto-f-grid__col--spacer')\r\n useClass = true;\r\n}\r\n\r\n@Directive({\r\n selector: '[stoGridColumn]',\r\n standalone: true\r\n})\r\nexport class StoGridColumnDirective {\r\n @HostBinding('class.sto-f-grid__col')\r\n useClass = true;\r\n @HostBinding('class.sto-f-grid__col--2')\r\n @Input()\r\n stoGridColumnDouble: boolean;\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[stoGrid]',\r\n exportAs: 'stoGrid',\r\n standalone: true\r\n})\r\nexport class StoGridDirective implements AfterViewInit, OnDestroy {\n private elRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\r\n @HostBinding('style.max-width.px')\r\n @Input()\r\n maxWidth = 1000;\r\n @HostBinding('style.min-width.px')\r\n @Input()\r\n minWidth = 250;\r\n @HostBinding('class.sto-f-grid')\r\n baseClass = true;\r\n @ContentChildren(StoGridColumnDirective, { read: ElementRef })\r\n columns: QueryList<ElementRef<HTMLElement>>;\r\n @Input()\r\n breakpoints: BreakpointConfig;\r\n\r\n private observer: ResizeObserver;\r\n\r\n ngAfterViewInit() {\r\n const el = this.elRef.nativeElement as HTMLElement;\r\n this.observer = new ResizeObserver(entries => {\r\n for ( const entry of entries ) {\r\n const cr = entry.contentRect;\r\n const { width } = cr;\r\n const breakpoints = this.breakpoints || { 2: 400, 4: 800 };\r\n const gridType = getClass(width, breakpoints[ 2 ], breakpoints[ 4 ]);\r\n if ( !el.classList.contains(gridType) ) {\r\n el.classList.remove(...ALL_GRIDS);\r\n el.classList.add(gridType);\r\n }\r\n }\r\n });\r\n this.observer.observe(this.elRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n if ( this.observer ) {\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\r\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\r\nimport { fromEvent } from 'rxjs';\r\nimport { switchMap, take } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[stoMenuOverlay]',\r\n exportAs: 'stoMenuOverlay',\r\n standalone: true\r\n})\r\nexport class MenuOverlayDirective {\n private trigger = inject(MatMenuTrigger, { host: true });\n\r\n @HostBinding('style.left.px')\r\n left = 0;\r\n @HostBinding('style.top.px')\r\n top = 0;\r\n private readonly menu: MatMenuPanel;\r\n\r\n constructor() {\n const trigger = this.trigger;\n const el = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\r\n this.menu = trigger.menu as MatMenuPanel;\r\n this.trigger.menuOpened.pipe(\r\n switchMap(() =>\r\n fromEvent<MouseEvent>(document, 'click')\r\n .pipe(take(1))\r\n ),\r\n ).subscribe(() => {\r\n this.trigger.closeMenu();\r\n });\r\n this.setStyle(el.nativeElement);\r\n }\r\n\r\n public updatePosition(event: MouseEvent) {\r\n this.left = event.x;\r\n this.top = event.y;\r\n }\r\n\r\n private setStyle(element: HTMLButtonElement) {\r\n element.style.overflow = 'hidden';\r\n element.style.position = 'fixed';\r\n element.style.height = '1px';\r\n element.style.width = '1px';\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\n\r\n@Directive({\r\n selector: '[stoContextMenu]',\r\n standalone: true\r\n})\r\nexport class ContextMenuDirective {\r\n @Input()\r\n menuTrigger: MatMenuTrigger;\r\n @Input()\r\n overlayDirective: MenuOverlayDirective;\r\n @Input()\r\n menuContext: unknown;\r\n\r\n @HostListener('contextmenu', [ '$event' ])\r\n contextMenu(event: MouseEvent) {\r\n event.preventDefault();\r\n if ( this.menuTrigger.menuOpen ) {\r\n this.menuTrigger.closeMenu();\r\n }\r\n this.overlayDirective.updatePosition(event);\r\n setTimeout(() => {\r\n this.menuTrigger.menuData = this.menuContext;\r\n this.menuTrigger.openMenu();\r\n }, 150);\r\n }\r\n\r\n}\r\n","import { QuickKeysDirective } from './quick-keys.directive';\r\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\r\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\r\nimport { StoGridColumnDirective, StoGridDirective, StoGridSpacerDirective } from './sto-grid.directive';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\nimport { ContextMenuDirective } from './context-menu.directive';\r\n\r\n/**\r\n * Directives have been made standalone, import them directly:\r\n * QuickKeysDirective\r\n * DateFormFieldClickDirective\r\n * StoSelectTextOnFocusDirective\r\n * StoGridDirective\r\n * StoGridColumnDirective\r\n * StoGridSpacerDirective\r\n * MenuOverlayDirective\r\n * ContextMenuDirective\r\n */\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n QuickKeysDirective\r\n , DateFormFieldClickDirective\r\n , StoSelectTextOnFocusDirective\r\n , StoGridDirective\r\n , StoGridColumnDirective\r\n , StoGridSpacerDirective\r\n , MenuOverlayDirective\r\n , ContextMenuDirective\r\n ],\r\n exports: [\r\n QuickKeysDirective\r\n , DateFormFieldClickDirective\r\n , StoSelectTextOnFocusDirective\r\n , StoGridDirective\r\n , StoGridColumnDirective\r\n , StoGridSpacerDirective\r\n , MenuOverlayDirective\r\n , ContextMenuDirective\r\n ]\r\n})\r\nexport class StoDirectivesModule {\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Formats numbers to use our standard formatting (d ddd,ddd)\r\n *\r\n * @example\r\n *\r\n * {{ 1234,32 | numberFormat }} -> 1 234,320\r\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\r\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\r\n */\r\n@Pipe({\r\n name: 'numberFormat',\r\n standalone: true\r\n})\r\nexport class NumberFormatPipe implements PipeTransform {\r\n\r\n transform(value: number | string, unit: string = '', abs?: boolean, appendDecimals = true, numberOfDecimals = 3): string | null {\r\n if ( value !== 0 && !value ) {\r\n return '';\r\n }\r\n if ( typeof value === 'string' ) {\r\n const newValue = parseFloat(value);\r\n if ( isNaN(newValue) ) {\r\n return null;\r\n }\r\n value = newValue;\r\n }\r\n if ( abs ) {\r\n value = Math.abs(value);\r\n }\r\n // We absolute the value to ensure that the rounding rules is always away from zero.\r\n // 1.5 => 2 and -1.5 => -2\r\n const isNegativeNumber = value < 0;\r\n value = Math.abs(value);\r\n\r\n if ( !appendDecimals ) {\r\n value = Math.round(value);\r\n }\r\n if ( !isNaN(value) && appendDecimals ) {\r\n value = parseFloat(this.toFixed(value, numberOfDecimals));\r\n }\r\n // Turn negative numbers back, but only if value is not -0\r\n // eslint-disable-next-line no-compare-neg-zero\r\n if ( isNegativeNumber && value !== -0 ) {\r\n value = value * -1;\r\n }\r\n const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);\r\n return localized.replace(/,/g, ' ').replace('.', ',') + `${unit ? ' ' + unit : ''}`;\r\n }\r\n\r\n private prettyPrintValue(value: number, appendDecimals: boolean, numberOfDecimals: number) {\r\n const intlOptions = { minimumFractionDigits: numberOfDecimals, maximumFractionDigits: numberOfDecimals };\r\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\r\n const split = intl.split('.');\r\n let localized = split[ 0 ];\r\n\r\n if ( appendDecimals ) {\r\n const decimals = split.length === 2 ? split[ 1 ] : '';\r\n split[ 1 ] = decimals.padEnd(numberOfDecimals, '0');\r\n localized = split.join('.');\r\n }\r\n return localized;\r\n }\r\n\r\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\r\n private toFixed(num: number, precision: number) {\r\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\r\n // -8.185452315956354e-12 becomes NaN\r\n let returnValue = ( +( Math.round(+( num + 'e' + precision )) + 'e' + -precision ) );\r\n if ( isNaN(returnValue) ) {\r\n returnValue = parseFloat(num.toFixed(precision));\r\n }\r\n return returnValue.toFixed(precision);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Pipe used to transform numbers to a currency format\r\n *\r\n * @example\r\n *\r\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\r\n * Results in\r\n * <span>5 000,582 $</span>\r\n */\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(value: number, unit: string = '', maximumFractionDigits = 3): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n value = parseFloat(value);\r\n if ( isNaN(value) ) {\r\n return '';\r\n }\r\n }\r\n\r\n const intl = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);\r\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Transforms an Object to an Array.\r\n *\r\n * @example\r\n *\r\n * public obj = {a: 1, b: 2, c: 3};\r\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\r\n */\r\n\r\n@Pipe({\r\n name: 'keys',\r\n standalone: true\r\n})\r\nexport class KeysPipe implements PipeTransform {\r\n\r\n transform(value: Record<string, unknown>): Array<string> {\r\n if ( value ) {\r\n return Object.keys(value);\r\n }\r\n return [];\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { format as formatDate, isValid, parseISO } from 'date-fns';\r\n\r\n/**\r\n * Pipe used to transform dates, based on our default formats.\r\n *\r\n * @example\r\n *\r\n * public date = \"2018-08-27 14:00:30\"\r\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\r\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\r\n */\r\n\r\n@Pipe({\r\n name: 'formatDate',\r\n standalone: true\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n transform(value: string | number | Date | null, format?: string): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n const originalValue = value;\r\n value = parseISO(value);\r\n if ( !isValid(value) ) {\r\n // If invalid ISO date (e.g single-digit day), fall back to new Date()\r\n console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);\r\n value = new Date(originalValue);\r\n }\r\n }\r\n switch ( format ) {\r\n case 'long':\r\n return formatDate(value, 'EEEE MMM d, yyyy');\r\n case 'short':\r\n return formatDate(value, 'yyyy-MM-dd');\r\n case 'datetime':\r\n return formatDate(value, 'MMM d, yyyy, HH:mm');\r\n case 'datetimezone':\r\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\r\n case 'datetime-long':\r\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\r\n case 'datetime-short':\r\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\r\n default:\r\n return formatDate(value, 'MMM d, yyyy');\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'getUnit', standalone: true })\r\nexport class GetUnit implements PipeTransform {\r\n transform(value: string, withParens?: boolean): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n if ( withParens ) {\r\n value = '(' + arr[ 1 ];\r\n } else {\r\n arr[ 1 ].slice(0, -1);\r\n value = arr[ 1 ].slice(0, -1);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n@Pipe({ name: 'excludeUnit', standalone: true })\r\nexport class ExcludeUnit implements PipeTransform {\r\n transform(value: string): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n value = arr[ 0 ];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'yesNo', standalone: true })\r\nexport class YesNoPipe implements PipeTransform {\r\n transform(value: boolean, ignoreNulls = false): string {\r\n let valueStr = '';\r\n if ( ignoreNulls ) {\r\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\r\n } else {\r\n valueStr = value ? 'Yes' : 'No';\r\n }\r\n return valueStr;\r\n\r\n }\r\n}\r\n","import { NumberFormatPipe } from './number-format.pipe';\r\nimport { CurrencyFormatPipe } from './currency-format.pipe';\r\nimport { KeysPipe } from './keys.pipe';\r\nimport { DateFormatPipe } from './date-format.pipe';\r\nimport { ExcludeUnit, GetUnit } from './with-unit';\r\nimport { YesNoPipe } from './yes-no';\r\n\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ],\r\n exports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ]\r\n})\r\nexport class StoPipesModule {\r\n}\r\n","/*\r\n * Public API Surface of @ngx-stoui/core\r\n */\r\n\r\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\r\nexport * from './lib/sto-directives/directives.module';\r\nexport * from './lib/sto-directives';\r\nexport * from './lib/sto-pipes/sto-pipes.module';\r\n\r\nexport * from './lib/sto-pipes/currency-format.pipe';\r\nexport * from './lib/sto-pipes/date-format.pipe';\r\nexport * from './lib/sto-pipes/keys.pipe';\r\nexport * from './lib/sto-pipes/number-format.pipe';\r\nexport * from './lib/sto-pipes/sto-pipes.module';\r\nexport * from './lib/sto-pipes/with-unit';\r\nexport * from './lib/sto-pipes/yes-no';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["format","formatDate"],"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;AAqBa;IAED;AAAZ,CAAA,UAAY,GAAG,EAAA;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AAET,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AAEd,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AAEX,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAgB;AAChB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAgB;AAEhB,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AAEN,IAAA,GAAA,CAAA,GAAA,CAAA,eAAA,CAAA,GAAA,EAAA,CAAA,GAAA,eAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,gBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,gBAAmB;AACnB,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AAEd,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AAEb,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AAEZ,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AAET,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAEhB,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAmB;AAEnB,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EA9HW,GAAG,KAAH,GAAG,GAAA,EAAA,CAAA,CAAA;;ACnBf;;;AAGG;MAMU,kBAAkB,CAAA;AAJ/B,IAAA,WAAA,GAAA;AAUE;;;AAGG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AAChD;;;AAGG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AAyCjD,IAAA;AAvCC;;;AAGG;AAEH,IAAA,OAAO,CAAC,CAAgB,EAAA;AACtB,QAAA,IAAK,IAAI,CAAC,SAAS,EAAG;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxB;AACA,QAAA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9B;AAEA;;;;AAIG;AACK,IAAA,oBAAoB,CAAC,CAAgB,EAAA;;QAE3C,IAAK,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,EAAG;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;AACA,QAAA,IAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAG;AAC7D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;IACF;AAEA;;;AAGG;AACK,IAAA,cAAc,CAAC,CAAgB,EAAA;AACrC,QAAA,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAG;YAC7B;QACF;AACA,QAAA,IAAK,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAG;AAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;IACF;8GAvDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAEU,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBAKS,WAAW,EAAA,CAAA;sBAApB;gBAKS,WAAW,EAAA,CAAA;sBAApB;gBAOD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAE,QAAQ,CAAE;;;AC5BrC;;;;;AAKG;MAKU,2BAA2B,CAAA;AAJxC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE;AAkBjC,IAAA;IAfC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;IACnC;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,qBAAqB,CAAC;aACxB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAC1B;8GApBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,wNACrB,QAAQ,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FADd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAE4B,MAAM,EAAA,CAAA;sBAAhC,eAAe;uBAAC,QAAQ;gBAChB,qBAAqB,EAAA,CAAA;sBAA7B;gBAID,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,OAAO;;;ACnBvB;;;AAGG;MAKU,6BAA6B,CAAA;AAMxC,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAMrC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;IAC1C;AAEA;;AAEG;IAGH,OAAO,GAAA;AACL,QAAA,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAG;AACxB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACnB;IAEF;8GApBW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE;AACb,iBAAA;wDAgBC,OAAO,EAAA,CAAA;sBAFN,YAAY;uBAAC,OAAO;;sBACpB,YAAY;uBAAC,UAAU;;;ACjB1B,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,KAAI;IAC3D,IAAI,IAAI,GAAG,CAAC;AACZ,IAAA,IAAK,KAAK,GAAG,KAAK,EAAG;QACnB,IAAI,IAAI,CAAC;IACX;AACA,IAAA,IAAK,KAAK,GAAG,KAAK,EAAG;QACnB,IAAI,IAAI,CAAC;IACX;IACA,OAAO,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE;AAC9B,CAAC;AAED,MAAM,SAAS,GAAG,CAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAE;MAM3E,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAOE,IAAA,CAAA,QAAQ,GAAG,IAAI;AAChB,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAIC,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,uBAAuB;;sBACnC,WAAW;uBAAC,+BAA+B;;MAQjC,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAME,IAAA,CAAA,QAAQ,GAAG,IAAI;AAKhB,IAAA;8GAPY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAGC,QAAQ,EAAA,CAAA;sBADP,WAAW;uBAAC,uBAAuB;gBAIpC,mBAAmB,EAAA,CAAA;sBAFlB,WAAW;uBAAC,0BAA0B;;sBACtC;;MAUU,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAA0B,UAAU,CAAC;QAI3D,IAAA,CAAA,QAAQ,GAAG,IAAI;QAGf,IAAA,CAAA,QAAQ,GAAG,GAAG;QAEd,IAAA,CAAA,SAAS,GAAG,IAAI;AA+BjB,IAAA;IAvBC,eAAe,GAAA;AACb,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAA4B;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,IAAG;AAC3C,YAAA,KAAM,MAAM,KAAK,IAAI,OAAO,EAAG;AAC7B,gBAAA,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW;AAC5B,gBAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;AACpB,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;AAC1D,gBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE,EAAE,WAAW,CAAE,CAAC,CAAE,CAAC;gBACpE,IAAK,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAG;oBACtC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AACjC,oBAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5B;YACF;AACF,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACjD;IAEA,WAAW,GAAA;AACT,QAAA,IAAK,IAAI,CAAC,QAAQ,EAAG;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QAC5B;IACF;8GAvCW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAWV,sBAAsB,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAXhD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAMC,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,oBAAoB;;sBAChC;gBAID,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,oBAAoB;;sBAChC;gBAGD,SAAS,EAAA,CAAA;sBADR,WAAW;uBAAC,kBAAkB;gBAG/B,OAAO,EAAA,CAAA;sBADN,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAG7D,WAAW,EAAA,CAAA;sBADV;;;MCnDU,oBAAoB,CAAA;AAS/B,IAAA,WAAA,GAAA;QARQ,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAGxD,IAAA,CAAA,IAAI,GAAG,CAAC;QAER,IAAA,CAAA,GAAG,GAAG,CAAC;AAIL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,QAAA,MAAM,EAAE,GAAG,MAAM,CAAgC,UAAU,CAAC;AAE5D,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAoB;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAC1B,SAAS,CAAC,MACR,SAAS,CAAa,QAAQ,EAAE,OAAO;AACpC,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACjB,CACF,CAAC,SAAS,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAC1B,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC;IACjC;AAEO,IAAA,cAAc,CAAC,KAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IACpB;AAEQ,IAAA,QAAQ,CAAC,OAA0B,EAAA;AACzC,QAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;AACjC,QAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AAChC,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;AAC5B,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;IAC7B;8GAnCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE;AACb,iBAAA;wDAKC,IAAI,EAAA,CAAA;sBADH,WAAW;uBAAC,eAAe;gBAG5B,GAAG,EAAA,CAAA;sBADF,WAAW;uBAAC,cAAc;;;MCPhB,oBAAoB,CAAA;AAS/B,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAG;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QAC9B;AACA,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC;QAC3C,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW;AAC5C,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC7B,CAAC,EAAE,GAAG,CAAC;IACT;8GAnBW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAGC,WAAW,EAAA,CAAA;sBADV;gBAGD,gBAAgB,EAAA,CAAA;sBADf;gBAGD,WAAW,EAAA,CAAA;sBADV;gBAID,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,aAAa,EAAE,CAAE,QAAQ,CAAE;;;MC0B9B,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YApB5B,kBAAkB;YAChB,2BAA2B;YAC3B,6BAA6B;YAC7B,gBAAgB;YAChB,sBAAsB;YACtB,sBAAsB;YACtB,oBAAoB;AACpB,YAAA,oBAAoB,aAGtB,kBAAkB;YAChB,2BAA2B;YAC3B,6BAA6B;YAC7B,gBAAgB;YAChB,sBAAsB;YACtB,sBAAsB;YACtB,oBAAoB;YACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAGb,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAtB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAChB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,gBAAgB;wBAChB,sBAAsB;wBACtB,sBAAsB;wBACtB,oBAAoB;wBACpB;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAChB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,gBAAgB;wBAChB,sBAAsB;wBACtB,sBAAsB;wBACtB,oBAAoB;wBACpB;AACH;AACF,iBAAA;;;ACvCD;;;;;;;;;;AAUG;MAKU,gBAAgB,CAAA;AAE3B,IAAA,SAAS,CAAC,KAAsB,EAAE,IAAA,GAAe,EAAE,EAAE,GAAa,EAAE,cAAc,GAAG,IAAI,EAAE,gBAAgB,GAAG,CAAC,EAAA;AAC7G,QAAA,IAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG;AAC3B,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;AAC/B,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,YAAA,IAAK,KAAK,CAAC,QAAQ,CAAC,EAAG;AACrB,gBAAA,OAAO,IAAI;YACb;YACA,KAAK,GAAG,QAAQ;QAClB;QACA,IAAK,GAAG,EAAG;AACT,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;;;AAGA,QAAA,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC;AAClC,QAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAEvB,IAAK,CAAC,cAAc,EAAG;AACrB,YAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B;QACA,IAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,cAAc,EAAG;AACrC,YAAA,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC3D;;;AAGA,QAAA,IAAK,gBAAgB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAG;AACtC,YAAA,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB;AACA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,CAAC;AAChF,QAAA,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA,EAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE;IACrF;AAEQ,IAAA,gBAAgB,CAAC,KAAa,EAAE,cAAuB,EAAE,gBAAwB,EAAA;QACvF,MAAM,WAAW,GAAG,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE;AACxG,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAI,SAAS,GAAG,KAAK,CAAE,CAAC,CAAE;QAE1B,IAAK,cAAc,EAAG;AACpB,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,CAAE,CAAC,CAAE,GAAG,EAAE;AACrD,YAAA,KAAK,CAAE,CAAC,CAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC;AACnD,YAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7B;AACA,QAAA,OAAO,SAAS;IAClB;;IAGQ,OAAO,CAAC,GAAW,EAAE,SAAiB,EAAA;;;QAG5C,IAAI,WAAW,IAAK,EAAG,IAAI,CAAC,KAAK,CAAC,EAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAE,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAE,CAAE;AACpF,QAAA,IAAK,KAAK,CAAC,WAAW,CAAC,EAAG;YACxB,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD;AACA,QAAA,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;IACvC;8GA3DW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACdD;;;;;;;;AAQG;MAKU,kBAAkB,CAAA;IAC7B,SAAS,CAAC,KAAa,EAAE,IAAA,GAAe,EAAE,EAAE,qBAAqB,GAAG,CAAC,EAAA;QACnE,IAAK,CAAC,KAAK,EAAG;AACZ,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;AAC/B,YAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AACzB,YAAA,IAAK,KAAK,CAAC,KAAK,CAAC,EAAG;AAClB,gBAAA,OAAO,EAAE;YACX;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACpF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,EAAE;IAC/D;8GAdW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACtB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;;;;;;AAOG;MAMU,QAAQ,CAAA;AAEnB,IAAA,SAAS,CAAC,KAA8B,EAAA;QACtC,IAAK,KAAK,EAAG;AACX,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B;AACA,QAAA,OAAO,EAAE;IACX;8GAPW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACXD;;;;;;;;AAQG;MAMU,cAAc,CAAA;IAEzB,SAAS,CAAC,KAAoC,EAAEA,QAAe,EAAA;QAC7D,IAAK,CAAC,KAAK,EAAG;AACZ,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;YAC/B,MAAM,aAAa,GAAG,KAAK;AAC3B,YAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACvB,YAAA,IAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAG;;AAErB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA,4DAAA,CAA8D,CAAC;AAC5F,gBAAA,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC;YACjC;QACF;QACA,QAASA,QAAM;AACb,YAAA,KAAK,MAAM;AACT,gBAAA,OAAOC,MAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC;AAC9C,YAAA,KAAK,OAAO;AACV,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,YAAY,CAAC;AACxC,YAAA,KAAK,UAAU;AACb,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC;AAChD,YAAA,KAAK,cAAc;AACjB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,CAAA,gCAAA,CAAkC,CAAC;AAC9D,YAAA,KAAK,eAAe;AAClB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,0BAA0B,CAAC;AACtD,YAAA,KAAK,gBAAgB;AACnB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC;AAC/C,YAAA;AACE,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,aAAa,CAAC;;IAE7C;8GA/BW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCbY,OAAO,CAAA;IAClB,SAAS,CAAC,KAAa,EAAE,UAAoB,EAAA;QAC3C,IAAK,KAAK,EAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,YAAA,IAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;gBACpB,IAAK,UAAU,EAAG;AAChB,oBAAA,KAAK,GAAG,GAAG,GAAG,GAAG,CAAE,CAAC,CAAE;gBACxB;qBAAO;oBACL,GAAG,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,oBAAA,KAAK,GAAG,GAAG,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;8GAdW,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;;MAmB9B,WAAW,CAAA;AACtB,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,IAAK,KAAK,EAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,YAAA,IAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;AACpB,gBAAA,KAAK,GAAG,GAAG,CAAE,CAAC,CAAE;YAClB;QACF;AACA,QAAA,OAAO,KAAK;IACd;8GATW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;;;MCjBlC,SAAS,CAAA;AACpB,IAAA,SAAS,CAAC,KAAc,EAAE,WAAW,GAAG,KAAK,EAAA;QAC3C,IAAI,QAAQ,GAAG,EAAE;QACjB,IAAK,WAAW,EAAG;YACjB,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE;QACxD;aAAO;YACL,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI;QACjC;AACA,QAAA,OAAO,QAAQ;IAEjB;8GAVW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;;;MC4B5B,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAlBvB,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,kBAAkB;YAClB,OAAO;YACP,WAAW;AACX,YAAA,SAAS,aAGT,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,kBAAkB;YAClB,OAAO;YACP,WAAW;YACX,SAAS,CAAA,EAAA,CAAA,CAAA;+GAGA,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBApB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,QAAQ;wBACR,gBAAgB;wBAChB,kBAAkB;wBAClB,OAAO;wBACP,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,QAAQ;wBACR,gBAAgB;wBAChB,kBAAkB;wBAClB,OAAO;wBACP,WAAW;wBACX;AACD;AACF,iBAAA;;;AC7BD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ngx-stoui-core.mjs","sources":["../../../../libs/core/src/lib/abstract-and-interfaces/keyPress.enum.ts","../../../../libs/core/src/lib/sto-directives/quick-keys.directive.ts","../../../../libs/core/src/lib/sto-directives/date-form-field-click.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-select-text-on-focus.directive.ts","../../../../libs/core/src/lib/sto-directives/sto-grid.directive.ts","../../../../libs/core/src/lib/sto-directives/menu-overlay.directive.ts","../../../../libs/core/src/lib/sto-directives/context-menu.directive.ts","../../../../libs/core/src/lib/sto-directives/directives.module.ts","../../../../libs/core/src/lib/sto-pipes/number-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/currency-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/keys.pipe.ts","../../../../libs/core/src/lib/sto-pipes/date-format.pipe.ts","../../../../libs/core/src/lib/sto-pipes/with-unit.ts","../../../../libs/core/src/lib/sto-pipes/yes-no.ts","../../../../libs/core/src/lib/sto-pipes/sto-pipes.module.ts","../../../../libs/core/src/index.ts","../../../../libs/core/src/ngx-stoui-core.ts"],"sourcesContent":["/**\r\nMIT License\r\n\r\nCopyright (c) 2017 Nathan Friend\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\n The above copyright notice and this permission notice shall be included in all\r\ncopies or substantial portions of the Software.\r\n\r\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\nSOFTWARE. **/\r\n\r\nexport enum Key {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Ctrl = 17,\r\n Alt = 18,\r\n PauseBreak = 19,\r\n CapsLock = 20,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n\r\n LeftArrow = 37,\r\n UpArrow = 38,\r\n RightArrow = 39,\r\n DownArrow = 40,\r\n\r\n Insert = 45,\r\n Delete = 46,\r\n\r\n Zero = 48,\r\n ClosedParen = Zero,\r\n One = 49,\r\n ExclamationMark = One,\r\n Two = 50,\r\n AtSign = Two,\r\n Three = 51,\r\n PoundSign = Three,\r\n Hash = PoundSign,\r\n Four = 52,\r\n DollarSign = Four,\r\n Five = 53,\r\n PercentSign = Five,\r\n Six = 54,\r\n Caret = Six,\r\n Hat = Caret,\r\n Seven = 55,\r\n Ampersand = Seven,\r\n Eight = 56,\r\n Star = Eight,\r\n Asterik = Star,\r\n Nine = 57,\r\n OpenParen = Nine,\r\n\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n E = 69,\r\n F = 70,\r\n G = 71,\r\n H = 72,\r\n I = 73,\r\n J = 74,\r\n K = 75,\r\n L = 76,\r\n M = 77,\r\n N = 78,\r\n O = 79,\r\n P = 80,\r\n Q = 81,\r\n R = 82,\r\n S = 83,\r\n T = 84,\r\n U = 85,\r\n V = 86,\r\n W = 87,\r\n X = 88,\r\n Y = 89,\r\n Z = 90,\r\n\r\n LeftWindowKey = 91,\r\n RightWindowKey = 92,\r\n SelectKey = 93,\r\n\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n\r\n Multiply = 106,\r\n Add = 107,\r\n Subtract = 109,\r\n DecimalPoint = 110,\r\n Divide = 111,\r\n\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F4 = 115,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n NumLock = 144,\r\n ScrollLock = 145,\r\n\r\n SemiColon = 186,\r\n Equals = 187,\r\n Comma = 188,\r\n Dash = 189,\r\n Period = 190,\r\n UnderScore = Dash,\r\n PlusSign = Equals,\r\n ForwardSlash = 191,\r\n Tilde = 192,\r\n GraveAccent = Tilde,\r\n\r\n OpenBracket = 219,\r\n ClosedBracket = 221,\r\n Quote = 222\r\n}\r\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { Key } from '../abstract-and-interfaces/keyPress.enum';\r\n\r\n/**\r\n * QuickKeysDirective is used to implement shortcut keys on DOM elements, e.g to submit or reset a form on enter/escape\r\n * <form quickKeys (quickSubmit)=\"save()\" (quickCancel)=\"reset()\">\r\n */\r\n\r\n@Directive({\r\n selector: '[stoQuickKeys]',\r\n standalone: true\r\n})\r\nexport class QuickKeysDirective {\r\n @Input() quickKeys: unknown;\r\n /**\r\n * Optional formGroup input, when used in combination with a reactive form\r\n */\r\n @Input() formGroup: UntypedFormGroup;\r\n /**\r\n * Emits when ctrl + enter is clicked in combination\r\n * <form (quickSubmit)=\"save()\">\r\n */\r\n @Output() quickSubmit = new EventEmitter<void>();\r\n /**\r\n * Emits when escape is clicked\r\n * <form (quickCancel)=\"cancel()\">\r\n */\r\n @Output() quickCancel = new EventEmitter<void>();\r\n\r\n /**\r\n * Listens on the host element for any keyup events\r\n * @param e\r\n */\r\n @HostListener('keyup', [ '$event' ])\r\n onKeyUp(e: KeyboardEvent) {\r\n if ( this.formGroup ) {\r\n this.handleFormKeys(e);\r\n }\r\n this.handleGenericKeydown(e);\r\n }\r\n\r\n /**\r\n * Handler for generic keydowns, such as cancel events to close drawers\r\n * @param e\r\n * void\r\n */\r\n private handleGenericKeydown(e: KeyboardEvent) {\r\n // Shortcuts that are useful outside of forms\r\n if ( e.keyCode === Key.Escape ) {\r\n this.quickCancel.emit();\r\n }\r\n if ( !this.formGroup && e.keyCode === Key.Enter && e.ctrlKey ) {\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n\r\n /**\r\n * Handler for form specific shortcuts, such as saving the form\r\n * @param e\r\n */\r\n private handleFormKeys(e: KeyboardEvent) {\r\n if ( this.formGroup.pristine ) {\r\n return;\r\n }\r\n if ( e.keyCode === Key.Enter && e.ctrlKey ) {\r\n this.quickSubmit.emit();\r\n }\r\n }\r\n}\r\n","import { ContentChildren, Directive, HostListener, Input, OnDestroy, OnInit, QueryList } from '@angular/core';\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { MatInput } from '@angular/material/input';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\n\r\n/**\r\n * Directive that can be placed on mat-form-fields that contains a mat-datepicker.\r\n * This directive has two tasks:\r\n * Clicking anywhere on the mat-form-field will open the datepicker dialog\r\n * When the datepicker is closed in any manner, we shift focus back to the datepicker input\r\n */\r\n@Directive({\r\n selector: '[stoDateFormFieldClick]',\r\n standalone: true\r\n})\r\nexport class DateFormFieldClickDirective implements OnInit, OnDestroy {\r\n @ContentChildren(MatInput) inputs: QueryList<MatInput>;\r\n @Input() stoDateFormFieldClick: MatDatepicker<Date>;\r\n private destroy$ = new Subject();\r\n\r\n @HostListener('click')\r\n clickEvent() {\r\n this.stoDateFormFieldClick.open();\r\n }\r\n\r\n ngOnInit() {\r\n this.stoDateFormFieldClick.closedStream\r\n .pipe(\r\n takeUntil(this.destroy$)\r\n ).subscribe(() => this.inputs.first.focus());\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroy$.next(true);\r\n this.destroy$.complete();\r\n }\r\n}\r\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\r\n\r\n/**\r\n * stoSelectTextOnFocus listens for input focus events, and selects the contents of the input\r\n * A user service is established in {@link StoUserPreferenceService} that allows a user to toggle this feature\r\n */\r\n@Directive({\r\n selector: '[stoSelectTextOnFocus]',\r\n standalone: true\r\n})\r\nexport class StoSelectTextOnFocusDirective {\n private elementRef = inject(ElementRef);\n\r\n\r\n private _el: HTMLInputElement;\r\n\r\n constructor() {\r\n this._el = this.elementRef.nativeElement;\r\n }\r\n\r\n /**\r\n * Listens for focus events on the host (input) element, and focuses if applicable\r\n */\r\n @HostListener('focus')\r\n @HostListener('dblclick')\r\n onFocus() {\r\n if ( !this._el.readOnly ) {\r\n this._el.select();\r\n }\r\n\r\n }\r\n\r\n}\r\n","import { AfterViewInit, ContentChildren, Directive, ElementRef, HostBinding, Input, OnDestroy, QueryList, inject } from '@angular/core';\r\n\r\ninterface BreakpointConfig {\r\n 2: number;\r\n 4: number;\r\n}\r\n\r\nconst getClass = (width: number, small = 400, large = 800) => {\r\n let cols = 1;\r\n if ( width > small ) {\r\n cols += 1;\r\n }\r\n if ( width > large ) {\r\n cols += 2;\r\n }\r\n return `sto-f-grid--${cols}`;\r\n};\r\n\r\nconst ALL_GRIDS = [ 'sto-f-grid--1', 'sto-f-grid--2', 'sto-f-grid--4', 'sto-f-grid--6' ];\r\n\r\n@Directive({\r\n selector: '[stoGridSpacer]',\r\n standalone: true\r\n})\r\nexport class StoGridSpacerDirective {\r\n @HostBinding('class.sto-f-grid__col')\r\n @HostBinding('class.sto-f-grid__col--spacer')\r\n useClass = true;\r\n}\r\n\r\n@Directive({\r\n selector: '[stoGridColumn]',\r\n standalone: true\r\n})\r\nexport class StoGridColumnDirective {\r\n @HostBinding('class.sto-f-grid__col')\r\n useClass = true;\r\n @HostBinding('class.sto-f-grid__col--2')\r\n @Input()\r\n stoGridColumnDouble: boolean;\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[stoGrid]',\r\n exportAs: 'stoGrid',\r\n standalone: true\r\n})\r\nexport class StoGridDirective implements AfterViewInit, OnDestroy {\n private elRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\r\n @HostBinding('style.max-width.px')\r\n @Input()\r\n maxWidth = 1000;\r\n @HostBinding('style.min-width.px')\r\n @Input()\r\n minWidth = 250;\r\n @HostBinding('class.sto-f-grid')\r\n baseClass = true;\r\n @ContentChildren(StoGridColumnDirective, { read: ElementRef })\r\n columns: QueryList<ElementRef<HTMLElement>>;\r\n @Input()\r\n breakpoints: BreakpointConfig;\r\n\r\n private observer: ResizeObserver;\r\n\r\n ngAfterViewInit() {\r\n const el = this.elRef.nativeElement as HTMLElement;\r\n this.observer = new ResizeObserver(entries => {\r\n for ( const entry of entries ) {\r\n const cr = entry.contentRect;\r\n const { width } = cr;\r\n const breakpoints = this.breakpoints || { 2: 400, 4: 800 };\r\n const gridType = getClass(width, breakpoints[ 2 ], breakpoints[ 4 ]);\r\n if ( !el.classList.contains(gridType) ) {\r\n el.classList.remove(...ALL_GRIDS);\r\n el.classList.add(gridType);\r\n }\r\n }\r\n });\r\n this.observer.observe(this.elRef.nativeElement);\r\n }\r\n\r\n ngOnDestroy() {\r\n if ( this.observer ) {\r\n this.observer.disconnect();\r\n }\r\n }\r\n\r\n}\r\n\r\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\r\nimport { MatMenuPanel, MatMenuTrigger } from '@angular/material/menu';\r\nimport { fromEvent } from 'rxjs';\r\nimport { switchMap, take } from 'rxjs/operators';\r\n\r\n@Directive({\r\n selector: '[stoMenuOverlay]',\r\n exportAs: 'stoMenuOverlay',\r\n standalone: true\r\n})\r\nexport class MenuOverlayDirective {\n private trigger = inject(MatMenuTrigger, { host: true });\n\r\n @HostBinding('style.left.px')\r\n left = 0;\r\n @HostBinding('style.top.px')\r\n top = 0;\r\n private readonly menu: MatMenuPanel;\r\n\r\n constructor() {\n const trigger = this.trigger;\n const el = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\r\n this.menu = trigger.menu as MatMenuPanel;\r\n this.trigger.menuOpened.pipe(\r\n switchMap(() =>\r\n fromEvent<MouseEvent>(document, 'click')\r\n .pipe(take(1))\r\n ),\r\n ).subscribe(() => {\r\n this.trigger.closeMenu();\r\n });\r\n this.setStyle(el.nativeElement);\r\n }\r\n\r\n public updatePosition(event: MouseEvent) {\r\n this.left = event.x;\r\n this.top = event.y;\r\n }\r\n\r\n private setStyle(element: HTMLButtonElement) {\r\n element.style.overflow = 'hidden';\r\n element.style.position = 'fixed';\r\n element.style.height = '1px';\r\n element.style.width = '1px';\r\n }\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { MatMenuTrigger } from '@angular/material/menu';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\n\r\n@Directive({\r\n selector: '[stoContextMenu]',\r\n standalone: true\r\n})\r\nexport class ContextMenuDirective {\r\n @Input()\r\n menuTrigger: MatMenuTrigger;\r\n @Input()\r\n overlayDirective: MenuOverlayDirective;\r\n @Input()\r\n menuContext: unknown;\r\n\r\n @HostListener('contextmenu', [ '$event' ])\r\n contextMenu(event: MouseEvent) {\r\n event.preventDefault();\r\n if ( this.menuTrigger.menuOpen ) {\r\n this.menuTrigger.closeMenu();\r\n }\r\n this.overlayDirective.updatePosition(event);\r\n setTimeout(() => {\r\n this.menuTrigger.menuData = this.menuContext;\r\n this.menuTrigger.openMenu();\r\n }, 150);\r\n }\r\n\r\n}\r\n","import { QuickKeysDirective } from './quick-keys.directive';\r\nimport { DateFormFieldClickDirective } from './date-form-field-click.directive';\r\nimport { StoSelectTextOnFocusDirective } from './sto-select-text-on-focus.directive';\r\nimport { StoGridColumnDirective, StoGridDirective, StoGridSpacerDirective } from './sto-grid.directive';\r\nimport { MenuOverlayDirective } from './menu-overlay.directive';\r\nimport { ContextMenuDirective } from './context-menu.directive';\r\n\r\n/**\r\n * Directives have been made standalone, import them directly:\r\n * QuickKeysDirective\r\n * DateFormFieldClickDirective\r\n * StoSelectTextOnFocusDirective\r\n * StoGridDirective\r\n * StoGridColumnDirective\r\n * StoGridSpacerDirective\r\n * MenuOverlayDirective\r\n * ContextMenuDirective\r\n */\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n QuickKeysDirective\r\n , DateFormFieldClickDirective\r\n , StoSelectTextOnFocusDirective\r\n , StoGridDirective\r\n , StoGridColumnDirective\r\n , StoGridSpacerDirective\r\n , MenuOverlayDirective\r\n , ContextMenuDirective\r\n ],\r\n exports: [\r\n QuickKeysDirective\r\n , DateFormFieldClickDirective\r\n , StoSelectTextOnFocusDirective\r\n , StoGridDirective\r\n , StoGridColumnDirective\r\n , StoGridSpacerDirective\r\n , MenuOverlayDirective\r\n , ContextMenuDirective\r\n ]\r\n})\r\nexport class StoDirectivesModule {\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Formats numbers to use our standard formatting (d ddd,ddd)\r\n *\r\n * @example\r\n *\r\n * {{ 1234,32 | numberFormat }} -> 1 234,320\r\n * {{ 1234,32 | numberFormat:'M3' }} -> 1 234,320 M3\r\n * {{ -1234,32 | numberFormat:'M3':true }} -> 1 234,320 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:false }} -> 1 234 M3\r\n * {{ 1234,32 | numberFormat:'M3':false:true:5 }} -> 1 234,32000 M3\r\n */\r\n@Pipe({\r\n name: 'numberFormat',\r\n standalone: true\r\n})\r\nexport class NumberFormatPipe implements PipeTransform {\r\n\r\n transform(value: number | string, unit = '', abs?: boolean, appendDecimals = true, numberOfDecimals = 3): string | null {\r\n if ( value !== 0 && !value ) {\r\n return '';\r\n }\r\n if ( typeof value === 'string' ) {\r\n const newValue = parseFloat(value);\r\n if ( isNaN(newValue) ) {\r\n return null;\r\n }\r\n value = newValue;\r\n }\r\n if ( abs ) {\r\n value = Math.abs(value);\r\n }\r\n // We absolute the value to ensure that the rounding rules is always away from zero.\r\n // 1.5 => 2 and -1.5 => -2\r\n const isNegativeNumber = value < 0;\r\n value = Math.abs(value);\r\n\r\n if ( !appendDecimals ) {\r\n value = Math.round(value);\r\n }\r\n if ( !isNaN(value) && appendDecimals ) {\r\n value = parseFloat(this.toFixed(value, numberOfDecimals));\r\n }\r\n // Turn negative numbers back, but only if value is not -0\r\n // eslint-disable-next-line no-compare-neg-zero\r\n if ( isNegativeNumber && value !== -0 ) {\r\n value = value * -1;\r\n }\r\n const localized = this.prettyPrintValue(value, appendDecimals, numberOfDecimals);\r\n return localized.replace(/,/g, ' ').replace('.', ',') + `${unit ? ' ' + unit : ''}`;\r\n }\r\n\r\n private prettyPrintValue(value: number, appendDecimals: boolean, numberOfDecimals: number) {\r\n const intlOptions = { minimumFractionDigits: numberOfDecimals, maximumFractionDigits: numberOfDecimals };\r\n const intl = new Intl.NumberFormat('en-US', intlOptions).format(value);\r\n const split = intl.split('.');\r\n let localized = split[ 0 ];\r\n\r\n if ( appendDecimals ) {\r\n const decimals = split.length === 2 ? split[ 1 ] : '';\r\n split[ 1 ] = decimals.padEnd(numberOfDecimals, '0');\r\n localized = split.join('.');\r\n }\r\n return localized;\r\n }\r\n\r\n // Normal toFixed has some issues: https://stackoverflow.com/questions/10015027/javascript-tofixed-not-rounding\r\n private toFixed(num: number, precision: number) {\r\n // This method also has some issues - namely, it's unable to parse negative numbers with huge floating points\r\n // -8.185452315956354e-12 becomes NaN\r\n let returnValue = ( +( Math.round(+( num + 'e' + precision )) + 'e' + -precision ) );\r\n if ( isNaN(returnValue) ) {\r\n returnValue = parseFloat(num.toFixed(precision));\r\n }\r\n return returnValue.toFixed(precision);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Pipe used to transform numbers to a currency format\r\n *\r\n * @example\r\n *\r\n * <span>{{ 5000.5824 | currentFormat:'$':3 }}</span>\r\n * Results in\r\n * <span>5 000,582 $</span>\r\n */\r\n@Pipe({\r\n name: 'currencyFormat',\r\n standalone: true\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n transform(value: number, unit = '', maximumFractionDigits = 3): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n value = parseFloat(value);\r\n if ( isNaN(value) ) {\r\n return '';\r\n }\r\n }\r\n\r\n const intl = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);\r\n return intl.replace(/,/g, ' ').replace('.', ',') + ` ${unit}`;\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Transforms an Object to an Array.\r\n *\r\n * @example\r\n *\r\n * public obj = {a: 1, b: 2, c: 3};\r\n * <span *ngFor=\"let key of obj | keys \"> {{ obj[key] }}, </span> -> 1, 2, 3,\r\n */\r\n\r\n@Pipe({\r\n name: 'keys',\r\n standalone: true\r\n})\r\nexport class KeysPipe implements PipeTransform {\r\n\r\n transform(value: Record<string, unknown>): Array<string> {\r\n if ( value ) {\r\n return Object.keys(value);\r\n }\r\n return [];\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { format as formatDate, isValid, parseISO } from 'date-fns';\r\n\r\n/**\r\n * Pipe used to transform dates, based on our default formats.\r\n *\r\n * @example\r\n *\r\n * public date = \"2018-08-27 14:00:30\"\r\n * <span>{{ date | dateFormat }}</span> -> Aug 27, 2018\r\n * <span>{{ date | dateFormat:'long' }}</span> -> Monday Aug 27, 2018\r\n */\r\n\r\n@Pipe({\r\n name: 'formatDate',\r\n standalone: true\r\n})\r\nexport class DateFormatPipe implements PipeTransform {\r\n\r\n transform(value: string | number | Date | null, format?: string): string | null {\r\n if ( !value ) {\r\n return null;\r\n }\r\n if ( typeof value === 'string' ) {\r\n const originalValue = value;\r\n value = parseISO(value);\r\n if ( !isValid(value) ) {\r\n // If invalid ISO date (e.g single-digit day), fall back to new Date()\r\n console.warn(`${originalValue} is not a valid ISO date string, falling back to native date`);\r\n value = new Date(originalValue);\r\n }\r\n }\r\n switch ( format ) {\r\n case 'long':\r\n return formatDate(value, 'EEEE MMM d, yyyy');\r\n case 'short':\r\n return formatDate(value, 'yyyy-MM-dd');\r\n case 'datetime':\r\n return formatDate(value, 'MMM d, yyyy, HH:mm');\r\n case 'datetimezone':\r\n return formatDate(value, `MMM d, yyyy, HH:mm:ss ('UTC'xxx)`);\r\n case 'datetime-long':\r\n return formatDate(value, 'EEEE MMM dd, yyyy, HH:mm');\r\n case 'datetime-short':\r\n return formatDate(value, 'yyyy-MM-dd, HH:mm');\r\n default:\r\n return formatDate(value, 'MMM d, yyyy');\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'getUnit', standalone: true })\r\nexport class GetUnit implements PipeTransform {\r\n transform(value: string, withParens?: boolean): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n if ( withParens ) {\r\n value = '(' + arr[ 1 ];\r\n } else {\r\n arr[ 1 ].slice(0, -1);\r\n value = arr[ 1 ].slice(0, -1);\r\n }\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n\r\n@Pipe({ name: 'excludeUnit', standalone: true })\r\nexport class ExcludeUnit implements PipeTransform {\r\n transform(value: string): string {\r\n if ( value ) {\r\n const arr = value.split('(');\r\n if ( arr.length > 0 ) {\r\n value = arr[ 0 ];\r\n }\r\n }\r\n return value;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'yesNo', standalone: true })\r\nexport class YesNoPipe implements PipeTransform {\r\n transform(value: boolean, ignoreNulls = false): string {\r\n let valueStr = '';\r\n if ( ignoreNulls ) {\r\n valueStr = value ? 'Yes' : value === false ? 'No' : '';\r\n } else {\r\n valueStr = value ? 'Yes' : 'No';\r\n }\r\n return valueStr;\r\n\r\n }\r\n}\r\n","import { NumberFormatPipe } from './number-format.pipe';\r\nimport { CurrencyFormatPipe } from './currency-format.pipe';\r\nimport { KeysPipe } from './keys.pipe';\r\nimport { DateFormatPipe } from './date-format.pipe';\r\nimport { ExcludeUnit, GetUnit } from './with-unit';\r\nimport { YesNoPipe } from './yes-no';\r\n\r\n\r\nimport { NgModule } from '@angular/core';\r\n\r\n@NgModule({\r\n imports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ],\r\n exports: [\r\n DateFormatPipe,\r\n KeysPipe,\r\n NumberFormatPipe,\r\n CurrencyFormatPipe,\r\n GetUnit,\r\n ExcludeUnit,\r\n YesNoPipe\r\n ]\r\n})\r\nexport class StoPipesModule {\r\n}\r\n","/*\r\n * Public API Surface of @ngx-stoui/core\r\n */\r\n\r\nexport * from './lib/abstract-and-interfaces/keyPress.enum';\r\nexport * from './lib/sto-directives/directives.module';\r\nexport * from './lib/sto-directives';\r\nexport * from './lib/sto-pipes/sto-pipes.module';\r\n\r\nexport * from './lib/sto-pipes/currency-format.pipe';\r\nexport * from './lib/sto-pipes/date-format.pipe';\r\nexport * from './lib/sto-pipes/keys.pipe';\r\nexport * from './lib/sto-pipes/number-format.pipe';\r\nexport * from './lib/sto-pipes/sto-pipes.module';\r\nexport * from './lib/sto-pipes/with-unit';\r\nexport * from './lib/sto-pipes/yes-no';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["format","formatDate"],"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;AAqBa;IAED;AAAZ,CAAA,UAAY,GAAG,EAAA;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AAET,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AAEd,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AAEX,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAgB;AAChB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,KAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,EAAA,CAAA,GAAA,OAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,EAAA,CAAA,GAAA,MAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAgB;AAEhB,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AACN,IAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,EAAA,CAAA,GAAA,GAAM;AAEN,IAAA,GAAA,CAAA,GAAA,CAAA,eAAA,CAAA,GAAA,EAAA,CAAA,GAAA,eAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,gBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,gBAAmB;AACnB,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc;AAEd,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AAEb,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,GAAA,CAAA,GAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AAEZ,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,IAAA,CAAA,GAAA,GAAA,CAAA,GAAA,IAAQ;AACR,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AACT,IAAA,GAAA,CAAA,GAAA,CAAA,KAAA,CAAA,GAAA,GAAA,CAAA,GAAA,KAAS;AAET,IAAA,GAAA,CAAA,GAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAEhB,IAAA,GAAA,CAAA,GAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,GAAA,CAAA,GAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,GAAA,CAAA,GAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAmB;AAEnB,IAAA,GAAA,CAAA,GAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,GAAA,CAAA,GAAA,CAAA,eAAA,CAAA,GAAA,GAAA,CAAA,GAAA,eAAmB;AACnB,IAAA,GAAA,CAAA,GAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EA9HW,GAAG,KAAH,GAAG,GAAA,EAAA,CAAA,CAAA;;ACnBf;;;AAGG;MAMU,kBAAkB,CAAA;AAJ/B,IAAA,WAAA,GAAA;AAUE;;;AAGG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AAChD;;;AAGG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAQ;AAyCjD,IAAA;AAvCC;;;AAGG;AAEH,IAAA,OAAO,CAAC,CAAgB,EAAA;AACtB,QAAA,IAAK,IAAI,CAAC,SAAS,EAAG;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxB;AACA,QAAA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9B;AAEA;;;;AAIG;AACK,IAAA,oBAAoB,CAAC,CAAgB,EAAA;;QAE3C,IAAK,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,MAAM,EAAG;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;AACA,QAAA,IAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAG;AAC7D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;IACF;AAEA;;;AAGG;AACK,IAAA,cAAc,CAAC,CAAgB,EAAA;AACrC,QAAA,IAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAG;YAC7B;QACF;AACA,QAAA,IAAK,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAG;AAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACzB;IACF;8GAvDW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAEU,SAAS,EAAA,CAAA;sBAAjB;gBAIQ,SAAS,EAAA,CAAA;sBAAjB;gBAKS,WAAW,EAAA,CAAA;sBAApB;gBAKS,WAAW,EAAA,CAAA;sBAApB;gBAOD,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAE,QAAQ,CAAE;;;AC5BrC;;;;;AAKG;MAKU,2BAA2B,CAAA;AAJxC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE;AAkBjC,IAAA;IAfC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE;IACnC;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,qBAAqB,CAAC;aACxB,IAAI,CACH,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACzB,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;IAC1B;8GApBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,wNACrB,QAAQ,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FADd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAE4B,MAAM,EAAA,CAAA;sBAAhC,eAAe;uBAAC,QAAQ;gBAChB,qBAAqB,EAAA,CAAA;sBAA7B;gBAID,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,OAAO;;;ACnBvB;;;AAGG;MAKU,6BAA6B,CAAA;AAMxC,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAMrC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa;IAC1C;AAEA;;AAEG;IAGH,OAAO,GAAA;AACL,QAAA,IAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAG;AACxB,YAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;QACnB;IAEF;8GApBW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE;AACb,iBAAA;wDAgBC,OAAO,EAAA,CAAA;sBAFN,YAAY;uBAAC,OAAO;;sBACpB,YAAY;uBAAC,UAAU;;;ACjB1B,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAK,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,KAAI;IAC3D,IAAI,IAAI,GAAG,CAAC;AACZ,IAAA,IAAK,KAAK,GAAG,KAAK,EAAG;QACnB,IAAI,IAAI,CAAC;IACX;AACA,IAAA,IAAK,KAAK,GAAG,KAAK,EAAG;QACnB,IAAI,IAAI,CAAC;IACX;IACA,OAAO,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE;AAC9B,CAAC;AAED,MAAM,SAAS,GAAG,CAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,CAAE;MAM3E,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAOE,IAAA,CAAA,QAAQ,GAAG,IAAI;AAChB,IAAA;8GAJY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,+BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAIC,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,uBAAuB;;sBACnC,WAAW;uBAAC,+BAA+B;;MAQjC,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAME,IAAA,CAAA,QAAQ,GAAG,IAAI;AAKhB,IAAA;8GAPY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAGC,QAAQ,EAAA,CAAA;sBADP,WAAW;uBAAC,uBAAuB;gBAIpC,mBAAmB,EAAA,CAAA;sBAFlB,WAAW;uBAAC,0BAA0B;;sBACtC;;MAUU,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAA0B,UAAU,CAAC;QAI3D,IAAA,CAAA,QAAQ,GAAG,IAAI;QAGf,IAAA,CAAA,QAAQ,GAAG,GAAG;QAEd,IAAA,CAAA,SAAS,GAAG,IAAI;AA+BjB,IAAA;IAvBC,eAAe,GAAA;AACb,QAAA,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAA4B;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,OAAO,IAAG;AAC3C,YAAA,KAAM,MAAM,KAAK,IAAI,OAAO,EAAG;AAC7B,gBAAA,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW;AAC5B,gBAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;AACpB,gBAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE;AAC1D,gBAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAE,CAAC,CAAE,EAAE,WAAW,CAAE,CAAC,CAAE,CAAC;gBACpE,IAAK,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAG;oBACtC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AACjC,oBAAA,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5B;YACF;AACF,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;IACjD;IAEA,WAAW,GAAA;AACT,QAAA,IAAK,IAAI,CAAC,QAAQ,EAAG;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QAC5B;IACF;8GAvCW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAWV,sBAAsB,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAXhD,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,SAAS;AACnB,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAMC,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,oBAAoB;;sBAChC;gBAID,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,oBAAoB;;sBAChC;gBAGD,SAAS,EAAA,CAAA;sBADR,WAAW;uBAAC,kBAAkB;gBAG/B,OAAO,EAAA,CAAA;sBADN,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,sBAAsB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAG7D,WAAW,EAAA,CAAA;sBADV;;;MCnDU,oBAAoB,CAAA;AAS/B,IAAA,WAAA,GAAA;QARQ,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAGxD,IAAA,CAAA,IAAI,GAAG,CAAC;QAER,IAAA,CAAA,GAAG,GAAG,CAAC;AAIL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,QAAA,MAAM,EAAE,GAAG,MAAM,CAAgC,UAAU,CAAC;AAE5D,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAoB;AACxC,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAC1B,SAAS,CAAC,MACR,SAAS,CAAa,QAAQ,EAAE,OAAO;AACpC,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACjB,CACF,CAAC,SAAS,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAC1B,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC;IACjC;AAEO,IAAA,cAAc,CAAC,KAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IACpB;AAEQ,IAAA,QAAQ,CAAC,OAA0B,EAAA;AACzC,QAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;AACjC,QAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AAChC,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK;AAC5B,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;IAC7B;8GAnCW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,WAAA,EAAA,cAAA,EAAA,UAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE;AACb,iBAAA;wDAKC,IAAI,EAAA,CAAA;sBADH,WAAW;uBAAC,eAAe;gBAG5B,GAAG,EAAA,CAAA;sBADF,WAAW;uBAAC,cAAc;;;MCPhB,oBAAoB,CAAA;AAS/B,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAG;AAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QAC9B;AACA,QAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC;QAC3C,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW;AAC5C,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;QAC7B,CAAC,EAAE,GAAG,CAAC;IACT;8GAnBW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE;AACb,iBAAA;8BAGC,WAAW,EAAA,CAAA;sBADV;gBAGD,gBAAgB,EAAA,CAAA;sBADf;gBAGD,WAAW,EAAA,CAAA;sBADV;gBAID,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,aAAa,EAAE,CAAE,QAAQ,CAAE;;;MC0B9B,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YApB5B,kBAAkB;YAChB,2BAA2B;YAC3B,6BAA6B;YAC7B,gBAAgB;YAChB,sBAAsB;YACtB,sBAAsB;YACtB,oBAAoB;AACpB,YAAA,oBAAoB,aAGtB,kBAAkB;YAChB,2BAA2B;YAC3B,6BAA6B;YAC7B,gBAAgB;YAChB,sBAAsB;YACtB,sBAAsB;YACtB,oBAAoB;YACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAGb,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAtB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAChB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,gBAAgB;wBAChB,sBAAsB;wBACtB,sBAAsB;wBACtB,oBAAoB;wBACpB;AACH,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAChB,2BAA2B;wBAC3B,6BAA6B;wBAC7B,gBAAgB;wBAChB,sBAAsB;wBACtB,sBAAsB;wBACtB,oBAAoB;wBACpB;AACH;AACF,iBAAA;;;ACvCD;;;;;;;;;;AAUG;MAKU,gBAAgB,CAAA;AAE3B,IAAA,SAAS,CAAC,KAAsB,EAAE,IAAI,GAAG,EAAE,EAAE,GAAa,EAAE,cAAc,GAAG,IAAI,EAAE,gBAAgB,GAAG,CAAC,EAAA;AACrG,QAAA,IAAK,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG;AAC3B,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;AAC/B,YAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,YAAA,IAAK,KAAK,CAAC,QAAQ,CAAC,EAAG;AACrB,gBAAA,OAAO,IAAI;YACb;YACA,KAAK,GAAG,QAAQ;QAClB;QACA,IAAK,GAAG,EAAG;AACT,YAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB;;;AAGA,QAAA,MAAM,gBAAgB,GAAG,KAAK,GAAG,CAAC;AAClC,QAAA,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAEvB,IAAK,CAAC,cAAc,EAAG;AACrB,YAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC3B;QACA,IAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,cAAc,EAAG;AACrC,YAAA,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC3D;;;AAGA,QAAA,IAAK,gBAAgB,IAAI,KAAK,KAAK,CAAC,CAAC,EAAG;AACtC,YAAA,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QACpB;AACA,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,cAAc,EAAE,gBAAgB,CAAC;AAChF,QAAA,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA,EAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE;IACrF;AAEQ,IAAA,gBAAgB,CAAC,KAAa,EAAE,cAAuB,EAAE,gBAAwB,EAAA;QACvF,MAAM,WAAW,GAAG,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE;AACxG,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,QAAA,IAAI,SAAS,GAAG,KAAK,CAAE,CAAC,CAAE;QAE1B,IAAK,cAAc,EAAG;AACpB,YAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,CAAE,CAAC,CAAE,GAAG,EAAE;AACrD,YAAA,KAAK,CAAE,CAAC,CAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC;AACnD,YAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7B;AACA,QAAA,OAAO,SAAS;IAClB;;IAGQ,OAAO,CAAC,GAAW,EAAE,SAAiB,EAAA;;;QAG5C,IAAI,WAAW,IAAK,EAAG,IAAI,CAAC,KAAK,CAAC,EAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAE,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAE,CAAE;AACpF,QAAA,IAAK,KAAK,CAAC,WAAW,CAAC,EAAG;YACxB,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD;AACA,QAAA,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;IACvC;8GA3DW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACdD;;;;;;;;AAQG;MAKU,kBAAkB,CAAA;IAC7B,SAAS,CAAC,KAAa,EAAE,IAAI,GAAG,EAAE,EAAE,qBAAqB,GAAG,CAAC,EAAA;QAC3D,IAAK,CAAC,KAAK,EAAG;AACZ,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;AAC/B,YAAA,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AACzB,YAAA,IAAK,KAAK,CAAC,KAAK,CAAC,EAAG;AAClB,gBAAA,OAAO,EAAE;YACX;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AACpF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAA,CAAA,EAAI,IAAI,EAAE;IAC/D;8GAdW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,gBAAgB;AACtB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACZD;;;;;;;AAOG;MAMU,QAAQ,CAAA;AAEnB,IAAA,SAAS,CAAC,KAA8B,EAAA;QACtC,IAAK,KAAK,EAAG;AACX,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B;AACA,QAAA,OAAO,EAAE;IACX;8GAPW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACXD;;;;;;;;AAQG;MAMU,cAAc,CAAA;IAEzB,SAAS,CAAC,KAAoC,EAAEA,QAAe,EAAA;QAC7D,IAAK,CAAC,KAAK,EAAG;AACZ,YAAA,OAAO,IAAI;QACb;AACA,QAAA,IAAK,OAAO,KAAK,KAAK,QAAQ,EAAG;YAC/B,MAAM,aAAa,GAAG,KAAK;AAC3B,YAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AACvB,YAAA,IAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAG;;AAErB,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA,4DAAA,CAA8D,CAAC;AAC5F,gBAAA,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC;YACjC;QACF;QACA,QAASA,QAAM;AACb,YAAA,KAAK,MAAM;AACT,gBAAA,OAAOC,MAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC;AAC9C,YAAA,KAAK,OAAO;AACV,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,YAAY,CAAC;AACxC,YAAA,KAAK,UAAU;AACb,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,oBAAoB,CAAC;AAChD,YAAA,KAAK,cAAc;AACjB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,CAAA,gCAAA,CAAkC,CAAC;AAC9D,YAAA,KAAK,eAAe;AAClB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,0BAA0B,CAAC;AACtD,YAAA,KAAK,gBAAgB;AACnB,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,mBAAmB,CAAC;AAC/C,YAAA;AACE,gBAAA,OAAOA,MAAU,CAAC,KAAK,EAAE,aAAa,CAAC;;IAE7C;8GA/BW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCbY,OAAO,CAAA;IAClB,SAAS,CAAC,KAAa,EAAE,UAAoB,EAAA;QAC3C,IAAK,KAAK,EAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,YAAA,IAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;gBACpB,IAAK,UAAU,EAAG;AAChB,oBAAA,KAAK,GAAG,GAAG,GAAG,GAAG,CAAE,CAAC,CAAE;gBACxB;qBAAO;oBACL,GAAG,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrB,oBAAA,KAAK,GAAG,GAAG,CAAE,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B;YACF;QACF;AACA,QAAA,OAAO,KAAK;IACd;8GAdW,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;;MAmB9B,WAAW,CAAA;AACtB,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,IAAK,KAAK,EAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5B,YAAA,IAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;AACpB,gBAAA,KAAK,GAAG,GAAG,CAAE,CAAC,CAAE;YAClB;QACF;AACA,QAAA,OAAO,KAAK;IACd;8GATW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE;;;MCjBlC,SAAS,CAAA;AACpB,IAAA,SAAS,CAAC,KAAc,EAAE,WAAW,GAAG,KAAK,EAAA;QAC3C,IAAI,QAAQ,GAAG,EAAE;QACjB,IAAK,WAAW,EAAG;YACjB,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,GAAG,EAAE;QACxD;aAAO;YACL,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI;QACjC;AACA,QAAA,OAAO,QAAQ;IAEjB;8GAVW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;;;MC4B5B,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAlBvB,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,kBAAkB;YAClB,OAAO;YACP,WAAW;AACX,YAAA,SAAS,aAGT,cAAc;YACd,QAAQ;YACR,gBAAgB;YAChB,kBAAkB;YAClB,OAAO;YACP,WAAW;YACX,SAAS,CAAA,EAAA,CAAA,CAAA;+GAGA,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBApB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,QAAQ;wBACR,gBAAgB;wBAChB,kBAAkB;wBAClB,OAAO;wBACP,WAAW;wBACX;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,cAAc;wBACd,QAAQ;wBACR,gBAAgB;wBAChB,kBAAkB;wBAClB,OAAO;wBACP,WAAW;wBACX;AACD;AACF,iBAAA;;;AC7BD;;AAEG;;ACFH;;AAEG;;;;"}
|
package/ngx-stoui.css
CHANGED
|
@@ -4290,92 +4290,107 @@ input::-webkit-inner-spin-button {
|
|
|
4290
4290
|
margin: 0;
|
|
4291
4291
|
}
|
|
4292
4292
|
|
|
4293
|
-
.mat-app-background {
|
|
4293
|
+
html body.mat-app-background {
|
|
4294
4294
|
background-color: var(--bg-app);
|
|
4295
4295
|
color: var(--text);
|
|
4296
4296
|
--mdc-theme-surface: var(--primary-resting);
|
|
4297
4297
|
}
|
|
4298
|
-
|
|
4299
|
-
.mat-expansion-panel {
|
|
4298
|
+
html body .mat-expansion-panel {
|
|
4300
4299
|
--mat-expansion-container-background-color: var(--bg-card);
|
|
4301
4300
|
--mat-expansion-header-hover-state-layer-color: var(--bg-hover);
|
|
4302
4301
|
--mat-expansion-header-text-color: var(--text);
|
|
4303
4302
|
--mat-expansion-header-indicator-color: var(--text);
|
|
4304
4303
|
--mat-expansion-container-text-color: var(--text);
|
|
4305
4304
|
}
|
|
4306
|
-
|
|
4307
|
-
.mat-mdc-button-base {
|
|
4305
|
+
html body .mat-mdc-button-base {
|
|
4308
4306
|
--mdc-text-button-container-height: 46px;
|
|
4309
4307
|
--mdc-protected-button-label-text-color: var(--primary-hover-alt);
|
|
4310
4308
|
height: var(--mdc-text-button-container-height);
|
|
4311
4309
|
}
|
|
4312
|
-
.mat-mdc-button-base.mat-unthemed {
|
|
4310
|
+
html body .mat-mdc-button-base.mat-unthemed {
|
|
4313
4311
|
--mdc-text-button-label-text-color: var(--text);
|
|
4314
4312
|
}
|
|
4315
|
-
.mat-mdc-button-base.mat-mdc-raised-button {
|
|
4313
|
+
html body .mat-mdc-button-base.mat-mdc-raised-button {
|
|
4316
4314
|
--mdc-protected-button-label-text-color: var(--primary-hover-alt);
|
|
4317
4315
|
}
|
|
4318
|
-
.mat-mdc-button-base.mat-mdc-icon-button {
|
|
4316
|
+
html body .mat-mdc-button-base.mat-mdc-icon-button {
|
|
4319
4317
|
--mdc-icon-button-padding: max(
|
|
4320
4318
|
0px,
|
|
4321
4319
|
calc(
|
|
4322
4320
|
calc(
|
|
4323
|
-
var(--mdc-icon-button-state-layer-size, 48px) -
|
|
4324
|
-
|
|
4325
|
-
|
|
4321
|
+
var(--mdc-icon-button-state-layer-size, 48px) - var(
|
|
4322
|
+
--mdc-icon-button-icon-size,
|
|
4323
|
+
24px
|
|
4324
|
+
)
|
|
4325
|
+
) /
|
|
4326
|
+
2
|
|
4326
4327
|
)
|
|
4327
4328
|
);
|
|
4328
4329
|
padding: var(--mdc-icon-button-padding);
|
|
4329
4330
|
line-height: calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-padding));
|
|
4330
4331
|
}
|
|
4331
|
-
.mat-mdc-button-base.mat-mdc-icon-button .mat-icon {
|
|
4332
|
+
html body .mat-mdc-button-base.mat-mdc-icon-button .mat-icon {
|
|
4332
4333
|
height: calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-padding) * 2);
|
|
4333
4334
|
width: calc(var(--mdc-icon-button-state-layer-size, 48px) - var(--mdc-icon-button-padding) * 2);
|
|
4334
4335
|
}
|
|
4335
|
-
.mat-mdc-button-base.mat-mdc-icon-button .mat-mdc-focus-indicator,
|
|
4336
|
-
.mat-mdc-button-base.mat-mdc-icon-button .mat-mdc-button-touch-target {
|
|
4336
|
+
html body .mat-mdc-button-base.mat-mdc-icon-button .mat-mdc-focus-indicator,
|
|
4337
|
+
html body .mat-mdc-button-base.mat-mdc-icon-button .mat-mdc-button-touch-target {
|
|
4337
4338
|
width: var(--mdc-icon-button-state-layer-size, 48px);
|
|
4338
4339
|
height: var(--mdc-icon-button-state-layer-size, 48px);
|
|
4339
4340
|
margin: 2px;
|
|
4340
4341
|
}
|
|
4341
|
-
|
|
4342
|
-
|
|
4342
|
+
html body .mat-button-toggle {
|
|
4343
|
+
--mat-standard-button-toggle-text-color: var(--text);
|
|
4344
|
+
}
|
|
4345
|
+
html body .mat-mdc-progress-bar {
|
|
4343
4346
|
--mdc-linear-progress-active-indicator-color: var(--primary-highlight);
|
|
4344
4347
|
}
|
|
4345
|
-
|
|
4346
|
-
.mat-mdc-tab-
|
|
4347
|
-
.mat-mdc-tab-nav-bar {
|
|
4348
|
+
html body .mat-mdc-tab-group,
|
|
4349
|
+
html body .mat-mdc-tab-nav-bar {
|
|
4348
4350
|
--mat-tab-header-inactive-label-text-color: var(--text-disabled);
|
|
4349
4351
|
--mat-tab-header-active-label-text-color: var(--text);
|
|
4350
4352
|
--mat-tab-header-inactive-focus-label-text-color: var(--text-disabled);
|
|
4351
4353
|
--mat-tab-header-inactive-hover-label-text-color: var(--text-disabled);
|
|
4352
4354
|
}
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
+
html body .mdc-menu-surface {
|
|
4356
|
+
--mat-select-panel-background-color: var(--bg-card);
|
|
4355
4357
|
--mat-menu-item-label-text-color: var(--text);
|
|
4356
4358
|
--mat-menu-container-color: var(--bg-card);
|
|
4357
4359
|
--mat-menu-item-icon-color: var(--text);
|
|
4360
|
+
--mat-option-label-text-color: var(--text);
|
|
4361
|
+
--mat-full-pseudo-checkbox-unselected-icon-color: var(--text);
|
|
4358
4362
|
}
|
|
4359
|
-
|
|
4360
|
-
.mat-mdc-card {
|
|
4363
|
+
html body .mat-mdc-card {
|
|
4361
4364
|
--mdc-elevated-card-container-color: var(--bg-card);
|
|
4362
|
-
--mdc-outlined-card-container-color: hsla(from var(--bg-card)
|
|
4365
|
+
--mdc-outlined-card-container-color: hsla(from var(--bg-card) h s l / 50%);
|
|
4363
4366
|
--mdc-outlined-card-container-color: var(--bg-card);
|
|
4364
4367
|
}
|
|
4365
|
-
|
|
4366
|
-
|
|
4368
|
+
html body .mat-mdc-form-field {
|
|
4369
|
+
--mdc-filled-text-field-active-indicator-color: var(--divider);
|
|
4370
|
+
--mdc-filled-text-field-hover-active-indicator-color: var(
|
|
4371
|
+
--primary-resting
|
|
4372
|
+
);
|
|
4373
|
+
--mdc-filled-text-field-focus-active-indicator-color: var(
|
|
4374
|
+
--primary-resting
|
|
4375
|
+
);
|
|
4376
|
+
--mdc-filled-text-field-focus-label-text-color: hsla(
|
|
4377
|
+
from var(--text) h s l / 70%
|
|
4378
|
+
);
|
|
4367
4379
|
--mdc-filled-text-field-input-text-color: var(--text);
|
|
4380
|
+
--mdc-filled-text-field-label-text-color: hsla(
|
|
4381
|
+
from var(--text) h s l / 70%
|
|
4382
|
+
);
|
|
4383
|
+
--mdc-filled-text-field-hover-label-text-color: var(--text);
|
|
4368
4384
|
--mdc-filled-text-field-caret-color: var(--text);
|
|
4369
4385
|
--mat-form-field-container-height: 36px;
|
|
4370
4386
|
--mat-form-field-filled-with-label-container-padding-bottom: 0px;
|
|
4371
4387
|
}
|
|
4372
|
-
.mat-mdc-form-field .mdc-text-field {
|
|
4388
|
+
html body .mat-mdc-form-field .mdc-text-field {
|
|
4373
4389
|
overflow: visible;
|
|
4374
4390
|
padding: 0;
|
|
4375
4391
|
}
|
|
4376
|
-
|
|
4377
|
-
.mat-mdc-checkbox
|
|
4378
|
-
.mat-mdc-checkbox.mat-primary {
|
|
4392
|
+
html body .mat-mdc-checkbox,
|
|
4393
|
+
html body .mat-mdc-checkbox.mat-primary {
|
|
4379
4394
|
--mdc-theme-text-primary-on-background: var(--text);
|
|
4380
4395
|
--mdc-checkbox-selected-checkmark-color: var(--accent-hover-contrast);
|
|
4381
4396
|
--mdc-checkbox-unselected-icon-color: var(--text);
|
|
@@ -4384,28 +4399,30 @@ input::-webkit-inner-spin-button {
|
|
|
4384
4399
|
--mdc-checkbox-unselected-hover-icon-color: var(--text-disabled);
|
|
4385
4400
|
--mdc-checkbox-selected-hover-icon-color: var(--primary-hover);
|
|
4386
4401
|
}
|
|
4387
|
-
|
|
4388
|
-
|
|
4402
|
+
html body .mat-mdc-radio-button {
|
|
4403
|
+
--mdc-radio-selected-icon-color: var(--primary-resting);
|
|
4404
|
+
}
|
|
4405
|
+
html body .mat-mdc-select {
|
|
4389
4406
|
--mat-select-enabled-trigger-text-color: var(--text);
|
|
4390
4407
|
--mat-select-enabled-arrow-color: var(--text);
|
|
4391
4408
|
}
|
|
4392
|
-
|
|
4393
|
-
.mdc-switch {
|
|
4409
|
+
html body .mdc-switch {
|
|
4394
4410
|
--mdc-theme-text-primary-on-background: var(--text);
|
|
4395
4411
|
--mdc-switch-handle-surface-color: var(--primary-resting);
|
|
4396
4412
|
--mdc-switch-selected-track-color: var(--primary-selected-hover);
|
|
4397
4413
|
--mdc-switch-selected-hover-track-color: var(--primary-selected-hover);
|
|
4398
4414
|
--mdc-switch-selected-focus-track-color: var(--primary-selected-focus);
|
|
4399
4415
|
}
|
|
4400
|
-
|
|
4401
|
-
|
|
4416
|
+
html body .mat-mdc-slide-toggle {
|
|
4417
|
+
--mat-switch-label-text-color: var(--text);
|
|
4418
|
+
}
|
|
4419
|
+
html body .mat-calendar {
|
|
4402
4420
|
--mat-datepicker-calendar-body-label-text-color: var(--text);
|
|
4403
4421
|
--mat-datepicker-calendar-date-text-color: hsla(
|
|
4404
|
-
from var(--
|
|
4405
|
-
h s l 50%
|
|
4422
|
+
from var(--text) h s l / 80%
|
|
4406
4423
|
);
|
|
4407
4424
|
--mat-datepicker-calendar-date-selected-state-text-color: var(
|
|
4408
|
-
--accent-
|
|
4425
|
+
--accent-hover-contrast
|
|
4409
4426
|
);
|
|
4410
4427
|
--mat-datepicker-calendar-date-selected-state-background-color: var(
|
|
4411
4428
|
--primary-resting
|
|
@@ -4534,17 +4551,6 @@ mat-form-field {
|
|
|
4534
4551
|
background: inherit;
|
|
4535
4552
|
}
|
|
4536
4553
|
|
|
4537
|
-
body .sto-form__field {
|
|
4538
|
-
--mdc-filled-text-field-active-indicator-color: var(--divider);
|
|
4539
|
-
--mdc-filled-text-field-hover-active-indicator-color: var(
|
|
4540
|
-
--primary-resting
|
|
4541
|
-
);
|
|
4542
|
-
--mdc-filled-text-field-focus-active-indicator-color: var(
|
|
4543
|
-
--primary-resting
|
|
4544
|
-
);
|
|
4545
|
-
--mdc-filled-text-field-label-text-color: var(--text);
|
|
4546
|
-
--mdc-filled-text-field-focus-label-text-color: var(--text);
|
|
4547
|
-
}
|
|
4548
4554
|
body .sto-form__field input {
|
|
4549
4555
|
color: var(--mdc-filled-text-field-label-text-color);
|
|
4550
4556
|
}
|
package/package.json
CHANGED
package/style/form/sto-form.scss
CHANGED
|
@@ -12,15 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
.sto-form {
|
|
14
14
|
&__field {
|
|
15
|
-
--mdc-filled-text-field-active-indicator-color: var(--divider);
|
|
16
|
-
--mdc-filled-text-field-hover-active-indicator-color: var(
|
|
17
|
-
--primary-resting
|
|
18
|
-
);
|
|
19
|
-
--mdc-filled-text-field-focus-active-indicator-color: var(
|
|
20
|
-
--primary-resting
|
|
21
|
-
);
|
|
22
|
-
--mdc-filled-text-field-label-text-color: #{$color};
|
|
23
|
-
--mdc-filled-text-field-focus-label-text-color: #{$color};
|
|
24
15
|
input {
|
|
25
16
|
color: var(--mdc-filled-text-field-label-text-color);
|
|
26
17
|
}
|