{"version":3,"file":"novo-elements-elements-unless.mjs","sources":["../../../projects/novo-elements/src/elements/unless/Unless.ts","../../../projects/novo-elements/src/elements/unless/Unless.module.ts","../../../projects/novo-elements/src/elements/unless/novo-elements-elements-unless.ts"],"sourcesContent":["// NG2\nimport { DestroyRef, Directive, Input, TemplateRef, ViewContainerRef } from '@angular/core';\n// App\nimport { Security } from 'novo-elements/services';\n\n@Directive({\n    selector: '[bhUnless]',\n    standalone: false,\n})\nexport class Unless {\n  permissions: string = '';\n  isDisplayed: boolean = false;\n\n  constructor(\n    public templateRef: TemplateRef<any>,\n    public viewContainer: ViewContainerRef,\n    public security: Security,\n    private destroyRef: DestroyRef) {\n    const sub = this.security.subscribe(this.check.bind(this));\n    this.destroyRef.onDestroy(() => {\n      // If Security uses an old definition, subscribe will return void/undefined.\n      try {\n        sub?.unsubscribe();\n      } catch {}\n    });\n  }\n\n  @Input()\n  set bhUnless(value: string) {\n    this.permissions = value || '';\n    this.check();\n  }\n\n  check(): void {\n    let display: boolean = false;\n    if (~this.permissions.indexOf('||')) {\n      const ps: any = this.permissions.split('||');\n      for (const p of ps) {\n        if (this.security.has(p.trim())) {\n          display = true;\n        }\n      }\n    } else {\n      display = this.permissions.split('&&').every((p) => this.security.has(p.trim()));\n    }\n\n    if (display) {\n      if (!this.isDisplayed) {\n        this.isDisplayed = true;\n        this.viewContainer.createEmbeddedView(this.templateRef);\n      }\n    } else {\n      this.isDisplayed = false;\n      this.viewContainer.clear();\n    }\n  }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { Unless } from './Unless';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [Unless],\n  exports: [Unless],\n})\nexport class UnlessModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}