{"version":3,"file":"windmillcode-angular-wml-components-base.mjs","sources":["../../../projects/wml-angular-components-base/src/lib/functions.ts","../../../projects/wml-angular-components-base/src/lib/models.ts","../../../projects/wml-angular-components-base/src/lib/pipes.ts","../../../projects/wml-angular-components-base/src/lib/test-utils.ts","../../../projects/wml-angular-components-base/src/lib/component-base.ts","../../../projects/wml-angular-components-base/src/public-api.ts","../../../projects/wml-angular-components-base/src/windmillcode-angular-wml-components-base.ts"],"sourcesContent":["import { Type, VERSION, ViewContainerRef } from \"@angular/core\";\r\n\r\n\r\n\r\nexport let addCustomComponent =(vcf:ViewContainerRef,cpnt:Type<any>,props:any)=>{\r\n\r\n  let ref =  vcf.createComponent(cpnt )\r\n\r\n  if ((parseInt(VERSION.major) === 14 && parseInt(VERSION.minor) >= 1 && parseInt(VERSION.patch) >= 0) ||\r\n  (parseInt(VERSION.major) >= 15)) {\r\n    ref.setInput('props', props);\r\n  }\r\n\r\n  else{\r\n    ref.instance.props =props\r\n    ref.instance.ngOnInit?.()\r\n  }\r\n\r\n  return ref\r\n}\r\n\r\n\r\n\r\n\r\n","import {  Type } from \"@angular/core\";\r\nimport { TranslateLoader } from \"@ngx-translate/core\";\r\nimport { Subject, of } from \"rxjs\";\r\nimport { WMLMotionUIProperty,WMLMotionUIPropertyState } from \"@windmillcode/wml-components-base\";\r\n\r\n\r\nexport class WMLAngularMotionUIProperty<V=any,T=any> extends WMLMotionUIProperty<V,T>{\r\n\r\n  constructor(props:Partial<WMLAngularMotionUIProperty> = {}) {\r\n    super({\r\n      motionEndEvent: new Subject<WMLMotionUIPropertyState>(),\r\n      motionKeyFrameEvent: new Subject<string>(),\r\n      ...props\r\n    });\r\n  }\r\n\r\n}\r\n\r\n\r\nexport class WMLAngularCustomComponent<C=any,P=any> {\r\n  constructor(params: Partial<WMLAngularCustomComponent> = {}) {\r\n    let origParams = Object.entries(params)\r\n      .filter(([key,val]) => {\r\n        return !key.startsWith('param');\r\n      });\r\n    Object.assign(this, { ...Object.fromEntries(origParams) });\r\n  }\r\n\r\n  cpnt!:Type<C>\r\n  props!:P\r\n}\r\n\r\nexport class WMLAngularModuleForRootProps {\r\n  constructor(props:Partial<WMLAngularModuleForRootProps>={}){\r\n    Object.assign(\r\n      this,\r\n      {\r\n        ...props\r\n      }\r\n    )\r\n  }\r\n\r\n  ngxTranslateLoaderFactory = ()=> new WMLNGXTranslateLoader()\r\n}\r\n\r\nexport class WMLNGXTranslateLoader implements TranslateLoader {\r\n  constructor(\r\n    private i18nLocation:(lang:string)=>any = (lang=\"en\")=> undefined\r\n  ) {}\r\n\r\n  getTranslation(lang: string) {\r\n    return of(this.i18nLocation(lang))\r\n  }\r\n}\r\n\r\n\r\n\r\n","// still a need for this file as of angular 19.0.5 but not a need to import\r\n\r\nimport { Injectable, Pipe } from \"@angular/core\";\r\nimport { TranslatePipe } from \"@ngx-translate/core\";\r\n\r\n@Injectable()\r\n@Pipe({\r\n  standalone: true,\r\n  name: 'translate',\r\n  pure: false // required to update the value when the promise is resolved\r\n})\r\nexport class WMLNGXTranslatePipe extends TranslatePipe  {\r\n\r\n}\r\n\r\n@Injectable()\r\n@Pipe({\r\n  standalone: true,\r\n  name: 'translate',\r\n  pure: false // required to update the value when the promise is resolved\r\n})\r\nexport class WMLNGXTranslateMockPipe   {\r\n  transform =(myStr)=> {\r\n    return myStr\r\n  }\r\n}\r\n","// angular\r\nimport { HttpHandler, HttpResponse, provideHttpClient, withInterceptorsFromDi } from \"@angular/common/http\";\r\nimport { NO_ERRORS_SCHEMA, Type } from \"@angular/core\";\r\nimport { TestBed } from \"@angular/core/testing\";\r\nimport { Route } from \"@angular/router\";\r\nimport { RouterTestingModule } from \"@angular/router/testing\";\r\nimport { SingletonError } from \"@windmillcode/wml-components-base\";\r\nimport { throwError, Observable, of } from \"rxjs\";\r\n\r\n// i18n\r\n\r\n\r\nexport class WMLAngularTestUtils {\r\n  constructor(props: Partial<WMLAngularTestUtils> = {}) {\r\n    this.checkForSingleton();\r\n    let origProps = Object.entries(props)\r\n      .filter(([key,val]) => {\r\n        return !key.startsWith('prop');\r\n      });\r\n    Object.assign(this, { ...Object.fromEntries(origProps) });\r\n  }\r\n\r\n  static isInit = false\r\n  mock:any = {}\r\n  mockImports:any[] = []\r\n  mockProviders:any[] = []\r\n  mockDeclarations:any[] = []\r\n\r\n  private checkForSingleton() {\r\n    if (WMLAngularTestUtils.isInit) {\r\n      throw new SingletonError();\r\n    }\r\n    else {\r\n      WMLAngularTestUtils.isInit = true;\r\n    }\r\n  }\r\n\r\n  configureTestingModuleForComponents = async (targetCpnt:Type<any>,routes:Route[] =[])=>{\r\n\r\n\r\n    if(routes.length !== 0){\r\n      this.mockImports.push(\r\n        RouterTestingModule.withRoutes(routes)\r\n      )\r\n    }\r\n\r\n    await TestBed.configureTestingModule({\r\n      imports:this.mockImports,\r\n      declarations: [\r\n        targetCpnt,\r\n        ...this.mockDeclarations\r\n      ],\r\n      providers:this.mockProviders,\r\n      schemas:[\r\n        NO_ERRORS_SCHEMA\r\n      ]\r\n\r\n    }).compileComponents();\r\n\r\n\r\n  }\r\n\r\n  configureTestingModuleForStandaloneComponents = async (targetCpnt:Type<any>,routes:Route[] =[])=>{\r\n\r\n    this.mockImports.push(\r\n      targetCpnt\r\n    )\r\n    if(routes.length !== 0){\r\n      this.mockImports.push(\r\n        RouterTestingModule.withRoutes(routes)\r\n      )\r\n    }\r\n\r\n    await TestBed.configureTestingModule({\r\n      imports:this.mockImports,\r\n      declarations:[\r\n        ...this.mockDeclarations\r\n      ],\r\n      providers:[\r\n        ...this.mockProviders,\r\n        targetCpnt\r\n      ],\r\n      schemas:[\r\n        NO_ERRORS_SCHEMA\r\n      ]\r\n\r\n    }).compileComponents();\r\n\r\n\r\n  }\r\n\r\n  configureTestingModuleForServices =  (\r\n    targetService:Function\r\n  )=>{\r\n    TestBed.configureTestingModule({\r\n    imports: [],\r\n    providers: [provideHttpClient(withInterceptorsFromDi())]\r\n})\r\n\r\n    let service = TestBed.inject(targetService);\r\n    return service\r\n\r\n  }\r\n\r\n  /**\r\n   * @ experimental\r\n  */\r\n  // configureTestingModuleForDirectives = (\r\n  //   targetDirective:Type<any>,\r\n  //   myProps:Function,\r\n  // )=>{\r\n\r\n\r\n  //   @Component({\r\n  //     selector:\"app-my-test\",\r\n  //     template:`\r\n  //     <div class='myTestCpnt' [scrollBottomPagination]=\"props\">\r\n  //     `\r\n  //   })\r\n  //   class TestComponent {\r\n\r\n  //     props=myProps()\r\n  //     @ViewChild(targetDirective) myDirective;\r\n  //   }\r\n\r\n  //   TestBed.configureTestingModule({\r\n  //     declarations:[\r\n  //       targetDirective,TestComponent\r\n  //     ],\r\n  //     imports:[\r\n  //       HttpClientModule\r\n  //     ],\r\n  //     providers:this.mockProviders\r\n  //   })\r\n\r\n  //   let  { fixture,  cpnt } = this.grabComponentInstance(TestComponent)\r\n  //   fixture.detectChanges();\r\n  //   return { fixture,  cpnt,directive:cpnt.myDirective }\r\n\r\n  // }\r\n\r\n  grabComponentInstance = (targetCpnt: Type<any>)=> {\r\n    let fixture = TestBed.createComponent(targetCpnt);\r\n    let cpnt = fixture.componentInstance;\r\n    if(cpnt.hasOwnProperty(\"renderer2\")){\r\n      cpnt.renderer2 = this.mock.mockRenderer2\r\n    }\r\n    return { fixture,  cpnt };\r\n  }\r\n\r\n  // @ts-ignore\r\n  spyOnForES6Imports<T>(target: T, prop: keyof T) {\r\n    // @ts-ignore\r\n    const spy = jasmine.createSpy(`${String(prop)}Spy`);\r\n    // @ts-ignore\r\n    spyOnProperty(target, prop).and.returnValue(spy);\r\n    return spy;\r\n  }\r\n\r\n\r\n\r\n}\r\n\r\n\r\nexport let createBasicObservableError = (err= new Error())=>{\r\n  return  throwError(()=>err)\r\n}\r\n\r\n\r\nexport class WMLAngularTestHttpHandler extends HttpHandler {\r\n  constructor(props: Partial<WMLAngularTestHttpHandler> = {}) {\r\n    super()\r\n    let origProps = Object.entries(props)\r\n      .filter(([key,val]) => {\r\n        return !key.startsWith('prop');\r\n      });\r\n    Object.assign(this, { ...Object.fromEntries(origProps) });\r\n  }\r\n\r\n  successHandle$:(resp?:HttpResponse<any>)=> Observable<HttpResponse<any>> = (resp = new HttpResponse())=> of(resp)\r\n  errorHandle$:  (resp?:HttpResponse<any>)=> Observable<HttpResponse<any>> = (resp = new HttpResponse())=> throwError(()=>resp)\r\n  handle$ = this.successHandle$()\r\n  updateHandle = (handle$)=>{\r\n    this.handle$ = handle$\r\n  }\r\n  handle = ()=>{\r\n    return this.handle$\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { ChangeDetectorRef, Directive, HostBinding, Input } from \"@angular/core\"\r\nimport { generateClassPrefix, generateIdPrefix } from \"@windmillcode/wml-components-base\";\r\nimport { ReplaySubject, Subject, takeUntil, tap } from \"rxjs\"\r\n\r\n\r\nfunction NotifyOnChange(): PropertyDecorator {\r\n  return function(target: any, propertyKey: string | symbol) {\r\n    const privateKey = `_${String(propertyKey)}`;\r\n    Object.defineProperty(target, privateKey, {\r\n      writable: true,\r\n      enumerable: true,\r\n      configurable: true,\r\n    });\r\n\r\n    Object.defineProperty(target, propertyKey, {\r\n      get: function () {\r\n        return this[privateKey];\r\n      },\r\n      set: function (newValue) {\r\n        const oldValue = this[privateKey];\r\n        this[privateKey] = newValue;\r\n        if (oldValue !== newValue ) {\r\n          this.listenForSetStateSub?.unsubscribe();\r\n          this.listenForSetStateSub = this.listenForSetState()?.subscribe();\r\n        }\r\n      },\r\n      enumerable: true,\r\n      configurable: true,\r\n    });\r\n  };\r\n}\r\n\r\ntype Constructor<T = {}> = new (...args: any[]) => T;\r\n\r\n\r\n// be very careful modifying this function as it can make typescript very angry\r\n// TODO turn to a decorator or whatever you can for typescript to see the types coming from the  base class\r\nexport function WMLComponentBaseZeroPropsMixin<TBase extends Constructor>(\r\n  Base: TBase = class {} as TBase\r\n) {\r\n  // @ts-ignore\r\n  return class   extends Base   {\r\n    setStateSubj = new Subject<InstanceType<TBase>>();\r\n    setState = (val)=>this.setStateSubj.next(val)\r\n    setStateEvent = new ReplaySubject<InstanceType<TBase>>(1);\r\n    constructor(props:Partial<TBase>= new Base()) {\r\n      super( );\r\n      // @ts-ignore\r\n      let origProps = Object.entries(props)\r\n      .filter(([key, val]) => !key.startsWith('prop') );\r\n      Object.assign(this, Object.fromEntries(origProps));\r\n    }\r\n  } as Constructor<TBase>;\r\n}\r\n\r\nexport class WMLComponentBaseZeroProps extends WMLComponentBaseZeroPropsMixin(){}\r\n\r\n/**\r\n * @ meant to be a base or abstract class use directily if you know what you are doing\r\n*/\r\n@Directive()\r\n// TODO A\r\nexport class WMLComponentBaseZero<T extends WMLComponentBaseZeroProps = WMLComponentBaseZeroProps > {\r\n  // TODO A\r\n  @Input(\"props\") @NotifyOnChange() props?: T | any;\r\n\r\n  ngUnsub = new Subject<any>();\r\n  cdref?: ChangeDetectorRef;\r\n  classPrefix!: Function;\r\n  idPrefix!: Function;\r\n  @HostBinding('class') myClass!: string;\r\n  @HostBinding('attr.id') myId?: string;\r\n\r\n  constructor(props?: Partial<{ classPrefix: string; idPrefix: string }>) {\r\n    if (props?.classPrefix !== undefined) {\r\n      this.classPrefix = generateClassPrefix(props.classPrefix);\r\n      this.myClass = this.classPrefix(`View`);\r\n    }\r\n    if (props?.idPrefix !== undefined) {\r\n      this.idPrefix = generateIdPrefix(props.idPrefix);\r\n      this.myId = this.idPrefix();\r\n    }\r\n  }\r\n\r\n  listenForSetState = () => {\r\n    // @ts-ignore\r\n    return this.props?.setStateSubj.pipe(\r\n      takeUntil(this.ngUnsub),\r\n      tap((res) => {\r\n        // @ts-ignore\r\n        Object.assign(this.props, res);\r\n        this.cdref?.detectChanges();\r\n        this.props.setStateEvent.next(this.props)\r\n      })\r\n    );\r\n  };\r\n\r\n  ngOnDestroy() {\r\n    // @ts-ignore\r\n    this.ngUnsub.next();\r\n\r\n    this.ngUnsub.complete();\r\n  }\r\n}\r\n\r\n","/*\r\n * Public API Surface of wml-components-base\r\n */\r\n\r\nexport * from './lib/functions';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/test-utils';\r\nexport * from './lib/component-base';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}