novo-elements 8.0.0 → 8.0.2

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.
Files changed (28) hide show
  1. package/elements/popover/PopOver.d.ts +2 -1
  2. package/elements/time-picker/TimePickerInput.d.ts +5 -3
  3. package/esm2020/elements/chips/Chips.mjs +1 -2
  4. package/esm2020/elements/date-time-picker/DateTimePickerInput.mjs +1 -1
  5. package/esm2020/elements/form/ControlTemplates.mjs +40 -40
  6. package/esm2020/elements/popover/PopOver.mjs +13 -3
  7. package/esm2020/elements/time-picker/TimePickerInput.mjs +30 -11
  8. package/fesm2015/novo-elements-elements-chips.mjs +0 -1
  9. package/fesm2015/novo-elements-elements-chips.mjs.map +1 -1
  10. package/fesm2015/novo-elements-elements-date-time-picker.mjs +1 -1
  11. package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
  12. package/fesm2015/novo-elements-elements-form.mjs +39 -39
  13. package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
  14. package/fesm2015/novo-elements-elements-popover.mjs +12 -2
  15. package/fesm2015/novo-elements-elements-popover.mjs.map +1 -1
  16. package/fesm2015/novo-elements-elements-time-picker.mjs +30 -10
  17. package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
  18. package/fesm2020/novo-elements-elements-chips.mjs +0 -1
  19. package/fesm2020/novo-elements-elements-chips.mjs.map +1 -1
  20. package/fesm2020/novo-elements-elements-date-time-picker.mjs +1 -1
  21. package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
  22. package/fesm2020/novo-elements-elements-form.mjs +39 -39
  23. package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
  24. package/fesm2020/novo-elements-elements-popover.mjs +12 -2
  25. package/fesm2020/novo-elements-elements-popover.mjs.map +1 -1
  26. package/fesm2020/novo-elements-elements-time-picker.mjs +29 -10
  27. package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
  28. package/package.json +1 -1
@@ -237,6 +237,9 @@ class PopOverDirective {
237
237
  this.onShown = new EventEmitter();
238
238
  this.onHidden = new EventEmitter();
239
239
  }
240
+ set novoPopover(content) {
241
+ this.content = content;
242
+ }
240
243
  // ---------------------------------------------------
241
244
  // Event listeners
242
245
  // ---------------------------------------------------
@@ -349,15 +352,22 @@ class PopOverDirective {
349
352
  }
350
353
  }
351
354
  PopOverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PopOverDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
352
- PopOverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PopOverDirective, selector: "[popover]", inputs: { content: ["popover", "content"], popoverHtmlContent: "popoverHtmlContent", popoverDisabled: "popoverDisabled", popoverAlways: "popoverAlways", popoverAnimation: "popoverAnimation", popoverPlacement: "popoverPlacement", popoverTitle: "popoverTitle", popoverOnHover: "popoverOnHover", popoverDismissTimeout: "popoverDismissTimeout" }, outputs: { onShown: "onShown", onHidden: "onHidden" }, host: { listeners: { "click": "showOrHideOnClick()", "focusin": "showOnHover()", "mouseenter": "showOnHover()", "focusout": "hideOnHover()", "mouseleave": "hideOnHover()" } }, usesOnChanges: true, ngImport: i0 });
355
+ PopOverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: PopOverDirective, selector: "[popover], [novoPopover]", inputs: { content: ["popover", "content"], novoPopover: "novoPopover", popoverHtmlContent: "popoverHtmlContent", popoverDisabled: "popoverDisabled", popoverAlways: "popoverAlways", popoverAnimation: "popoverAnimation", popoverPlacement: "popoverPlacement", popoverTitle: "popoverTitle", popoverOnHover: "popoverOnHover", popoverDismissTimeout: "popoverDismissTimeout" }, outputs: { onShown: "onShown", onHidden: "onHidden" }, host: { listeners: { "click": "showOrHideOnClick()", "focusin": "showOnHover()", "mouseenter": "showOnHover()", "focusout": "hideOnHover()", "mouseleave": "hideOnHover()" } }, usesOnChanges: true, ngImport: i0 });
353
356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PopOverDirective, decorators: [{
354
357
  type: Directive,
355
358
  args: [{
356
- selector: '[popover]',
359
+ /**
360
+ * [popover] selector retained for backwards compatability, but should be avoived as
361
+ * it interferes with the newly added (2023) HTML standard spec popover attribute.
362
+ */
363
+ selector: '[popover], [novoPopover]',
357
364
  }]
358
365
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { content: [{
359
366
  type: Input,
360
367
  args: ['popover']
368
+ }], novoPopover: [{
369
+ type: Input,
370
+ args: ['novoPopover']
361
371
  }], popoverHtmlContent: [{
362
372
  type: Input
363
373
  }], popoverDisabled: [{
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-popover.mjs","sources":["../../../projects/novo-elements/src/elements/popover/PopOverContent.ts","../../../projects/novo-elements/src/elements/popover/PopOver.ts","../../../projects/novo-elements/src/elements/popover/PopOver.module.ts","../../../projects/novo-elements/src/elements/popover/novo-elements-elements-popover.ts"],"sourcesContent":["import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, ViewChild } from '@angular/core';\nimport { PopOverDirective } from './PopOver';\n\n@Component({\n selector: 'popover-content',\n template: `\n <div\n #popoverDiv\n class=\"popover {{ effectivePlacement }}\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\"\n [class.fade]=\"animation\"\n style=\"display: block\"\n role=\"popover\"\n >\n <div class=\"arrow {{ effectiveAlignment }}\"></div>\n <div class=\"popover-title\" [hidden]=\"!title\">{{ title }}</div>\n <div class=\"popover-content\">\n <ng-content></ng-content>\n <div *ngIf=\"htmlContent\" class=\"popover-content-text\" [innerHTML]=\"htmlContent\"></div>\n <div *ngIf=\"!htmlContent\" class=\"popover-content-text\">{{ content }}</div>\n </div>\n </div>\n `,\n})\nexport class PopOverContent implements AfterViewInit {\n @Input()\n content: string;\n @Input()\n htmlContent: string;\n @Input()\n placement: string = 'top';\n @Input()\n title: string;\n @Input()\n animation: boolean = true;\n\n @ViewChild('popoverDiv')\n popoverDiv: ElementRef;\n popover: PopOverDirective;\n onCloseFromOutside = new EventEmitter();\n top: number = -10000;\n left: number = -10000;\n displayType: string = 'none';\n effectivePlacement: string;\n effectiveAlignment: string;\n isHidden: boolean = false;\n\n constructor(protected element: ElementRef, protected cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.show();\n this.cdr.detectChanges();\n }\n\n toggle(): void {\n if (this.isHidden) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n show(): void {\n if (!this.popover || !this.popover.getElement()) {\n return;\n }\n\n const p = this.positionElements(this.popover.getElement(), this.popoverDiv.nativeElement, this.placement);\n this.displayType = 'block';\n this.top = p.top;\n this.left = p.left;\n this.isHidden = false;\n }\n\n hide(): void {\n this.top = -10000;\n this.left = -10000;\n this.isHidden = true;\n this.popover.hide();\n }\n\n hideFromPopover() {\n this.top = -10000;\n this.left = -10000;\n }\n\n protected positionElements(\n hostEl: HTMLElement,\n targetEl: HTMLElement,\n positionStr: string,\n appendToBody = false,\n ): { top: number; left: number } {\n const positionStrParts = positionStr.split('-');\n const mainSide = (this.effectivePlacement = this.getEffectivePlacement(positionStrParts[0] || 'right', hostEl, targetEl));\n const orientation = (this.effectiveAlignment = positionStrParts[1] || 'center');\n const hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);\n const targetElWidth = targetEl.offsetWidth;\n const targetElHeight = targetEl.offsetHeight;\n\n const shiftWidth: any = {\n center(): number {\n return hostElPos.left + (hostElPos.width - targetElWidth) / 2;\n },\n right(): number {\n return hostElPos.left;\n },\n left(): number {\n return hostElPos.left + (hostElPos.width - targetElWidth);\n },\n };\n\n const shiftHeight: any = {\n center(): number {\n return hostElPos.top + (hostElPos.height - targetElHeight) / 2;\n },\n bottom(): number {\n return hostElPos.top;\n },\n top(): number {\n return hostElPos.top + (hostElPos.height - targetElHeight);\n },\n };\n\n let targetElPos: { top: number; left: number };\n switch (mainSide) {\n case 'right':\n targetElPos = {\n top: shiftHeight[orientation](),\n left: hostElPos.left + hostElPos.width,\n };\n break;\n\n case 'left':\n targetElPos = {\n top: shiftHeight[orientation](),\n left: hostElPos.left - targetElWidth,\n };\n break;\n\n case 'bottom':\n targetElPos = {\n top: hostElPos.top + hostElPos.height,\n left: shiftWidth[orientation](),\n };\n break;\n\n default:\n targetElPos = {\n top: hostElPos.top - targetElHeight,\n left: shiftWidth[orientation](),\n };\n break;\n }\n\n return targetElPos;\n }\n\n protected position(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } {\n let offsetParentBCR = { top: 0, left: 0 };\n const elBCR = this.offset(nativeEl);\n const offsetParentEl = this.parentOffsetEl(nativeEl);\n if (offsetParentEl !== window.document) {\n offsetParentBCR = this.offset(offsetParentEl);\n offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;\n offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;\n }\n\n const boundingClientRect = nativeEl.getBoundingClientRect();\n return {\n width: boundingClientRect.width || nativeEl.offsetWidth,\n height: boundingClientRect.height || nativeEl.offsetHeight,\n top: elBCR.top - offsetParentBCR.top,\n left: elBCR.left - offsetParentBCR.left,\n };\n }\n\n protected offset(nativeEl: any): { width: number; height: number; top: number; left: number } {\n const boundingClientRect = nativeEl.getBoundingClientRect();\n return {\n width: boundingClientRect.width || nativeEl.offsetWidth,\n height: boundingClientRect.height || nativeEl.offsetHeight,\n top: boundingClientRect.top + (window.pageYOffset || window.document.documentElement.scrollTop),\n left: boundingClientRect.left + (window.pageXOffset || window.document.documentElement.scrollLeft),\n };\n }\n\n protected getStyle(nativeEl: HTMLElement, cssProp: string): string {\n if ((nativeEl as any).currentStyle) {\n return (nativeEl as any).currentStyle[cssProp];\n }\n\n if (window.getComputedStyle) {\n return (window.getComputedStyle as any)(nativeEl)[cssProp];\n }\n\n return (nativeEl.style as any)[cssProp];\n }\n\n protected isStaticPositioned(nativeEl: HTMLElement): boolean {\n return (this.getStyle(nativeEl, 'position') || 'static') === 'static';\n }\n\n protected parentOffsetEl(nativeEl: HTMLElement): any {\n let offsetParent: any = nativeEl.offsetParent || window.document;\n while (offsetParent && offsetParent !== window.document && this.isStaticPositioned(offsetParent)) {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || window.document;\n }\n\n protected getEffectivePlacement(desiredPlacement: string, hostElement: HTMLElement, targetElement: HTMLElement): string {\n const hostElBoundingRect = hostElement.getBoundingClientRect();\n\n if (desiredPlacement === 'top' && hostElBoundingRect.top - targetElement.offsetHeight < 0) {\n return 'bottom';\n }\n if (desiredPlacement === 'bottom' && hostElBoundingRect.bottom + targetElement.offsetHeight > window.innerHeight) {\n return 'top';\n }\n if (desiredPlacement === 'left' && hostElBoundingRect.left - targetElement.offsetWidth < 0) {\n return 'right';\n }\n if (desiredPlacement === 'right' && hostElBoundingRect.right + targetElement.offsetWidth > window.innerWidth) {\n return 'left';\n }\n\n return desiredPlacement;\n }\n}\n","// NG2\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChange,\n ViewContainerRef,\n} from '@angular/core';\nimport { PopOverContent } from './PopOverContent';\n\n@Directive({\n selector: '[popover]',\n})\nexport class PopOverDirective implements OnChanges {\n protected PopoverComponent = PopOverContent;\n protected popover: ComponentRef<PopOverContent>;\n protected visible: boolean;\n\n constructor(protected viewContainerRef: ViewContainerRef, protected resolver: ComponentFactoryResolver) {}\n\n @Input('popover')\n content: string | PopOverContent;\n @Input()\n popoverHtmlContent: string;\n @Input()\n popoverDisabled: boolean;\n @Input()\n popoverAlways: boolean;\n @Input()\n popoverAnimation: boolean;\n @Input()\n popoverPlacement: string;\n @Input()\n popoverTitle: string;\n @Input()\n popoverOnHover: boolean = false;\n @Input()\n popoverDismissTimeout: number = 0;\n\n @Output()\n onShown = new EventEmitter<PopOverDirective>();\n @Output()\n onHidden = new EventEmitter<PopOverDirective>();\n\n // ---------------------------------------------------\n // Event listeners\n // ---------------------------------------------------\n @HostListener('click')\n showOrHideOnClick(): void {\n if (this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.toggle();\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n showOnHover(): void {\n if (!this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n hideOnHover(): void {\n if (!this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.hide();\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\n if (changes.popoverDisabled) {\n if (changes.popoverDisabled.currentValue) {\n this.hide();\n }\n }\n if (changes.popoverAlways) {\n if (changes.popoverAlways.currentValue) {\n this.show();\n }\n }\n }\n\n toggle() {\n if (!this.visible) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n show() {\n if (this.visible || (!this.content && !this.popoverHtmlContent)) {\n return;\n }\n\n this.visible = true;\n if (typeof this.content === 'string' || this.popoverHtmlContent) {\n const factory = this.resolver.resolveComponentFactory(this.PopoverComponent);\n if (!this.visible) {\n return;\n }\n\n this.popover = this.viewContainerRef.createComponent(factory);\n const popover = this.popover.instance as PopOverContent;\n popover.popover = this;\n if (this.content) {\n popover.content = this.content as string;\n }\n if (this.popoverHtmlContent) {\n popover.htmlContent = this.popoverHtmlContent;\n }\n if (this.popoverPlacement !== undefined) {\n popover.placement = this.popoverPlacement;\n }\n if (this.popoverAnimation !== undefined) {\n popover.animation = this.popoverAnimation;\n }\n if (this.popoverTitle !== undefined) {\n popover.title = this.popoverTitle;\n }\n\n popover.onCloseFromOutside.subscribe(() => this.hide());\n if (this.popoverDismissTimeout > 0) {\n setTimeout(() => this.hide(), this.popoverDismissTimeout);\n }\n } else {\n const popover = this.content as PopOverContent;\n popover.popover = this;\n if (this.popoverPlacement !== undefined) {\n popover.placement = this.popoverPlacement;\n }\n if (this.popoverAnimation !== undefined) {\n popover.animation = this.popoverAnimation;\n }\n if (this.popoverTitle !== undefined) {\n popover.title = this.popoverTitle;\n }\n\n popover.onCloseFromOutside.subscribe(() => this.hide());\n if (this.popoverDismissTimeout > 0) {\n setTimeout(() => this.hide(), this.popoverDismissTimeout);\n }\n popover.show();\n }\n\n this.onShown.emit(this);\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n if (this.popover) {\n this.popover.destroy();\n }\n\n if (this.content instanceof PopOverContent) {\n (this.content as PopOverContent).hideFromPopover();\n }\n\n this.onHidden.emit(this);\n }\n\n getElement() {\n return this.viewContainerRef.element.nativeElement;\n }\n}\n","// NG2\nimport { NgModule } from '@angular/core';\nimport { PopOverDirective } from './PopOver';\n// APP\nimport { PopOverContent } from './PopOverContent';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [PopOverContent, PopOverDirective],\n exports: [PopOverContent, PopOverDirective],\n imports: [\n CommonModule\n ]\n})\nexport class NovoPopOverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-popover.mjs","sources":["../../../projects/novo-elements/src/elements/popover/PopOverContent.ts","../../../projects/novo-elements/src/elements/popover/PopOver.ts","../../../projects/novo-elements/src/elements/popover/PopOver.module.ts","../../../projects/novo-elements/src/elements/popover/novo-elements-elements-popover.ts"],"sourcesContent":["import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, ViewChild } from '@angular/core';\nimport { PopOverDirective } from './PopOver';\n\n@Component({\n selector: 'popover-content',\n template: `\n <div\n #popoverDiv\n class=\"popover {{ effectivePlacement }}\"\n [style.top]=\"top + 'px'\"\n [style.left]=\"left + 'px'\"\n [class.fade]=\"animation\"\n style=\"display: block\"\n role=\"popover\"\n >\n <div class=\"arrow {{ effectiveAlignment }}\"></div>\n <div class=\"popover-title\" [hidden]=\"!title\">{{ title }}</div>\n <div class=\"popover-content\">\n <ng-content></ng-content>\n <div *ngIf=\"htmlContent\" class=\"popover-content-text\" [innerHTML]=\"htmlContent\"></div>\n <div *ngIf=\"!htmlContent\" class=\"popover-content-text\">{{ content }}</div>\n </div>\n </div>\n `,\n})\nexport class PopOverContent implements AfterViewInit {\n @Input()\n content: string;\n @Input()\n htmlContent: string;\n @Input()\n placement: string = 'top';\n @Input()\n title: string;\n @Input()\n animation: boolean = true;\n\n @ViewChild('popoverDiv')\n popoverDiv: ElementRef;\n popover: PopOverDirective;\n onCloseFromOutside = new EventEmitter();\n top: number = -10000;\n left: number = -10000;\n displayType: string = 'none';\n effectivePlacement: string;\n effectiveAlignment: string;\n isHidden: boolean = false;\n\n constructor(protected element: ElementRef, protected cdr: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.show();\n this.cdr.detectChanges();\n }\n\n toggle(): void {\n if (this.isHidden) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n show(): void {\n if (!this.popover || !this.popover.getElement()) {\n return;\n }\n\n const p = this.positionElements(this.popover.getElement(), this.popoverDiv.nativeElement, this.placement);\n this.displayType = 'block';\n this.top = p.top;\n this.left = p.left;\n this.isHidden = false;\n }\n\n hide(): void {\n this.top = -10000;\n this.left = -10000;\n this.isHidden = true;\n this.popover.hide();\n }\n\n hideFromPopover() {\n this.top = -10000;\n this.left = -10000;\n }\n\n protected positionElements(\n hostEl: HTMLElement,\n targetEl: HTMLElement,\n positionStr: string,\n appendToBody = false,\n ): { top: number; left: number } {\n const positionStrParts = positionStr.split('-');\n const mainSide = (this.effectivePlacement = this.getEffectivePlacement(positionStrParts[0] || 'right', hostEl, targetEl));\n const orientation = (this.effectiveAlignment = positionStrParts[1] || 'center');\n const hostElPos = appendToBody ? this.offset(hostEl) : this.position(hostEl);\n const targetElWidth = targetEl.offsetWidth;\n const targetElHeight = targetEl.offsetHeight;\n\n const shiftWidth: any = {\n center(): number {\n return hostElPos.left + (hostElPos.width - targetElWidth) / 2;\n },\n right(): number {\n return hostElPos.left;\n },\n left(): number {\n return hostElPos.left + (hostElPos.width - targetElWidth);\n },\n };\n\n const shiftHeight: any = {\n center(): number {\n return hostElPos.top + (hostElPos.height - targetElHeight) / 2;\n },\n bottom(): number {\n return hostElPos.top;\n },\n top(): number {\n return hostElPos.top + (hostElPos.height - targetElHeight);\n },\n };\n\n let targetElPos: { top: number; left: number };\n switch (mainSide) {\n case 'right':\n targetElPos = {\n top: shiftHeight[orientation](),\n left: hostElPos.left + hostElPos.width,\n };\n break;\n\n case 'left':\n targetElPos = {\n top: shiftHeight[orientation](),\n left: hostElPos.left - targetElWidth,\n };\n break;\n\n case 'bottom':\n targetElPos = {\n top: hostElPos.top + hostElPos.height,\n left: shiftWidth[orientation](),\n };\n break;\n\n default:\n targetElPos = {\n top: hostElPos.top - targetElHeight,\n left: shiftWidth[orientation](),\n };\n break;\n }\n\n return targetElPos;\n }\n\n protected position(nativeEl: HTMLElement): { width: number; height: number; top: number; left: number } {\n let offsetParentBCR = { top: 0, left: 0 };\n const elBCR = this.offset(nativeEl);\n const offsetParentEl = this.parentOffsetEl(nativeEl);\n if (offsetParentEl !== window.document) {\n offsetParentBCR = this.offset(offsetParentEl);\n offsetParentBCR.top += offsetParentEl.clientTop - offsetParentEl.scrollTop;\n offsetParentBCR.left += offsetParentEl.clientLeft - offsetParentEl.scrollLeft;\n }\n\n const boundingClientRect = nativeEl.getBoundingClientRect();\n return {\n width: boundingClientRect.width || nativeEl.offsetWidth,\n height: boundingClientRect.height || nativeEl.offsetHeight,\n top: elBCR.top - offsetParentBCR.top,\n left: elBCR.left - offsetParentBCR.left,\n };\n }\n\n protected offset(nativeEl: any): { width: number; height: number; top: number; left: number } {\n const boundingClientRect = nativeEl.getBoundingClientRect();\n return {\n width: boundingClientRect.width || nativeEl.offsetWidth,\n height: boundingClientRect.height || nativeEl.offsetHeight,\n top: boundingClientRect.top + (window.pageYOffset || window.document.documentElement.scrollTop),\n left: boundingClientRect.left + (window.pageXOffset || window.document.documentElement.scrollLeft),\n };\n }\n\n protected getStyle(nativeEl: HTMLElement, cssProp: string): string {\n if ((nativeEl as any).currentStyle) {\n return (nativeEl as any).currentStyle[cssProp];\n }\n\n if (window.getComputedStyle) {\n return (window.getComputedStyle as any)(nativeEl)[cssProp];\n }\n\n return (nativeEl.style as any)[cssProp];\n }\n\n protected isStaticPositioned(nativeEl: HTMLElement): boolean {\n return (this.getStyle(nativeEl, 'position') || 'static') === 'static';\n }\n\n protected parentOffsetEl(nativeEl: HTMLElement): any {\n let offsetParent: any = nativeEl.offsetParent || window.document;\n while (offsetParent && offsetParent !== window.document && this.isStaticPositioned(offsetParent)) {\n offsetParent = offsetParent.offsetParent;\n }\n return offsetParent || window.document;\n }\n\n protected getEffectivePlacement(desiredPlacement: string, hostElement: HTMLElement, targetElement: HTMLElement): string {\n const hostElBoundingRect = hostElement.getBoundingClientRect();\n\n if (desiredPlacement === 'top' && hostElBoundingRect.top - targetElement.offsetHeight < 0) {\n return 'bottom';\n }\n if (desiredPlacement === 'bottom' && hostElBoundingRect.bottom + targetElement.offsetHeight > window.innerHeight) {\n return 'top';\n }\n if (desiredPlacement === 'left' && hostElBoundingRect.left - targetElement.offsetWidth < 0) {\n return 'right';\n }\n if (desiredPlacement === 'right' && hostElBoundingRect.right + targetElement.offsetWidth > window.innerWidth) {\n return 'left';\n }\n\n return desiredPlacement;\n }\n}\n","// NG2\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EventEmitter,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChange,\n ViewContainerRef,\n} from '@angular/core';\nimport { PopOverContent } from './PopOverContent';\n\n@Directive({\n /**\n * [popover] selector retained for backwards compatability, but should be avoived as\n * it interferes with the newly added (2023) HTML standard spec popover attribute.\n */\n selector: '[popover], [novoPopover]',\n})\nexport class PopOverDirective implements OnChanges {\n protected PopoverComponent = PopOverContent;\n protected popover: ComponentRef<PopOverContent>;\n protected visible: boolean;\n\n constructor(protected viewContainerRef: ViewContainerRef, protected resolver: ComponentFactoryResolver) {}\n\n @Input('popover')\n content: string | PopOverContent;\n @Input('novoPopover')\n set novoPopover(content: string | PopOverContent) {\n this.content = content;\n }\n @Input()\n popoverHtmlContent: string;\n @Input()\n popoverDisabled: boolean;\n @Input()\n popoverAlways: boolean;\n @Input()\n popoverAnimation: boolean;\n @Input()\n popoverPlacement: string;\n @Input()\n popoverTitle: string;\n @Input()\n popoverOnHover: boolean = false;\n @Input()\n popoverDismissTimeout: number = 0;\n\n @Output()\n onShown = new EventEmitter<PopOverDirective>();\n @Output()\n onHidden = new EventEmitter<PopOverDirective>();\n\n // ---------------------------------------------------\n // Event listeners\n // ---------------------------------------------------\n @HostListener('click')\n showOrHideOnClick(): void {\n if (this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.toggle();\n }\n\n @HostListener('focusin')\n @HostListener('mouseenter')\n showOnHover(): void {\n if (!this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.show();\n }\n\n @HostListener('focusout')\n @HostListener('mouseleave')\n hideOnHover(): void {\n if (!this.popoverOnHover || this.popoverDisabled) {\n return;\n }\n this.hide();\n }\n\n ngOnChanges(changes: { [propertyName: string]: SimpleChange }) {\n if (changes.popoverDisabled) {\n if (changes.popoverDisabled.currentValue) {\n this.hide();\n }\n }\n if (changes.popoverAlways) {\n if (changes.popoverAlways.currentValue) {\n this.show();\n }\n }\n }\n\n toggle() {\n if (!this.visible) {\n this.show();\n } else {\n this.hide();\n }\n }\n\n show() {\n if (this.visible || (!this.content && !this.popoverHtmlContent)) {\n return;\n }\n\n this.visible = true;\n if (typeof this.content === 'string' || this.popoverHtmlContent) {\n const factory = this.resolver.resolveComponentFactory(this.PopoverComponent);\n if (!this.visible) {\n return;\n }\n\n this.popover = this.viewContainerRef.createComponent(factory);\n const popover = this.popover.instance as PopOverContent;\n popover.popover = this;\n if (this.content) {\n popover.content = this.content as string;\n }\n if (this.popoverHtmlContent) {\n popover.htmlContent = this.popoverHtmlContent;\n }\n if (this.popoverPlacement !== undefined) {\n popover.placement = this.popoverPlacement;\n }\n if (this.popoverAnimation !== undefined) {\n popover.animation = this.popoverAnimation;\n }\n if (this.popoverTitle !== undefined) {\n popover.title = this.popoverTitle;\n }\n\n popover.onCloseFromOutside.subscribe(() => this.hide());\n if (this.popoverDismissTimeout > 0) {\n setTimeout(() => this.hide(), this.popoverDismissTimeout);\n }\n } else {\n const popover = this.content as PopOverContent;\n popover.popover = this;\n if (this.popoverPlacement !== undefined) {\n popover.placement = this.popoverPlacement;\n }\n if (this.popoverAnimation !== undefined) {\n popover.animation = this.popoverAnimation;\n }\n if (this.popoverTitle !== undefined) {\n popover.title = this.popoverTitle;\n }\n\n popover.onCloseFromOutside.subscribe(() => this.hide());\n if (this.popoverDismissTimeout > 0) {\n setTimeout(() => this.hide(), this.popoverDismissTimeout);\n }\n popover.show();\n }\n\n this.onShown.emit(this);\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n if (this.popover) {\n this.popover.destroy();\n }\n\n if (this.content instanceof PopOverContent) {\n (this.content as PopOverContent).hideFromPopover();\n }\n\n this.onHidden.emit(this);\n }\n\n getElement() {\n return this.viewContainerRef.element.nativeElement;\n }\n}\n","// NG2\nimport { NgModule } from '@angular/core';\nimport { PopOverDirective } from './PopOver';\n// APP\nimport { PopOverContent } from './PopOverContent';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n declarations: [PopOverContent, PopOverDirective],\n exports: [PopOverContent, PopOverDirective],\n imports: [\n CommonModule\n ]\n})\nexport class NovoPopOverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -409,6 +409,7 @@ class NovoTimePickerInputElement {
409
409
  this.analog = false;
410
410
  this.blurEvent = new EventEmitter();
411
411
  this.focusEvent = new EventEmitter();
412
+ this.changeEvent = new EventEmitter();
412
413
  }
413
414
  ngOnInit() {
414
415
  this.initFormatOptions();
@@ -472,9 +473,6 @@ class NovoTimePickerInputElement {
472
473
  },
473
474
  };
474
475
  }
475
- onComplete(dt) {
476
- this.dispatchOnChange(dt);
477
- }
478
476
  /** BEGIN: Convenient Panel Methods. */
479
477
  openPanel() {
480
478
  if (!this.overlay.panelOpen) {
@@ -542,6 +540,11 @@ class NovoTimePickerInputElement {
542
540
  }
543
541
  }
544
542
  }
543
+ _handleChange(event) {
544
+ const text = event?.target?.value;
545
+ this.formatTime(text);
546
+ this.changeEvent.emit();
547
+ }
545
548
  _handleBlur(event) {
546
549
  const text = event.target.value;
547
550
  const hour = text.slice(0, 2);
@@ -575,6 +578,7 @@ class NovoTimePickerInputElement {
575
578
  dispatchOnChange(newValue, skip = false) {
576
579
  if (newValue !== this.value) {
577
580
  this._onChange(newValue);
581
+ this.changeEvent.emit(newValue);
578
582
  !skip && this.writeValue(newValue);
579
583
  }
580
584
  }
@@ -585,15 +589,15 @@ class NovoTimePickerInputElement {
585
589
  this.value = value;
586
590
  this._changeDetectorRef.markForCheck();
587
591
  }
592
+ setValueAndClose(event) {
593
+ this.setValue(event);
594
+ this.closePanel();
595
+ }
588
596
  setValue(event) {
589
597
  if (event && event.date) {
590
598
  this.dispatchOnChange(event.date);
591
599
  }
592
600
  }
593
- setValueAndClose(event) {
594
- this.setValue(event);
595
- this.closePanel();
596
- }
597
601
  /**
598
602
  * Clear any previous selected option and emit a selection change event for this option
599
603
  */
@@ -627,17 +631,30 @@ class NovoTimePickerInputElement {
627
631
  hourOneFormatRequired(hourInput) {
628
632
  return hourInput === 'h1' || hourInput === '1h';
629
633
  }
634
+ formatTime(value) {
635
+ try {
636
+ const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, this.military, 'time');
637
+ if (!isNaN(dateTimeValue.getUTCDate())) {
638
+ const dt = new Date(dateTimeValue);
639
+ this.dispatchOnChange(dt);
640
+ }
641
+ else {
642
+ this.dispatchOnChange(null);
643
+ }
644
+ }
645
+ catch (err) { }
646
+ }
630
647
  }
631
648
  NovoTimePickerInputElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoTimePickerInputElement, deps: [{ token: i0.ElementRef }, { token: i1.NovoLabelService }, { token: i1.DateFormatService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
632
- NovoTimePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoTimePickerInputElement, selector: "novo-time-picker-input", inputs: { name: "name", placeholder: "placeholder", military: "military", maskOptions: "maskOptions", disabled: "disabled", analog: "analog" }, outputs: { blurEvent: "blurEvent", focusEvent: "focusEvent" }, host: { properties: { "class.disabled": "this.disabled" } }, providers: [DATE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "overlay", first: true, predicate: NovoOverlayTemplateComponent, descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
649
+ NovoTimePickerInputElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoTimePickerInputElement, selector: "novo-time-picker-input", inputs: { name: "name", placeholder: "placeholder", military: "military", maskOptions: "maskOptions", disabled: "disabled", analog: "analog" }, outputs: { blurEvent: "blurEvent", focusEvent: "focusEvent", changeEvent: "changeEvent" }, host: { properties: { "class.disabled": "this.disabled" } }, providers: [DATE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "overlay", first: true, predicate: NovoOverlayTemplateComponent, descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
633
650
  <input
634
651
  type="text"
635
652
  [name]="name"
636
653
  [(ngModel)]="value"
637
654
  [imask]="maskOptions"
638
655
  [unmask]="'typed'"
639
- (complete)="onComplete($event)"
640
656
  [placeholder]="placeholder"
657
+ (change)="_handleChange($event)"
641
658
  (focus)="_handleFocus($event)"
642
659
  (keydown)="_handleKeydown($event)"
643
660
  (input)="_handleInput($event)"
@@ -669,8 +686,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
669
686
  [(ngModel)]="value"
670
687
  [imask]="maskOptions"
671
688
  [unmask]="'typed'"
672
- (complete)="onComplete($event)"
673
689
  [placeholder]="placeholder"
690
+ (change)="_handleChange($event)"
674
691
  (focus)="_handleFocus($event)"
675
692
  (keydown)="_handleKeydown($event)"
676
693
  (input)="_handleInput($event)"
@@ -710,6 +727,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
710
727
  type: Output
711
728
  }], focusEvent: [{
712
729
  type: Output
730
+ }], changeEvent: [{
731
+ type: Output
713
732
  }], overlay: [{
714
733
  type: ViewChild,
715
734
  args: [NovoOverlayTemplateComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-time-picker.mjs","sources":["../../../projects/novo-elements/src/elements/time-picker/TimePicker.ts","../../../projects/novo-elements/src/elements/time-picker/TimePickerInput.ts","../../../projects/novo-elements/src/elements/time-picker/TimePicker.module.ts","../../../projects/novo-elements/src/elements/time-picker/novo-elements-elements-time-picker.ts"],"sourcesContent":["// NG2\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValid } from 'date-fns';\n// APP\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst TIME_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerElement),\n multi: true,\n};\n\nexport enum TIME_VALUE_FORMATS {\n iso8601 = 'iso8601',\n Date = 'Date',\n}\n\n@Component({\n selector: 'novo-time-picker',\n providers: [TIME_PICKER_VALUE_ACCESSOR],\n template: `\n <!-- <div class=\"digital\" [class.inline]=\"inline\" [class.military]=\"military\" *ngIf=\"inline\">\n <div class=\"digital--inner\">\n <span class=\"digital--clock\" *ngIf=\"analog\">\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n </span>\n <div class=\"control-block\" *ngIf=\"!military && analog\">\n <span\n *ngFor=\"let period of MERIDIANS\"\n class=\"digital--period\"\n [class.active]=\"meridian == period\"\n (click)=\"setPeriod($event, period, true)\"\n [attr.data-automation-id]=\"period\"\n >{{ period }}</span\n >\n </div>\n </div>\n </div> -->\n <div class=\"increments\" *ngIf=\"!analog\">\n <novo-list class=\"increments--hours\" direction=\"vertical\" data-automation-id=\"novo-time-picker-hours\">\n <novo-list-item\n class=\"increments--hour\"\n *ngFor=\"let increment of HOURS\"\n (click)=\"setHours($event, increment, true)\"\n [class.active]=\"increment == activeHour\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--minutes\" direction=\"vertical\" data-automation-id=\"novo-time-picker-minutes\">\n <novo-list-item\n class=\"increments--minute\"\n *ngFor=\"let increment of MINUTES\"\n (click)=\"setMinutes($event, increment, true)\"\n [class.active]=\"increment == activeMinute\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--meridians\" direction=\"vertical\" *ngIf=\"!military\" data-automation-id=\"novo-time-picker-meridians\">\n <novo-list-item\n class=\"increments--meridian\"\n *ngFor=\"let period of MERIDIANS\"\n (click)=\"setPeriod($event, period, true)\"\n [class.active]=\"meridian == period\"\n [attr.data-automation-id]=\"period\"\n >\n <item-content>{{ period }}</item-content>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"analog\" *ngIf=\"analog\">\n <div class=\"analog--inner\">\n <div class=\"analog--face\">\n <span class=\"analog--center\"></span>\n <span class=\"analog--hand--hours\" [ngClass]=\"hoursClass\">\n <span class=\"analog--ball\"></span>\n </span>\n <span class=\"analog--hand--minutes\" [ngClass]=\"minutesClass\">\n <span class=\"analog--ball\" [ngClass]=\"{ between: inBetween }\"></span>\n </span>\n </div>\n <div class=\"analog--hours\">\n <span\n *ngFor=\"let hour of HOURS\"\n class=\"analog--hour\"\n [ngClass]=\"{ active: activeHour == hour }\"\n (click)=\"setHours($event, hour, true)\"\n [attr.data-automation-id]=\"hour\"\n >{{ hour }}</span\n >\n </div>\n <div class=\"analog--minutes\">\n <span\n *ngFor=\"let minute of MINUTES\"\n class=\"analog--minute\"\n [ngClass]=\"{ active: activeMinute == minute }\"\n (click)=\"setMinutes($event, minute, true)\"\n [attr.data-automation-id]=\"minute\"\n >{{ minute }}</span\n >\n </div>\n </div>\n </div>\n `,\n host: {\n class: 'novo-time-picker',\n '[class.military]': 'military',\n },\n})\nexport class NovoTimePickerElement implements ControlValueAccessor, OnInit, OnChanges {\n @Input()\n military: boolean = false;\n @Input()\n analog: boolean = false;\n @Input()\n inline: boolean = false;\n @Input()\n step: number = 1;\n\n @Output()\n onSelect: EventEmitter<any> = new EventEmitter();\n\n hours: number = 12;\n minutes: number = 0;\n value: any = null;\n meridian: string;\n inBetween: boolean;\n hoursClass: string;\n activeHour;\n minutesClass: string;\n activeMinute;\n increments: string[] = [];\n selected: string;\n MERIDIANS: Array<string> = ['am', 'pm'];\n MINUTES: Array<string> = ['05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55', '00'];\n HOURS: Array<string> = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];\n model: any;\n _onChange: Function = () => {};\n _onTouched: Function = () => {};\n\n flatten(arr) {\n return Array.prototype.concat(...arr);\n }\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.military) {\n this.HOURS = ['0', ...this.HOURS, '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n }\n if (!this.analog) {\n const mins = Array.from(Array(60 / this.step).keys()).map((i) => i * this.step);\n this.MINUTES = mins.map((m) => `${m}`.padStart(2, '0'));\n }\n this.ngOnChanges();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n if (this.model) {\n this.init(this.model, false);\n } else {\n this.selected = null;\n this.init(new Date(), false);\n }\n }\n\n init(value, dispatch) {\n const _value = new Date(value);\n let hours: string | number = _value.getHours();\n let minutes: string | number = _value.getMinutes();\n\n if (!this.military) {\n this.meridian = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours || 12;\n }\n minutes = minutes < 10 ? `0${minutes}` : minutes;\n\n this.setHours(null, hours, dispatch);\n this.setMinutes(null, minutes, dispatch);\n this.checkBetween(minutes);\n }\n\n checkBetween(value) {\n this.inBetween = this.MINUTES.indexOf(String(value)) < 0;\n }\n\n setValue(event, value) {\n Helpers.swallowEvent(event);\n this.selected = value;\n const [time, meridian] = value.split(' ');\n const [hours, minutes] = time.split(':');\n this.hours = hours;\n this.minutes = minutes;\n this.meridian = meridian;\n\n this.dispatchChange();\n }\n\n setHours(event, hours, dispatch) {\n Helpers.swallowEvent(event);\n this.hours = hours;\n this.hoursClass = `hour-${hours}`;\n this.activeHour = hours;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setMinutes(event, minutes, dispatch) {\n Helpers.swallowEvent(event);\n this.minutes = minutes;\n this.minutesClass = `min-${minutes}`;\n this.activeMinute = minutes;\n this.checkBetween(minutes);\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setPeriod(event, period, dispatch) {\n Helpers.swallowEvent(event);\n this.meridian = period;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n dispatchChange() {\n let hours = Number(this.hours);\n\n if (!this.military) {\n hours = this.meridian.toLowerCase() === 'pm' ? hours + 12 : hours;\n\n // Special case for 12\n if (this.meridian.toLowerCase() === 'pm' && hours === 24) {\n hours = 12;\n } else if (this.meridian.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n }\n\n const value = new Date();\n value.setHours(hours);\n value.setMinutes(this.minutes);\n value.setSeconds(0);\n this.value = `${this.hours}:${this.minutes} ${this.meridian}`;\n this.onSelect.next({\n hours,\n minutes: this.minutes,\n meridian: this.meridian,\n date: value,\n text: this.value,\n });\n this._onChange(value);\n }\n\n // ValueAccessor Functions\n writeValue(model: any): void {\n this.model = model;\n if (Helpers.isDate(model)) {\n this.init(model, false);\n // this.dispatchChange();\n }\n if (Helpers.isString(model)) {\n const time = this.military ? model : this.convertTime12to24(model);\n const date = DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n if (isValid(date)) {\n this.init(date, false);\n // this.dispatchChange();\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this._onTouched = fn;\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n}\n","// NG\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as IMask from 'imask';\n// App\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst DATE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerInputElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-time-picker-input',\n providers: [DATE_VALUE_ACCESSOR],\n template: `\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [imask]=\"maskOptions\"\n [unmask]=\"'typed'\"\n (complete)=\"onComplete($event)\"\n [placeholder]=\"placeholder\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"time-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-clock\"></i> <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <novo-time-picker\n inline=\"true\"\n [analog]=\"analog\"\n (onSelect)=\"setValue($event)\"\n [ngModel]=\"value\"\n [military]=\"military\"\n ></novo-time-picker>\n </novo-overlay-template>\n `,\n})\nexport class NovoTimePickerInputElement implements OnInit, OnChanges, ControlValueAccessor {\n public value: any;\n\n /** View -> model callback called when value changes */\n _onChange: (value: any) => void = () => {};\n /** View -> model callback called when autocomplete has been touched */\n _onTouched = () => {};\n\n @Input()\n name: string;\n @Input()\n placeholder: string;\n @Input()\n military: boolean = false;\n @Input()\n maskOptions: any;\n @HostBinding('class.disabled')\n @Input()\n disabled: boolean = false;\n\n /**\n * @deprecated don't use\n */\n @Input()\n analog: boolean = false;\n\n @Output()\n blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n @ViewChild('input')\n input: HTMLInputElement;\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.initFormatOptions();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n if (Object.keys(changes).some((key) => ['military', 'maskOptions'].includes(key))) {\n this.initFormatOptions();\n }\n }\n\n initFormatOptions() {\n this.placeholder = this.military ? this.labels.timeFormatPlaceholder24Hour : this.labels.timeFormatPlaceholderAM;\n const timeFormat = this.military ? 'HH:mm' : 'hh:mm A';\n const amFormat = this.labels.timeFormatAM.toUpperCase();\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n this.maskOptions = {\n mask: Date,\n pattern: this.military ? 'HH:mm' : 'hh:mm aa',\n overwrite: true,\n autofix: true,\n lazy: false,\n min: new Date(1970, 0, 1),\n max: new Date(2030, 0, 1),\n prepare(str) {\n return str.toUpperCase();\n },\n format(date) {\n return DateUtil.format(date, timeFormat);\n },\n parse: (str) => {\n const time = this.military ? str : this.convertTime12to24(str);\n return DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n },\n blocks: {\n HH: {\n mask: IMask.MaskedRange,\n placeholderChar: 'H',\n maxLength: 2,\n from: 0,\n to: 23,\n },\n hh: {\n mask: IMask.MaskedRange,\n placeholderChar: 'h',\n maxLength: 2,\n from: 1,\n to: 12,\n },\n mm: {\n mask: IMask.MaskedRange,\n placeholderChar: 'm',\n maxLength: 2,\n from: 0,\n to: 59,\n },\n aa: {\n mask: IMask.MaskedEnum,\n placeholderChar: 'x',\n enum: ['AM', 'PM', 'am', 'pm', amFormat, pmFormat],\n },\n },\n };\n }\n\n onComplete(dt) {\n this.dispatchOnChange(dt);\n }\n\n /** BEGIN: Convenient Panel Methods. */\n openPanel(): void {\n if (!this.overlay.panelOpen) {\n this.overlay.openPanel();\n const hour = new Date().getHours();\n Promise.resolve(null).then(() => this.scrollToIndex(hour * 4));\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n\n /** END: Convenient Panel Methods. */\n\n _handleKeydown(event: KeyboardEvent): void {\n const input = event.target as HTMLInputElement;\n const hour: string = input.value.slice(0, 2);\n if ((event.key === Key.Escape || event.key === Key.Enter) && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n if (this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n }\n } else if (event.key === Key.Tab && input.selectionStart <= 2 && this.hourOneFormatRequired(hour)) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(3, 3);\n } else if (event.key === Key.Backspace && input.selectionStart === input.value.length) {\n input.value = `${input.value.slice(0, 5)} xx`;\n } else if (event.key === Key.Tab && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n } else if (event.key === Key.ArrowRight && input.selectionStart >= 2 && this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(2, 2);\n }\n }\n\n _handleInput(event: KeyboardEvent): void {\n if (document.activeElement === event.target) {\n const text = (event.target as HTMLInputElement).value;\n const hour = text.slice(0, 2);\n this.openPanel();\n if ((this.military && Number(text[0]) > 2) || (!this.military && Number(text[0]) > 1)) {\n event.preventDefault();\n (event.target as HTMLInputElement).value = `0${text}`;\n }\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} ${timePeriod}`;\n }\n if ((event.target as HTMLInputElement).selectionStart >= 3 && this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${(event.target as HTMLInputElement).value.slice(\n 3,\n (event.target as HTMLInputElement).value.length,\n )}`;\n }\n }\n }\n }\n\n _handleBlur(event: FocusEvent): void {\n const text = (event.target as HTMLInputElement).value;\n const hour: string = text.slice(0, 2);\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${text.slice(3, text.length)}`;\n }\n if (!timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} xx`;\n }\n }\n }\n\n _handleFocus(event: FocusEvent): void {\n this.openPanel();\n this.focusEvent.emit(event);\n }\n\n writeValue(value: any): void {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n\n registerOnChange(fn: (value: any) => {}): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => {}) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public dispatchOnChange(newValue?: any, skip: boolean = false) {\n if (newValue !== this.value) {\n this._onChange(newValue);\n !skip && this.writeValue(newValue);\n }\n }\n\n private _setTriggerValue(value: any): void {\n if (value instanceof Date && this.value instanceof Date) {\n value = new Date(value.setFullYear(this.value.getFullYear(), this.value.getMonth(), this.value.getDate()));\n }\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n public setValue(event: any | null): void {\n if (event && event.date) {\n this.dispatchOnChange(event.date);\n }\n }\n\n public setValueAndClose(event: any | null): void {\n this.setValue(event);\n this.closePanel();\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n public clearValue() {\n this.dispatchOnChange(null);\n }\n\n public get hasValue() {\n return !Helpers.isEmpty(this.value);\n }\n\n public scrollToIndex(index: number) {\n const element = this.overlay.overlayRef.overlayElement;\n const list = element.querySelector('.increments');\n const items = list.querySelectorAll('novo-list-item');\n const item = items[index];\n if (item) {\n list.scrollTop = (item as HTMLElement).offsetTop;\n }\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n\n hourOneFormatRequired(hourInput: string): boolean {\n return hourInput === 'h1' || hourInput === '1h';\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// Vendor\nimport { TextMaskModule } from 'angular2-text-mask';\nimport { IMaskDirectiveModule } from 'angular-imask';\n// APP\nimport { NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoTimePickerElement } from './TimePicker';\nimport { NovoTimePickerInputElement } from './TimePickerInput';\n\n@NgModule({\n imports: [CommonModule, FormsModule, IMaskDirectiveModule, TextMaskModule, NovoOverlayModule, NovoListModule],\n declarations: [NovoTimePickerElement, NovoTimePickerInputElement],\n exports: [NovoTimePickerElement, NovoTimePickerInputElement],\n})\nexport class NovoTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3.NovoTimePickerElement","i6"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-time-picker.mjs","sources":["../../../projects/novo-elements/src/elements/time-picker/TimePicker.ts","../../../projects/novo-elements/src/elements/time-picker/TimePickerInput.ts","../../../projects/novo-elements/src/elements/time-picker/TimePicker.module.ts","../../../projects/novo-elements/src/elements/time-picker/novo-elements-elements-time-picker.ts"],"sourcesContent":["// NG2\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValid } from 'date-fns';\n// APP\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst TIME_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerElement),\n multi: true,\n};\n\nexport enum TIME_VALUE_FORMATS {\n iso8601 = 'iso8601',\n Date = 'Date',\n}\n\n@Component({\n selector: 'novo-time-picker',\n providers: [TIME_PICKER_VALUE_ACCESSOR],\n template: `\n <!-- <div class=\"digital\" [class.inline]=\"inline\" [class.military]=\"military\" *ngIf=\"inline\">\n <div class=\"digital--inner\">\n <span class=\"digital--clock\" *ngIf=\"analog\">\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n </span>\n <div class=\"control-block\" *ngIf=\"!military && analog\">\n <span\n *ngFor=\"let period of MERIDIANS\"\n class=\"digital--period\"\n [class.active]=\"meridian == period\"\n (click)=\"setPeriod($event, period, true)\"\n [attr.data-automation-id]=\"period\"\n >{{ period }}</span\n >\n </div>\n </div>\n </div> -->\n <div class=\"increments\" *ngIf=\"!analog\">\n <novo-list class=\"increments--hours\" direction=\"vertical\" data-automation-id=\"novo-time-picker-hours\">\n <novo-list-item\n class=\"increments--hour\"\n *ngFor=\"let increment of HOURS\"\n (click)=\"setHours($event, increment, true)\"\n [class.active]=\"increment == activeHour\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--minutes\" direction=\"vertical\" data-automation-id=\"novo-time-picker-minutes\">\n <novo-list-item\n class=\"increments--minute\"\n *ngFor=\"let increment of MINUTES\"\n (click)=\"setMinutes($event, increment, true)\"\n [class.active]=\"increment == activeMinute\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--meridians\" direction=\"vertical\" *ngIf=\"!military\" data-automation-id=\"novo-time-picker-meridians\">\n <novo-list-item\n class=\"increments--meridian\"\n *ngFor=\"let period of MERIDIANS\"\n (click)=\"setPeriod($event, period, true)\"\n [class.active]=\"meridian == period\"\n [attr.data-automation-id]=\"period\"\n >\n <item-content>{{ period }}</item-content>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"analog\" *ngIf=\"analog\">\n <div class=\"analog--inner\">\n <div class=\"analog--face\">\n <span class=\"analog--center\"></span>\n <span class=\"analog--hand--hours\" [ngClass]=\"hoursClass\">\n <span class=\"analog--ball\"></span>\n </span>\n <span class=\"analog--hand--minutes\" [ngClass]=\"minutesClass\">\n <span class=\"analog--ball\" [ngClass]=\"{ between: inBetween }\"></span>\n </span>\n </div>\n <div class=\"analog--hours\">\n <span\n *ngFor=\"let hour of HOURS\"\n class=\"analog--hour\"\n [ngClass]=\"{ active: activeHour == hour }\"\n (click)=\"setHours($event, hour, true)\"\n [attr.data-automation-id]=\"hour\"\n >{{ hour }}</span\n >\n </div>\n <div class=\"analog--minutes\">\n <span\n *ngFor=\"let minute of MINUTES\"\n class=\"analog--minute\"\n [ngClass]=\"{ active: activeMinute == minute }\"\n (click)=\"setMinutes($event, minute, true)\"\n [attr.data-automation-id]=\"minute\"\n >{{ minute }}</span\n >\n </div>\n </div>\n </div>\n `,\n host: {\n class: 'novo-time-picker',\n '[class.military]': 'military',\n },\n})\nexport class NovoTimePickerElement implements ControlValueAccessor, OnInit, OnChanges {\n @Input()\n military: boolean = false;\n @Input()\n analog: boolean = false;\n @Input()\n inline: boolean = false;\n @Input()\n step: number = 1;\n\n @Output()\n onSelect: EventEmitter<any> = new EventEmitter();\n\n hours: number = 12;\n minutes: number = 0;\n value: any = null;\n meridian: string;\n inBetween: boolean;\n hoursClass: string;\n activeHour;\n minutesClass: string;\n activeMinute;\n increments: string[] = [];\n selected: string;\n MERIDIANS: Array<string> = ['am', 'pm'];\n MINUTES: Array<string> = ['05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55', '00'];\n HOURS: Array<string> = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];\n model: any;\n _onChange: Function = () => {};\n _onTouched: Function = () => {};\n\n flatten(arr) {\n return Array.prototype.concat(...arr);\n }\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.military) {\n this.HOURS = ['0', ...this.HOURS, '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n }\n if (!this.analog) {\n const mins = Array.from(Array(60 / this.step).keys()).map((i) => i * this.step);\n this.MINUTES = mins.map((m) => `${m}`.padStart(2, '0'));\n }\n this.ngOnChanges();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n if (this.model) {\n this.init(this.model, false);\n } else {\n this.selected = null;\n this.init(new Date(), false);\n }\n }\n\n init(value, dispatch) {\n const _value = new Date(value);\n let hours: string | number = _value.getHours();\n let minutes: string | number = _value.getMinutes();\n\n if (!this.military) {\n this.meridian = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours || 12;\n }\n minutes = minutes < 10 ? `0${minutes}` : minutes;\n\n this.setHours(null, hours, dispatch);\n this.setMinutes(null, minutes, dispatch);\n this.checkBetween(minutes);\n }\n\n checkBetween(value) {\n this.inBetween = this.MINUTES.indexOf(String(value)) < 0;\n }\n\n setValue(event, value) {\n Helpers.swallowEvent(event);\n this.selected = value;\n const [time, meridian] = value.split(' ');\n const [hours, minutes] = time.split(':');\n this.hours = hours;\n this.minutes = minutes;\n this.meridian = meridian;\n\n this.dispatchChange();\n }\n\n setHours(event, hours, dispatch) {\n Helpers.swallowEvent(event);\n this.hours = hours;\n this.hoursClass = `hour-${hours}`;\n this.activeHour = hours;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setMinutes(event, minutes, dispatch) {\n Helpers.swallowEvent(event);\n this.minutes = minutes;\n this.minutesClass = `min-${minutes}`;\n this.activeMinute = minutes;\n this.checkBetween(minutes);\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setPeriod(event, period, dispatch) {\n Helpers.swallowEvent(event);\n this.meridian = period;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n dispatchChange() {\n let hours = Number(this.hours);\n\n if (!this.military) {\n hours = this.meridian.toLowerCase() === 'pm' ? hours + 12 : hours;\n\n // Special case for 12\n if (this.meridian.toLowerCase() === 'pm' && hours === 24) {\n hours = 12;\n } else if (this.meridian.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n }\n\n const value = new Date();\n value.setHours(hours);\n value.setMinutes(this.minutes);\n value.setSeconds(0);\n this.value = `${this.hours}:${this.minutes} ${this.meridian}`;\n this.onSelect.next({\n hours,\n minutes: this.minutes,\n meridian: this.meridian,\n date: value,\n text: this.value,\n });\n this._onChange(value);\n }\n\n // ValueAccessor Functions\n writeValue(model: any): void {\n this.model = model;\n if (Helpers.isDate(model)) {\n this.init(model, false);\n // this.dispatchChange();\n }\n if (Helpers.isString(model)) {\n const time = this.military ? model : this.convertTime12to24(model);\n const date = DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n if (isValid(date)) {\n this.init(date, false);\n // this.dispatchChange();\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this._onTouched = fn;\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n}\n","// NG\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport * as IMask from 'imask';\n// App\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst DATE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerInputElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-time-picker-input',\n providers: [DATE_VALUE_ACCESSOR],\n template: `\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [imask]=\"maskOptions\"\n [unmask]=\"'typed'\"\n [placeholder]=\"placeholder\"\n (change)=\"_handleChange($event)\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"time-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-clock\"></i> <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <novo-time-picker\n inline=\"true\"\n [analog]=\"analog\"\n (onSelect)=\"setValue($event)\"\n [ngModel]=\"value\"\n [military]=\"military\"\n ></novo-time-picker>\n </novo-overlay-template>\n `,\n})\nexport class NovoTimePickerInputElement implements OnInit, OnChanges, ControlValueAccessor {\n public value: any;\n\n /** View -> model callback called when value changes */\n _onChange: (value: any) => void = () => {};\n /** View -> model callback called when autocomplete has been touched */\n _onTouched = () => {};\n\n @Input()\n name: string;\n @Input()\n placeholder: string;\n @Input()\n military: boolean = false;\n @Input()\n maskOptions: any;\n @HostBinding('class.disabled')\n @Input()\n disabled: boolean = false;\n\n /**\n * @deprecated don't use\n */\n @Input()\n analog: boolean = false;\n\n @Output()\n blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n changeEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n @ViewChild('input')\n input: HTMLInputElement;\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.initFormatOptions();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n if (Object.keys(changes).some((key) => ['military', 'maskOptions'].includes(key))) {\n this.initFormatOptions();\n }\n }\n\n initFormatOptions() {\n this.placeholder = this.military ? this.labels.timeFormatPlaceholder24Hour : this.labels.timeFormatPlaceholderAM;\n const timeFormat = this.military ? 'HH:mm' : 'hh:mm A';\n const amFormat = this.labels.timeFormatAM.toUpperCase();\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n this.maskOptions = {\n mask: Date,\n pattern: this.military ? 'HH:mm' : 'hh:mm aa',\n overwrite: true,\n autofix: true,\n lazy: false,\n min: new Date(1970, 0, 1),\n max: new Date(2030, 0, 1),\n prepare(str) {\n return str.toUpperCase();\n },\n format(date) {\n return DateUtil.format(date, timeFormat);\n },\n parse: (str) => {\n const time = this.military ? str : this.convertTime12to24(str);\n return DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n },\n blocks: {\n HH: {\n mask: IMask.MaskedRange,\n placeholderChar: 'H',\n maxLength: 2,\n from: 0,\n to: 23,\n },\n hh: {\n mask: IMask.MaskedRange,\n placeholderChar: 'h',\n maxLength: 2,\n from: 1,\n to: 12,\n },\n mm: {\n mask: IMask.MaskedRange,\n placeholderChar: 'm',\n maxLength: 2,\n from: 0,\n to: 59,\n },\n aa: {\n mask: IMask.MaskedEnum,\n placeholderChar: 'x',\n enum: ['AM', 'PM', 'am', 'pm', amFormat, pmFormat],\n },\n },\n };\n }\n\n /** BEGIN: Convenient Panel Methods. */\n openPanel(): void {\n if (!this.overlay.panelOpen) {\n this.overlay.openPanel();\n const hour = new Date().getHours();\n Promise.resolve(null).then(() => this.scrollToIndex(hour * 4));\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n\n /** END: Convenient Panel Methods. */\n\n _handleKeydown(event: KeyboardEvent): void {\n const input = event.target as HTMLInputElement;\n const hour: string = input.value.slice(0, 2);\n if ((event.key === Key.Escape || event.key === Key.Enter) && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n if (this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n }\n } else if (event.key === Key.Tab && input.selectionStart <= 2 && this.hourOneFormatRequired(hour)) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(3, 3);\n } else if (event.key === Key.Backspace && input.selectionStart === input.value.length) {\n input.value = `${input.value.slice(0, 5)} xx`;\n } else if (event.key === Key.Tab && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n } else if (event.key === Key.ArrowRight && input.selectionStart >= 2 && this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(2, 2);\n }\n }\n\n _handleInput(event: KeyboardEvent): void {\n if (document.activeElement === event.target) {\n const text = (event.target as HTMLInputElement).value;\n const hour = text.slice(0, 2);\n this.openPanel();\n if ((this.military && Number(text[0]) > 2) || (!this.military && Number(text[0]) > 1)) {\n event.preventDefault();\n (event.target as HTMLInputElement).value = `0${text}`;\n }\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} ${timePeriod}`;\n }\n if ((event.target as HTMLInputElement).selectionStart >= 3 && this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${(event.target as HTMLInputElement).value.slice(\n 3,\n (event.target as HTMLInputElement).value.length,\n )}`;\n }\n }\n }\n }\n\n _handleChange(event: Event): void {\n const text = (event?.target as HTMLInputElement)?.value;\n this.formatTime(text);\n this.changeEvent.emit();\n }\n\n _handleBlur(event: FocusEvent): void {\n const text = (event.target as HTMLInputElement).value;\n const hour: string = text.slice(0, 2);\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${text.slice(3, text.length)}`;\n }\n if (!timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} xx`;\n }\n }\n }\n\n _handleFocus(event: FocusEvent): void {\n this.openPanel();\n this.focusEvent.emit(event);\n }\n\n writeValue(value: any): void {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n\n registerOnChange(fn: (value: any) => {}): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => {}) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public dispatchOnChange(newValue?: any, skip: boolean = false) {\n if (newValue !== this.value) {\n this._onChange(newValue);\n this.changeEvent.emit(newValue);\n !skip && this.writeValue(newValue);\n }\n }\n\n private _setTriggerValue(value: any): void {\n if (value instanceof Date && this.value instanceof Date) {\n value = new Date(value.setFullYear(this.value.getFullYear(), this.value.getMonth(), this.value.getDate()));\n }\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n public setValueAndClose(event: any | null): void {\n this.setValue(event);\n this.closePanel();\n }\n\n public setValue(event: any | null): void {\n if (event && event.date) {\n this.dispatchOnChange(event.date);\n }\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n public clearValue() {\n this.dispatchOnChange(null);\n }\n\n public get hasValue() {\n return !Helpers.isEmpty(this.value);\n }\n\n public scrollToIndex(index: number) {\n const element = this.overlay.overlayRef.overlayElement;\n const list = element.querySelector('.increments');\n const items = list.querySelectorAll('novo-list-item');\n const item = items[index];\n if (item) {\n list.scrollTop = (item as HTMLElement).offsetTop;\n }\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n\n hourOneFormatRequired(hourInput: string): boolean {\n return hourInput === 'h1' || hourInput === '1h';\n }\n\n protected formatTime(value: string) {\n try {\n const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, this.military, 'time');\n if (!isNaN(dateTimeValue.getUTCDate())) {\n const dt = new Date(dateTimeValue);\n this.dispatchOnChange(dt);\n } else {\n this.dispatchOnChange(null);\n }\n } catch (err) {}\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// Vendor\nimport { TextMaskModule } from 'angular2-text-mask';\nimport { IMaskDirectiveModule } from 'angular-imask';\n// APP\nimport { NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoTimePickerElement } from './TimePicker';\nimport { NovoTimePickerInputElement } from './TimePickerInput';\n\n@NgModule({\n imports: [CommonModule, FormsModule, IMaskDirectiveModule, TextMaskModule, NovoOverlayModule, NovoListModule],\n declarations: [NovoTimePickerElement, NovoTimePickerInputElement],\n exports: [NovoTimePickerElement, NovoTimePickerInputElement],\n})\nexport class NovoTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3.NovoTimePickerElement","i6"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAmBA;AACA,MAAM,0BAA0B,GAAG;AACjC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,qBAAqB,CAAC;AACpD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;IAEU,mBAGX;AAHD,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,GAG7B,EAAA,CAAA,CAAA,CAAA;MAkGY,qBAAqB,CAAA;AAmChC,IAAA,WAAA,CACS,OAAmB,EACnB,MAAwB,EACxB,iBAAoC,EACjC,GAAsB,EAAA;QAHzB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACxB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACjC,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QArClC,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAE1B,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAExB,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QAExB,IAAI,CAAA,IAAA,GAAW,CAAC,CAAC;AAGjB,QAAA,IAAA,CAAA,QAAQ,GAAsB,IAAI,YAAY,EAAE,CAAC;QAEjD,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;QACpB,IAAK,CAAA,KAAA,GAAQ,IAAI,CAAC;QAOlB,IAAU,CAAA,UAAA,GAAa,EAAE,CAAC;AAE1B,QAAA,IAAA,CAAA,SAAS,GAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxC,IAAO,CAAA,OAAA,GAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClG,IAAK,CAAA,KAAA,GAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEvF,QAAA,IAAA,CAAA,SAAS,GAAa,MAAK,GAAG,CAAC;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAa,MAAK,GAAG,CAAC;KAW5B;AATJ,IAAA,OAAO,CAAC,GAAG,EAAA;QACT,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;KACvC;IASD,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrG,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAG,EAAA,CAAC,CAAE,CAAA,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACzD,SAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;KACpB;AAED,IAAA,WAAW,CAAC,OAAuB,EAAA;QACjC,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC9B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9B,SAAA;KACF;IAED,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAA;AAClB,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,QAAA,IAAI,KAAK,GAAoB,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC/C,QAAA,IAAI,OAAO,GAAoB,MAAM,CAAC,UAAU,EAAE,CAAC;AAEnD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,YAAA,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;AACnB,YAAA,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,OAAO,GAAG,OAAO,GAAG,EAAE,GAAG,CAAI,CAAA,EAAA,OAAO,CAAE,CAAA,GAAG,OAAO,CAAC;QAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;KAC5B;AAED,IAAA,YAAY,CAAC,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;KAC1D;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAA;AACnB,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;AAED,IAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAA;AAC7B,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAQ,KAAA,EAAA,KAAK,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAExB,QAAA,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,SAAA;KACF;AAED,IAAA,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAA;AACjC,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAO,IAAA,EAAA,OAAO,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAE3B,QAAA,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,SAAA;KACF;AAED,IAAA,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAA;AAC/B,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEvB,QAAA,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,SAAA;KACF;IAED,cAAc,GAAA;QACZ,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,KAAK,CAAC;;AAGlE,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;gBACxD,KAAK,GAAG,EAAE,CAAC;AACZ,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;gBAC/D,KAAK,GAAG,CAAC,CAAC;AACX,aAAA;AACF,SAAA;AAED,QAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,QAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtB,QAAA,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,QAAA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,GAAG,CAAG,EAAA,IAAI,CAAC,KAAK,CAAA,CAAA,EAAI,IAAI,CAAC,OAAO,CAAI,CAAA,EAAA,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,KAAK;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,YAAA,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,IAAI,CAAC,KAAK;AACjB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KACvB;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;AAEzB,SAAA;AACD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAI,CAAA,EAAA,IAAI,CAAE,CAAA,CAAC,CAAC;AACpF,YAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACjB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;AAExB,aAAA;AACF,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,EAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,iBAAiB,CAAC,OAAe,EAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAExD,QAAA,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,KAAK,GAAG,IAAI,CAAC;AACd,SAAA;QACD,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACvC,YAAA,KAAK,GAAG,CAAG,EAAA,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,SAAA;AACD,QAAA,OAAO,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;KAC9B;;mHAjMU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,EA9FrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,0BAA0B,CAAC,EAC7B,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FAMU,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAhGjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;oBAC5B,SAAS,EAAE,CAAC,0BAA0B,CAAC;AACvC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,kBAAkB;AACzB,wBAAA,kBAAkB,EAAE,UAAU;AAC/B,qBAAA;AACF,iBAAA,CAAA;gMAGC,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAGN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,MAAM;;;ACzIT;AAsBA;AACA,MAAM,mBAAmB,GAAG;AAC1B,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;MAkCW,0BAA0B,CAAA;AAuCrC,IAAA,WAAA,CACS,OAAmB,EACnB,MAAwB,EACxB,iBAAoC,EACjC,kBAAqC,EAAA;QAHxC,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACxB,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;QACjC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;;AAvCjD,QAAA,IAAA,CAAA,SAAS,GAAyB,MAAK,GAAG,CAAC;;AAE3C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAK,GAAG,CAAC;QAOtB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAK1B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAE1B;;AAEG;QAEH,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAGxB,QAAA,IAAA,CAAA,SAAS,GAA6B,IAAI,YAAY,EAAc,CAAC;AAErE,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAI,YAAY,EAAc,CAAC;AAEtE,QAAA,IAAA,CAAA,WAAW,GAA6B,IAAI,YAAY,EAAc,CAAC;KAanE;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC1B;AAED,IAAA,WAAW,CAAC,OAAuB,EAAA;;QAEjC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;YACjF,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC1B,SAAA;KACF;IAED,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;AACjH,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG;AACjB,YAAA,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,GAAG,UAAU;AAC7C,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACzB,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,YAAA,OAAO,CAAC,GAAG,EAAA;AACT,gBAAA,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;aAC1B;AACD,YAAA,MAAM,CAAC,IAAI,EAAA;gBACT,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;aAC1C;AACD,YAAA,KAAK,EAAE,CAAC,GAAG,KAAI;AACb,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC/D,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,IAAI,IAAI,CAAA,CAAE,CAAC,CAAC;aAC/E;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,EAAE,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,WAAW;AACvB,oBAAA,eAAe,EAAE,GAAG;AACpB,oBAAA,SAAS,EAAE,CAAC;AACZ,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,EAAE,EAAE,EAAE;AACP,iBAAA;AACD,gBAAA,EAAE,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,WAAW;AACvB,oBAAA,eAAe,EAAE,GAAG;AACpB,oBAAA,SAAS,EAAE,CAAC;AACZ,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,EAAE,EAAE,EAAE;AACP,iBAAA;AACD,gBAAA,EAAE,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,WAAW;AACvB,oBAAA,eAAe,EAAE,GAAG;AACpB,oBAAA,SAAS,EAAE,CAAC;AACZ,oBAAA,IAAI,EAAE,CAAC;AACP,oBAAA,EAAE,EAAE,EAAE;AACP,iBAAA;AACD,gBAAA,EAAE,EAAE;oBACF,IAAI,EAAE,KAAK,CAAC,UAAU;AACtB,oBAAA,eAAe,EAAE,GAAG;AACpB,oBAAA,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC;AACnD,iBAAA;AACF,aAAA;SACF,CAAC;KACH;;IAGD,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AAChE,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAC3B;AAED,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;KAC/C;;AAID,IAAA,cAAc,CAAC,KAAoB,EAAA;AACjC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;AAC/C,QAAA,MAAM,IAAI,GAAW,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,8BAAmB,KAAK,CAAC,GAAG,6BAAmB,IAAI,CAAC,SAAS,EAAE;YAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,wBAAwB,EAAE,CAAC;AACjC,YAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;AACpC,gBAAA,KAAK,CAAC,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAChE,aAAA;AACF,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAY,KAAA,cAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YACjG,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,wBAAwB,EAAE,CAAC;AACjC,YAAA,KAAK,CAAC,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/D,YAAA,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAA,WAAA,oBAAsB,KAAK,CAAC,cAAc,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;AACrF,YAAA,KAAK,CAAC,KAAK,GAAG,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AAC/C,SAAA;aAAM,IAAI,KAAK,CAAC,GAAG,KAAA,KAAA,cAAgB,IAAI,CAAC,SAAS,EAAE;YAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,wBAAwB,EAAE,CAAC;AAClC,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,KAAmB,YAAA,qBAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;AACxG,YAAA,KAAK,CAAC,KAAK,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/D,YAAA,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,KAAK,CAAC,MAAM,EAAE;AAC3C,YAAA,MAAM,IAAI,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;YACtD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;gBACrF,KAAK,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,CAAC,MAA2B,CAAC,KAAK,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;AACvD,aAAA;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,gBAAA,IAAI,UAAU,EAAE;oBACb,KAAK,CAAC,MAA2B,CAAC,KAAK,GAAG,CAAI,EAAA,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAA,EAAI,UAAU,CAAA,CAAE,CAAC;AACpH,iBAAA;AACD,gBAAA,IAAK,KAAK,CAAC,MAA2B,CAAC,cAAc,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;oBAC7F,KAAK,CAAC,MAA2B,CAAC,KAAK,GAAG,MAAO,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,KAAK,CAC7F,CAAC,EACA,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,MAAM,CAChD,CAAA,CAAE,CAAC;AACL,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,aAAa,CAAC,KAAY,EAAA;AACxB,QAAA,MAAM,IAAI,GAAI,KAAK,EAAE,MAA2B,EAAE,KAAK,CAAC;AACxD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KACzB;AAED,IAAA,WAAW,CAAC,KAAiB,EAAA;AAC3B,QAAA,MAAM,IAAI,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;QACtD,MAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpE,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,YAAA,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;AACnC,gBAAA,KAAK,CAAC,MAA2B,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAC/E,aAAA;YACD,IAAI,CAAC,UAAU,EAAE;AACd,gBAAA,KAAK,CAAC,MAA2B,CAAC,KAAK,GAAG,CAAA,EAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;AACzG,aAAA;AACF,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAiB,EAAA;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;AAED,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;KAChE;AAED,IAAA,gBAAgB,CAAC,EAAsB,EAAA;AACrC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AAED,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;AAED,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;AAEM,IAAA,gBAAgB,CAAC,QAAc,EAAE,IAAA,GAAgB,KAAK,EAAA;AAC3D,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,SAAA;KACF;AAEO,IAAA,gBAAgB,CAAC,KAAU,EAAA;QACjC,IAAI,KAAK,YAAY,IAAI,IAAI,IAAI,CAAC,KAAK,YAAY,IAAI,EAAE;AACvD,YAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAC5G,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;AAEM,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AACvC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;AAEM,IAAA,QAAQ,CAAC,KAAiB,EAAA;AAC/B,QAAA,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE;AACvB,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnC,SAAA;KACF;AAED;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7B;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;AAEM,IAAA,aAAa,CAAC,KAAa,EAAA;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;QACvD,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;AACtD,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,SAAS,GAAI,IAAoB,CAAC,SAAS,CAAC;AAClD,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,OAAe,EAAA;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;AAExD,QAAA,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,KAAK,GAAG,IAAI,CAAC;AACd,SAAA;QACD,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACvC,YAAA,KAAK,GAAG,CAAG,EAAA,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,CAAA,CAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxD,SAAA;AACD,QAAA,OAAO,CAAG,EAAA,KAAK,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;KAC9B;AAED,IAAA,qBAAqB,CAAC,SAAiB,EAAA;AACrC,QAAA,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC;KACjD;AAES,IAAA,UAAU,CAAC,KAAa,EAAA;QAChC,IAAI;YACF,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE;AACtC,gBAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC3B,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC7B,aAAA;AACF,SAAA;QAAC,OAAO,GAAG,EAAE,GAAE;KACjB;;wHA7SU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,yVA9B1B,CAAC,mBAAmB,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAgErB,4BAA4B,EA/D7B,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FAEU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhCtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;oBAClC,SAAS,EAAE,CAAC,mBAAmB,CAAC;AAChC,oBAAA,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BT,EAAA,CAAA;AACF,iBAAA,CAAA;gMAUC,IAAI,EAAA,CAAA;sBADH,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBAFP,WAAW;uBAAC,gBAAgB,CAAA;;sBAC5B,KAAK;gBAON,MAAM,EAAA,CAAA;sBADL,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,MAAM;gBAGP,UAAU,EAAA,CAAA;sBADT,MAAM;gBAGP,WAAW,EAAA,CAAA;sBADV,MAAM;gBAKP,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,4BAA4B,CAAA;gBAGvC,KAAK,EAAA,CAAA;sBADJ,SAAS;uBAAC,OAAO,CAAA;;;ACjGpB;MAkBa,oBAAoB,CAAA;;kHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAHhB,qBAAqB,EAAE,0BAA0B,CADtD,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAElG,EAAA,OAAA,EAAA,CAAA,qBAAqB,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAEhD,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAJtB,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAA,EAAA,CAAA,CAAA;4FAIlG,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,CAAC;AAC7G,oBAAA,YAAY,EAAE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;AACjE,oBAAA,OAAO,EAAE,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;AAC7D,iBAAA,CAAA;;;ACjBD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "novo-elements",
3
- "version": "8.0.0",
3
+ "version": "8.0.2",
4
4
  "sideEffects": true,
5
5
  "peerDependencies": {
6
6
  "@angular/animations": ">=10",