@acorex/components 19.10.0-next.0 → 19.10.0-next.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. package/button-group/lib/button-group.component.d.ts +5 -7
  2. package/common/lib/classes/datasource.class.d.ts +3 -0
  3. package/data-table/lib/base-data-table.class.d.ts +1 -0
  4. package/data-table/lib/columns/data-text-column.component.d.ts +3 -1
  5. package/data-table/lib/data-table/data-table.component.d.ts +2 -0
  6. package/fesm2022/acorex-components-alert.mjs +2 -2
  7. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  8. package/fesm2022/acorex-components-button-group.mjs +4 -13
  9. package/fesm2022/acorex-components-button-group.mjs.map +1 -1
  10. package/fesm2022/acorex-components-button.mjs +4 -4
  11. package/fesm2022/acorex-components-button.mjs.map +1 -1
  12. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  13. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  14. package/fesm2022/acorex-components-common.mjs +1 -0
  15. package/fesm2022/acorex-components-common.mjs.map +1 -1
  16. package/fesm2022/acorex-components-conversation.mjs +2 -2
  17. package/fesm2022/acorex-components-conversation.mjs.map +1 -1
  18. package/fesm2022/acorex-components-cron-job.mjs +7 -15
  19. package/fesm2022/acorex-components-cron-job.mjs.map +1 -1
  20. package/fesm2022/acorex-components-data-table.mjs +46 -13
  21. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  22. package/fesm2022/acorex-components-datetime-input.mjs +2 -2
  23. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  24. package/fesm2022/acorex-components-dropdown.mjs +2 -2
  25. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  26. package/fesm2022/acorex-components-image-editor.mjs +2 -2
  27. package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
  28. package/fesm2022/acorex-components-label.mjs +2 -2
  29. package/fesm2022/acorex-components-label.mjs.map +1 -1
  30. package/fesm2022/acorex-components-menu.mjs +4 -4
  31. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  32. package/fesm2022/acorex-components-number-box.mjs +2 -2
  33. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  34. package/fesm2022/acorex-components-otp.mjs +2 -2
  35. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  36. package/fesm2022/acorex-components-paint.mjs +2 -2
  37. package/fesm2022/acorex-components-paint.mjs.map +1 -1
  38. package/fesm2022/acorex-components-password-box.mjs +2 -2
  39. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  40. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  41. package/fesm2022/acorex-components-phone-box.mjs.map +1 -1
  42. package/fesm2022/acorex-components-query-builder.mjs +245 -0
  43. package/fesm2022/acorex-components-query-builder.mjs.map +1 -0
  44. package/fesm2022/acorex-components-scheduler.mjs +4 -4
  45. package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
  46. package/fesm2022/acorex-components-search-box.mjs +2 -2
  47. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  48. package/fesm2022/acorex-components-select-box.mjs +2 -1
  49. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  50. package/fesm2022/acorex-components-slider.mjs +2 -2
  51. package/fesm2022/acorex-components-slider.mjs.map +1 -1
  52. package/fesm2022/acorex-components-text-area.mjs +2 -2
  53. package/fesm2022/acorex-components-text-area.mjs.map +1 -1
  54. package/fesm2022/acorex-components-text-box.mjs +2 -2
  55. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  56. package/fesm2022/acorex-components-uploader.mjs +2 -2
  57. package/fesm2022/acorex-components-uploader.mjs.map +1 -1
  58. package/fesm2022/acorex-components-wysiwyg.mjs +3 -3
  59. package/fesm2022/acorex-components-wysiwyg.mjs.map +1 -1
  60. package/package.json +5 -1
  61. package/query-builder/README.md +3 -0
  62. package/query-builder/index.d.ts +2 -0
  63. package/query-builder/lib/query-builder.component.d.ts +31 -0
  64. package/query-builder/lib/query-builder.module.d.ts +15 -0
  65. package/select-box/lib/select-box.component.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../libs/components/menu/src/lib/menu.types.ts","../../../../libs/components/menu/src/lib/menu.service.ts","../../../../libs/components/menu/src/lib/menu-item.component.ts","../../../../libs/components/menu/src/lib/menu-item.component.html","../../../../libs/components/menu/src/lib/context-menu.component.ts","../../../../libs/components/menu/src/lib/menu.component.html","../../../../libs/components/menu/src/lib/menu.component.ts","../../../../libs/components/menu/src/lib/menu.module.ts","../../../../libs/components/menu/src/acorex-components-menu.ts"],"sourcesContent":["import { AXOrientation, AXStyleColorType, NXClickEvent, NXComponent } from '@acorex/components/common';\nimport { OutputEmitterRef, WritableSignal } from '@angular/core';\n\nexport type AXMenuOpenTrigger = 'click' | 'hover';\nexport type AXMenuCloseTrigger = 'click' | 'leave';\n\nexport abstract class AXRootMenu {\n orientation: WritableSignal<AXOrientation>;\n openOn: WritableSignal<AXMenuOpenTrigger>;\n closeOn: WritableSignal<AXMenuCloseTrigger>;\n onItemClick: OutputEmitterRef<AXMenuItemClickBaseEvent>;\n nativeElement: HTMLDivElement;\n hasArrow: WritableSignal<boolean>;\n}\n\nexport abstract class AXMenuItemComponentBase {}\n\nexport abstract class AXMenuItem {\n color?: AXStyleColorType;\n name?: string;\n text: string;\n data?: any;\n icon?: string;\n disabled?: boolean;\n items?: AXMenuItem[];\n suffix?: {\n text: string;\n };\n break?: boolean;\n group?: {\n name?: string;\n title?: string;\n };\n}\n\nexport class AXMenuItemClickBaseEvent<T extends NXComponent = NXComponent> extends NXClickEvent<T> {\n item: {\n name?: string;\n text: string;\n data?: any;\n };\n canceled = false;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXMenuItemComponentBase, AXRootMenu } from './menu.types';\nimport { AXPoint } from '@acorex/core/utils';\n\n@Injectable()\nexport class AXMenuService {\n public closeAll$: Subject<void> = new Subject();\n public open$: Subject<AXMenuItemComponentBase> = new Subject();\n public close$: Subject<AXMenuItemComponentBase> = new Subject();\n public closeExcept$ = new Subject<AXMenuItemComponentBase>();\n\n public openContextMenu$ = new Subject<{ sender: AXRootMenu, point: AXPoint }>();\n public closeAllContextMenu$ = new Subject<{ sender: AXRootMenu }>();\n}\n","import { AXStyleColorType, NXComponent } from '@acorex/components/common';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n output,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuItemClickBaseEvent, AXMenuItemComponentBase, AXRootMenu } from './menu.types';\n\nexport type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;\n\n/**\n * Represents a menu item component used within an `ax-menu`.\n * @category Components\n */\n@Component({\n selector: 'ax-menu-item',\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXMenuItemComponentBase,\n useExisting: AXMenuItemComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXMenuItemComponent extends NXComponent implements OnDestroy {\n protected isOpen = signal(false);\n protected hasSubItems = signal(false);\n protected isFirstLevel = signal(false);\n private mutationObserver!: MutationObserver;\n\n protected root = inject(AXRootMenu);\n protected parent?: AXMenuItemComponent | null;\n protected isRoot = () => this.parent == null;\n\n private service = inject(AXMenuService);\n private scrollableParents: HTMLElement[] = [];\n\n private unsuscriber = inject(AXUnsubscriber);\n private renderer = inject(Renderer2);\n\n protected arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n return this.root.orientation() == 'horizontal' && this.isFirstLevel()\n ? 'ax-icon-chevron-down'\n : isRtl\n ? 'ax-icon-chevron-left'\n : 'ax-icon-chevron-right';\n });\n\n onClick = output<AXMenuItemClickEvent>();\n\n name = input<string>();\n data = input<any>();\n disabled = input<boolean>();\n color = input<AXStyleColorType>();\n\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.detectSubItems();\n this.observeMutations();\n this.bindScrollEvents();\n });\n //\n this.service.closeAll$.pipe(this.unsuscriber.takeUntilDestroy).subscribe(() => this.close());\n\n this.service.open$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) === item) {\n this.isOpen.set(true);\n this.calculatePosition();\n }\n });\n //\n this.service.close$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) == item) {\n this.isOpen.set(false);\n }\n });\n //\n this.service.closeExcept$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n this.closeExcept(item as AXMenuItemComponent);\n });\n }\n\n private closeExcept(item: AXMenuItemComponent) {\n const list: AXMenuItemComponent[] = [item];\n //\n let parent = item.parent;\n while (parent != null) {\n list.push(parent);\n parent = parent.parent;\n }\n //\n if (!list.includes(this)) {\n this.close();\n }\n }\n\n private observeMutations() {\n this.mutationObserver = new MutationObserver(() => {\n this.detectSubItems();\n });\n\n // Start observing changes in child elements\n this.mutationObserver.observe(this.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n\n private getText(): string {\n return this.nativeElement.querySelector<HTMLDivElement>('ax-text')?.innerText;\n }\n\n /**\n * Manually detect all `ax-menu-item` elements and check if this menu item has sub-items.\n */\n private detectSubItems() {\n //\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent =\n parentEl?.tagName == 'AX-MENU-ITEM' ? (parentEl?.['__axContext__'] as AXMenuItemComponent) : null;\n //\n const tag = this.nativeElement.parentElement?.tagName;\n this.isFirstLevel.set(tag == 'AX-MENU' || tag == 'AX-CONTEXT-MENU');\n const subItems = this.nativeElement.querySelectorAll('ax-menu-item');\n if (subItems.length > 0) {\n this.hasSubItems.set(true);\n } else {\n this.hasSubItems.set(false);\n }\n }\n\n open() {\n this.service.closeExcept$.next(this);\n if (!this.disabled() && this.hasSubItems()) {\n this.service.open$.next(this);\n }\n }\n\n close() {\n this.service.close$.next(this);\n }\n\n /**\n * Calculate the position of the submenu to avoid it going out of the viewport.\n */\n private calculatePosition() {\n const submenu = this.nativeElement.querySelector('.ax-menu-items');\n if (!submenu) return;\n\n const submenuRect = submenu.getBoundingClientRect();\n const itemRect = this.nativeElement.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n\n let top: number | null = null;\n let left: number | null = null;\n\n // For first-level menu items\n if (this.isFirstLevel() && this.root.orientation() === 'horizontal') {\n top =\n itemRect.bottom + submenuRect.height > windowHeight\n ? itemRect.top - submenuRect.height // Open upwards\n : itemRect.bottom; // Open downwards\n\n if (isRtl) {\n // RTL: Align to the right of the parent item\n left =\n itemRect.right - submenuRect.width < 0\n ? itemRect.left // Align to the left if not enough space on the right\n : itemRect.right - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Align to the left of the parent item\n left =\n itemRect.left + submenuRect.width > windowWidth\n ? itemRect.right - submenuRect.width // Align to the right edge in LTR\n : itemRect.left; // Open to the left\n }\n } else {\n // For nested submenus\n if (isRtl) {\n // RTL: Nested submenu opens to the left\n left =\n itemRect.left - submenuRect.width < 0\n ? itemRect.right // Align to the right if not enough space on the left\n : itemRect.left - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Nested submenu opens to the right\n left =\n itemRect.right + submenuRect.width > windowWidth\n ? itemRect.left - submenuRect.width // Open to the left if not enough space\n : itemRect.right; // Open to the right in LTR\n }\n\n // Adjust top position (align vertically with parent)\n top =\n itemRect.top + submenuRect.height > windowHeight\n ? itemRect.top - (itemRect.bottom + submenuRect.height - windowHeight) // Adjust upwards\n : itemRect.top; // Align with the parent item\n }\n\n // Apply calculated styles for RTL/LTR\n this.renderer.setStyle(submenu, 'left', `${left}px`);\n this.renderer.setStyle(submenu, 'top', `${top}px`);\n this.renderer.setStyle(submenu, 'position', 'fixed'); // Fixed position relative to the viewport\n }\n\n @HostListener('click', ['$event'])\n private handleClick(e: MouseEvent) {\n e.stopPropagation();\n if (this.disabled()) return;\n //\n const event = {\n sender: this,\n nativeEvent: e,\n canceled: false,\n item: {\n name: this.name(),\n text: this.getText(),\n data: this.data(),\n },\n } as AXMenuItemClickEvent;\n //\n this.onClick.emit(event);\n this.root.onItemClick.emit({ ...event, ...{ sender: this.root as any } });\n //\n if (this.hasSubItems() && !event.canceled) {\n this.open();\n } else if (!event.canceled) {\n this.service.closeAll$.next();\n this.service.closeAllContextMenu$.next({ sender: this.root });\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n private handleMouseEnter(event: MouseEvent) {\n event.stopPropagation();\n // Cancel the close delay if the mouse re-enters the element\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n this.mouseLeaveTimeout = null; // Reset the timeout\n }\n if (!this.isFirstLevel() || this.root.openOn() == 'hover') {\n this.open();\n }\n }\n\n private mouseLeaveTimeout: any;\n\n @HostListener('mouseleave', ['$event'])\n private handleMouseLeave(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.hasSubItems() && this.root.closeOn() === 'leave') {\n // Clear any previous timeout to avoid multiple triggers\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n }\n\n // Set a delay before closing the submenu\n this.mouseLeaveTimeout = setTimeout(() => {\n this.close();\n }, 500); // Adjust the delay (500ms in this case) as per your requirement\n }\n }\n\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n this.service.closeAll$.next(); // Close all menus on scroll or resize\n }\n\n /**\n * Close all menus if clicking outside the root menu and all sub-items.\n */\n @HostListener('document:click', ['$event'])\n private onClickOutside(event: MouseEvent) {\n const hostElement = this.root.nativeElement;\n if (!hostElement.contains(event.target as Node)) {\n this.service.closeAll$.next(); // Close all menus if click is outside the root and sub-items\n }\n }\n\n ngOnDestroy() {\n this.removeScrollEvents();\n }\n\n private bindScrollEvents() {\n this.scrollableParents = AXHtmlUtil.getScrollableParents(this.nativeElement);\n\n this.scrollableParents.forEach((parent) => {\n parent.addEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n // Remove scroll event listeners\n private removeScrollEvents() {\n this.scrollableParents.forEach((parent) => {\n parent.removeEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n /**\n * Handler for scroll events (window or scrollable parent containers)\n */\n private onContainerScroll() {\n this.service.closeAll$.next(); // Close all menus on scroll\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n const list: string[] = ['ax-action-item'];\n if (this.disabled()) {\n list.push('ax-state-disabled');\n }\n list.push(`ax-${this.color() ?? 'ghost'}`);\n\n return list;\n }\n}\n","<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} \"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n","import { AXOrientation, NXComponent, NXEvent } from '@acorex/components/common';\nimport { isBrowser } from '@acorex/core/platform';\nimport { AXHtmlUtil, AXPoint } from '@acorex/core/utils';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXMenuService } from './menu.service';\nimport {\n AXMenuCloseTrigger,\n AXMenuItem,\n AXMenuItemClickBaseEvent,\n AXMenuOpenTrigger,\n AXRootMenu,\n} from './menu.types';\n\nexport class AXContextMenuOpeningEvent extends NXEvent<AXContextMenuComponent> {\n items: AXMenuItem[];\n canceled = false;\n targetElement: HTMLElement;\n}\nexport type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuComponent>;\n\n/**\n * Represents a menu component that displays context menu.\n * @category Components\n */\n@Component({\n selector: 'ax-context-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXContextMenuComponent,\n },\n ],\n standalone: false,\n})\nexport class AXContextMenuComponent extends NXComponent {\n // Inputs and Outputs\n\n orientation = input<AXOrientation>('vertical');\n openOn = input<AXMenuOpenTrigger>('hover');\n closeOn = input<AXMenuCloseTrigger>('click');\n orginalItems = input<AXMenuItem[]>([], { alias: 'items' });\n target = input<HTMLElement | HTMLElement[] | string>();\n\n onItemClick = output<AXContextMenuItemsClickEvent>();\n onOpening = output<AXContextMenuOpeningEvent>();\n\n hasArrow = signal<boolean>(true);\n\n // Injected Services\n\n private service = inject(AXMenuService);\n private renderer = inject(Renderer2);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n // Constructor (Dependency Injection)\n\n /** @ignore */\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.bindContextEvent();\n });\n\n this.service.closeAllContextMenu$.subscribe(() => {\n this.service.closeAll$.next();\n this.close();\n });\n\n this.service.openContextMenu$.subscribe((e) => {\n if ((e.sender as any) == this) {\n this.internalShowAt(e.point);\n }\n });\n }\n\n // Lifecycle Hooks\n\n ngOnDestroy() {\n if (isBrowser()) {\n this.removeContextEvent();\n }\n }\n\n public refresh() {\n this.bindContextEvent();\n }\n\n // Public Methods\n\n public showAt(point: AXPoint) {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender });\n this.service.openContextMenu$.next({ sender, point });\n }\n\n public close() {\n this.nativeElement.classList.remove('ax-state-open');\n this.removeBackdrop();\n }\n\n // Private Properties\n\n private backdropElement!: HTMLElement;\n\n protected items = signal<AXMenuItem[]>([]);\n\n // Private Methods (Internal Logic)\n\n /** @ignore */\n private getTargetElements(): HTMLElement[] {\n if (isPlatformBrowser(this.platformID)) {\n const elements: HTMLElement[] =\n typeof this.target() == 'string'\n ? Array.from(this.document.querySelectorAll<HTMLElement>(this.target() as string))\n : Array.isArray(this.target())\n ? (this.target() as HTMLElement[])\n : [this.target() as HTMLElement];\n\n return elements;\n }\n return null;\n }\n\n /** @ignore */\n private bindContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private removeContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.removeEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private handleContextMenu(e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n //\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n const targetElement = elementsUnderMouse.find((target) => targetElements.includes(target));\n //\n const event = {\n sender: this,\n canceled: false,\n targetElement: targetElement,\n items: cloneDeep(this.orginalItems()),\n } as AXContextMenuOpeningEvent;\n this.onOpening.emit(event);\n this.items.set(event.items);\n //\n if (!event.canceled) {\n this.showAt({ x: e.clientX, y: e.clientY });\n }\n }\n }\n\n /** @ignore */\n private internalShowAt(point: AXPoint) {\n const elementRef = this.nativeElement;\n elementRef.classList.add('ax-state-open');\n const itemRect = elementRef.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n // Detect RTL (Right-To-Left) mode\n const isRtl = AXHtmlUtil.isRtl(elementRef);\n\n let left: number;\n if (isRtl) {\n left = point.x - itemRect.width;\n if (left < 0) {\n left = point.x;\n }\n } else {\n left = point.x;\n if (left + itemRect.width > windowWidth) {\n left = point.x - itemRect.width;\n }\n }\n\n const bottom = point.y + itemRect.height;\n let top: number;\n\n if (bottom > windowHeight) {\n top = point.y - itemRect.height;\n if (top < 0) {\n top = 0;\n }\n } else {\n top = point.y;\n }\n\n this.renderer.setStyle(elementRef, 'left', `${left}px`);\n this.renderer.setStyle(elementRef, 'top', `${top}px`);\n this.renderer.setStyle(elementRef, 'position', 'fixed');\n\n this.createBackdrop();\n }\n\n /** @ignore */\n private createBackdrop() {\n this.backdropElement = this.renderer.createElement('div');\n this.renderer.setStyle(this.backdropElement, 'position', 'fixed');\n this.renderer.setStyle(this.backdropElement, 'top', '0');\n this.renderer.setStyle(this.backdropElement, 'left', '0');\n this.renderer.setStyle(this.backdropElement, 'width', '100%');\n this.renderer.setStyle(this.backdropElement, 'height', '100%');\n this.renderer.setStyle(this.backdropElement, 'z-index', '999'); // Ensure it's below the context menu\n this.renderer.setStyle(this.backdropElement, 'background', 'transparent');\n\n const l1 = this.renderer.listen(this.backdropElement, 'click', () => {\n this.close();\n l1();\n });\n\n const l2 = this.renderer.listen(this.backdropElement, 'wheel', () => {\n this.close();\n l2();\n });\n\n const l3 = this.renderer.listen(this.backdropElement, 'contextmenu', (e: MouseEvent) => {\n this.close();\n // Get all elements under the mouse pointer\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n if (targetElements.some((target) => elementsUnderMouse.includes(target))) {\n e.preventDefault();\n setTimeout(() => {\n //this.internalShowAt({ x: e.x, y: e.y });\n this.handleContextMenu(e);\n });\n }\n }\n l3();\n });\n\n this.document.body.appendChild(this.backdropElement);\n }\n\n /** @ignore */\n private removeBackdrop() {\n if (this.backdropElement) {\n if (this.backdropElement.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement);\n }\n this.backdropElement = null;\n }\n }\n\n // Host Listeners (UI Interaction Handling)\n\n /** @ignore */\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender: sender }); // Close all menus on scroll or resize\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): any {\n return [\n 'ax-menu-container',\n `ax-orientation-${this.orientation()}`,\n 'ax-action-list',\n 'ax-action-list-vertical',\n ];\n }\n}\n","<ng-content select=\"ax-menu-item,ax-divider,ax-title,ng-container\"></ng-content>\n\n<ng-container\n *ngFor=\"let node of items()\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\n>\n</ng-container>\n<ng-template #Recursion let-item>\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <ax-menu-item [name]=\"item.name\" [data]=\"item.data\" [disabled]=\"item.disabled\" [color]=\"item.color\">\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.text) {\n <ax-text>{{ item.text }}</ax-text>\n }\n @if (item.suffix) {\n <ax-suffix>\n <ax-text>{{ item.suffix.text }}</ax-text>\n </ax-suffix>\n }\n <ng-container\n *ngFor=\"let child of item.items\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n </ax-menu-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n</ng-template>\n","import { AXOrientation, NXComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport {\n AXMenuCloseTrigger,\n AXMenuItem,\n AXMenuItemClickBaseEvent,\n AXMenuOpenTrigger,\n AXRootMenu,\n} from './menu.types';\n\nexport type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;\n\n/**\n * Represents a menu component that displays menu items.\n * @category Components\n */\n@Component({\n selector: 'ax-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXMenuComponent,\n },\n ],\n standalone: false,\n})\nexport class AXMenuComponent extends NXComponent {\n orientation = input<AXOrientation>('horizontal');\n\n openOn = input<AXMenuOpenTrigger>('hover');\n\n closeOn = input<AXMenuCloseTrigger>('leave');\n\n service = inject(AXMenuService);\n\n onItemClick = output<AXMenuItemsClickEvent>();\n\n items = input<AXMenuItem[]>([]);\n\n hasArrow = input<boolean>(true);\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [\n 'ax-root-menu',\n 'ax-action-list',\n `ax-action-list-${this.orientation()}`,\n `${!this.hasArrow() ? 'ax-hide-arrow' : ''}`,\n ];\n }\n\n public close() {\n this.service.closeAll$.next();\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXContextMenuComponent } from './context-menu.component';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuComponent } from './menu.component';\n\nconst COMPONENT = [AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent];\nconst MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [CommonModule, ...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.AXMenuItemComponent"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-menu.mjs","sources":["../../../../libs/components/menu/src/lib/menu.types.ts","../../../../libs/components/menu/src/lib/menu.service.ts","../../../../libs/components/menu/src/lib/menu-item.component.ts","../../../../libs/components/menu/src/lib/menu-item.component.html","../../../../libs/components/menu/src/lib/context-menu.component.ts","../../../../libs/components/menu/src/lib/menu.component.html","../../../../libs/components/menu/src/lib/menu.component.ts","../../../../libs/components/menu/src/lib/menu.module.ts","../../../../libs/components/menu/src/acorex-components-menu.ts"],"sourcesContent":["import { AXOrientation, AXStyleColorType, NXClickEvent, NXComponent } from '@acorex/components/common';\nimport { OutputEmitterRef, WritableSignal } from '@angular/core';\n\nexport type AXMenuOpenTrigger = 'click' | 'hover';\nexport type AXMenuCloseTrigger = 'click' | 'leave';\n\nexport abstract class AXRootMenu {\n orientation: WritableSignal<AXOrientation>;\n openOn: WritableSignal<AXMenuOpenTrigger>;\n closeOn: WritableSignal<AXMenuCloseTrigger>;\n onItemClick: OutputEmitterRef<AXMenuItemClickBaseEvent>;\n nativeElement: HTMLDivElement;\n hasArrow: WritableSignal<boolean>;\n}\n\nexport abstract class AXMenuItemComponentBase {}\n\nexport abstract class AXMenuItem {\n color?: AXStyleColorType;\n name?: string;\n text: string;\n data?: any;\n icon?: string;\n disabled?: boolean;\n items?: AXMenuItem[];\n suffix?: {\n text: string;\n };\n break?: boolean;\n group?: {\n name?: string;\n title?: string;\n };\n}\n\nexport class AXMenuItemClickBaseEvent<T extends NXComponent = NXComponent> extends NXClickEvent<T> {\n item: {\n name?: string;\n text: string;\n data?: any;\n };\n canceled = false;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { AXMenuItemComponentBase, AXRootMenu } from './menu.types';\nimport { AXPoint } from '@acorex/core/utils';\n\n@Injectable()\nexport class AXMenuService {\n public closeAll$: Subject<void> = new Subject();\n public open$: Subject<AXMenuItemComponentBase> = new Subject();\n public close$: Subject<AXMenuItemComponentBase> = new Subject();\n public closeExcept$ = new Subject<AXMenuItemComponentBase>();\n\n public openContextMenu$ = new Subject<{ sender: AXRootMenu, point: AXPoint }>();\n public closeAllContextMenu$ = new Subject<{ sender: AXRootMenu }>();\n}\n","import { AXStyleColorType, NXComponent } from '@acorex/components/common';\nimport { AXHtmlUtil, AXUnsubscriber } from '@acorex/core/utils';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n HostBinding,\n HostListener,\n inject,\n input,\n OnDestroy,\n output,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport { AXMenuItemClickBaseEvent, AXMenuItemComponentBase, AXRootMenu } from './menu.types';\n\nexport type AXMenuItemClickEvent = AXMenuItemClickBaseEvent<AXMenuItemComponent>;\n\n/**\n * Represents a menu item component used within an `ax-menu`.\n * @category Components\n */\n@Component({\n selector: 'ax-menu-item',\n templateUrl: './menu-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXMenuItemComponentBase,\n useExisting: AXMenuItemComponent,\n },\n AXUnsubscriber,\n ],\n standalone: false,\n})\nexport class AXMenuItemComponent extends NXComponent implements OnDestroy {\n protected isOpen = signal(false);\n protected hasSubItems = signal(false);\n protected isFirstLevel = signal(false);\n private mutationObserver!: MutationObserver;\n\n protected root = inject(AXRootMenu);\n protected parent?: AXMenuItemComponent | null;\n protected isRoot = () => this.parent == null;\n\n private service = inject(AXMenuService);\n private scrollableParents: HTMLElement[] = [];\n\n private unsuscriber = inject(AXUnsubscriber);\n private renderer = inject(Renderer2);\n\n protected arrowIcon = computed(() => {\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n return this.root.orientation() == 'horizontal' && this.isFirstLevel()\n ? 'ax-icon-chevron-down'\n : isRtl\n ? 'ax-icon-chevron-left'\n : 'ax-icon-chevron-right';\n });\n\n onClick = output<AXMenuItemClickEvent>();\n\n name = input<string>();\n data = input<any>();\n disabled = input<boolean>();\n color = input<AXStyleColorType>();\n\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.detectSubItems();\n this.observeMutations();\n this.bindScrollEvents();\n });\n //\n this.service.closeAll$.pipe(this.unsuscriber.takeUntilDestroy).subscribe(() => this.close());\n\n this.service.open$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) === item) {\n this.isOpen.set(true);\n this.calculatePosition();\n }\n });\n //\n this.service.close$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n if ((this as any) == item) {\n this.isOpen.set(false);\n }\n });\n //\n this.service.closeExcept$.pipe(this.unsuscriber.takeUntilDestroy).subscribe((item) => {\n this.closeExcept(item as AXMenuItemComponent);\n });\n }\n\n private closeExcept(item: AXMenuItemComponent) {\n const list: AXMenuItemComponent[] = [item];\n //\n let parent = item.parent;\n while (parent != null) {\n list.push(parent);\n parent = parent.parent;\n }\n //\n if (!list.includes(this)) {\n this.close();\n }\n }\n\n private observeMutations() {\n this.mutationObserver = new MutationObserver(() => {\n this.detectSubItems();\n });\n\n // Start observing changes in child elements\n this.mutationObserver.observe(this.nativeElement, {\n childList: true,\n subtree: true,\n });\n }\n\n private getText(): string {\n return this.nativeElement.querySelector<HTMLDivElement>('ax-text')?.innerText;\n }\n\n /**\n * Manually detect all `ax-menu-item` elements and check if this menu item has sub-items.\n */\n private detectSubItems() {\n //\n const parentEl = this.nativeElement.parentElement?.parentElement;\n this.parent =\n parentEl?.tagName == 'AX-MENU-ITEM' ? (parentEl?.['__axContext__'] as AXMenuItemComponent) : null;\n //\n const tag = this.nativeElement.parentElement?.tagName;\n this.isFirstLevel.set(tag == 'AX-MENU' || tag == 'AX-CONTEXT-MENU');\n const subItems = this.nativeElement.querySelectorAll('ax-menu-item');\n if (subItems.length > 0) {\n this.hasSubItems.set(true);\n } else {\n this.hasSubItems.set(false);\n }\n }\n\n open() {\n this.service.closeExcept$.next(this);\n if (!this.disabled() && this.hasSubItems()) {\n this.service.open$.next(this);\n }\n }\n\n close() {\n this.service.close$.next(this);\n }\n\n /**\n * Calculate the position of the submenu to avoid it going out of the viewport.\n */\n private calculatePosition() {\n const submenu = this.nativeElement.querySelector('.ax-menu-items');\n if (!submenu) return;\n\n const submenuRect = submenu.getBoundingClientRect();\n const itemRect = this.nativeElement.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const isRtl = AXHtmlUtil.isRtl(this.nativeElement);\n\n let top: number | null = null;\n let left: number | null = null;\n\n // For first-level menu items\n if (this.isFirstLevel() && this.root.orientation() === 'horizontal') {\n top =\n itemRect.bottom + submenuRect.height > windowHeight\n ? itemRect.top - submenuRect.height // Open upwards\n : itemRect.bottom; // Open downwards\n\n if (isRtl) {\n // RTL: Align to the right of the parent item\n left =\n itemRect.right - submenuRect.width < 0\n ? itemRect.left // Align to the left if not enough space on the right\n : itemRect.right - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Align to the left of the parent item\n left =\n itemRect.left + submenuRect.width > windowWidth\n ? itemRect.right - submenuRect.width // Align to the right edge in LTR\n : itemRect.left; // Open to the left\n }\n } else {\n // For nested submenus\n if (isRtl) {\n // RTL: Nested submenu opens to the left\n left =\n itemRect.left - submenuRect.width < 0\n ? itemRect.right // Align to the right if not enough space on the left\n : itemRect.left - submenuRect.width; // Open to the left in RTL\n } else {\n // LTR: Nested submenu opens to the right\n left =\n itemRect.right + submenuRect.width > windowWidth\n ? itemRect.left - submenuRect.width // Open to the left if not enough space\n : itemRect.right; // Open to the right in LTR\n }\n\n // Adjust top position (align vertically with parent)\n top =\n itemRect.top + submenuRect.height > windowHeight\n ? itemRect.top - (itemRect.bottom + submenuRect.height - windowHeight) // Adjust upwards\n : itemRect.top; // Align with the parent item\n }\n\n // Apply calculated styles for RTL/LTR\n this.renderer.setStyle(submenu, 'left', `${left}px`);\n this.renderer.setStyle(submenu, 'top', `${top}px`);\n this.renderer.setStyle(submenu, 'position', 'fixed'); // Fixed position relative to the viewport\n }\n\n @HostListener('click', ['$event'])\n private handleClick(e: MouseEvent) {\n e.stopPropagation();\n if (this.disabled()) return;\n //\n const event = {\n sender: this,\n nativeEvent: e,\n canceled: false,\n item: {\n name: this.name(),\n text: this.getText(),\n data: this.data(),\n },\n } as AXMenuItemClickEvent;\n //\n this.onClick.emit(event);\n this.root.onItemClick.emit({ ...event, ...{ sender: this.root as any } });\n //\n if (this.hasSubItems() && !event.canceled) {\n this.open();\n } else if (!event.canceled) {\n this.service.closeAll$.next();\n this.service.closeAllContextMenu$.next({ sender: this.root });\n }\n }\n\n @HostListener('mouseenter', ['$event'])\n private handleMouseEnter(event: MouseEvent) {\n event.stopPropagation();\n // Cancel the close delay if the mouse re-enters the element\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n this.mouseLeaveTimeout = null; // Reset the timeout\n }\n if (!this.isFirstLevel() || this.root.openOn() == 'hover') {\n this.open();\n }\n }\n\n private mouseLeaveTimeout: any;\n\n @HostListener('mouseleave', ['$event'])\n private handleMouseLeave(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.hasSubItems() && this.root.closeOn() === 'leave') {\n // Clear any previous timeout to avoid multiple triggers\n if (this.mouseLeaveTimeout) {\n clearTimeout(this.mouseLeaveTimeout);\n }\n\n // Set a delay before closing the submenu\n this.mouseLeaveTimeout = setTimeout(() => {\n this.close();\n }, 500); // Adjust the delay (500ms in this case) as per your requirement\n }\n }\n\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n this.service.closeAll$.next(); // Close all menus on scroll or resize\n }\n\n /**\n * Close all menus if clicking outside the root menu and all sub-items.\n */\n @HostListener('document:click', ['$event'])\n private onClickOutside(event: MouseEvent) {\n const hostElement = this.root.nativeElement;\n if (!hostElement.contains(event.target as Node)) {\n this.service.closeAll$.next(); // Close all menus if click is outside the root and sub-items\n }\n }\n\n ngOnDestroy() {\n this.removeScrollEvents();\n }\n\n private bindScrollEvents() {\n this.scrollableParents = AXHtmlUtil.getScrollableParents(this.nativeElement);\n\n this.scrollableParents.forEach((parent) => {\n parent.addEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n // Remove scroll event listeners\n private removeScrollEvents() {\n this.scrollableParents.forEach((parent) => {\n parent.removeEventListener('scroll', this.onContainerScroll.bind(this));\n });\n }\n\n /**\n * Handler for scroll events (window or scrollable parent containers)\n */\n private onContainerScroll() {\n this.service.closeAll$.next(); // Close all menus on scroll\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n const list: string[] = ['ax-action-item'];\n if (this.disabled()) {\n list.push('ax-state-disabled');\n }\n list.push(`ax-${this.color() ?? 'ghost'}`);\n\n return list;\n }\n}\n","<div class=\"ax-action-item-prefix\">\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n</div>\n<div class=\"ax-action-item-suffix\">\n <ng-content select=\"ax-suffix\"></ng-content>\n @if (hasSubItems() && (!isRoot() || root?.hasArrow())) {\n <i class=\"ax-icon ax-icon-solid {{ arrowIcon() }} \"></i>\n }\n</div>\n<div class=\"ax-menu-items ax-action-list ax-action-list-vertical\" [class.ax-state-open]=\"isOpen()\">\n <ng-content select=\"ax-menu-item,ax-title,ax-divider,ng-container\"></ng-content>\n</div>\n","import { AXOrientation, NXComponent, NXEvent } from '@acorex/components/common';\nimport { isBrowser } from '@acorex/core/platform';\nimport { AXHtmlUtil, AXPoint } from '@acorex/core/utils';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXMenuService } from './menu.service';\nimport {\n AXMenuCloseTrigger,\n AXMenuItem,\n AXMenuItemClickBaseEvent,\n AXMenuOpenTrigger,\n AXRootMenu,\n} from './menu.types';\n\nexport class AXContextMenuOpeningEvent extends NXEvent<AXContextMenuComponent> {\n items: AXMenuItem[];\n canceled = false;\n targetElement: HTMLElement;\n}\nexport type AXContextMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXContextMenuComponent>;\n\n/**\n * Represents a menu component that displays context menu.\n * @category Components\n */\n@Component({\n selector: 'ax-context-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXContextMenuComponent,\n },\n ],\n standalone: false,\n})\nexport class AXContextMenuComponent extends NXComponent {\n // Inputs and Outputs\n\n orientation = input<AXOrientation>('vertical');\n openOn = input<AXMenuOpenTrigger>('hover');\n closeOn = input<AXMenuCloseTrigger>('click');\n orginalItems = input<AXMenuItem[]>([], { alias: 'items' });\n target = input<HTMLElement | HTMLElement[] | string>();\n\n onItemClick = output<AXContextMenuItemsClickEvent>();\n onOpening = output<AXContextMenuOpeningEvent>();\n\n hasArrow = signal<boolean>(true);\n\n // Injected Services\n\n private service = inject(AXMenuService);\n private renderer = inject(Renderer2);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n\n // Constructor (Dependency Injection)\n\n /** @ignore */\n constructor() {\n super();\n //\n afterNextRender(() => {\n this.bindContextEvent();\n });\n\n this.service.closeAllContextMenu$.subscribe(() => {\n this.service.closeAll$.next();\n this.close();\n });\n\n this.service.openContextMenu$.subscribe((e) => {\n if ((e.sender as any) == this) {\n this.internalShowAt(e.point);\n }\n });\n }\n\n // Lifecycle Hooks\n\n ngOnDestroy() {\n if (isBrowser()) {\n this.removeContextEvent();\n }\n }\n\n public refresh() {\n this.bindContextEvent();\n }\n\n // Public Methods\n\n public showAt(point: AXPoint) {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender });\n this.service.openContextMenu$.next({ sender, point });\n }\n\n public close() {\n this.nativeElement.classList.remove('ax-state-open');\n this.removeBackdrop();\n }\n\n // Private Properties\n\n private backdropElement!: HTMLElement;\n\n protected items = signal<AXMenuItem[]>([]);\n\n // Private Methods (Internal Logic)\n\n /** @ignore */\n private getTargetElements(): HTMLElement[] {\n if (isPlatformBrowser(this.platformID)) {\n const elements: HTMLElement[] =\n typeof this.target() == 'string'\n ? Array.from(this.document.querySelectorAll<HTMLElement>(this.target() as string))\n : Array.isArray(this.target())\n ? (this.target() as HTMLElement[])\n : [this.target() as HTMLElement];\n\n return elements;\n }\n return null;\n }\n\n /** @ignore */\n private bindContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.addEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private removeContextEvent() {\n this.getTargetElements().forEach((e) => {\n e?.removeEventListener('contextmenu', this.handleContextMenu.bind(this));\n });\n }\n\n /** @ignore */\n private handleContextMenu(e: MouseEvent) {\n e.preventDefault();\n e.stopPropagation();\n //\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n const targetElement = elementsUnderMouse.find((target) => targetElements.includes(target));\n //\n const event = {\n sender: this,\n canceled: false,\n targetElement: targetElement,\n items: cloneDeep(this.orginalItems()),\n } as AXContextMenuOpeningEvent;\n this.onOpening.emit(event);\n this.items.set(event.items);\n //\n if (!event.canceled) {\n this.showAt({ x: e.clientX, y: e.clientY });\n }\n }\n }\n\n /** @ignore */\n private internalShowAt(point: AXPoint) {\n const elementRef = this.nativeElement;\n elementRef.classList.add('ax-state-open');\n const itemRect = elementRef.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n // Detect RTL (Right-To-Left) mode\n const isRtl = AXHtmlUtil.isRtl(elementRef);\n\n let left: number;\n if (isRtl) {\n left = point.x - itemRect.width;\n if (left < 0) {\n left = point.x;\n }\n } else {\n left = point.x;\n if (left + itemRect.width > windowWidth) {\n left = point.x - itemRect.width;\n }\n }\n\n const bottom = point.y + itemRect.height;\n let top: number;\n\n if (bottom > windowHeight) {\n top = point.y - itemRect.height;\n if (top < 0) {\n top = 0;\n }\n } else {\n top = point.y;\n }\n\n this.renderer.setStyle(elementRef, 'left', `${left}px`);\n this.renderer.setStyle(elementRef, 'top', `${top}px`);\n this.renderer.setStyle(elementRef, 'position', 'fixed');\n\n this.createBackdrop();\n }\n\n /** @ignore */\n private createBackdrop() {\n this.backdropElement = this.renderer.createElement('div');\n this.renderer.setStyle(this.backdropElement, 'position', 'fixed');\n this.renderer.setStyle(this.backdropElement, 'top', '0');\n this.renderer.setStyle(this.backdropElement, 'left', '0');\n this.renderer.setStyle(this.backdropElement, 'width', '100%');\n this.renderer.setStyle(this.backdropElement, 'height', '100%');\n this.renderer.setStyle(this.backdropElement, 'z-index', '999'); // Ensure it's below the context menu\n this.renderer.setStyle(this.backdropElement, 'background', 'transparent');\n\n const l1 = this.renderer.listen(this.backdropElement, 'click', () => {\n this.close();\n l1();\n });\n\n const l2 = this.renderer.listen(this.backdropElement, 'wheel', () => {\n this.close();\n l2();\n });\n\n const l3 = this.renderer.listen(this.backdropElement, 'contextmenu', (e: MouseEvent) => {\n this.close();\n // Get all elements under the mouse pointer\n if (isPlatformBrowser(this.platformID)) {\n const elementsUnderMouse = this.document.elementsFromPoint(e.x, e.y) as HTMLElement[];\n const targetElements = this.getTargetElements();\n if (targetElements.some((target) => elementsUnderMouse.includes(target))) {\n e.preventDefault();\n setTimeout(() => {\n //this.internalShowAt({ x: e.x, y: e.y });\n this.handleContextMenu(e);\n });\n }\n }\n l3();\n });\n\n this.document.body.appendChild(this.backdropElement);\n }\n\n /** @ignore */\n private removeBackdrop() {\n if (this.backdropElement) {\n if (this.backdropElement.parentNode) {\n this.backdropElement.parentNode.removeChild(this.backdropElement);\n }\n this.backdropElement = null;\n }\n }\n\n // Host Listeners (UI Interaction Handling)\n\n /** @ignore */\n @HostListener('window:scroll', ['$event'])\n @HostListener('window:resize', ['$event'])\n private onWindowEvent() {\n const sender = this as any as AXRootMenu;\n this.service.closeAllContextMenu$.next({ sender: sender }); // Close all menus on scroll or resize\n }\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): any {\n return [\n 'ax-menu-container',\n `ax-orientation-${this.orientation()}`,\n 'ax-action-list',\n 'ax-action-list-vertical',\n ];\n }\n}\n","<ng-content select=\"ax-menu-item,ax-divider,ax-title,ng-container\"></ng-content>\n\n<ng-container\n *ngFor=\"let node of items()\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\"\n>\n</ng-container>\n\n<ng-template #Recursion let-item>\n @if (item.group?.title) {\n <ax-title>{{ item.group?.title }}</ax-title>\n }\n <ax-menu-item [name]=\"item.name\" [data]=\"item.data\" [disabled]=\"item.disabled\" [color]=\"item.color\">\n <ax-prefix>\n @if (item.icon) {\n <ax-icon [icon]=\"item.icon\"> </ax-icon>\n }\n </ax-prefix>\n @if (item.text) {\n <ax-text>{{ item.text }}</ax-text>\n }\n @if (item.suffix) {\n <ax-suffix>\n <ax-text>{{ item.suffix.text }}</ax-text>\n </ax-suffix>\n }\n <ng-container\n *ngFor=\"let child of item.items\"\n [ngTemplateOutlet]=\"Recursion\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\"\n ></ng-container>\n </ax-menu-item>\n @if (item.break) {\n <ax-divider></ax-divider>\n }\n</ng-template>\n","import { AXOrientation, NXComponent } from '@acorex/components/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n input,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXMenuService } from './menu.service';\nimport {\n AXMenuCloseTrigger,\n AXMenuItem,\n AXMenuItemClickBaseEvent,\n AXMenuOpenTrigger,\n AXRootMenu,\n} from './menu.types';\n\nexport type AXMenuItemsClickEvent = AXMenuItemClickBaseEvent<AXMenuComponent>;\n\n/**\n * Represents a menu component that displays menu items.\n * @category Components\n */\n@Component({\n selector: 'ax-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n AXMenuService,\n {\n provide: AXRootMenu,\n useExisting: AXMenuComponent,\n },\n ],\n standalone: false,\n})\nexport class AXMenuComponent extends NXComponent {\n orientation = input<AXOrientation>('horizontal');\n\n openOn = input<AXMenuOpenTrigger>('hover');\n\n closeOn = input<AXMenuCloseTrigger>('leave');\n\n service = inject(AXMenuService);\n\n onItemClick = output<AXMenuItemsClickEvent>();\n\n items = input<AXMenuItem[]>([]);\n\n hasArrow = input<boolean>(true);\n\n /** @ignore */\n @HostBinding('class')\n get __hostClass(): string[] {\n return [\n 'ax-root-menu',\n 'ax-action-list',\n `ax-action-list-${this.orientation()}`,\n `${!this.hasArrow() ? 'ax-hide-arrow' : ''}`,\n ];\n }\n\n public close() {\n this.service.closeAll$.next();\n }\n}\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AXContextMenuComponent } from './context-menu.component';\nimport { AXMenuItemComponent } from './menu-item.component';\nimport { AXMenuComponent } from './menu.component';\n\nconst COMPONENT = [AXMenuItemComponent, AXMenuComponent, AXContextMenuComponent];\nconst MODULES = [AXDecoratorModule, AXLoadingModule, AXTranslationModule, OverlayModule, AXPopoverModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [CommonModule, ...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.AXMenuItemComponent"],"mappings":"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"}
@@ -300,7 +300,7 @@ class AXNumberBoxComponent extends classes((MXInputBaseValueComponent), MXLookCo
300
300
  useExisting: forwardRef(() => AXNumberBoxComponent),
301
301
  multi: true,
302
302
  },
303
- ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: [".ax-editor-container{--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-height: calc(var(--ax-sys-size-base) * var(--ax-comp-editor-size-ratio));--ax-comp-editor-font-family: inherit;--ax-comp-editor-font-weight: normal;--ax-comp-editor-focus-color: var(--ax-sys-color-primary-500);--ax-comp-editor-padding-y: 0;--ax-comp-editor-button-text-color: var(--ax-sys-color-input-surface-text)}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-size-ratio: .75;--ax-comp-editor-font-size: .675rem;--ax-comp-editor-padding-x: .188rem;--ax-comp-editor-decorator-padding-x: .125rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-size-ratio: .875;--ax-comp-editor-font-size: .75rem;--ax-comp-editor-padding-x: .375rem;--ax-comp-editor-decorator-padding-x: .25rem}.ax-md .ax-editor-container,.ax-editor-container{--ax-comp-editor-size-ratio: 1;--ax-comp-editor-font-size: .875rem;--ax-comp-editor-padding-x: .75rem;--ax-comp-editor-decorator-padding-x: .5rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-size-ratio: 1.125;--ax-comp-editor-font-size: 1rem;--ax-comp-editor-padding-x: .875rem;--ax-comp-editor-decorator-padding-x: .75rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-size-ratio: 1.5;--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-padding-x: 1rem;--ax-comp-editor-decorator-padding-x: .875rem}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-input-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-button-bg-hover-color: var(--ax-sys-color-surface-high);--ax-comp-editor-border-width: 1px;--ax-comp-editor-box-shadow: inset 0px -1px rgba(var(--ax-comp-editor-border-color))}.ax-editor-container.ax-solid:focus,.ax-editor-container.ax-solid:focus-within,.ax-editor-container.ax-solid:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-fill{--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: transparent;--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 0px}.ax-editor-container.ax-fill:focus,.ax-editor-container.ax-fill:focus-within,.ax-editor-container.ax-fill:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 2px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: transparent;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline:focus,.ax-editor-container.ax-outline:focus-within,.ax-editor-container.ax-outline:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-flat{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: 0px;--ax-comp-editor-border-width: 0 0 1px 0}.ax-editor-container.ax-flat:focus,.ax-editor-container.ax-flat:focus-within,.ax-editor-container.ax-flat:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 1px 0 0px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container{background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));border-width:var(--ax-comp-editor-border-width, 0);border-color:rgba(var(--ax-comp-editor-border-color));border-radius:var(--ax-comp-editor-border-radius);border-style:solid;display:inline-flex;align-items:center;height:var(--ax-comp-editor-height);width:100%;overflow:hidden;position:relative}.ax-editor-container:focus,.ax-editor-container:focus-within,.ax-editor-container:focus-visible{box-shadow:var(--ax-comp-editor-box-shadow)}.ax-editor-container ax-prefix{max-width:fit-content;font-size:var(--ax-comp-editor-font-size);padding-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-clear-button{margin-inline-end:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-suffix{margin-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container .ax-input{width:100%;height:100%;font-size:var(--ax-comp-editor-font-size);padding:0;outline-width:0px;padding:0 var(--ax-comp-editor-padding-x);background-color:transparent}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container .ax-input::placeholder{color:rgba(var(--ax-comp-editor-placeholder-color));font-size:calc(var(--ax-comp-editor-font-size))}.ax-editor-container .ax-editor-button{height:var(--ax-comp-editor-button-height, 100%);padding:var(--ax-comp-editor-decorator-button-y, 0) var(--ax-comp-editor-decorator-button-x, .75rem);font-size:var(--ax-comp-editor-button-font-size, 100%);color:rgba(var(--ax-comp-editor-button-text-color),var(--ax-comp-editor-button-text-color-opacity, .6));display:flex;align-items:center;justify-content:center}.ax-number-box-control{display:flex;flex-direction:column;height:100%;--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem}.ax-number-box-control button:first-child{align-items:flex-end}.ax-number-box-control button:last-child{align-items:flex-start}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
303
+ ], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "_maskDirective", first: true, predicate: IMaskDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: [".ax-number-box-control{display:flex;flex-direction:column;height:100%;--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem}.ax-number-box-control button:first-child{align-items:flex-end}.ax-number-box-control button:last-child{align-items:flex-start}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.IMaskDirective, selector: "[imask]", inputs: ["imask", "unmask", "imaskElement"], outputs: ["accept", "complete"], exportAs: ["imask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
304
304
  }
305
305
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXNumberBoxComponent, decorators: [{
306
306
  type: Component,
@@ -325,7 +325,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
325
325
  useExisting: forwardRef(() => AXNumberBoxComponent),
326
326
  multi: true,
327
327
  },
328
- ], standalone: false, template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: [".ax-editor-container{--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-height: calc(var(--ax-sys-size-base) * var(--ax-comp-editor-size-ratio));--ax-comp-editor-font-family: inherit;--ax-comp-editor-font-weight: normal;--ax-comp-editor-focus-color: var(--ax-sys-color-primary-500);--ax-comp-editor-padding-y: 0;--ax-comp-editor-button-text-color: var(--ax-sys-color-input-surface-text)}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-size-ratio: .75;--ax-comp-editor-font-size: .675rem;--ax-comp-editor-padding-x: .188rem;--ax-comp-editor-decorator-padding-x: .125rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-size-ratio: .875;--ax-comp-editor-font-size: .75rem;--ax-comp-editor-padding-x: .375rem;--ax-comp-editor-decorator-padding-x: .25rem}.ax-md .ax-editor-container,.ax-editor-container{--ax-comp-editor-size-ratio: 1;--ax-comp-editor-font-size: .875rem;--ax-comp-editor-padding-x: .75rem;--ax-comp-editor-decorator-padding-x: .5rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-size-ratio: 1.125;--ax-comp-editor-font-size: 1rem;--ax-comp-editor-padding-x: .875rem;--ax-comp-editor-decorator-padding-x: .75rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-size-ratio: 1.5;--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-padding-x: 1rem;--ax-comp-editor-decorator-padding-x: .875rem}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-input-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-button-bg-hover-color: var(--ax-sys-color-surface-high);--ax-comp-editor-border-width: 1px;--ax-comp-editor-box-shadow: inset 0px -1px rgba(var(--ax-comp-editor-border-color))}.ax-editor-container.ax-solid:focus,.ax-editor-container.ax-solid:focus-within,.ax-editor-container.ax-solid:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-fill{--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: transparent;--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 0px}.ax-editor-container.ax-fill:focus,.ax-editor-container.ax-fill:focus-within,.ax-editor-container.ax-fill:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 2px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: transparent;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline:focus,.ax-editor-container.ax-outline:focus-within,.ax-editor-container.ax-outline:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-flat{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: 0px;--ax-comp-editor-border-width: 0 0 1px 0}.ax-editor-container.ax-flat:focus,.ax-editor-container.ax-flat:focus-within,.ax-editor-container.ax-flat:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 1px 0 0px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container{background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));border-width:var(--ax-comp-editor-border-width, 0);border-color:rgba(var(--ax-comp-editor-border-color));border-radius:var(--ax-comp-editor-border-radius);border-style:solid;display:inline-flex;align-items:center;height:var(--ax-comp-editor-height);width:100%;overflow:hidden;position:relative}.ax-editor-container:focus,.ax-editor-container:focus-within,.ax-editor-container:focus-visible{box-shadow:var(--ax-comp-editor-box-shadow)}.ax-editor-container ax-prefix{max-width:fit-content;font-size:var(--ax-comp-editor-font-size);padding-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-clear-button{margin-inline-end:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-suffix{margin-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container .ax-input{width:100%;height:100%;font-size:var(--ax-comp-editor-font-size);padding:0;outline-width:0px;padding:0 var(--ax-comp-editor-padding-x);background-color:transparent}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container .ax-input::placeholder{color:rgba(var(--ax-comp-editor-placeholder-color));font-size:calc(var(--ax-comp-editor-font-size))}.ax-editor-container .ax-editor-button{height:var(--ax-comp-editor-button-height, 100%);padding:var(--ax-comp-editor-decorator-button-y, 0) var(--ax-comp-editor-decorator-button-x, .75rem);font-size:var(--ax-comp-editor-button-font-size, 100%);color:rgba(var(--ax-comp-editor-button-text-color),var(--ax-comp-editor-button-text-color-opacity, .6));display:flex;align-items:center;justify-content:center}.ax-number-box-control{display:flex;flex-direction:column;height:100%;--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem}.ax-number-box-control button:first-child{align-items:flex-end}.ax-number-box-control button:last-child{align-items:flex-start}\n"] }]
328
+ ], standalone: false, template: "<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n", styles: [".ax-number-box-control{display:flex;flex-direction:column;height:100%;--ax-comp-editor-button-height: 50%;--ax-comp-editor-button-font-size: .75rem}.ax-number-box-control button:first-child{align-items:flex-end}.ax-number-box-control button:last-child{align-items:flex-start}\n"] }]
329
329
  }], ctorParameters: () => [], propDecorators: { input: [{
330
330
  type: ViewChild,
331
331
  args: ['input']
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class AXNumberBoxComponent\n extends classes(MXInputBaseValueComponent<number>, MXLookComponent)\n implements AfterViewInit\n{\n /** @ignore */\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _thousandsSeparator: string;\n /**\n * boolean value that specifies the number box change step by scrolling.\n */\n @Input()\n changeOnScroll = false;\n\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n /**\n * Gets the thousands separator used in the formatting.\n * @param {string} value\n */\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n\n /**\n * Sets the thousands separator for formatting.\n * @param {string} v\n */\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n /** @ignore */\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n /**\n * Gets whether decimal zeros are padded.\n * @param {boolean} value\n */\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n\n /**\n * Sets whether decimal zeros should be padded.\n * @param {boolean} v\n */\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n\n /**\n * Defines the increment step value.\n */\n step = 1;\n\n /** @ignore */\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n\n /**\n * Gets the number of decimal places to be used.\n */\n public get decimals(): number {\n return this._decimals;\n }\n\n /**\n * Sets the decimal places; defaults to 0 if not provided.\n */\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n\n /**\n * Defines the step size for decimal values.\n * @defaultvalue 'auto'\n */\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n\n /**\n * Indicates whether spin buttons are displayed.\n * @defaultvalue true\n */\n showSpinButtons = true;\n\n /** @ignore */\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n\n /**\n * Gets the number of decimal places used.\n * @param {number} value\n */\n public get minValue(): number {\n return this._minValue;\n }\n\n /**\n * Sets the number of decimal places to be used.\n * @param {number} v\n * @defaultvalue 0\n */\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n /** @ignore */\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n\n /**\n * Returns the maximum allowable value.\n */\n public get maxValue(): number {\n return this._maxValue;\n }\n\n /**\n * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.\n * @param v\n */\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n /**\n * CSS classes to apply to the component.\n * @param classNames\n */\n @Input('class')\n\n /**\n * CSS classes to apply to the component.\n */\n classNames: string;\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n /** @ignore */\n @ViewChild(IMaskDirective)\n\n /** @ignore */\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n /** @ignore */\n private _onWheelFlag = false;\n constructor() {\n super();\n this.onFocus.subscribe(() => {\n this._onWheelFlag = true;\n this.input.nativeElement.select();\n });\n this.onBlur.subscribe(() => {\n this._onWheelFlag = false;\n });\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n /**\n * Handles internal option changes and updates the mask accordingly.\n */\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n /**\n * Resets the input element to its default state and calls the parent class reset method.\n */\n override reset(): void {\n this.input.nativeElement.value = null;\n super.reset(true);\n }\n\n /**\n * Ensures the value is within the min-max range, returning the default if null.\n * @param value\n */\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n /** @ignore */\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n /** @ignore */\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n /** @ignore */\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n /** @ignore */\n protected _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n /**\n * Increases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n /**\n * Decreases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n /**\n * Increases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n /**\n * Decreases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n if (this.changeOnScroll && this._onWheelFlag) {\n event.preventDefault();\n if (!this.disabled && !this.readonly) {\n if (event.deltaY > 0) {\n this.commitValue(this.value - this.step);\n } else {\n this.commitValue(this.value + this.step);\n }\n }\n }\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA0BA;;;;AAIG;AAiCG,MAAO,oBACX,SAAQ,OAAO,EAAC,yBAAiC,GAAE,eAAe,CAAC,CAAA;AAcnE;;AAEG;AACH,IAAA,IAMW,kBAAkB,GAAA;QAC3B,OAAO,IAAI,CAAC,mBAAmB;;AAGjC;;;AAGG;IACH,IAAW,kBAAkB,CAAC,CAAS,EAAA;QACrC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,CAAC,IAAI,EAAE;AACf,SAAA,CAAC;;AAKJ;;AAEG;AACH,IAAA,IAMW,eAAe,GAAA;QACxB,OAAO,IAAI,CAAC,gBAAgB;;AAG9B;;;AAGG;IACH,IAAW,eAAe,CAAC,CAAU,EAAA;QACnC,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,KAAK,EAAE,CAAC;AACT,SAAA,CAAC;;AAeJ;;AAEG;AACH,IAAA,IAKW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;;AAGvB;;AAEG;IACH,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,CAAC,IAAI,CAAC;AACd,SAAA,CAAC;;AA2BJ;;AAEG;AACH,IAAA,IAMW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;;AAGvB;;;;AAIG;IACH,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB;AACvD,SAAA,CAAC;;AAMJ;;AAEG;AACH,IAAA,IAKW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;;AAGvB;;;AAGG;IACH,IAAW,QAAQ,CAAC,CAAS,EAAA;QAC3B,IAAI,CAAC,SAAS,CAAC;AACb,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB;AACvD,SAAA,CAAC;;AA2BJ,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AA9LT;;AAEG;QAEH,IAAc,CAAA,cAAA,GAAG,KAAK;;QA2Bd,IAAgB,CAAA,gBAAA,GAAG,KAAK;AAyBhC;;AAEG;QAMH,IAAI,CAAA,IAAA,GAAG,CAAC;;QAGA,IAAS,CAAA,SAAA,GAAG,CAAC;AAuBrB;;AAEG;QAOH,IAAW,CAAA,WAAA,GAAoB,MAAM;AAErC;;AAEG;QAOH,IAAe,CAAA,eAAA,GAAG,IAAI;;AAGd,QAAA,IAAA,CAAA,SAAS,GAAW,MAAM,CAAC,gBAAgB;;AA2B3C,QAAA,IAAA,CAAA,SAAS,GAAW,MAAM,CAAC,gBAAgB;;QAgD3C,IAAY,CAAA,YAAA,GAAG,KAAK;AAG1B,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACnC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;AACzB,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK;AAC3B,SAAC,CAAC;;;IAIJ,eAAe,GAAA;QACb,IAAI,CAAC,WAAW,EAAE;;AAGpB;;AAEG;IACM,qBAAqB,GAAA;QAC5B,IAAI,CAAC,WAAW,EAAE;;AAGpB;;AAEG;IACM,KAAK,GAAA;QACZ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI;AACrC,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;;AAGnB;;;AAGG;AACM,IAAA,gBAAgB,CAAC,KAAU,EAAA;;AAElC,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC,YAAY;;AAE1B,QAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ;AAC3C,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ;AAC3C,QAAA,OAAO,CAAC;;;IAIF,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AACzB,gBAAA,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ;AAClB,gBAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,gBAAA,KAAK,EAAE,GAAG;gBACV,kBAAkB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe;AAC9D,aAAA,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAS,EAAE,CAAC,KAAI;AACtC,gBAAA,OAAO,CAAC,KAAK,CAAC,CAAC;AACb,sBAAE,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE;AACxB,wBAAA,WAAW,EAAE,KAAK;AAClB,wBAAA,qBAAqB,EAAE,EAAE;qBAC1B;sBACD,EAAE;AACR,aAAC;;aACI;AACL,YAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC1B,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,QAAQ;AAClB,gBAAA,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,EAAE;gBACjD,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,gBAAA,KAAK,EAAE,GAAG;gBACV,kBAAkB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe;AAC9D,aAAA,CAAC;;AAEJ,QAAA,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;AAC3C,QAAA,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE;;;AAI/C,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE;YAC3D,KAAK,GAAG,IAAI;;AAGd,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC;;;AAI/B,IAAA,qBAAqB,CAAC,CAAgB,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE;QACpC,MAAM,MAAM,GAAG,MAAK;YAClB,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,eAAe,EAAE;AACrB,SAAC;AACD,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B;AAC1C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK;QAC1B,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AAC7C,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,cAAe;AAExC,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE;AAChD,YAAA,IAAI,iBAAiB,GAAG,CAAC,IAAI,UAAU,GAAG,iBAAiB,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBAChF,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;iBACxE;gBACL,CAAC,CAAC,GAAG,KAAK,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;;AAEjE,YAAA,MAAM,EAAE;YACR,UAAU,CAAC,MAAK;AACd,gBAAA,KAAK,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC;aAChD,EAAE,CAAC,CAAC;;AAEP,QAAA,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;;;AAInB,IAAA,kBAAkB,CAAC,CAAS,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE;QACpC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;AAGlD;;AAEG;IACH,MAAM,CAAC,CAAC,GAAG,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;AAEjD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAGvD;;AAEG;IACH,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;AAEjD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAGvD;;AAEG;IACH,aAAa,CAAC,CAAC,GAAG,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;AAEjD,QAAA,IAAI,CAAC,WAAW,CACd,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EACtG,CAAC,CACF;;AAGH;;AAEG;IACH,eAAe,CAAC,CAAC,GAAG,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;;AAEjD,QAAA,IAAI,CAAC,WAAW,CACd,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,EACtG,CAAC,CACF;;AAIH,IAAA,OAAO,CAAC,KAAiB,EAAA;QACvB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5C,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACpC,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;;qBACnC;oBACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;;;;;8GAtXrC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAbpB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE;AAC3D,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACpE,YAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,oBAAoB,EAAE;AACnE,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;SACF,EAkMU,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,cAAc,uEC9P3B,08DA+DA,EAAA,MAAA,EAAA,CAAA,umMAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,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,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDAa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAhChC,SAAS;+BACE,eAAe,EAAA,MAAA,EAGjB,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAC1F,OAAA,EAAA;wBACP,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,QAAQ;wBACR,SAAS;wBACT,gBAAgB;wBAChB,gBAAgB;wBAChB,WAAW;wBACX,SAAS;wBACT,YAAY;AACb,qBAAA,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,sBAAsB,EAAE;AAC3D,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,sBAAsB,EAAE;AACpE,wBAAA,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,sBAAsB,EAAE;AACnE,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,0BAA0B,CAAC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,08DAAA,EAAA,MAAA,EAAA,CAAA,umMAAA,CAAA,EAAA;wDAOG,KAAK,EAAA,CAAA;sBAAxB,SAAS;uBAAC,OAAO;gBAQlB,cAAc,EAAA,CAAA;sBADb;gBAYU,kBAAkB,EAAA,CAAA;sBAN5B;gBAgCU,eAAe,EAAA,CAAA;sBANzB;;AA0BD;;AAEG;QACH,IAAI,EAAA,CAAA;sBALH;gBAiBU,QAAQ,EAAA,CAAA;sBALlB;;AAwBD;;;AAGG;QACH,WAAW,EAAA,CAAA;sBANV;;AAaD;;;AAGG;QACH,eAAe,EAAA,CAAA;sBANd;gBAmBU,QAAQ,EAAA,CAAA;sBANlB;gBAiCU,QAAQ,EAAA,CAAA;sBALlB;;AA0BD;;AAEG;QACH,UAAU,EAAA,CAAA;sBALT,KAAK;uBAAC,OAAO;gBAgBN,cAAc,EAAA,CAAA;sBAHrB,SAAS;uBAAC,cAAc;gBAgLzB,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AEranC,MAAM,SAAS,GAAG,CAAC,oBAAoB,CAAC;AACxC,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,CAAC;MAQ9E,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EATX,YAAA,EAAA,CAAA,oBAAoB,CACtB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,aADvE,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAS1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAJf,OAAO,CAAA,EAAA,CAAA,CAAA;;2FAIT,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;AAC5B,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;AACrB,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACvB,oBAAA,SAAS,EAAE,EAAE;AACd,iBAAA;;;AChBD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-number-box.mjs","sources":["../../../../libs/components/number-box/src/lib/number-box.component.ts","../../../../libs/components/number-box/src/lib/number-box.component.html","../../../../libs/components/number-box/src/lib/number-box.module.ts","../../../../libs/components/number-box/src/acorex-components-number-box.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostListener,\n Input,\n ViewChild,\n ViewEncapsulation,\n forwardRef,\n} from '@angular/core';\nimport { IMaskDirective } from 'angular-imask';\nimport { MaskedNumber, createMask } from 'imask';\n\nimport {\n AXClearableComponent,\n AXComponent,\n AXFocusableComponent,\n AXValuableComponent,\n MXInputBaseValueComponent,\n MXLookComponent,\n} from '@acorex/components/common';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isEmpty, toNumber } from 'lodash-es';\nimport { classes } from 'polytype';\n\n/**\n * The NumberBox is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-number-box',\n templateUrl: './number-box.component.html',\n styleUrls: ['./number-box.component.scss'],\n inputs: ['disabled', 'readonly', 'tabIndex', 'placeholder', 'value', 'state', 'name', 'id', 'look'],\n outputs: [\n 'valueChange',\n 'stateChange',\n 'onValueChanged',\n 'onBlur',\n 'onFocus',\n 'readonlyChange',\n 'disabledChange',\n 'onKeyDown',\n 'onKeyUp',\n 'onKeyPress',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: AXComponent, useExisting: AXNumberBoxComponent },\n { provide: AXFocusableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXClearableComponent, useExisting: AXNumberBoxComponent },\n { provide: AXValuableComponent, useExisting: AXNumberBoxComponent },\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AXNumberBoxComponent),\n multi: true,\n },\n ],\n standalone: false,\n})\nexport class AXNumberBoxComponent\n extends classes(MXInputBaseValueComponent<number>, MXLookComponent)\n implements AfterViewInit\n{\n /** @ignore */\n @ViewChild('input') input: ElementRef<HTMLInputElement>;\n\n /** @ignore */\n private _thousandsSeparator: string;\n /**\n * boolean value that specifies the number box change step by scrolling.\n */\n @Input()\n changeOnScroll = false;\n\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n /**\n * Gets the thousands separator used in the formatting.\n * @param {string} value\n */\n public get thousandsSeparator(): string {\n return this._thousandsSeparator;\n }\n\n /**\n * Sets the thousands separator for formatting.\n * @param {string} v\n */\n public set thousandsSeparator(v: string) {\n this.setOption({\n name: 'thousandsSeparator',\n value: v ?? '',\n });\n }\n\n /** @ignore */\n private _padDecimalZeros = false;\n /**\n * A character value that specifies the separator character.\n */\n @Input()\n\n /**\n * Gets whether decimal zeros are padded.\n * @param {boolean} value\n */\n public get padDecimalZeros(): boolean {\n return this._padDecimalZeros;\n }\n\n /**\n * Sets whether decimal zeros should be padded.\n * @param {boolean} v\n */\n public set padDecimalZeros(v: boolean) {\n this.setOption({\n name: 'padDecimalZeros',\n value: v,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Integer** part of number\n */\n @Input()\n\n /**\n * Defines the increment step value.\n */\n step = 1;\n\n /** @ignore */\n private _decimals = 0;\n /**\n * Specifies the number of decimals that the user can enter\n */\n @Input()\n\n /**\n * Gets the number of decimal places to be used.\n */\n public get decimals(): number {\n return this._decimals;\n }\n\n /**\n * Sets the decimal places; defaults to 0 if not provided.\n */\n public set decimals(v: number) {\n this.setOption({\n name: 'decimals',\n value: v ?? 0,\n });\n }\n\n /**\n * Specifies the value that is used to increment or decrement the **Deciaml** part of number\n */\n @Input()\n\n /**\n * Defines the step size for decimal values.\n * @defaultvalue 'auto'\n */\n decimalStep: number | 'auto' = 'auto';\n\n /**\n * Specifies whether the Up and Down spin buttons will be rendered or not\n */\n @Input()\n\n /**\n * Indicates whether spin buttons are displayed.\n * @defaultvalue true\n */\n showSpinButtons = true;\n\n /** @ignore */\n private _minValue: number = Number.MIN_SAFE_INTEGER;\n /**\n * Specifies the smallest value that is valid\n */\n @Input()\n\n /**\n * Gets the number of decimal places used.\n * @param {number} value\n */\n public get minValue(): number {\n return this._minValue;\n }\n\n /**\n * Sets the number of decimal places to be used.\n * @param {number} v\n * @defaultvalue 0\n */\n public set minValue(v: number) {\n this.setOption({\n name: 'minValue',\n value: v != null ? Number(v) : Number.MIN_SAFE_INTEGER,\n });\n }\n\n /** @ignore */\n private _maxValue: number = Number.MAX_SAFE_INTEGER;\n\n /**\n * Specifies the greatest value that is valid\n */\n @Input()\n\n /**\n * Returns the maximum allowable value.\n */\n public get maxValue(): number {\n return this._maxValue;\n }\n\n /**\n * Sets the maximum allowable value, defaulting to `Number.MAX_SAFE_INTEGER` if null.\n * @param v\n */\n public set maxValue(v: number) {\n this.setOption({\n name: 'maxValue',\n value: v != null ? Number(v) : Number.MAX_SAFE_INTEGER,\n });\n }\n\n /**\n * CSS classes to apply to the component.\n * @param classNames\n */\n @Input('class')\n\n /**\n * CSS classes to apply to the component.\n */\n classNames: string;\n\n /**\n * @ignore\n */\n _maskObj: MaskedNumber;\n\n /** @ignore */\n @ViewChild(IMaskDirective)\n\n /** @ignore */\n private _maskDirective: IMaskDirective<MaskedNumber>;\n\n /** @ignore */\n private _onWheelFlag = false;\n constructor() {\n super();\n this.onFocus.subscribe(() => {\n this._onWheelFlag = true;\n this.input.nativeElement.select();\n });\n this.onBlur.subscribe(() => {\n this._onWheelFlag = false;\n });\n }\n\n /** @ignore */\n ngAfterViewInit(): void {\n this._updateMask();\n }\n\n /**\n * Handles internal option changes and updates the mask accordingly.\n */\n override internalOptionChanged(): void {\n this._updateMask();\n }\n\n /**\n * Resets the input element to its default state and calls the parent class reset method.\n */\n override reset(): void {\n this.input.nativeElement.value = null;\n super.reset(true);\n }\n\n /**\n * Ensures the value is within the min-max range, returning the default if null.\n * @param value\n */\n override internalSetValue(value: any): number {\n // || (value == 0 && !this._maskObj.value)\n if (value == null) {\n return this.defaultValue;\n }\n const v = toNumber(value);\n if (v < this.minValue) return this.minValue;\n if (v > this.maxValue) return this.maxValue;\n return v;\n }\n\n /** @ignore */\n private _updateMask() {\n if (!this._maskObj) {\n this._maskObj = createMask({\n mask: Number,\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n\n this._maskObj.format = (v: number, m) => {\n return !isNaN(v)\n ? v.toLocaleString('en-US', {\n useGrouping: false,\n maximumFractionDigits: 20,\n })\n : '';\n };\n } else {\n this._maskObj.updateOptions({\n min: this.minValue,\n max: this.maxValue,\n thousandsSeparator: this.thousandsSeparator || '',\n scale: this.decimals,\n radix: '.',\n padFractionalZeros: this.decimals > 0 && this.padDecimalZeros,\n });\n }\n this._maskDirective?.maskRef?.updateValue();\n this._maskDirective?.maskRef?.updateControl();\n }\n\n /** @ignore */\n _handleModelChange(value: number) {\n if (value == 0 && isEmpty(this.input?.nativeElement?.value)) {\n value = null;\n }\n\n this.commitValue(value, true);\n }\n\n /** @ignore */\n _handleOnKeydownEvent(e: KeyboardEvent) {\n if (this.disabled || this.readonly) return;\n const ignore = () => {\n e.preventDefault();\n e.stopPropagation();\n };\n const input = e.target as HTMLInputElement;\n const valStr = input.value;\n const decimalPointIndex = valStr.indexOf('.');\n const _cursorPos = input.selectionStart!;\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n if (decimalPointIndex > 0 && _cursorPos > decimalPointIndex && this.decimals > 0) {\n e.key === 'ArrowDown' ? this.decimalStepDown(true) : this.decimalStepUp(true);\n } else {\n e.key === 'ArrowDown' ? this.stepDown(true) : this.stepUp(true);\n }\n ignore();\n setTimeout(() => {\n input.setSelectionRange(_cursorPos, _cursorPos);\n }, 5);\n }\n super.emitOnKeydownEvent(e);\n }\n\n /** @ignore */\n protected _handleUpDownClick(v: -1 | 1) {\n if (this.disabled || this.readonly) return;\n v == 1 ? this.stepUp(true) : this.stepDown(true);\n }\n\n /**\n * Increases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value + toNumber(this.step), u);\n }\n\n /**\n * Decreases the value by the step amount, ensuring it's at least the minimum value.\n */\n stepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(this.value - toNumber(this.step), u);\n }\n\n /**\n * Increases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepUp(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value + toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n /**\n * Decreases the value by the decimal step amount, using 'auto' or a custom step value.\n */\n decimalStepDown(u = false) {\n if (!this.value) {\n this.commitValue(Math.max(this.minValue, 0), u);\n }\n this.commitValue(\n this.value - toNumber(this.decimalStep == 'auto' ? 1 / Math.pow(10, this.decimals) : this.decimalStep),\n u,\n );\n }\n\n @HostListener('wheel', ['$event'])\n onWheel(event: WheelEvent) {\n if (this.changeOnScroll && this._onWheelFlag) {\n event.preventDefault();\n if (!this.disabled && !this.readonly) {\n if (event.deltaY > 0) {\n this.commitValue(this.value - this.step);\n } else {\n this.commitValue(this.value + this.step);\n }\n }\n }\n }\n}\n","<div\n class=\"ax-editor-container {{ classNames }} ax-{{ look }}\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n>\n <ng-content select=\"ax-prefix\"> </ng-content>\n <input\n #input\n class=\"ax-input\"\n type=\"text\"\n [id]=\"id\"\n [name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.autocomplete]=\"'off'\"\n [imask]=\"_maskObj\"\n [unmask]=\"'typed'\"\n [attr.min]=\"minValue\"\n [attr.max]=\"maxValue\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [tabindex]=\"tabIndex\"\n [ngModel]=\"value\"\n (ngModelChange)=\"_handleModelChange($event)\"\n (keydown)=\"_handleOnKeydownEvent($event)\"\n (keyup)=\"emitOnKeyupEvent($event)\"\n (keypress)=\"emitOnKeypressEvent($event)\"\n (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\"\n />\n @if (input.value && !disabled && !readonly) {\n <ng-content select=\"ax-clear-button\"></ng-content>\n }\n @if (showSpinButtons) {\n <div class=\"ax-number-box-control\">\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-up ax-arrow-button\"></span>\n </button>\n <button\n type=\"button\"\n class=\"ax-editor-button\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleUpDownClick(-1)\"\n tabindex=\"-1\"\n [disabled]=\"disabled\"\n >\n <span class=\"ax-icon ax-icon-chevron-down ax-arrow-button\"></span>\n </button>\n </div>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n</div>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<div class=\"ax-error-container\"></div>\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IMaskModule } from 'angular-imask';\nimport { AXNumberBoxComponent } from './number-box.component';\n\nconst COMPONENT = [AXNumberBoxComponent];\nconst MODULES = [CommonModule, FormsModule, AXButtonModule, AXDecoratorModule, IMaskModule];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXNumberBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -173,7 +173,7 @@ class AXOtpComponent extends classes((MXValueComponent), MXLookComponent) {
173
173
  useExisting: forwardRef(() => AXOtpComponent),
174
174
  multi: true,
175
175
  },
176
- ], usesInheritance: true, ngImport: i0, template: "<div\n dir=\"ltr\"\n class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\"\n>\n @for (input of inputs(); let i = $index; track i) {\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\"\n [class.ax-state-error]=\"state === 'error'\"\n maxlength=\"1\"\n [ngModel]=\"inputValues[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (focus)=\"_handleFocus(i)\"\n (input)=\"_handleOnInput($event, i)\"\n (keydown)=\"_handleOnKeyDown($event, i)\"\n [attr.disabled]=\"disabled\"\n />\n }\n</div>\n", styles: [".ax-editor-container{--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-height: calc(var(--ax-sys-size-base) * var(--ax-comp-editor-size-ratio));--ax-comp-editor-font-family: inherit;--ax-comp-editor-font-weight: normal;--ax-comp-editor-focus-color: var(--ax-sys-color-primary-500);--ax-comp-editor-padding-y: 0;--ax-comp-editor-button-text-color: var(--ax-sys-color-input-surface-text)}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-size-ratio: .75;--ax-comp-editor-font-size: .675rem;--ax-comp-editor-padding-x: .188rem;--ax-comp-editor-decorator-padding-x: .125rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-size-ratio: .875;--ax-comp-editor-font-size: .75rem;--ax-comp-editor-padding-x: .375rem;--ax-comp-editor-decorator-padding-x: .25rem}.ax-md .ax-editor-container,.ax-editor-container{--ax-comp-editor-size-ratio: 1;--ax-comp-editor-font-size: .875rem;--ax-comp-editor-padding-x: .75rem;--ax-comp-editor-decorator-padding-x: .5rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-size-ratio: 1.125;--ax-comp-editor-font-size: 1rem;--ax-comp-editor-padding-x: .875rem;--ax-comp-editor-decorator-padding-x: .75rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-size-ratio: 1.5;--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-padding-x: 1rem;--ax-comp-editor-decorator-padding-x: .875rem}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-input-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-button-bg-hover-color: var(--ax-sys-color-surface-high);--ax-comp-editor-border-width: 1px;--ax-comp-editor-box-shadow: inset 0px -1px rgba(var(--ax-comp-editor-border-color))}.ax-editor-container.ax-solid:focus,.ax-editor-container.ax-solid:focus-within,.ax-editor-container.ax-solid:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-fill{--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: transparent;--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 0px}.ax-editor-container.ax-fill:focus,.ax-editor-container.ax-fill:focus-within,.ax-editor-container.ax-fill:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 2px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: transparent;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline:focus,.ax-editor-container.ax-outline:focus-within,.ax-editor-container.ax-outline:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-flat{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: 0px;--ax-comp-editor-border-width: 0 0 1px 0}.ax-editor-container.ax-flat:focus,.ax-editor-container.ax-flat:focus-within,.ax-editor-container.ax-flat:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 1px 0 0px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container{background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));border-width:var(--ax-comp-editor-border-width, 0);border-color:rgba(var(--ax-comp-editor-border-color));border-radius:var(--ax-comp-editor-border-radius);border-style:solid;display:inline-flex;align-items:center;height:var(--ax-comp-editor-height);width:100%;overflow:hidden;position:relative}.ax-editor-container:focus,.ax-editor-container:focus-within,.ax-editor-container:focus-visible{box-shadow:var(--ax-comp-editor-box-shadow)}.ax-editor-container ax-prefix{max-width:fit-content;font-size:var(--ax-comp-editor-font-size);padding-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-clear-button{margin-inline-end:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-suffix{margin-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container .ax-input{width:100%;height:100%;font-size:var(--ax-comp-editor-font-size);padding:0;outline-width:0px;padding:0 var(--ax-comp-editor-padding-x);background-color:transparent}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container .ax-input::placeholder{color:rgba(var(--ax-comp-editor-placeholder-color));font-size:calc(var(--ax-comp-editor-font-size))}.ax-editor-container .ax-editor-button{height:var(--ax-comp-editor-button-height, 100%);padding:var(--ax-comp-editor-decorator-button-y, 0) var(--ax-comp-editor-decorator-button-x, .75rem);font-size:var(--ax-comp-editor-button-font-size, 100%);color:rgba(var(--ax-comp-editor-button-text-color),var(--ax-comp-editor-button-text-color-opacity, .6));display:flex;align-items:center;justify-content:center}ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface-high))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-200));border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-200));border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-200));color:rgba(var(--ax-sys-color-danger-fore))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
176
+ ], usesInheritance: true, ngImport: i0, template: "<div\n dir=\"ltr\"\n class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\"\n>\n @for (input of inputs(); let i = $index; track i) {\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\"\n [class.ax-state-error]=\"state === 'error'\"\n maxlength=\"1\"\n [ngModel]=\"inputValues[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (focus)=\"_handleFocus(i)\"\n (input)=\"_handleOnInput($event, i)\"\n (keydown)=\"_handleOnKeyDown($event, i)\"\n [attr.disabled]=\"disabled\"\n />\n }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface-high))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-200));border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-200));border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-200));color:rgba(var(--ax-sys-color-danger-fore))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
177
177
  }
178
178
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXOtpComponent, decorators: [{
179
179
  type: Component,
@@ -183,7 +183,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
183
183
  useExisting: forwardRef(() => AXOtpComponent),
184
184
  multi: true,
185
185
  },
186
- ], standalone: false, template: "<div\n dir=\"ltr\"\n class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\"\n>\n @for (input of inputs(); let i = $index; track i) {\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\"\n [class.ax-state-error]=\"state === 'error'\"\n maxlength=\"1\"\n [ngModel]=\"inputValues[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (focus)=\"_handleFocus(i)\"\n (input)=\"_handleOnInput($event, i)\"\n (keydown)=\"_handleOnKeyDown($event, i)\"\n [attr.disabled]=\"disabled\"\n />\n }\n</div>\n", styles: [".ax-editor-container{--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-height: calc(var(--ax-sys-size-base) * var(--ax-comp-editor-size-ratio));--ax-comp-editor-font-family: inherit;--ax-comp-editor-font-weight: normal;--ax-comp-editor-focus-color: var(--ax-sys-color-primary-500);--ax-comp-editor-padding-y: 0;--ax-comp-editor-button-text-color: var(--ax-sys-color-input-surface-text)}.ax-xs .ax-editor-container,.ax-editor-container.ax-xs{--ax-comp-editor-size-ratio: .75;--ax-comp-editor-font-size: .675rem;--ax-comp-editor-padding-x: .188rem;--ax-comp-editor-decorator-padding-x: .125rem}.ax-sm .ax-editor-container,.ax-editor-container.ax-sm{--ax-comp-editor-size-ratio: .875;--ax-comp-editor-font-size: .75rem;--ax-comp-editor-padding-x: .375rem;--ax-comp-editor-decorator-padding-x: .25rem}.ax-md .ax-editor-container,.ax-editor-container{--ax-comp-editor-size-ratio: 1;--ax-comp-editor-font-size: .875rem;--ax-comp-editor-padding-x: .75rem;--ax-comp-editor-decorator-padding-x: .5rem}.ax-lg .ax-editor-container,.ax-editor-container.ax-lg{--ax-comp-editor-size-ratio: 1.125;--ax-comp-editor-font-size: 1rem;--ax-comp-editor-padding-x: .875rem;--ax-comp-editor-decorator-padding-x: .75rem}.ax-xl .ax-editor-container,.ax-editor-container.ax-xl{--ax-comp-editor-size-ratio: 1.5;--ax-comp-editor-font-size: 1.5rem;--ax-comp-editor-padding-x: 1rem;--ax-comp-editor-decorator-padding-x: .875rem}.ax-editor-container.ax-solid{--ax-comp-editor-bg-color: var(--ax-sys-color-input-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-button-bg-hover-color: var(--ax-sys-color-surface-high);--ax-comp-editor-border-width: 1px;--ax-comp-editor-box-shadow: inset 0px -1px rgba(var(--ax-comp-editor-border-color))}.ax-editor-container.ax-solid:focus,.ax-editor-container.ax-solid:focus-within,.ax-editor-container.ax-solid:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-fill{--ax-comp-editor-bg-color: var(--ax-sys-color-surface);--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: transparent;--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 0px}.ax-editor-container.ax-fill:focus,.ax-editor-container.ax-fill:focus-within,.ax-editor-container.ax-fill:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 2px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-outline{--ax-comp-editor-bg-color: transparent;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: var(--ax-sys-border-radius);--ax-comp-editor-border-width: 1px}.ax-editor-container.ax-outline:focus,.ax-editor-container.ax-outline:focus-within,.ax-editor-container.ax-outline:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 0px 0 1px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container.ax-flat{--ax-comp-editor-bg-color: 0, 0, 0, 0;--ax-comp-editor-text-color: var(--ax-sys-color-input-surface-text);--ax-comp-editor-placeholder-color: var(--ax-sys-color-input-surface-placeholder);--ax-comp-editor-border-color: var(--ax-sys-color-input-surface-border);--ax-comp-editor-border-radius: 0px;--ax-comp-editor-border-width: 0 0 1px 0}.ax-editor-container.ax-flat:focus,.ax-editor-container.ax-flat:focus-within,.ax-editor-container.ax-flat:focus-visible{--ax-comp-editor-border-color: var(--ax-sys-color-primary-500);--ax-comp-editor-box-shadow: 0px 1px 0 0px rgba(var(--ax-sys-color-primary-500))}.ax-editor-container{background-color:rgba(var(--ax-comp-editor-bg-color));color:rgba(var(--ax-comp-editor-text-color));border-width:var(--ax-comp-editor-border-width, 0);border-color:rgba(var(--ax-comp-editor-border-color));border-radius:var(--ax-comp-editor-border-radius);border-style:solid;display:inline-flex;align-items:center;height:var(--ax-comp-editor-height);width:100%;overflow:hidden;position:relative}.ax-editor-container:focus,.ax-editor-container:focus-within,.ax-editor-container:focus-visible{box-shadow:var(--ax-comp-editor-box-shadow)}.ax-editor-container ax-prefix{max-width:fit-content;font-size:var(--ax-comp-editor-font-size);padding-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-clear-button{margin-inline-end:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container ax-suffix{margin-inline-start:var(--ax-comp-editor-decorator-padding-x)}.ax-editor-container .ax-input{width:100%;height:100%;font-size:var(--ax-comp-editor-font-size);padding:0;outline-width:0px;padding:0 var(--ax-comp-editor-padding-x);background-color:transparent}.ax-editor-container .ax-input:focus,.ax-editor-container .ax-input:focus-visible,.ax-editor-container .ax-input:focus-within{outline:none}.ax-editor-container .ax-input::placeholder{color:rgba(var(--ax-comp-editor-placeholder-color));font-size:calc(var(--ax-comp-editor-font-size))}.ax-editor-container .ax-editor-button{height:var(--ax-comp-editor-button-height, 100%);padding:var(--ax-comp-editor-decorator-button-y, 0) var(--ax-comp-editor-decorator-button-x, .75rem);font-size:var(--ax-comp-editor-button-font-size, 100%);color:rgba(var(--ax-comp-editor-button-text-color),var(--ax-comp-editor-button-text-color-opacity, .6));display:flex;align-items:center;justify-content:center}ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface-high))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-200));border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-200));border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-200));color:rgba(var(--ax-sys-color-danger-fore))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}\n"] }]
186
+ ], standalone: false, template: "<div\n dir=\"ltr\"\n class=\"ax-otp-input-container ax-editor-container ax-look-{{ look }}\"\n [ngStyle]=\"{ 'grid-template-columns': 'repeat(' + inputs().length + ', minmax(0, 1fr))' }\"\n (paste)=\"_handleOnPaste($event)\"\n>\n @for (input of inputs(); let i = $index; track i) {\n <input\n class=\"ax-input\"\n type=\"number\"\n [class.ax-state-disabled]=\"disabled\"\n [class.ax-state-success]=\"state === 'success'\"\n [class.ax-state-error]=\"state === 'error'\"\n maxlength=\"1\"\n [ngModel]=\"inputValues[i]\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n (focus)=\"_handleFocus(i)\"\n (input)=\"_handleOnInput($event, i)\"\n (keydown)=\"_handleOnKeyDown($event, i)\"\n [attr.disabled]=\"disabled\"\n />\n }\n</div>\n", styles: ["ax-otp{display:block}ax-otp .ax-otp-input-container{display:grid;gap:.5rem;position:relative}ax-otp .ax-otp-input-container.ax-editor-container{height:auto;border-style:none;outline-color:transparent;overflow:initial;background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container:focus-within,ax-otp .ax-otp-input-container.ax-editor-container:focus{border:none!important;box-shadow:none!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{border-radius:var(--ax-sys-border-radius);border-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border));background-color:rgba(var(--ax-sys-color-input-surface))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-500));border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-500));border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input{border-radius:0;border-bottom-width:1px;border-color:rgba(var(--ax-sys-color-input-surface-border))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input{background-color:transparent!important}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input{border-radius:var(--ax-sys-border-radius);background-color:rgba(var(--ax-sys-color-surface-high))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-50));color:rgba(var(--ax-sys-color-danger-fore-tint))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-500))}ax-otp .ax-otp-input-container.ax-editor-container .ax-input{aspect-ratio:1/1;overflow:hidden;text-align:center;font-size:var(--font-size, 2rem);padding:0}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:read-only{cursor:text;opacity:.75}ax-otp .ax-otp-input-container.ax-editor-container .ax-input:disabled{cursor:not-allowed;opacity:.5}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]{-moz-appearance:textfield}ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-inner-spin-button,ax-otp .ax-otp-input-container.ax-editor-container .ax-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-primary-200));border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error:focus-within,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 1px rgba(var(--ax-sys-color-danger-200));border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-solid .ax-input.ax-state-error .ax-input::placeholder,.ax-dark ax-otp .ax-otp-input-container.ax-editor-container.ax-look-outline .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input:focus-within{border-color:rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error{border-color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-flat .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-primary-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error{background-color:rgba(var(--ax-sys-color-danger-200));color:rgba(var(--ax-sys-color-danger-fore))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error:focus-within{box-shadow:0 0 0 2px rgba(var(--ax-sys-color-danger-200))}.ax-dark ax-otp .ax-otp-input-container.ax-look-fill .ax-input.ax-state-error .ax-input::placeholder{color:rgba(var(--ax-sys-color-danger-200))}\n"] }]
187
187
  }], ctorParameters: () => [] });
188
188
 
189
189
  const COMPONENT = [AXOtpComponent];