@agentsmith.bgd/as-components 21.0.47 → 21.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -841,6 +841,12 @@ class AsFlatpickrComponent {
841
841
  onChange: (dates, _str, instance) => this.handleChange(dates, instance),
842
842
  onClose: () => this.zone.run(() => this.onTouched()),
843
843
  });
844
+ // ✅ Sync initial FormControl value after Flatpickr init
845
+ this.zone.run(() => {
846
+ if (this.formControl?.value) {
847
+ this.writeValue(this.formControl.value);
848
+ }
849
+ });
844
850
  // Manual validation for typed input
845
851
  this.inputEl.nativeElement.addEventListener('blur', () => {
846
852
  const typedValue = this.inputEl.nativeElement.value;
@@ -1 +1 @@
1
- {"version":3,"file":"agentsmith.bgd-as-components.mjs","sources":["../../../projects/as-components/src/lib/as-components.ts","../../../projects/as-components/src/lib/modal-container/modal-container.component.ts","../../../projects/as-components/src/lib/modal-container/modal-container.component.html","../../../projects/as-components/src/lib/modal-container/base-modal.component.ts","../../../projects/as-components/src/lib/services/modal-ref.ts","../../../projects/as-components/src/lib/services/modal.service.ts","../../../projects/as-components/src/lib/tooltip/tooltip.component.ts","../../../projects/as-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/as-components/src/lib/typeahead/typeahead-panel.component.ts","../../../projects/as-components/src/lib/typeahead/typeahead-panel.component.html","../../../projects/as-components/src/lib/typeahead/typeahead.directive.ts","../../../projects/as-components/src/lib/datepicker/as-flatpickr.component.ts","../../../projects/as-components/src/public-api.ts","../../../projects/as-components/src/agentsmith.bgd-as-components.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'lib-as-components',\n\timports: [],\n\ttemplate: ` <p> as-components works! </p> `,\n\tstyles: ``,\n})\nexport class AsComponents {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef, HostListener,\n output,\n signal,\n Type,\n ViewChild,\n ViewContainerRef, ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalRef} from '../services/modal-ref';\n\nexport interface ResultPayload {\n action: string,\n payload?: unknown\n}\n\n@Component({\n selector: 'as-modal-container',\n templateUrl: 'modal-container.component.html',\n styleUrl: 'modal-container.component.scss',\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ModalContainerComponent {\n @ViewChild('contentHost', {read: ViewContainerRef, static: true}) contentHost!: ViewContainerRef;\n\n // signal-based inputs\n title = signal<string | undefined>(undefined);\n size = signal<'sm' | 'md' | 'lg'>('md');\n showClose = signal<boolean>(true);\n dismissSendEvent = signal<boolean>(false);\n minHeight = signal<string>('200px');\n\n closed = output<ResultPayload>();\n\n modalRef!: ModalRef;\n\n get sizeClass() {\n return this.size(); // template uses size() directly; keep helper for compatibility if needed\n }\n\n /**\n * Create a component inside the container and set inputs.\n * Supports:\n * - assigning to writable signals (calls `.set(...)`)\n * - assigning to plain properties\n * Also handles primitive `inputs` mapping to common names.\n */\n loadComponent<T>(component: Type<T>, inputs?: Partial<T> | any): ComponentRef<T> {\n const compRef = this.contentHost.createComponent<T>(component);\n\n /* 🟡 PRIME every signal (factory → real signal) */\n const inst = compRef.instance as Record<string, any>;\n for (const key in inst) {\n const prop = inst[key];\n if (typeof prop === 'function') {\n // **real consumer read** → forces input() to become WritableSignal\n const value = prop(); // ← Angular input() **must** be called\n }\n }\n\n for (const key in inst) {\n const prop = inst[key];\n if (typeof prop === 'function' && prop.length === 0) {\n // cheap check: call once (forces input() to become WritableSignal)\n prop();\n }\n }\n\n if (inputs !== undefined && inputs !== null) {\n if (typeof inputs === 'object' && !Array.isArray(inputs)) {\n for (const key of Object.keys(inputs)) {\n const prop = (compRef.instance as any)[key];\n this.setInput(compRef.instance as any, key, (inputs as any)[key], compRef);\n }\n } else {\n // primitive mapping\n // const inst = compRef.instance as any;\n const inst = compRef as any;\n if ('message' in inst) this.setInput(inst, 'message', inputs, compRef);\n else if ('data' in inst) this.setInput(inst, 'data', inputs, compRef);\n else this.setInput(inst, 'value', inputs, compRef);\n }\n\n // ensure rendering for OnPush / signal changes\n compRef.changeDetectorRef?.detectChanges();\n }\n\n return compRef;\n }\n\n private setInput(targetInstance: any, key: string, value: any, compRef: ComponentRef<any>) {\n const before = targetInstance[key];\n const target = targetInstance[key];\n\n if (typeof target === 'function' && 'set' in target && typeof target.set === 'function') {\n // ✅ writable signal\n target.set(value);\n } else if (typeof target === 'function') {\n // 🔹 signal is readonly → cannot set\n compRef.setInput(key, value);\n } else {\n // fallback for raw primitive (optional)\n targetInstance[key] = value;\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.dismiss();\n }\n }\n\n dismiss() {\n if (this.dismissSendEvent()) {\n this.closed.emit({action: 'dismiss', payload: false});\n } else {\n this.modalRef.dismiss();\n }\n }\n}\n","<div class=\"as-modal-backdrop\" (click)=\"dismiss()\"></div>\n<div class=\"as-modal\" [ngClass]=\"size()\" role=\"dialog\" aria-modal=\"true\" [style.min-height]=\"minHeight()\">\n\t@if (title() || showClose()) {\n\t\t<div class=\"as-modal-header\">\n\t\t\t<h3 class=\"as-modal-title\">{{ title() }}</h3>\n\t\t\t@if (showClose()) {\n\t\t\t\t<button class=\"btn-close close pull-right\" type=\"button\" (click)=\"dismiss()\"></button>\n\t\t\t}\n\t\t</div>\n\t}\n\t<div class=\"as-modal-body\">\n\t\t<ng-template #contentHost></ng-template>\n\t</div>\n</div>\n","import {Directive, input, output} from '@angular/core';\nimport {ResultPayload} from './modal-container.component';\n\n@Directive()\nexport abstract class BaseModalComponent {\n title = input<string>('');\n readonly onClose = output<ResultPayload | undefined>();\n\n // injected by ModalService\n private _dismiss?: () => void;\n\n /** called by ModalService */\n _registerDismiss(fn: () => void) {\n this._dismiss = fn;\n }\n\n /** CONFIRM */\n protected confirm(result: ResultPayload = {action: 'default'}) {\n this.onClose.emit(result);\n }\n\n /** confirm with payload */\n protected confirmWithPayload<T>(payload: T) {\n this.onClose.emit({\n action: 'confirm',\n payload,\n });\n }\n\n /** CANCEL / SILENT */\n protected dismiss() {\n this._dismiss?.();\n }\n}\n","// TypeScript\nimport { ComponentRef } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport {ResultPayload} from '../modal-container/modal-container.component';\n\nexport class ModalRef {\n private readonly _afterClosed = new Subject<ResultPayload | undefined>();\n\tprivate _onClose = new Subject<ResultPayload>();\n\tonClose: Observable<ResultPayload> = this._onClose.asObservable();\n\n\tconstructor(\n\t\tprivate componentRef: ComponentRef<any>,\n\t\tprivate hostElement: HTMLElement,\n\t) {}\n\n afterClosed(): Observable<ResultPayload | undefined> {\n return this._afterClosed.asObservable();\n }\n\n\tclose(result: ResultPayload) {\n\t\tthis._onClose.next(result);\n\t\tthis._onClose.complete();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n\t\tthis.destroy();\n\t}\n\n dismiss() {\n this._onClose.complete();\n this._afterClosed.next(undefined);\n this._afterClosed.complete();\n this.destroy();\n }\n\n\tprivate destroy() {\n\t\ttry {\n\t\t\tif (this.componentRef) {\n\t\t\t\tthis.componentRef.destroy();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (this.hostElement && this.hostElement.parentNode) {\n\t\t\t\tthis.hostElement.parentNode.removeChild(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n}\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport {ModalRef} from './modal-ref';\nimport {ModalContainerComponent, ResultPayload} from '../modal-container/modal-container.component';\nimport {BaseModalComponent} from '../modal-container/base-modal.component';\n\nexport interface ModalConfig {\n id?: string;\n size?: 'sm' | 'md' | 'lg' | 'xlg' | 'xxlg';\n title: string;\n minHeight?: string;\n dismissSendEvent?: boolean\n showClose?: boolean;\n enableLog?: boolean;\n data?: any;\n}\n\n@Injectable({providedIn: 'root'})\nexport class ModalService {\n private modalsById = new Map<string, ModalRef>();\n\n constructor(\n private injector: Injector,\n private appRef: ApplicationRef,\n private envInjector: EnvironmentInjector,\n ) {\n }\n\n getModalCount(): number {\n return this.modalsById.size;\n }\n\n show<T>(component: Type<T>, config: ModalConfig = {title: ''}): ModalRef {\n if (config.id && this.modalsById.has(config.id)) {\n console.log('Modal with id already open:', config.id);\n return this.modalsById.get(config.id)!;\n }\n\n const hostEl = document.createElement('div');\n document.body.appendChild(hostEl);\n\n const compRef: ComponentRef<ModalContainerComponent> = createComponent(ModalContainerComponent, {\n environmentInjector: this.envInjector,\n });\n\n // set container inputs using signal-aware helper\n this.setInput(compRef.instance as any, 'title', config.title);\n this.setInput(compRef.instance as any, 'size', config.size ?? 'lg');\n this.setInput(compRef.instance as any, 'showClose', config.showClose !== false);\n this.setInput(compRef.instance as any, 'enableLog', config.enableLog !== false);\n this.setInput(compRef.instance as any, 'dismissSendEvent', config.dismissSendEvent !== false);\n this.setInput(compRef.instance as any, 'minHeight', config.minHeight);\n\n this.appRef.attachView(compRef.hostView);\n hostEl.appendChild((compRef.hostView as any).rootNodes[0] as HTMLElement);\n\n // the container's loadComponent handles assigning inputs (including signals) to the child\n const childRef: ComponentRef<T> = compRef.instance.loadComponent(component, config.data);\n\n const modalRef = new ModalRef(compRef as any, hostEl);\n if (config.id) {\n this.modalsById.set(config.id, modalRef);\n modalRef.afterClosed().subscribe(() => {\n this.modalsById.delete(config.id!);\n });\n }\n\n (compRef.instance as any).modalRef = modalRef;\n compRef.instance.closed.subscribe((result: ResultPayload) => {\n modalRef.close(result);\n });\n\n const maybeBase = childRef.instance as BaseModalComponent;\n if (maybeBase._registerDismiss) {\n maybeBase._registerDismiss(() => {\n modalRef.dismiss(); // calls ModalRef.dismiss\n });\n }\n\n const maybeEmitter = (childRef.instance as any).onClose;\n if (maybeEmitter && typeof maybeEmitter.subscribe === 'function') {\n maybeEmitter.subscribe((res: any) => modalRef.close(res));\n }\n\n return modalRef;\n }\n\n private setInput(targetInstance: any, key: string, value: any) {\n const target = targetInstance[key];\n if (typeof target === 'function' && target && 'set' in target && typeof (target as any).set === 'function') {\n (target as any).set(value);\n } else {\n targetInstance[key] = value;\n }\n }\n}\n","import { Component, signal, WritableSignal, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n\tselector: 'as-tooltip',\n\tstandalone: true,\n\timports: [CommonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"as-tooltip\"\n\t\t\t[class.as-placement-top]=\"placement() === 'bottom'\"\n\t\t\t[class.as-placement-bottom]=\"placement() === 'top'\"\n\t\t\t[class.as-placement-left]=\"placement() === 'right'\"\n\t\t\t[class.as-placement-right]=\"placement() === 'left'\"\n\t\t\t[attr.id]=\"id()\"\n\t\t\trole=\"tooltip\"\n\t\t\t[attr.aria-hidden]=\"!text()\"\n\t\t>\n\t\t\t{{ text() }}\n\t\t\t<span class=\"as-tooltip-arrow\" aria-hidden=\"true\"></span>\n\t\t</div>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.as-tooltip {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tbackground: rgba(97, 97, 97, 0.95);\n\t\t\t\tcolor: #fff;\n\t\t\t\tpadding: 6px 10px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tmax-width: 240px;\n\t\t\t\tbox-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n\t\t\t\tline-height: 1.2;\n\t\t\t}\n\n\t\t\t/* Arrow base: zero-sized element using borders to form a triangle */\n\t\t\t.as-tooltip-arrow {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\t/* Bottom placement: tooltip sits above origin, arrow points downwards (at bottom of tooltip) */\n\t\t\t.as-placement-bottom .as-tooltip-arrow {\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\ttop: 100%;\n\t\t\t\tborder-left: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid transparent;\n\t\t\t\tborder-top: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Top placement: tooltip sits below origin, arrow points upwards (at top of tooltip) */\n\t\t\t.as-placement-top .as-tooltip-arrow {\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tbottom: 100%;\n\t\t\t\tborder-left: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Left placement: tooltip sits to the right of origin, arrow points left (at left edge) */\n\t\t\t.as-placement-left .as-tooltip-arrow {\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tright: 100%;\n\t\t\t\tborder-top: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Right placement: tooltip sits to the left of origin, arrow points right (at right edge) */\n\t\t\t.as-placement-right .as-tooltip-arrow {\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tleft: 100%;\n\t\t\t\tborder-top: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid transparent;\n\t\t\t\tborder-left: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class TooltipComponent {\n\treadonly id: WritableSignal<string> = signal(`as-tooltip-${Math.random().toString(36).slice(2, 9)}`);\n\n\t// Writable text so directive can update via `.set(...)`\n\treadonly text: WritableSignal<string | null> = signal<string | null>(null);\n\n\t// Placement signal — set by directive to switch arrow orientation\n\treadonly placement: WritableSignal<'top' | 'bottom' | 'left' | 'right'> = signal<'top' | 'bottom' | 'left' | 'right'>('bottom');\n}\n","import { Directive, ElementRef, HostListener, inject, input, signal, computed, OnDestroy, WritableSignal, Injector } from '@angular/core';\nimport { Overlay, OverlayRef, FlexibleConnectedPositionStrategy, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Subscription } from 'rxjs';\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n\tselector: '[asTooltip]',\n\tstandalone: true,\n})\nexport class TooltipDirective implements OnDestroy {\n\tprivate readonly overlay = inject(Overlay);\n\tprivate readonly injector = inject(Injector);\n\tprivate readonly host = inject(ElementRef<HTMLElement>);\n\n\treadonly asTooltip = input<string | null>(null);\n\treadonly asTooltipPlacement = input<'top' | 'bottom' | 'left' | 'right' | 'auto'>('auto');\n\n\tprivate overlayRef: OverlayRef | null = null;\n\tprivate strategy: FlexibleConnectedPositionStrategy | null = null;\n\tprivate posSub: Subscription | null = null;\n\n\tprivate readonly positions = computed(() => this.buildPositions(this.asTooltipPlacement()));\n\n\t@HostListener('mouseenter')\n\tshow(): void {\n\t\tconst text = this.asTooltip();\n\t\tif (!text) return;\n\n\t\tif (!this.overlayRef) {\n\t\t\tthis.createOverlay();\n\t\t}\n\n\t\tif (!this.overlayRef!.hasAttached()) {\n\t\t\tconst portal = new ComponentPortal(TooltipComponent);\n\t\t\tconst compRef = this.overlayRef!.attach(portal);\n\n\t\t\tcompRef.instance.text.set(text);\n\n\t\t\t// set aria-describedby\n\t\t\tconst id = compRef.instance.id();\n\t\t\tthis.host.nativeElement.setAttribute('aria-describedby', id);\n\n\t\t\t// subscribe to CDK's chosen position and write to tooltip placement signal\n\t\t\tif (this.strategy && !this.posSub) {\n\t\t\t\tthis.posSub = this.strategy.positionChanges.subscribe((change: any) => {\n\t\t\t\t\t// `change` may contain different property names across CDK versions;\n\t\t\t\t\t// try common locations for the resolved connected position.\n\t\t\t\t\tconst pos: ConnectedPosition | undefined =\n\t\t\t\t\t\tchange?.connectionPair ?? change?.connectedPosition ?? change?.lastConnectedPosition ?? change;\n\n\t\t\t\t\tif (pos) {\n\t\t\t\t\t\tconst placement = this.mapPositionToPlacement(pos);\n\t\t\t\t\t\tcompRef.instance.placement.set(placement);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// initial placement hint: map the first position we provided\n\t\t\tconst initial = this.positions()[0];\n\t\t\tcompRef.instance.placement.set(this.mapPositionToPlacement(initial));\n\n\t\t\tthis.overlayRef!.updatePosition();\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\thide(): void {\n\t\tthis.detachOverlay();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.detachOverlay(true);\n\t}\n\n\tprivate createOverlay(): void {\n\t\tconst strategy = this.overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.host)\n\t\t\t.withPositions(this.positions())\n\t\t\t.withPush(true) as FlexibleConnectedPositionStrategy;\n\n\t\t// store strategy so we can watch positionChanges\n\t\tthis.strategy = strategy;\n\n\t\tstrategy.withDefaultOffsetY(8);\n\t\tstrategy.withDefaultOffsetX(8);\n\n\t\tthis.overlayRef = this.overlay.create({\n\t\t\tpositionStrategy: strategy,\n\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t\tpanelClass: 'as-tooltip-panel',\n\t\t\thasBackdrop: false,\n\t\t});\n\t}\n\n\tprivate detachOverlay(dispose = false): void {\n\t\tif (!this.overlayRef) return;\n\n\t\tif (this.overlayRef.hasAttached()) {\n\t\t\tconst hostEl = this.host.nativeElement;\n\t\t\tif (hostEl.getAttribute('aria-describedby')) {\n\t\t\t\thostEl.removeAttribute('aria-describedby');\n\t\t\t}\n\t\t}\n\n\t\tthis.overlayRef.detach();\n\n\t\tif (this.posSub) {\n\t\t\tthis.posSub.unsubscribe();\n\t\t\tthis.posSub = null;\n\t\t}\n\n\t\tif (dispose) {\n\t\t\tthis.overlayRef.dispose();\n\t\t\tthis.overlayRef = null;\n\t\t\tthis.strategy = null;\n\t\t}\n\t}\n\n\tprivate buildPositions(preferred: 'top' | 'bottom' | 'left' | 'right' | 'auto'): ConnectedPosition[] {\n\t\tconst top: ConnectedPosition = {\n\t\t\toriginX: 'center',\n\t\t\toriginY: 'top',\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t\toffsetY: -8,\n\t\t};\n\t\tconst bottom: ConnectedPosition = {\n\t\t\toriginX: 'center',\n\t\t\toriginY: 'bottom',\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t\toffsetY: 8,\n\t\t};\n\t\tconst left: ConnectedPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'center',\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t\toffsetX: -8,\n\t\t};\n\t\tconst right: ConnectedPosition = {\n\t\t\toriginX: 'end',\n\t\t\toriginY: 'center',\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t\toffsetX: 8,\n\t\t};\n\n\t\tif (preferred === 'auto') {\n\t\t\treturn [bottom, top, right, left];\n\t\t}\n\n\t\tswitch (preferred) {\n\t\t\tcase 'top':\n\t\t\t\treturn [top, bottom, right, left];\n\t\t\tcase 'bottom':\n\t\t\t\treturn [bottom, top, right, left];\n\t\t\tcase 'left':\n\t\t\t\treturn [left, right, bottom, top];\n\t\t\tcase 'right':\n\t\t\t\treturn [right, left, bottom, top];\n\t\t\tdefault:\n\t\t\t\treturn [bottom, top, right, left];\n\t\t}\n\t}\n\n\tprivate mapPositionToPlacement(pos: ConnectedPosition): 'top' | 'bottom' | 'left' | 'right' {\n\t\t// Determine placement by comparing origin/overlay alignment used by CDK\n\t\tif (pos.originY === 'top' && pos.overlayY === 'bottom') return 'top';\n\t\tif (pos.originY === 'bottom' && pos.overlayY === 'top') return 'bottom';\n\t\tif (pos.originX === 'start' && pos.overlayX === 'end') return 'left';\n\t\tif (pos.originX === 'end' && pos.overlayX === 'start') return 'right';\n\t\t// fallback\n\t\treturn 'bottom';\n\t}\n}\n","import { Component, signal, WritableSignal, ChangeDetectionStrategy, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport interface Option {\n\tkey: string;\n\tvalue: string;\n}\n\n@Component({\n\tselector: 'as-typeahead-panel',\n\tstandalone: true,\n\timports: [CommonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplateUrl: './typeahead-panel.component.html',\n styleUrl: './typeahead-panel.component.scss',\n})\nexport class TypeaheadPanelComponent {\n\treadonly id: WritableSignal<string> = signal(`as-typeahead-panel-${Math.random().toString(36).slice(2, 9)}`);\n\n\treadonly items: WritableSignal<Option[]> = signal<Option[]>([]);\n\t// default shows the `value` field\n\treadonly displayWith: WritableSignal<(item: Option) => string> = signal<(item: Option) => string>((i: Option) => String(i?.value ?? ''));\n\n\treadonly activeIndex: WritableSignal<number | null> = signal<number | null>(null);\n\n\t// visual config: how many items visible before scrollbar (set by directive)\n\treadonly visibleCount: WritableSignal<number> = signal<number>(5);\n\treadonly itemHeight = 40; // px - used to compute maxHeight\n\n\t// optional custom template & callback (set by directive)\n\toptionTemplate: TemplateRef<any> | null = null;\n\tonSelect: ((item: Option) => void) | null = null;\n\n\toptionId(i: number) {\n\t\treturn `${this.id()}-option-${i}`;\n\t}\n\n\tsetActive(i: number | null) {\n\t\tthis.activeIndex.set(i);\n\t}\n\n\tselect(i: number) {\n\t\tconst items = this.items();\n\t\tif (i == null || i < 0 || i >= items.length) return;\n\t\tconst item = items[i];\n\t\tif (this.onSelect) this.onSelect(item);\n\t}\n}\n","<div\n class=\"as-typeahead-panel\"\n role=\"listbox\"\n [attr.id]=\"id()\"\n [class.as-empty]=\"items().length === 0\"\n [style.max-height.px]=\"visibleCount() * itemHeight\"\n>\n @for (item of items(); track item.key) {\n <div\n role=\"option\"\n [attr.id]=\"optionId($index)\"\n [attr.aria-selected]=\"$index === activeIndex()\"\n class=\"as-typeahead-option\"\n [class.as-active]=\"$index === activeIndex()\"\n (mouseenter)=\"setActive($index)\"\n (mousemove)=\"setActive($index)\"\n (click)=\"select($index)\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { $implicit: items()[$index] }\"></ng-container>\n } @else {\n {{ displayWith()(item) }}\n }\n </div>\n }\n\n @if (items().length === 0) {\n <div class=\"as-no-results\">No results</div>\n }\n</div>\n","import {\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tsignal,\n\tcomputed,\n\tOnDestroy,\n\tTemplateRef,\n\tViewContainerRef,\n\teffect,\n\toutput,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Overlay, OverlayRef, FlexibleConnectedPositionStrategy, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { TypeaheadPanelComponent, Option } from './typeahead-panel.component';\n\n@Directive({\n\tselector: '[asTypeahead]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TypeaheadDirective,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TypeaheadDirective implements ControlValueAccessor, OnDestroy {\n\t/* ---------------- injections ---------------- */\n\tprivate readonly overlay = inject(Overlay);\n\tprivate readonly host = inject(ElementRef<HTMLInputElement>);\n\tprivate readonly vcr = inject(ViewContainerRef);\n\n\t/* ---------------- inputs ---------------- */\n\treadonly options = input<Option[] | null>(null);\n\treadonly displayWith = input<(item: Option) => string>((it: Option) => String(it?.value ?? ''));\n\treadonly filterBy = input<'key' | 'value'>('value');\n\treadonly visibleCount = input<number>(5);\n\treadonly restrictToList = input<boolean>(false);\n\treadonly asTypeaheadTemplate = input<TemplateRef<any> | null>(null);\n\treadonly disabled = input<boolean>(false);\n\treadonly enableLog = input<boolean>(false);\n\n\t/* ---------------- outputs ---------------- */\n\treadonly typeaheadOnSelect = output<Option | null>();\n\n\t/* ---------------- internal ---------------- */\n\tprivate readonly cvaDisabled = signal(false);\n\tprivate readonly selected = signal<Option | null>(null);\n\n\tprivate overlayRef: OverlayRef | null = null;\n\tprivate panel: TypeaheadPanelComponent | null = null;\n\tprivate destroyed = false;\n\n\tprivate onChange: (value: any) => void = () => {};\n\tprivate onTouched: () => void = () => {};\n\n\tprivate readonly positions = computed(() => this.buildPositions());\n\n\tconstructor() {\n\t\t/* sync initial value -> input text */\n\t\teffect(() => {\n\t\t\tconst sel = this.selected();\n\t\t\tif (!sel) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.log('init select value', sel.key, sel.value);\n\t\t\tthis.host.nativeElement.value = this.displayWith()(sel);\n\t\t});\n\t}\n\n\t/* ---------------- CVA ---------------- */\n\twriteValue(value: any): void {\n\t\tif (value == null) {\n\t\t\tthis.setInternalSelection(null);\n\t\t\tthis.host.nativeElement.value = '';\n\t\t\treturn;\n\t\t}\n\n\t\tconst match = this.options()?.find(o => o.key === value) ?? null;\n\t\tthis.setInternalSelection(match);\n\n\t\tif (match) {\n\t\t\tthis.host.nativeElement.value = this.displayWith()(match);\n\t\t} else {\n\t\t\tthis.host.nativeElement.value = String(value);\n\t\t}\n\t}\n\n\tregisterOnChange(fn: any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.log('component disabled', isDisabled);\n\t\tthis.cvaDisabled.set(isDisabled);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyed = true;\n\t\tthis.detach(true);\n\t}\n\n\t/* ---------------- host events ---------------- */\n\t@HostListener('focus')\n\t@HostListener('click')\n\tonFocus() {\n\t\tif (this.isDisabled()) return;\n\t\tthis.open();\n\t\tthis.showAll();\n\t}\n\n\t@HostListener('input', ['$event'])\n\tonInput(e: Event) {\n\t\tif (this.isDisabled()) return;\n\t\tconst value = (e.target as HTMLInputElement).value;\n\t\tvalue ? this.filter(value) : this.showAll();\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeydown(e: KeyboardEvent) {\n\t\tif (this.isDisabled() || !this.panel) return;\n\n\t\tconst items = this.panel.items();\n\t\tif (!items.length) return;\n\n\t\tlet idx = this.panel.activeIndex();\n\n\t\tswitch (e.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault();\n\t\t\t\tidx = idx == null ? 0 : Math.min(items.length - 1, idx + 1);\n\t\t\t\tthis.panel.setActive(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault();\n\t\t\t\tidx = idx == null ? items.length - 1 : Math.max(0, idx - 1);\n\t\t\t\tthis.panel.setActive(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\te.preventDefault();\n\t\t\t\tif (idx != null) this.panel.select(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tthis.close();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t@HostListener('blur')\n\tonBlur() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.destroyed) return;\n\n\t\t\tconst text = this.host.nativeElement.value;\n\t\t\tconst match = this.findMatch(text);\n\n\t\t\tif (this.restrictToList()) {\n\t\t\t\tthis.commitSelection(match);\n\t\t\t\tthis.host.nativeElement.value = match ? this.displayWith()(match) : '';\n\t\t\t} else if (match) {\n\t\t\t\tthis.commitSelection(match);\n\t\t\t} else {\n\t\t\t\tthis.commitSelection(null);\n\t\t\t}\n\n\t\t\tthis.onTouched();\n\t\t\tthis.close();\n\t\t}, 150);\n\t}\n\n\t/* ---------------- overlay ---------------- */\n\tprivate open() {\n\t\tif (!this.overlayRef) this.createOverlay();\n\t\tif (!this.overlayRef!.hasAttached()) {\n\t\t\tconst portal = new ComponentPortal(TypeaheadPanelComponent, this.vcr);\n\t\t\tconst ref = this.overlayRef!.attach(portal);\n\t\t\tthis.panel = ref.instance;\n\n\t\t\tthis.panel.displayWith.set(this.displayWith());\n\t\t\tthis.panel.optionTemplate = this.asTypeaheadTemplate();\n\t\t\tthis.panel.visibleCount.set(this.visibleCount());\n\t\t\tthis.panel.onSelect = (it: Option) => this.select(it);\n\t\t}\n\t}\n\n\tprivate close() {\n\t\tthis.detach();\n\t}\n\n\tprivate detach(dispose = false) {\n\t\tif (!this.overlayRef) return;\n\t\tif (this.overlayRef.hasAttached()) this.overlayRef.detach();\n\t\tif (dispose) {\n\t\t\tthis.overlayRef.dispose();\n\t\t\tthis.overlayRef = null;\n\t\t\tthis.panel = null;\n\t\t}\n\t}\n\n\tprivate createOverlay() {\n\t\tconst strategy = this.overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.host)\n\t\t\t.withPositions(this.positions())\n\t\t\t.withPush(true) as FlexibleConnectedPositionStrategy;\n\n\t\tstrategy.withDefaultOffsetY(4);\n\n\t\tthis.overlayRef = this.overlay.create({\n\t\t\tpositionStrategy: strategy,\n\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t});\n\t}\n\n\t/* ---------------- helpers ---------------- */\n\tprivate showAll() {\n\t\tthis.open();\n\t\tthis.panel?.items.set(this.options() ?? []);\n\t\tthis.panel?.setActive(null);\n\t}\n\n\tprivate filter(q: string) {\n\t\tconst key = q.toLowerCase();\n\t\tconst list = this.options() ?? [];\n\t\tconst filtered = list.filter(it => {\n\t\t\tconst target = this.filterBy() === 'key' ? String(it.key) : String(it.value);\n\t\t\treturn target.toLowerCase().includes(key);\n\t\t});\n\n\t\tthis.open();\n\t\tthis.panel?.items.set(filtered);\n\t\tthis.panel?.setActive(filtered.length ? 0 : null);\n\t}\n\n\tprivate select(item: Option) {\n\t\tthis.commitSelection(item);\n\t\tthis.host.nativeElement.value = this.displayWith()(item);\n\t\tthis.close();\n\t\tthis.host.nativeElement.focus();\n\t}\n\n\tprivate findMatch(text: string): Option | null {\n\t\tconst list = this.options() ?? [];\n\t\treturn list.find(it => this.displayWith()(it) === text) ?? list.find(it => String(it.key) === text) ?? null;\n\t}\n\n\tprivate isDisabled(): boolean {\n\t\treturn this.disabled() || this.cvaDisabled();\n\t}\n\n\tprivate buildPositions(): ConnectedPosition[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t\toffsetY: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t\toffsetY: -4,\n\t\t\t},\n\t\t];\n\t}\n\n\tprivate commitSelection(sel: Option | null) {\n\t\tthis.selected.set(sel);\n\t\tthis.log('Set value and emit', sel);\n\n\t\t// CVA\n\t\tthis.onChange(sel?.key ?? null);\n\n\t\t// OUTPUT\n\t\tthis.typeaheadOnSelect.emit(sel);\n\t}\n\n\tprivate setInternalSelection(sel: Option | null) {\n\t\tthis.log('Set value only', sel);\n\t\tthis.selected.set(sel);\n\t}\n\n\tlog(value: any, ...rest: any[]): void {\n\t\tif (this.enableLog() || localStorage.getItem('loggerEnable')) {\n\t\t\tconsole.log('%c DEBUG ', 'background: gray; color: white; font-weight: bold;', `AS typeahead -> ${value}`, ...rest);\n\t\t}\n\t}\n}\n","import { AfterViewInit, Component, effect, ElementRef, forwardRef, input, NgZone, OnDestroy, output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport flatpickr from 'flatpickr';\nimport 'flatpickr/dist/flatpickr.css';\nimport { NgClass } from '@angular/common';\n\nimport { FlatpickrDateFormat, FlatpickrMode, FlatpickrValue } from './flatpickr.types';\n\n@Component({\n\tselector: 'as-flatpickr',\n\tstandalone: true,\n\ttemplate: `<input\n\t\t#input\n\t\ttype=\"text\"\n\t\t[attr.placeholder]=\"placeholder()\"\n\t\t[ngClass]=\"elementClass()\"\n\t\t[autocomplete]=\"autocomplete()\"\n\t\t[id]=\"id()\"\n\t/>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => AsFlatpickrComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\timports: [NgClass],\n})\nexport class AsFlatpickrComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t/* ---------------- Inputs ---------------- */\n\tmode = input<FlatpickrMode>('single');\n\tenableTime = input(false);\n\ttimeOnly = input(false);\n\tplaceholder = input<string | null>(null);\n\tid = input<string | null>(null);\n\tdateFormat = input<FlatpickrDateFormat>('Y-m-d');\n\telementClass = input<string>('form-control form-icon-calendar');\n\ttime24h = input(true);\n\tautocomplete = input<'on' | 'off'>('off');\n\n\t/* External value (string-based now) */\n\tvalue = input<FlatpickrValue>(null);\n\tvalueChange = output<FlatpickrValue>();\n\n\t/* ---------------- Internals ---------------- */\n\t@ViewChild('input', { static: true }) private inputEl!: ElementRef<HTMLInputElement>;\n\tprivate fp: flatpickr.Instance | null = null;\n\n\tprivate onChange: (value: FlatpickrValue) => void = () => {};\n\tprivate onTouched: () => void = () => {};\n\tprivate disabled = false;\n\tprivate cvaAttached = false;\n\tprivate usingCva = false;\n\n\tconstructor(private zone: NgZone) {\n\t\t/* ---------------- Signal effect for syncing value ---------------- */\n\t\teffect(() => {\n\t\t\tif (this.usingCva) return; // CVA owns the value, skip signal path\n\n\t\t\tconst val = this.value();\n\t\t\tif (!this.fp) return;\n\n\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\tconst displayFormat = this.getDisplayFormat();\n\n\t\t\t\tif (Array.isArray(val)) {\n\t\t\t\t\tconst dates = val.map(v => flatpickr.parseDate(v, displayFormat));\n\t\t\t\t\tthis.fp!.setDate(dates as Date[], false);\n\t\t\t\t} else if (val) {\n\t\t\t\t\tconst date = flatpickr.parseDate(val, displayFormat);\n\t\t\t\t\tthis.fp!.setDate(date ?? [], false);\n\t\t\t\t} else {\n\t\t\t\t\tthis.fp!.clear(false); // suppress events\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate handleOpen = () => {\n\t\tif (this.disabled) {\n\t\t\tthis.fp?.close();\n\t\t}\n\t};\n\n\t/* ---------------- Initialize Flatpickr ---------------- */\n\tngAfterViewInit() {\n\t\tthis.zone.runOutsideAngular(() => {\n\t\t\tthis.fp = flatpickr(this.inputEl.nativeElement, {\n\t\t\t\tmode: this.mode(),\n\t\t\t\tenableTime: this.enableTime() || this.timeOnly(),\n\t\t\t\tnoCalendar: this.timeOnly(),\n\t\t\t\tallowInput: true,\n\t\t\t\ttime_24hr: this.time24h(),\n\t\t\t\tdateFormat: this.getDisplayFormat(),\n\t\t\t\tonOpen: this.handleOpen,\n\t\t\t\tonChange: (dates, _str, instance) => this.handleChange(dates, instance),\n\t\t\t\tonClose: () => this.zone.run(() => this.onTouched()),\n\t\t\t});\n\n\t\t\t// Manual validation for typed input\n\t\t\tthis.inputEl.nativeElement.addEventListener('blur', () => {\n\t\t\t\tconst typedValue = this.inputEl.nativeElement.value;\n\t\t\t\tconst parsed = this.parseTypedValue(typedValue);\n\t\t\t\tthis.zone.run(() => this.safeEmit(parsed));\n\t\t\t});\n\t\t});\n\t}\n\n\t/* ---------------- CVA Implementation ---------------- */\n\twriteValue(value: FlatpickrValue): void {\n\t\tif (!this.fp) return;\n\n\t\tconst displayFormat = this.getDisplayFormat();\n\n\t\tif (Array.isArray(value)) {\n\t\t\tconst dates = value.map(v => flatpickr.parseDate(v, displayFormat));\n\t\t\tthis.fp.setDate(dates as Date[], false);\n\t\t} else if (value) {\n\t\t\tconst date = flatpickr.parseDate(value, displayFormat);\n\t\t\tthis.fp.setDate(date ?? [], false);\n\t\t} else {\n\t\t\tthis.fp.clear(false); // suppress events during write\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: FlatpickrValue) => void): void {\n\t\tthis.onChange = fn;\n\t\tthis.cvaAttached = true;\n\t\tthis.usingCva = true;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(disabled: boolean): void {\n\t\tthis.disabled = disabled;\n\t\tif (this.inputEl) this.inputEl.nativeElement.disabled = disabled;\n\t}\n\n\t/* ---------------- Handle Flatpickr changes ---------------- */\n\tprivate handleChange(dates: Date[], instance: flatpickr.Instance) {\n\t\tif (!this.cvaAttached) return;\n\n\t\tconst format = this.dateFormat() ?? this.getDefaultDateFormat();\n\t\tlet value: FlatpickrValue = null;\n\n\t\tif (this.mode() === 'range') {\n\t\t\tif (dates.length !== 2) return; // only emit full ranges\n\t\t\tvalue = dates.map(d => flatpickr.formatDate(d, format)) as [string, string];\n\t\t} else if (dates[0]) {\n\t\t\tif (this.enableTime() || this.timeOnly()) {\n\t\t\t\tconst timeFormat = this.time24h() ? 'H:i' : 'h:i K';\n\t\t\t\tvalue = flatpickr.formatDate(dates[0], `${format} ${timeFormat}`);\n\t\t\t} else {\n\t\t\t\tvalue = flatpickr.formatDate(dates[0], format);\n\t\t\t}\n\t\t}\n\n\t\tthis.zone.run(() => this.safeEmit(value));\n\t}\n\n\t/* ---------------- Safe CVA emission ---------------- */\n\tprivate safeEmit(value: FlatpickrValue) {\n\t\tif (!this.cvaAttached) return;\n\t\tthis.onChange(value);\n\t\tthis.valueChange.emit(value);\n\t}\n\n\t/* ---------------- Typed input parsing ---------------- */\n\tprivate parseTypedValue(inputValue: string): FlatpickrValue {\n\t\ttry {\n\t\t\tconst displayFormat = this.getDisplayFormat();\n\t\t\tif (!inputValue) return null;\n\n\t\t\tif (this.mode() === 'range') {\n\t\t\t\tconst parts = inputValue.split(' to ').map(s => s.trim());\n\t\t\t\tif (parts.length !== 2) return null;\n\n\t\t\t\tconst start = flatpickr.parseDate(parts[0], displayFormat);\n\t\t\t\tconst end = flatpickr.parseDate(parts[1], displayFormat);\n\t\t\t\tif (!start || !end || start > end) return null;\n\n\t\t\t\treturn [flatpickr.formatDate(start, displayFormat), flatpickr.formatDate(end, displayFormat)];\n\t\t\t} else {\n\t\t\t\tconst parsed = flatpickr.parseDate(inputValue, displayFormat);\n\t\t\t\treturn parsed ? flatpickr.formatDate(parsed, displayFormat) : null;\n\t\t\t}\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/* ---------------- Format helpers ---------------- */\n\tprivate getDefaultDateFormat(): string {\n\t\tif (this.timeOnly()) return 'H:i';\n\t\tif (this.enableTime()) return 'Y-m-d';\n\t\treturn 'Y-m-d';\n\t}\n\n\tprivate getDisplayFormat(): string {\n\t\tif (this.timeOnly()) {\n\t\t\treturn this.time24h() ? 'H:i' : 'h:i K';\n\t\t}\n\t\tconst baseFormat = this.dateFormat() ?? 'Y-m-d';\n\t\tif (this.enableTime()) {\n\t\t\tconst timeFormat = this.time24h() ? 'H:i' : 'h:i K';\n\t\t\treturn `${baseFormat} ${timeFormat}`;\n\t\t}\n\t\treturn baseFormat;\n\t}\n\n\t/* ---------------- Cleanup ---------------- */\n\tngOnDestroy() {\n\t\tthis.cvaAttached = false;\n\t\tthis.fp?.destroy();\n\t\tthis.fp = null;\n\t}\n}\n","/*\n * Public API Surface of as-components\n */\n\nexport * from './lib/as-components';\nexport * from './lib/modal-container/modal-container.component';\nexport * from './lib/modal-container/base-modal.component';\nexport * from './lib/services/modal-ref';\nexport * from './lib/services/modal.service';\nexport * from './lib/tooltip/tooltip.directive';\nexport * from './lib/tooltip/tooltip.component';\nexport * from './lib/typeahead/typeahead.directive';\nexport * from './lib/typeahead/typeahead-panel.component';\nexport * from './lib/datepicker/as-flatpickr.component';\nexport * from './lib/datepicker/flatpickr.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentsmith.bgd-as-components.mjs","sources":["../../../projects/as-components/src/lib/as-components.ts","../../../projects/as-components/src/lib/modal-container/modal-container.component.ts","../../../projects/as-components/src/lib/modal-container/modal-container.component.html","../../../projects/as-components/src/lib/modal-container/base-modal.component.ts","../../../projects/as-components/src/lib/services/modal-ref.ts","../../../projects/as-components/src/lib/services/modal.service.ts","../../../projects/as-components/src/lib/tooltip/tooltip.component.ts","../../../projects/as-components/src/lib/tooltip/tooltip.directive.ts","../../../projects/as-components/src/lib/typeahead/typeahead-panel.component.ts","../../../projects/as-components/src/lib/typeahead/typeahead-panel.component.html","../../../projects/as-components/src/lib/typeahead/typeahead.directive.ts","../../../projects/as-components/src/lib/datepicker/as-flatpickr.component.ts","../../../projects/as-components/src/public-api.ts","../../../projects/as-components/src/agentsmith.bgd-as-components.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'lib-as-components',\n\timports: [],\n\ttemplate: ` <p> as-components works! </p> `,\n\tstyles: ``,\n})\nexport class AsComponents {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef, HostListener,\n output,\n signal,\n Type,\n ViewChild,\n ViewContainerRef, ViewEncapsulation\n} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ModalRef} from '../services/modal-ref';\n\nexport interface ResultPayload {\n action: string,\n payload?: unknown\n}\n\n@Component({\n selector: 'as-modal-container',\n templateUrl: 'modal-container.component.html',\n styleUrl: 'modal-container.component.scss',\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class ModalContainerComponent {\n @ViewChild('contentHost', {read: ViewContainerRef, static: true}) contentHost!: ViewContainerRef;\n\n // signal-based inputs\n title = signal<string | undefined>(undefined);\n size = signal<'sm' | 'md' | 'lg'>('md');\n showClose = signal<boolean>(true);\n dismissSendEvent = signal<boolean>(false);\n minHeight = signal<string>('200px');\n\n closed = output<ResultPayload>();\n\n modalRef!: ModalRef;\n\n get sizeClass() {\n return this.size(); // template uses size() directly; keep helper for compatibility if needed\n }\n\n /**\n * Create a component inside the container and set inputs.\n * Supports:\n * - assigning to writable signals (calls `.set(...)`)\n * - assigning to plain properties\n * Also handles primitive `inputs` mapping to common names.\n */\n loadComponent<T>(component: Type<T>, inputs?: Partial<T> | any): ComponentRef<T> {\n const compRef = this.contentHost.createComponent<T>(component);\n\n /* 🟡 PRIME every signal (factory → real signal) */\n const inst = compRef.instance as Record<string, any>;\n for (const key in inst) {\n const prop = inst[key];\n if (typeof prop === 'function') {\n // **real consumer read** → forces input() to become WritableSignal\n const value = prop(); // ← Angular input() **must** be called\n }\n }\n\n for (const key in inst) {\n const prop = inst[key];\n if (typeof prop === 'function' && prop.length === 0) {\n // cheap check: call once (forces input() to become WritableSignal)\n prop();\n }\n }\n\n if (inputs !== undefined && inputs !== null) {\n if (typeof inputs === 'object' && !Array.isArray(inputs)) {\n for (const key of Object.keys(inputs)) {\n const prop = (compRef.instance as any)[key];\n this.setInput(compRef.instance as any, key, (inputs as any)[key], compRef);\n }\n } else {\n // primitive mapping\n // const inst = compRef.instance as any;\n const inst = compRef as any;\n if ('message' in inst) this.setInput(inst, 'message', inputs, compRef);\n else if ('data' in inst) this.setInput(inst, 'data', inputs, compRef);\n else this.setInput(inst, 'value', inputs, compRef);\n }\n\n // ensure rendering for OnPush / signal changes\n compRef.changeDetectorRef?.detectChanges();\n }\n\n return compRef;\n }\n\n private setInput(targetInstance: any, key: string, value: any, compRef: ComponentRef<any>) {\n const before = targetInstance[key];\n const target = targetInstance[key];\n\n if (typeof target === 'function' && 'set' in target && typeof target.set === 'function') {\n // ✅ writable signal\n target.set(value);\n } else if (typeof target === 'function') {\n // 🔹 signal is readonly → cannot set\n compRef.setInput(key, value);\n } else {\n // fallback for raw primitive (optional)\n targetInstance[key] = value;\n }\n }\n\n @HostListener('document:keydown', ['$event'])\n handleKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.dismiss();\n }\n }\n\n dismiss() {\n if (this.dismissSendEvent()) {\n this.closed.emit({action: 'dismiss', payload: false});\n } else {\n this.modalRef.dismiss();\n }\n }\n}\n","<div class=\"as-modal-backdrop\" (click)=\"dismiss()\"></div>\n<div class=\"as-modal\" [ngClass]=\"size()\" role=\"dialog\" aria-modal=\"true\" [style.min-height]=\"minHeight()\">\n\t@if (title() || showClose()) {\n\t\t<div class=\"as-modal-header\">\n\t\t\t<h3 class=\"as-modal-title\">{{ title() }}</h3>\n\t\t\t@if (showClose()) {\n\t\t\t\t<button class=\"btn-close close pull-right\" type=\"button\" (click)=\"dismiss()\"></button>\n\t\t\t}\n\t\t</div>\n\t}\n\t<div class=\"as-modal-body\">\n\t\t<ng-template #contentHost></ng-template>\n\t</div>\n</div>\n","import {Directive, input, output} from '@angular/core';\nimport {ResultPayload} from './modal-container.component';\n\n@Directive()\nexport abstract class BaseModalComponent {\n title = input<string>('');\n readonly onClose = output<ResultPayload | undefined>();\n\n // injected by ModalService\n private _dismiss?: () => void;\n\n /** called by ModalService */\n _registerDismiss(fn: () => void) {\n this._dismiss = fn;\n }\n\n /** CONFIRM */\n protected confirm(result: ResultPayload = {action: 'default'}) {\n this.onClose.emit(result);\n }\n\n /** confirm with payload */\n protected confirmWithPayload<T>(payload: T) {\n this.onClose.emit({\n action: 'confirm',\n payload,\n });\n }\n\n /** CANCEL / SILENT */\n protected dismiss() {\n this._dismiss?.();\n }\n}\n","// TypeScript\nimport { ComponentRef } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport {ResultPayload} from '../modal-container/modal-container.component';\n\nexport class ModalRef {\n private readonly _afterClosed = new Subject<ResultPayload | undefined>();\n\tprivate _onClose = new Subject<ResultPayload>();\n\tonClose: Observable<ResultPayload> = this._onClose.asObservable();\n\n\tconstructor(\n\t\tprivate componentRef: ComponentRef<any>,\n\t\tprivate hostElement: HTMLElement,\n\t) {}\n\n afterClosed(): Observable<ResultPayload | undefined> {\n return this._afterClosed.asObservable();\n }\n\n\tclose(result: ResultPayload) {\n\t\tthis._onClose.next(result);\n\t\tthis._onClose.complete();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n\t\tthis.destroy();\n\t}\n\n dismiss() {\n this._onClose.complete();\n this._afterClosed.next(undefined);\n this._afterClosed.complete();\n this.destroy();\n }\n\n\tprivate destroy() {\n\t\ttry {\n\t\t\tif (this.componentRef) {\n\t\t\t\tthis.componentRef.destroy();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (this.hostElement && this.hostElement.parentNode) {\n\t\t\t\tthis.hostElement.parentNode.removeChild(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n}\n","import {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EnvironmentInjector,\n Injectable,\n Injector,\n Type,\n} from '@angular/core';\nimport {ModalRef} from './modal-ref';\nimport {ModalContainerComponent, ResultPayload} from '../modal-container/modal-container.component';\nimport {BaseModalComponent} from '../modal-container/base-modal.component';\n\nexport interface ModalConfig {\n id?: string;\n size?: 'sm' | 'md' | 'lg' | 'xlg' | 'xxlg';\n title: string;\n minHeight?: string;\n dismissSendEvent?: boolean\n showClose?: boolean;\n enableLog?: boolean;\n data?: any;\n}\n\n@Injectable({providedIn: 'root'})\nexport class ModalService {\n private modalsById = new Map<string, ModalRef>();\n\n constructor(\n private injector: Injector,\n private appRef: ApplicationRef,\n private envInjector: EnvironmentInjector,\n ) {\n }\n\n getModalCount(): number {\n return this.modalsById.size;\n }\n\n show<T>(component: Type<T>, config: ModalConfig = {title: ''}): ModalRef {\n if (config.id && this.modalsById.has(config.id)) {\n console.log('Modal with id already open:', config.id);\n return this.modalsById.get(config.id)!;\n }\n\n const hostEl = document.createElement('div');\n document.body.appendChild(hostEl);\n\n const compRef: ComponentRef<ModalContainerComponent> = createComponent(ModalContainerComponent, {\n environmentInjector: this.envInjector,\n });\n\n // set container inputs using signal-aware helper\n this.setInput(compRef.instance as any, 'title', config.title);\n this.setInput(compRef.instance as any, 'size', config.size ?? 'lg');\n this.setInput(compRef.instance as any, 'showClose', config.showClose !== false);\n this.setInput(compRef.instance as any, 'enableLog', config.enableLog !== false);\n this.setInput(compRef.instance as any, 'dismissSendEvent', config.dismissSendEvent !== false);\n this.setInput(compRef.instance as any, 'minHeight', config.minHeight);\n\n this.appRef.attachView(compRef.hostView);\n hostEl.appendChild((compRef.hostView as any).rootNodes[0] as HTMLElement);\n\n // the container's loadComponent handles assigning inputs (including signals) to the child\n const childRef: ComponentRef<T> = compRef.instance.loadComponent(component, config.data);\n\n const modalRef = new ModalRef(compRef as any, hostEl);\n if (config.id) {\n this.modalsById.set(config.id, modalRef);\n modalRef.afterClosed().subscribe(() => {\n this.modalsById.delete(config.id!);\n });\n }\n\n (compRef.instance as any).modalRef = modalRef;\n compRef.instance.closed.subscribe((result: ResultPayload) => {\n modalRef.close(result);\n });\n\n const maybeBase = childRef.instance as BaseModalComponent;\n if (maybeBase._registerDismiss) {\n maybeBase._registerDismiss(() => {\n modalRef.dismiss(); // calls ModalRef.dismiss\n });\n }\n\n const maybeEmitter = (childRef.instance as any).onClose;\n if (maybeEmitter && typeof maybeEmitter.subscribe === 'function') {\n maybeEmitter.subscribe((res: any) => modalRef.close(res));\n }\n\n return modalRef;\n }\n\n private setInput(targetInstance: any, key: string, value: any) {\n const target = targetInstance[key];\n if (typeof target === 'function' && target && 'set' in target && typeof (target as any).set === 'function') {\n (target as any).set(value);\n } else {\n targetInstance[key] = value;\n }\n }\n}\n","import { Component, signal, WritableSignal, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n\tselector: 'as-tooltip',\n\tstandalone: true,\n\timports: [CommonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"as-tooltip\"\n\t\t\t[class.as-placement-top]=\"placement() === 'bottom'\"\n\t\t\t[class.as-placement-bottom]=\"placement() === 'top'\"\n\t\t\t[class.as-placement-left]=\"placement() === 'right'\"\n\t\t\t[class.as-placement-right]=\"placement() === 'left'\"\n\t\t\t[attr.id]=\"id()\"\n\t\t\trole=\"tooltip\"\n\t\t\t[attr.aria-hidden]=\"!text()\"\n\t\t>\n\t\t\t{{ text() }}\n\t\t\t<span class=\"as-tooltip-arrow\" aria-hidden=\"true\"></span>\n\t\t</div>\n\t`,\n\tstyles: [\n\t\t`\n\t\t\t:host {\n\t\t\t\tdisplay: block;\n\t\t\t}\n\n\t\t\t.as-tooltip {\n\t\t\t\tposition: relative;\n\t\t\t\tdisplay: inline-block;\n\t\t\t\tbackground: rgba(97, 97, 97, 0.95);\n\t\t\t\tcolor: #fff;\n\t\t\t\tpadding: 6px 10px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tmax-width: 240px;\n\t\t\t\tbox-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);\n\t\t\t\tline-height: 1.2;\n\t\t\t}\n\n\t\t\t/* Arrow base: zero-sized element using borders to form a triangle */\n\t\t\t.as-tooltip-arrow {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 0;\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\t/* Bottom placement: tooltip sits above origin, arrow points downwards (at bottom of tooltip) */\n\t\t\t.as-placement-bottom .as-tooltip-arrow {\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\ttop: 100%;\n\t\t\t\tborder-left: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid transparent;\n\t\t\t\tborder-top: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Top placement: tooltip sits below origin, arrow points upwards (at top of tooltip) */\n\t\t\t.as-placement-top .as-tooltip-arrow {\n\t\t\t\tleft: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t\tbottom: 100%;\n\t\t\t\tborder-left: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Left placement: tooltip sits to the right of origin, arrow points left (at left edge) */\n\t\t\t.as-placement-left .as-tooltip-arrow {\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tright: 100%;\n\t\t\t\tborder-top: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid transparent;\n\t\t\t\tborder-right: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\n\t\t\t/* Right placement: tooltip sits to the left of origin, arrow points right (at right edge) */\n\t\t\t.as-placement-right .as-tooltip-arrow {\n\t\t\t\ttop: 50%;\n\t\t\t\ttransform: translateY(-50%);\n\t\t\t\tleft: 100%;\n\t\t\t\tborder-top: 6px solid transparent;\n\t\t\t\tborder-bottom: 6px solid transparent;\n\t\t\t\tborder-left: 6px solid rgba(97, 97, 97, 0.95);\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class TooltipComponent {\n\treadonly id: WritableSignal<string> = signal(`as-tooltip-${Math.random().toString(36).slice(2, 9)}`);\n\n\t// Writable text so directive can update via `.set(...)`\n\treadonly text: WritableSignal<string | null> = signal<string | null>(null);\n\n\t// Placement signal — set by directive to switch arrow orientation\n\treadonly placement: WritableSignal<'top' | 'bottom' | 'left' | 'right'> = signal<'top' | 'bottom' | 'left' | 'right'>('bottom');\n}\n","import { Directive, ElementRef, HostListener, inject, input, signal, computed, OnDestroy, WritableSignal, Injector } from '@angular/core';\nimport { Overlay, OverlayRef, FlexibleConnectedPositionStrategy, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Subscription } from 'rxjs';\nimport { TooltipComponent } from './tooltip.component';\n\n@Directive({\n\tselector: '[asTooltip]',\n\tstandalone: true,\n})\nexport class TooltipDirective implements OnDestroy {\n\tprivate readonly overlay = inject(Overlay);\n\tprivate readonly injector = inject(Injector);\n\tprivate readonly host = inject(ElementRef<HTMLElement>);\n\n\treadonly asTooltip = input<string | null>(null);\n\treadonly asTooltipPlacement = input<'top' | 'bottom' | 'left' | 'right' | 'auto'>('auto');\n\n\tprivate overlayRef: OverlayRef | null = null;\n\tprivate strategy: FlexibleConnectedPositionStrategy | null = null;\n\tprivate posSub: Subscription | null = null;\n\n\tprivate readonly positions = computed(() => this.buildPositions(this.asTooltipPlacement()));\n\n\t@HostListener('mouseenter')\n\tshow(): void {\n\t\tconst text = this.asTooltip();\n\t\tif (!text) return;\n\n\t\tif (!this.overlayRef) {\n\t\t\tthis.createOverlay();\n\t\t}\n\n\t\tif (!this.overlayRef!.hasAttached()) {\n\t\t\tconst portal = new ComponentPortal(TooltipComponent);\n\t\t\tconst compRef = this.overlayRef!.attach(portal);\n\n\t\t\tcompRef.instance.text.set(text);\n\n\t\t\t// set aria-describedby\n\t\t\tconst id = compRef.instance.id();\n\t\t\tthis.host.nativeElement.setAttribute('aria-describedby', id);\n\n\t\t\t// subscribe to CDK's chosen position and write to tooltip placement signal\n\t\t\tif (this.strategy && !this.posSub) {\n\t\t\t\tthis.posSub = this.strategy.positionChanges.subscribe((change: any) => {\n\t\t\t\t\t// `change` may contain different property names across CDK versions;\n\t\t\t\t\t// try common locations for the resolved connected position.\n\t\t\t\t\tconst pos: ConnectedPosition | undefined =\n\t\t\t\t\t\tchange?.connectionPair ?? change?.connectedPosition ?? change?.lastConnectedPosition ?? change;\n\n\t\t\t\t\tif (pos) {\n\t\t\t\t\t\tconst placement = this.mapPositionToPlacement(pos);\n\t\t\t\t\t\tcompRef.instance.placement.set(placement);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// initial placement hint: map the first position we provided\n\t\t\tconst initial = this.positions()[0];\n\t\t\tcompRef.instance.placement.set(this.mapPositionToPlacement(initial));\n\n\t\t\tthis.overlayRef!.updatePosition();\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\thide(): void {\n\t\tthis.detachOverlay();\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.detachOverlay(true);\n\t}\n\n\tprivate createOverlay(): void {\n\t\tconst strategy = this.overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.host)\n\t\t\t.withPositions(this.positions())\n\t\t\t.withPush(true) as FlexibleConnectedPositionStrategy;\n\n\t\t// store strategy so we can watch positionChanges\n\t\tthis.strategy = strategy;\n\n\t\tstrategy.withDefaultOffsetY(8);\n\t\tstrategy.withDefaultOffsetX(8);\n\n\t\tthis.overlayRef = this.overlay.create({\n\t\t\tpositionStrategy: strategy,\n\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t\tpanelClass: 'as-tooltip-panel',\n\t\t\thasBackdrop: false,\n\t\t});\n\t}\n\n\tprivate detachOverlay(dispose = false): void {\n\t\tif (!this.overlayRef) return;\n\n\t\tif (this.overlayRef.hasAttached()) {\n\t\t\tconst hostEl = this.host.nativeElement;\n\t\t\tif (hostEl.getAttribute('aria-describedby')) {\n\t\t\t\thostEl.removeAttribute('aria-describedby');\n\t\t\t}\n\t\t}\n\n\t\tthis.overlayRef.detach();\n\n\t\tif (this.posSub) {\n\t\t\tthis.posSub.unsubscribe();\n\t\t\tthis.posSub = null;\n\t\t}\n\n\t\tif (dispose) {\n\t\t\tthis.overlayRef.dispose();\n\t\t\tthis.overlayRef = null;\n\t\t\tthis.strategy = null;\n\t\t}\n\t}\n\n\tprivate buildPositions(preferred: 'top' | 'bottom' | 'left' | 'right' | 'auto'): ConnectedPosition[] {\n\t\tconst top: ConnectedPosition = {\n\t\t\toriginX: 'center',\n\t\t\toriginY: 'top',\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t\toffsetY: -8,\n\t\t};\n\t\tconst bottom: ConnectedPosition = {\n\t\t\toriginX: 'center',\n\t\t\toriginY: 'bottom',\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t\toffsetY: 8,\n\t\t};\n\t\tconst left: ConnectedPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'center',\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t\toffsetX: -8,\n\t\t};\n\t\tconst right: ConnectedPosition = {\n\t\t\toriginX: 'end',\n\t\t\toriginY: 'center',\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t\toffsetX: 8,\n\t\t};\n\n\t\tif (preferred === 'auto') {\n\t\t\treturn [bottom, top, right, left];\n\t\t}\n\n\t\tswitch (preferred) {\n\t\t\tcase 'top':\n\t\t\t\treturn [top, bottom, right, left];\n\t\t\tcase 'bottom':\n\t\t\t\treturn [bottom, top, right, left];\n\t\t\tcase 'left':\n\t\t\t\treturn [left, right, bottom, top];\n\t\t\tcase 'right':\n\t\t\t\treturn [right, left, bottom, top];\n\t\t\tdefault:\n\t\t\t\treturn [bottom, top, right, left];\n\t\t}\n\t}\n\n\tprivate mapPositionToPlacement(pos: ConnectedPosition): 'top' | 'bottom' | 'left' | 'right' {\n\t\t// Determine placement by comparing origin/overlay alignment used by CDK\n\t\tif (pos.originY === 'top' && pos.overlayY === 'bottom') return 'top';\n\t\tif (pos.originY === 'bottom' && pos.overlayY === 'top') return 'bottom';\n\t\tif (pos.originX === 'start' && pos.overlayX === 'end') return 'left';\n\t\tif (pos.originX === 'end' && pos.overlayX === 'start') return 'right';\n\t\t// fallback\n\t\treturn 'bottom';\n\t}\n}\n","import { Component, signal, WritableSignal, ChangeDetectionStrategy, TemplateRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nexport interface Option {\n\tkey: string;\n\tvalue: string;\n}\n\n@Component({\n\tselector: 'as-typeahead-panel',\n\tstandalone: true,\n\timports: [CommonModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplateUrl: './typeahead-panel.component.html',\n styleUrl: './typeahead-panel.component.scss',\n})\nexport class TypeaheadPanelComponent {\n\treadonly id: WritableSignal<string> = signal(`as-typeahead-panel-${Math.random().toString(36).slice(2, 9)}`);\n\n\treadonly items: WritableSignal<Option[]> = signal<Option[]>([]);\n\t// default shows the `value` field\n\treadonly displayWith: WritableSignal<(item: Option) => string> = signal<(item: Option) => string>((i: Option) => String(i?.value ?? ''));\n\n\treadonly activeIndex: WritableSignal<number | null> = signal<number | null>(null);\n\n\t// visual config: how many items visible before scrollbar (set by directive)\n\treadonly visibleCount: WritableSignal<number> = signal<number>(5);\n\treadonly itemHeight = 40; // px - used to compute maxHeight\n\n\t// optional custom template & callback (set by directive)\n\toptionTemplate: TemplateRef<any> | null = null;\n\tonSelect: ((item: Option) => void) | null = null;\n\n\toptionId(i: number) {\n\t\treturn `${this.id()}-option-${i}`;\n\t}\n\n\tsetActive(i: number | null) {\n\t\tthis.activeIndex.set(i);\n\t}\n\n\tselect(i: number) {\n\t\tconst items = this.items();\n\t\tif (i == null || i < 0 || i >= items.length) return;\n\t\tconst item = items[i];\n\t\tif (this.onSelect) this.onSelect(item);\n\t}\n}\n","<div\n class=\"as-typeahead-panel\"\n role=\"listbox\"\n [attr.id]=\"id()\"\n [class.as-empty]=\"items().length === 0\"\n [style.max-height.px]=\"visibleCount() * itemHeight\"\n>\n @for (item of items(); track item.key) {\n <div\n role=\"option\"\n [attr.id]=\"optionId($index)\"\n [attr.aria-selected]=\"$index === activeIndex()\"\n class=\"as-typeahead-option\"\n [class.as-active]=\"$index === activeIndex()\"\n (mouseenter)=\"setActive($index)\"\n (mousemove)=\"setActive($index)\"\n (click)=\"select($index)\"\n >\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: { $implicit: items()[$index] }\"></ng-container>\n } @else {\n {{ displayWith()(item) }}\n }\n </div>\n }\n\n @if (items().length === 0) {\n <div class=\"as-no-results\">No results</div>\n }\n</div>\n","import {\n\tDirective,\n\tElementRef,\n\tHostListener,\n\tinject,\n\tinput,\n\tsignal,\n\tcomputed,\n\tOnDestroy,\n\tTemplateRef,\n\tViewContainerRef,\n\teffect,\n\toutput,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Overlay, OverlayRef, FlexibleConnectedPositionStrategy, ConnectedPosition } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { TypeaheadPanelComponent, Option } from './typeahead-panel.component';\n\n@Directive({\n\tselector: '[asTypeahead]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: TypeaheadDirective,\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class TypeaheadDirective implements ControlValueAccessor, OnDestroy {\n\t/* ---------------- injections ---------------- */\n\tprivate readonly overlay = inject(Overlay);\n\tprivate readonly host = inject(ElementRef<HTMLInputElement>);\n\tprivate readonly vcr = inject(ViewContainerRef);\n\n\t/* ---------------- inputs ---------------- */\n\treadonly options = input<Option[] | null>(null);\n\treadonly displayWith = input<(item: Option) => string>((it: Option) => String(it?.value ?? ''));\n\treadonly filterBy = input<'key' | 'value'>('value');\n\treadonly visibleCount = input<number>(5);\n\treadonly restrictToList = input<boolean>(false);\n\treadonly asTypeaheadTemplate = input<TemplateRef<any> | null>(null);\n\treadonly disabled = input<boolean>(false);\n\treadonly enableLog = input<boolean>(false);\n\n\t/* ---------------- outputs ---------------- */\n\treadonly typeaheadOnSelect = output<Option | null>();\n\n\t/* ---------------- internal ---------------- */\n\tprivate readonly cvaDisabled = signal(false);\n\tprivate readonly selected = signal<Option | null>(null);\n\n\tprivate overlayRef: OverlayRef | null = null;\n\tprivate panel: TypeaheadPanelComponent | null = null;\n\tprivate destroyed = false;\n\n\tprivate onChange: (value: any) => void = () => {};\n\tprivate onTouched: () => void = () => {};\n\n\tprivate readonly positions = computed(() => this.buildPositions());\n\n\tconstructor() {\n\t\t/* sync initial value -> input text */\n\t\teffect(() => {\n\t\t\tconst sel = this.selected();\n\t\t\tif (!sel) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.log('init select value', sel.key, sel.value);\n\t\t\tthis.host.nativeElement.value = this.displayWith()(sel);\n\t\t});\n\t}\n\n\t/* ---------------- CVA ---------------- */\n\twriteValue(value: any): void {\n\t\tif (value == null) {\n\t\t\tthis.setInternalSelection(null);\n\t\t\tthis.host.nativeElement.value = '';\n\t\t\treturn;\n\t\t}\n\n\t\tconst match = this.options()?.find(o => o.key === value) ?? null;\n\t\tthis.setInternalSelection(match);\n\n\t\tif (match) {\n\t\t\tthis.host.nativeElement.value = this.displayWith()(match);\n\t\t} else {\n\t\t\tthis.host.nativeElement.value = String(value);\n\t\t}\n\t}\n\n\tregisterOnChange(fn: any): void {\n\t\tthis.onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.log('component disabled', isDisabled);\n\t\tthis.cvaDisabled.set(isDisabled);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.destroyed = true;\n\t\tthis.detach(true);\n\t}\n\n\t/* ---------------- host events ---------------- */\n\t@HostListener('focus')\n\t@HostListener('click')\n\tonFocus() {\n\t\tif (this.isDisabled()) return;\n\t\tthis.open();\n\t\tthis.showAll();\n\t}\n\n\t@HostListener('input', ['$event'])\n\tonInput(e: Event) {\n\t\tif (this.isDisabled()) return;\n\t\tconst value = (e.target as HTMLInputElement).value;\n\t\tvalue ? this.filter(value) : this.showAll();\n\t}\n\n\t@HostListener('keydown', ['$event'])\n\tonKeydown(e: KeyboardEvent) {\n\t\tif (this.isDisabled() || !this.panel) return;\n\n\t\tconst items = this.panel.items();\n\t\tif (!items.length) return;\n\n\t\tlet idx = this.panel.activeIndex();\n\n\t\tswitch (e.key) {\n\t\t\tcase 'ArrowDown':\n\t\t\t\te.preventDefault();\n\t\t\t\tidx = idx == null ? 0 : Math.min(items.length - 1, idx + 1);\n\t\t\t\tthis.panel.setActive(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowUp':\n\t\t\t\te.preventDefault();\n\t\t\t\tidx = idx == null ? items.length - 1 : Math.max(0, idx - 1);\n\t\t\t\tthis.panel.setActive(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\te.preventDefault();\n\t\t\t\tif (idx != null) this.panel.select(idx);\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tthis.close();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t@HostListener('blur')\n\tonBlur() {\n\t\tsetTimeout(() => {\n\t\t\tif (this.destroyed) return;\n\n\t\t\tconst text = this.host.nativeElement.value;\n\t\t\tconst match = this.findMatch(text);\n\n\t\t\tif (this.restrictToList()) {\n\t\t\t\tthis.commitSelection(match);\n\t\t\t\tthis.host.nativeElement.value = match ? this.displayWith()(match) : '';\n\t\t\t} else if (match) {\n\t\t\t\tthis.commitSelection(match);\n\t\t\t} else {\n\t\t\t\tthis.commitSelection(null);\n\t\t\t}\n\n\t\t\tthis.onTouched();\n\t\t\tthis.close();\n\t\t}, 150);\n\t}\n\n\t/* ---------------- overlay ---------------- */\n\tprivate open() {\n\t\tif (!this.overlayRef) this.createOverlay();\n\t\tif (!this.overlayRef!.hasAttached()) {\n\t\t\tconst portal = new ComponentPortal(TypeaheadPanelComponent, this.vcr);\n\t\t\tconst ref = this.overlayRef!.attach(portal);\n\t\t\tthis.panel = ref.instance;\n\n\t\t\tthis.panel.displayWith.set(this.displayWith());\n\t\t\tthis.panel.optionTemplate = this.asTypeaheadTemplate();\n\t\t\tthis.panel.visibleCount.set(this.visibleCount());\n\t\t\tthis.panel.onSelect = (it: Option) => this.select(it);\n\t\t}\n\t}\n\n\tprivate close() {\n\t\tthis.detach();\n\t}\n\n\tprivate detach(dispose = false) {\n\t\tif (!this.overlayRef) return;\n\t\tif (this.overlayRef.hasAttached()) this.overlayRef.detach();\n\t\tif (dispose) {\n\t\t\tthis.overlayRef.dispose();\n\t\t\tthis.overlayRef = null;\n\t\t\tthis.panel = null;\n\t\t}\n\t}\n\n\tprivate createOverlay() {\n\t\tconst strategy = this.overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.host)\n\t\t\t.withPositions(this.positions())\n\t\t\t.withPush(true) as FlexibleConnectedPositionStrategy;\n\n\t\tstrategy.withDefaultOffsetY(4);\n\n\t\tthis.overlayRef = this.overlay.create({\n\t\t\tpositionStrategy: strategy,\n\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t});\n\t}\n\n\t/* ---------------- helpers ---------------- */\n\tprivate showAll() {\n\t\tthis.open();\n\t\tthis.panel?.items.set(this.options() ?? []);\n\t\tthis.panel?.setActive(null);\n\t}\n\n\tprivate filter(q: string) {\n\t\tconst key = q.toLowerCase();\n\t\tconst list = this.options() ?? [];\n\t\tconst filtered = list.filter(it => {\n\t\t\tconst target = this.filterBy() === 'key' ? String(it.key) : String(it.value);\n\t\t\treturn target.toLowerCase().includes(key);\n\t\t});\n\n\t\tthis.open();\n\t\tthis.panel?.items.set(filtered);\n\t\tthis.panel?.setActive(filtered.length ? 0 : null);\n\t}\n\n\tprivate select(item: Option) {\n\t\tthis.commitSelection(item);\n\t\tthis.host.nativeElement.value = this.displayWith()(item);\n\t\tthis.close();\n\t\tthis.host.nativeElement.focus();\n\t}\n\n\tprivate findMatch(text: string): Option | null {\n\t\tconst list = this.options() ?? [];\n\t\treturn list.find(it => this.displayWith()(it) === text) ?? list.find(it => String(it.key) === text) ?? null;\n\t}\n\n\tprivate isDisabled(): boolean {\n\t\treturn this.disabled() || this.cvaDisabled();\n\t}\n\n\tprivate buildPositions(): ConnectedPosition[] {\n\t\treturn [\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'bottom',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t\toffsetY: 4,\n\t\t\t},\n\t\t\t{\n\t\t\t\toriginX: 'start',\n\t\t\t\toriginY: 'top',\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t\toffsetY: -4,\n\t\t\t},\n\t\t];\n\t}\n\n\tprivate commitSelection(sel: Option | null) {\n\t\tthis.selected.set(sel);\n\t\tthis.log('Set value and emit', sel);\n\n\t\t// CVA\n\t\tthis.onChange(sel?.key ?? null);\n\n\t\t// OUTPUT\n\t\tthis.typeaheadOnSelect.emit(sel);\n\t}\n\n\tprivate setInternalSelection(sel: Option | null) {\n\t\tthis.log('Set value only', sel);\n\t\tthis.selected.set(sel);\n\t}\n\n\tlog(value: any, ...rest: any[]): void {\n\t\tif (this.enableLog() || localStorage.getItem('loggerEnable')) {\n\t\t\tconsole.log('%c DEBUG ', 'background: gray; color: white; font-weight: bold;', `AS typeahead -> ${value}`, ...rest);\n\t\t}\n\t}\n}\n","import { AfterViewInit, Component, effect, ElementRef, forwardRef, input, NgZone, OnDestroy, output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport flatpickr from 'flatpickr';\nimport 'flatpickr/dist/flatpickr.css';\nimport { NgClass } from '@angular/common';\n\nimport { FlatpickrDateFormat, FlatpickrMode, FlatpickrValue } from './flatpickr.types';\n\n@Component({\n\tselector: 'as-flatpickr',\n\tstandalone: true,\n\ttemplate: `<input\n\t\t#input\n\t\ttype=\"text\"\n\t\t[attr.placeholder]=\"placeholder()\"\n\t\t[ngClass]=\"elementClass()\"\n\t\t[autocomplete]=\"autocomplete()\"\n\t\t[id]=\"id()\"\n\t/>`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => AsFlatpickrComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\timports: [NgClass],\n})\nexport class AsFlatpickrComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t/* ---------------- Inputs ---------------- */\n\tmode = input<FlatpickrMode>('single');\n\tenableTime = input(false);\n\ttimeOnly = input(false);\n\tplaceholder = input<string | null>(null);\n\tid = input<string | null>(null);\n\tdateFormat = input<FlatpickrDateFormat>('Y-m-d');\n\telementClass = input<string>('form-control form-icon-calendar');\n\ttime24h = input(true);\n\tautocomplete = input<'on' | 'off'>('off');\n\n\t/* External value (string-based now) */\n\tvalue = input<FlatpickrValue>(null);\n\tvalueChange = output<FlatpickrValue>();\n\n\t/* ---------------- Internals ---------------- */\n\t@ViewChild('input', { static: true }) private inputEl!: ElementRef<HTMLInputElement>;\n\tprivate fp: flatpickr.Instance | null = null;\n\n\tprivate onChange: (value: FlatpickrValue) => void = () => {};\n\tprivate onTouched: () => void = () => {};\n\tprivate disabled = false;\n\tprivate cvaAttached = false;\n\tprivate usingCva = false;\n\n\tconstructor(private zone: NgZone) {\n\t\t/* ---------------- Signal effect for syncing value ---------------- */\n\t\teffect(() => {\n\t\t\tif (this.usingCva) return; // CVA owns the value, skip signal path\n\n\t\t\tconst val = this.value();\n\t\t\tif (!this.fp) return;\n\n\t\t\tthis.zone.runOutsideAngular(() => {\n\t\t\t\tconst displayFormat = this.getDisplayFormat();\n\n\t\t\t\tif (Array.isArray(val)) {\n\t\t\t\t\tconst dates = val.map(v => flatpickr.parseDate(v, displayFormat));\n\t\t\t\t\tthis.fp!.setDate(dates as Date[], false);\n\t\t\t\t} else if (val) {\n\t\t\t\t\tconst date = flatpickr.parseDate(val, displayFormat);\n\t\t\t\t\tthis.fp!.setDate(date ?? [], false);\n\t\t\t\t} else {\n\t\t\t\t\tthis.fp!.clear(false); // suppress events\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate handleOpen = () => {\n\t\tif (this.disabled) {\n\t\t\tthis.fp?.close();\n\t\t}\n\t};\n\n\t/* ---------------- Initialize Flatpickr ---------------- */\n\tngAfterViewInit() {\n\t\tthis.zone.runOutsideAngular(() => {\n\t\t\tthis.fp = flatpickr(this.inputEl.nativeElement, {\n\t\t\t\tmode: this.mode(),\n\t\t\t\tenableTime: this.enableTime() || this.timeOnly(),\n\t\t\t\tnoCalendar: this.timeOnly(),\n\t\t\t\tallowInput: true,\n\t\t\t\ttime_24hr: this.time24h(),\n\t\t\t\tdateFormat: this.getDisplayFormat(),\n\t\t\t\tonOpen: this.handleOpen,\n\t\t\t\tonChange: (dates, _str, instance) => this.handleChange(dates, instance),\n\t\t\t\tonClose: () => this.zone.run(() => this.onTouched()),\n\t\t\t});\n\n // ✅ Sync initial FormControl value after Flatpickr init\n this.zone.run(() => {\n if ((this as any).formControl?.value) {\n this.writeValue((this as any).formControl.value);\n }\n });\n\n // Manual validation for typed input\n\t\t\tthis.inputEl.nativeElement.addEventListener('blur', () => {\n\t\t\t\tconst typedValue = this.inputEl.nativeElement.value;\n\t\t\t\tconst parsed = this.parseTypedValue(typedValue);\n\t\t\t\tthis.zone.run(() => this.safeEmit(parsed));\n\t\t\t});\n\t\t});\n\t}\n\n\t/* ---------------- CVA Implementation ---------------- */\n\twriteValue(value: FlatpickrValue): void {\n\t\tif (!this.fp) return;\n\n\t\tconst displayFormat = this.getDisplayFormat();\n\n\t\tif (Array.isArray(value)) {\n\t\t\tconst dates = value.map(v => flatpickr.parseDate(v, displayFormat));\n\t\t\tthis.fp.setDate(dates as Date[], false);\n\t\t} else if (value) {\n\t\t\tconst date = flatpickr.parseDate(value, displayFormat);\n\t\t\tthis.fp.setDate(date ?? [], false);\n\t\t} else {\n\t\t\tthis.fp.clear(false); // suppress events during write\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: FlatpickrValue) => void): void {\n\t\tthis.onChange = fn;\n\t\tthis.cvaAttached = true;\n\t\tthis.usingCva = true;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(disabled: boolean): void {\n\t\tthis.disabled = disabled;\n\t\tif (this.inputEl) this.inputEl.nativeElement.disabled = disabled;\n\t}\n\n\t/* ---------------- Handle Flatpickr changes ---------------- */\n\tprivate handleChange(dates: Date[], instance: flatpickr.Instance) {\n\t\tif (!this.cvaAttached) return;\n\n\t\tconst format = this.dateFormat() ?? this.getDefaultDateFormat();\n\t\tlet value: FlatpickrValue = null;\n\n\t\tif (this.mode() === 'range') {\n\t\t\tif (dates.length !== 2) return; // only emit full ranges\n\t\t\tvalue = dates.map(d => flatpickr.formatDate(d, format)) as [string, string];\n\t\t} else if (dates[0]) {\n\t\t\tif (this.enableTime() || this.timeOnly()) {\n\t\t\t\tconst timeFormat = this.time24h() ? 'H:i' : 'h:i K';\n\t\t\t\tvalue = flatpickr.formatDate(dates[0], `${format} ${timeFormat}`);\n\t\t\t} else {\n\t\t\t\tvalue = flatpickr.formatDate(dates[0], format);\n\t\t\t}\n\t\t}\n\n\t\tthis.zone.run(() => this.safeEmit(value));\n\t}\n\n\t/* ---------------- Safe CVA emission ---------------- */\n\tprivate safeEmit(value: FlatpickrValue) {\n\t\tif (!this.cvaAttached) return;\n\t\tthis.onChange(value);\n\t\tthis.valueChange.emit(value);\n\t}\n\n\t/* ---------------- Typed input parsing ---------------- */\n\tprivate parseTypedValue(inputValue: string): FlatpickrValue {\n\t\ttry {\n\t\t\tconst displayFormat = this.getDisplayFormat();\n\t\t\tif (!inputValue) return null;\n\n\t\t\tif (this.mode() === 'range') {\n\t\t\t\tconst parts = inputValue.split(' to ').map(s => s.trim());\n\t\t\t\tif (parts.length !== 2) return null;\n\n\t\t\t\tconst start = flatpickr.parseDate(parts[0], displayFormat);\n\t\t\t\tconst end = flatpickr.parseDate(parts[1], displayFormat);\n\t\t\t\tif (!start || !end || start > end) return null;\n\n\t\t\t\treturn [flatpickr.formatDate(start, displayFormat), flatpickr.formatDate(end, displayFormat)];\n\t\t\t} else {\n\t\t\t\tconst parsed = flatpickr.parseDate(inputValue, displayFormat);\n\t\t\t\treturn parsed ? flatpickr.formatDate(parsed, displayFormat) : null;\n\t\t\t}\n\t\t} catch {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\t/* ---------------- Format helpers ---------------- */\n\tprivate getDefaultDateFormat(): string {\n\t\tif (this.timeOnly()) return 'H:i';\n\t\tif (this.enableTime()) return 'Y-m-d';\n\t\treturn 'Y-m-d';\n\t}\n\n\tprivate getDisplayFormat(): string {\n\t\tif (this.timeOnly()) {\n\t\t\treturn this.time24h() ? 'H:i' : 'h:i K';\n\t\t}\n\t\tconst baseFormat = this.dateFormat() ?? 'Y-m-d';\n\t\tif (this.enableTime()) {\n\t\t\tconst timeFormat = this.time24h() ? 'H:i' : 'h:i K';\n\t\t\treturn `${baseFormat} ${timeFormat}`;\n\t\t}\n\t\treturn baseFormat;\n\t}\n\n\t/* ---------------- Cleanup ---------------- */\n\tngOnDestroy() {\n\t\tthis.cvaAttached = false;\n\t\tthis.fp?.destroy();\n\t\tthis.fp = null;\n\t}\n}\n","/*\n * Public API Surface of as-components\n */\n\nexport * from './lib/as-components';\nexport * from './lib/modal-container/modal-container.component';\nexport * from './lib/modal-container/base-modal.component';\nexport * from './lib/services/modal-ref';\nexport * from './lib/services/modal.service';\nexport * from './lib/tooltip/tooltip.directive';\nexport * from './lib/tooltip/tooltip.component';\nexport * from './lib/typeahead/typeahead.directive';\nexport * from './lib/typeahead/typeahead-panel.component';\nexport * from './lib/datepicker/as-flatpickr.component';\nexport * from './lib/datepicker/flatpickr.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentsmith.bgd/as-components",
3
- "version": "21.0.47",
3
+ "version": "21.0.48",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^21.1.0",
6
6
  "@angular/common": "^21.1.0",