{"version":3,"file":"sedeh-into-pipes.mjs","sources":["../../../projects/into-pipes/src/lib/address/address.component.ts","../../../projects/into-pipes/src/lib/address/address.pipe.ts","../../../projects/into-pipes/src/lib/common/component.pool.ts","../../../projects/into-pipes/src/lib/address/addess-pipe.module.ts","../../../projects/into-pipes/src/lib/audio/audio.component.ts","../../../projects/into-pipes/src/lib/audio/audio.pipe.ts","../../../projects/into-pipes/src/lib/audio/audio-pipe.module.ts","../../../projects/into-pipes/src/lib/calendar/calendar.component.ts","../../../projects/into-pipes/src/lib/calendar/calendar-pipe.module.ts","../../../projects/into-pipes/src/lib/checkbox/checkbox.component.ts","../../../projects/into-pipes/src/lib/checkbox/checkbox-pipe.module.ts","../../../projects/into-pipes/src/lib/email/email.component.ts","../../../projects/into-pipes/src/lib/email/email.pipe.ts","../../../projects/into-pipes/src/lib/email/email-pipe.module.ts","../../../projects/into-pipes/src/lib/font/font.component.ts","../../../projects/into-pipes/src/lib/font/font.pipe.ts","../../../projects/into-pipes/src/lib/font/font-pipe.module.ts","../../../projects/into-pipes/src/lib/image/image.component.ts","../../../projects/into-pipes/src/lib/image/image.pipe.ts","../../../projects/into-pipes/src/lib/image/image-pipe.module.ts","../../../projects/into-pipes/src/lib/common/into.pipe.ts","../../../projects/into-pipes/src/lib/input/input.component.ts","../../../projects/into-pipes/src/lib/common/append.pipe.ts","../../../projects/into-pipes/src/lib/common/conditional.pipe.ts","../../../projects/into-pipes/src/lib/common/join.pipe.ts","../../../projects/into-pipes/src/lib/common/map.pipe.ts","../../../projects/into-pipes/src/lib/common/mask.pipe.ts","../../../projects/into-pipes/src/lib/common/prepend.pipe.ts","../../../projects/into-pipes/src/lib/common/sanitizeHtml.pipe.ts","../../../projects/into-pipes/src/lib/common/valueof.pipe.ts","../../../projects/into-pipes/src/lib/common/wrap.pipe.ts","../../../projects/into-pipes/src/lib/common/into.directive.ts","../../../projects/into-pipes/src/lib/common/common-pipes.module.ts","../../../projects/into-pipes/src/lib/input/input-pipe.module.ts","../../../projects/into-pipes/src/lib/inputgroup/input-group.component.ts","../../../projects/into-pipes/src/lib/inputgroup/inputgroup-pipe.module.ts","../../../projects/into-pipes/src/lib/json/json.component.ts","../../../projects/into-pipes/src/lib/json/json-pipe.module.ts","../../../projects/into-pipes/src/lib/lastupdate/lastupdate.component.ts","../../../projects/into-pipes/src/lib/lastupdate/lastupdate-pipe.module.ts","../../../projects/into-pipes/src/lib/like/like.component.ts","../../../projects/into-pipes/src/lib/like/like-pipe.module.ts","../../../projects/into-pipes/src/lib/link/link.component.ts","../../../projects/into-pipes/src/lib/link/link.pipe.ts","../../../projects/into-pipes/src/lib/link/link-pipe.module.ts","../../../projects/into-pipes/src/lib/phone/phone.component.ts","../../../projects/into-pipes/src/lib/phone/phone.pipe.ts","../../../projects/into-pipes/src/lib/phone/phone-pipe.module.ts","../../../projects/into-pipes/src/lib/rating/rating.component.ts","../../../projects/into-pipes/src/lib/rating/rating.pipe.ts","../../../projects/into-pipes/src/lib/rating/rating-pipe.module.ts","../../../projects/into-pipes/src/lib/notice/notice.component.ts","../../../projects/into-pipes/src/lib/notice/notice.pipe.ts","../../../projects/into-pipes/src/lib/notice/notice-pipe.module.ts","../../../projects/into-pipes/src/lib/select/select.component.ts","../../../projects/into-pipes/src/lib/select/select-pipe.module.ts","../../../projects/into-pipes/src/lib/share/share.component.ts","../../../projects/into-pipes/src/lib/share/share-pipe.module.ts","../../../projects/into-pipes/src/lib/span/span.component.ts","../../../projects/into-pipes/src/lib/span/span-pipe.module.ts","../../../projects/into-pipes/src/lib/switch/switch.component.ts","../../../projects/into-pipes/src/lib/switch/switch-pipe.module.ts","../../../projects/into-pipes/src/lib/slider/slider.component.ts","../../../projects/into-pipes/src/lib/slider/slider-pipe.module.ts","../../../projects/into-pipes/src/lib/table/table.component.ts","../../../projects/into-pipes/src/lib/table/table.pipe.ts","../../../projects/into-pipes/src/lib/table/table-pipe.module.ts","../../../projects/into-pipes/src/lib/text/text.component.ts","../../../projects/into-pipes/src/lib/text/text-pipe.module.ts","../../../projects/into-pipes/src/lib/toggler/toggler.component.ts","../../../projects/into-pipes/src/lib/toggler/toggler-pipe.module.ts","../../../projects/into-pipes/src/lib/video/video.component.ts","../../../projects/into-pipes/src/lib/video/video.pipe.ts","../../../projects/into-pipes/src/lib/video/video-pipe.module.ts","../../../projects/into-pipes/src/lib/pipe.module.ts","../../../projects/into-pipes/src/public-api.ts","../../../projects/into-pipes/src/sedeh-into-pipes.ts"],"sourcesContent":["import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'address-component',\r\n    template: `\r\n    <a *ngIf=\"isLink\" \r\n        [href]=\"disabled ? null : url\" \r\n        [target]=\"!disabled && hasTarget ? '_blank' : null\"\r\n        class=\"google-map {{disabled ? 'disabled':''}}\" \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (keyup)='keyup($event)' \r\n        (click)=\"change($event)\">\r\n        <span class=\"fa fa-map-marker\" aria-hidden=\"true\"></span>\r\n        <span class=\"off-screen\">View in google map</span>\r\n        <span class=\"address\" [textContent]=\"addr1\"></span>\r\n        <span class=\"address\" [textContent]=\"addr2\"></span>\r\n    </a>\r\n    <span *ngIf=\"!isLink\" class=\"google-map\">\r\n        <span class=\"fa fa-map-marker\" aria-hidden=\"true\"></span>\r\n        <span class=\"address\" [textContent]=\"addr1\"></span>\r\n        <span class=\"address\" [textContent]=\"addr2\"></span>\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `:host .address {float: left;margin-right: var(--sedeh-margin-right,5px);}\r\n        :host .google-map {float: left;text-decoration: none;margin-right: var(--sedeh-margin-right,5px);}\r\n        :host .fa {float:left;margin: var(--sedeh-margin, 0 5px);}\r\n        :host .off-screen {position: absolute;left: -999em;}\r\n        :host a:hover, a:hover .fa-map-marker{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host a:focus {outline: none}\r\n        :host a:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        :host a.disabled:hover .fa-map-marker{color: var(--sedeh-disabled-color, #888);}\r\n        :host a.disabled{color: var(--sedeh-disabled-color,#888);cursor:default;text-decoration: none;}\r\n        :host span{float: left;}\r\n        :host {display: table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        @media print {\r\n            :host {\r\n                text-decoration: none;\r\n            }\r\n            :host .fa-map-marker {display: none;}\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class AddressComponent implements PipeComponentInterface {\r\n    url!: string;\r\n    source!: string;\r\n    id!: string;\r\n    isLink!: boolean;\r\n\tname!: string;\r\n    addr1!: string;\r\n    addr2!: string;\r\n    hasTarget!: boolean;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['address:true:false', 'address:true:true']; //link, target\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source= source;\r\n        this.isLink= (args && args.length && args[0].length) ? args[0]=== 'true' : true;\r\n        this.hasTarget = (args && args.length > 1 && args[1].length) ? args[1] === 'true' : false;\r\n        this.addr1 = source.street + ', ' + source.suite;\r\n        this.addr2 = source.city + ', ' + source.zipcode;\r\n\r\n        if (this.isLink) {\r\n            const x = \"https://maps.google.com/?q=\" + source.street + \", \" + this.addr2 +\"&ie=UTF-8\";\r\n            this.url = x.replace(\"\\\\s+\", \"+\");\r\n        }\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                item: event.type\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an address display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'address' })\r\nexport class AddressPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            return new AddressPipe().transform(content, args.length > 1 ? args[1]==='true' : true); \r\n        };\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n        const isLink= args.length ? args[0] : true;\r\n        const hasTarget = args.length > 1 ? args[1] : false;\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.addressFromString(source, isLink, hasTarget);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(this.addressFromString(item, isLink, hasTarget));\r\n            });\r\n            return result;\r\n        }\r\n    }\r\n    private addressFromString(source: any, isLink: boolean, hasTarget: boolean) {\r\n        if (isLink) {\r\n            let url = \"https://maps.google.com/?q=\" + \r\n            source.street + \", \" + source.city + \", \" + source.zipcode +\"&ie=UTF-8\";\r\n            url = url.replace(\"\\\\s+\", \"+\");\r\n\r\n            return \"<a href=\\'\" + url + \"\\' \" + \r\n                    (hasTarget ? \"target='_blank'\" : \"\") + \r\n                    \"class='google-map'><span class='fa fa-map-marker' aria-hidden='true'>\" +\r\n                    \"</span><span class='off-screen'>View in google map</span><span class='address'>\" +\r\n                    source.street + \", \" + source.suite + \"</span>\" +\r\n                    \"<span class='address'> \" + source.city +\", \" + source.zipcode + \"</span></a>\";\r\n        }\r\n        return \"<span class='google-map'><span class='fa fa-map-marker' style='margin: 0 5px' aria-hidden='true'>\" +\r\n                \"</span><span class='address'>\" + source.street + \", \" + source.suite + \"</span>\" +\r\n                \"<span class='address'> \" + source.city +\", \" + source.zipcode + \"</span></span>\";\r\n    }\r\n}\r\n","\nimport {\n\tInjectable, \n\tComponentRef, \n\tViewContainerRef,\n\tEmbeddedViewRef\n} from '@angular/core';\n\nimport { PipeComponentInterface } from './pipe.component.interface';\n\n@Injectable()\nexport class ComponentPool {\n\tprivate registeredPipes: any= {};\n\tprivate registeredComponents: any= {};\n\tprivate registeredServices: any= {};\n\tprivate registeredPatterns:any = {};\n\n\tgetRegisteredPatterns() {\n\t\treturn this.registeredPatterns;\n\t}\n\tregisterPipeTransformation (name: string, pipe: any) {\n\t\tthis.registeredPipes[name] = pipe;\n\t\tif (!this.registeredPatterns[name]) {\n\t\t\tthis.registeredPatterns[name] = name;\n\t\t}\n\t}\n\tregisteredForPipeTransformationNamed(key: string) {\n\t\treturn this.registeredPipes[key] !== undefined;\n\t}\n\tregisteredPipeTransformation(key: string, content: any, args: string[], callback?: any, data?: any) {\n        const pipe = this.registeredPipes[key];\n        \n        return pipe ? pipe(content, args, callback, data) : null;\n\t}\n\tremovePipeTransformation (key: string) {\n\t\tdelete this.registeredPipes[key];\n\n\t\tconst v = this.registeredPatterns[key];\n\t\tif ( v === key) {\n\t\t\tdelete this.registeredPatterns[key];\n\t\t}\n\t}\n\n\tregisterComponent (name: string, component: any) {\n\t\tthis.registeredComponents[name] = component;\n\t\tthis.registeredPatterns[name] = component.settingsPatterns()\n\t}\n\tregisteredForComponentWithNamed(name: string) {\n\t\treturn this.registeredComponents[name] !== undefined;\n\t}\n\tregisteredComponent(\n\t\tname: string,\n\t\tviewRefrence: ViewContainerRef,\n\t\tel: HTMLElement): PipeComponentInterface {\n\t\tconst component =  name ? this.registeredComponents[name] : undefined;\n\t\tlet result!: PipeComponentInterface;\n\t\t\n        if (component) {\n\t\t\tconst componentRef: ComponentRef<any> = viewRefrence.createComponent(component);\n\t\t\tconst domElem = (componentRef.hostView as EmbeddedViewRef < any > ).rootNodes[0] as HTMLElement;\n\t\t\tel.appendChild(domElem);\n\t\t\tdomElem.setAttribute(\"class\", \"into\");\n\t\t\tresult = (<PipeComponentInterface>componentRef.instance);\n        }\n        return  result;\n\t}\n\tremoveComponent (name: string) {\n\t\tdelete this.registeredComponents[name];\n\t\tdelete this.registeredPatterns[name];\n\t}\n\n\tregisterServiceForComponent (name: string, service: any) {\n\t\tthis.registeredServices[name] = service;\n\t}\n\tregisteredServiceForComponent(name: string): any {\n\t\treturn this.registeredServices[name];\n\t}\n\tregisteredForServiceNamed(name: string) {\n\t\treturn this.registeredServices[name] !== undefined;\n\t}\n\tremoveServiceForComponent (name: string) {\n\t\tdelete this.registeredServices[name];\n\t}\n}","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AddressComponent } from './address.component';\r\nimport { AddressPipe } from './address.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [AddressComponent, AddressPipe],\r\n  exports: [AddressComponent, AddressPipe],\r\n  entryComponents: [AddressComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class AddressIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: AddressIntoPipeModule,\r\n      providers: [\r\n        AddressPipe\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool) pool: ComponentPool) {\r\n    pool.registerComponent('address', AddressComponent);\r\n    pool.registerPipeTransformation('address', AddressPipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'audio-component',\r\n    template: `\r\n    <span class=\"audio-hidden\" [innerText]=\"source\"></span>\r\n    <audio [src]=\"source\" \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        [class.disabled]=\"disabled\"\r\n        (keyup)=\"keyup($event)\"\r\n        (play)=\"change($event)\"\r\n        (ended)=\"change($event)\"\r\n        (pause)=\"change($event)\"\r\n        (seeked)=\"change($event)\"\r\n        (error)=\"change($event)\"\r\n        controls=\"true\">Your browser does not support the audio element.</audio>`,\r\n    styles: [`\r\n    :host {display: table;float: left;min-height: var(--sedeh-min-height, 25px);}\r\n    :host audio.disabled{color: var(--sedeh-disabled-color, #888); opacity: var(--sedeh-hover-opacity, 0.5);pointer-events: none}\r\n    :host .audio-hidden {\r\n        display: none;\r\n    }\r\n    `]\r\n})\r\nexport class AudioComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n\tname!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['audio']; // no arguments\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n    }\r\n\r\n    private isPlaying(audio: any) {\r\n        return !!(audio.currentTime > 0 && !audio.paused && !audio.ended && audio.readyState > 2);\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        if (code === 13 && !this.disabled) {\r\n            if (this.isPlaying(event.target)) {\r\n                event.target.pause();\r\n            } else {\r\n                event.target.play();\r\n            }\r\n        }\r\n    }\r\n    change(event: any) {\r\n        this.onIntoComponentChange.emit({\r\n            id: this.id,\r\n            name: this.name,\r\n            value: this.source,\r\n            type: event.type,\r\n            item: {\r\n                autoplay: event.target.autoplay,\r\n                controls: event.target.controls,\r\n                duration: event.target.duration,\r\n                currentTime: event.target.currentTime,\r\n                ended: event.target.ended,\r\n                error: event.target.error,\r\n                paused: event.target.paused,\r\n                muted: event.target.muted,\r\n                defaultMuted: event.target.defaultMuted,\r\n                volume: event.target.volume\r\n            }\r\n        });\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an image display. \r\n* if transforming object is an array, all elements in the array will be transformed and the resulting array will be returned.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'audio' })\r\nexport class AudioPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            return new AudioPipe().transform(content, args.length > 1 ? args[1]==='true' : true); \r\n        };\r\n        return x;\r\n    }\r\n\r\n    stringToAudio(source: any) {\r\n        return \"<audio src=\\'\"+source+\"\\' controls=\\'true\\' />\";\r\n    }\r\n    arrayToAudio(sources: any) {\r\n        const result: any[] = [];\r\n        sources.map((source: any) => {\r\n            result.push(this.stringToAudio(source));\r\n        });\r\n        return result;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n       if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.stringToAudio(source);\r\n        }\r\n        return this.arrayToAudio(source);\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AudioComponent } from './audio.component';\r\nimport { AudioPipe } from './audio.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [AudioComponent, AudioPipe],\r\n  exports: [AudioComponent, AudioPipe],\r\n  entryComponents: [AudioComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class AudioIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: AudioIntoPipeModule,\r\n      providers: [\r\n        AudioPipe\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('audio', AudioComponent);\r\n    pool.registerPipeTransformation('audio', AudioPipe.transformationMethod());\r\n  }\r\n}\r\n","/* calendar code is copied from \"ben tedder\" \r\n* http://www.bentedder.com/create-calendar-grid-component-angular-4/\r\n*/\r\nimport { Component, ViewChild, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\nexport interface CalendarDateInterface {\r\n    date: Date;\r\n    selected?: boolean;\r\n    today?: boolean;\r\n  }\r\n  \r\n@Component({\r\n    selector: 'calendar-component',\r\n    template: `\r\n    <span class=\"calendar-box\">\r\n      <span class=\"date\" [textContent]=\"origDate | date:formatting\"></span>\r\n      <a \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        class=\"popper {{disabled ? 'disabled': ''}}\" \r\n        (keyup)=\"keyup($event)\" \r\n        (click)=\"popdatepicker($event)\">\r\n          <span class=\"fa fa-calendar\" aria-hidden=\"true\"></span>\r\n          <span class=\"off-screen\">Pick a date</span>\r\n      </a>\r\n    </span>\r\n    <div class=\"calendar\" *ngIf=\"!disabled && showCalendar\">\r\n\t\t<div class=\"calendar-navs\">\r\n\t\t\t<div class=\"month-nav\">\r\n                <button (click)=\"prevMonth($event)\">\r\n                    <span class=\"fa fa-chevron-left\"></span>\r\n                    <span class=\"off-screen\">Back a month</span>\r\n                </button>\r\n\t\t\t\t<span class=\"p4\">{{ currentDate | date:'MMMM' }}</span>\r\n                <button (click)=\"nextMonth($event)\">\r\n                    <span class=\"fa fa-chevron-right\"></span>\r\n                    <span class=\"off-screen\">Forward a month</span>\r\n                </button>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"year-nav\">\r\n                <button (click)=\"prevYear($event)\">\r\n                    <span class=\"fa fa-chevron-left\"></span>\r\n                    <span class=\"off-screen\">Back a year</span>\r\n                </button>\r\n\t\t\t\t<span>{{ currentDate | date: 'yyyy' }}</span>\r\n                <button (click)=\"nextYear($event)\">\r\n                    <span class=\"fa fa-chevron-right\"></span>\r\n                    <span class=\"off-screen\">Forward a year</span>\r\n                </button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"month-grid\">\r\n\t\t\t<div class=\"day-names\">\r\n\t\t\t\t<div *ngFor=\"let name of dayNames\" class=\"day-name p9\">{{ name }}</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"weeks\">\r\n\t\t\t\t<div *ngFor=\"let week of weeks\" class=\"week\">\r\n\t\t\t\t\t<ng-container *ngFor=\"let day of week\">\r\n\t\t\t\t\t\t<div class=\"week-date disabled\" *ngIf=\"!isSelectedMonth(day.date)\">\r\n\t\t\t\t\t\t\t<span class=\"date-text\">{{ day.date.getDate() }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"week-date enabled\"\r\n                           *ngIf=\"isSelectedMonth(day.date)\"\r\n                           tabindex=\"{{active ? 0 : -1}}\"\r\n                           (keyup)=\"keyup($event)\"\r\n\t\t\t\t\t\t   (click)=\"selectDate($event, day)\"\r\n\t\t\t\t\t\t   [class.today]=\"day.today\"\r\n\t\t\t\t\t\t   [class.selected]=\"day.selected\">\r\n\t\t\t\t\t\t\t<span class=\"date-text\">{{ day.date.getDate() }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px);}\r\n        .popper .fa-calendar{display: inline-block;margin: var(--sedeh-margin, 0 5px);}\r\n        .popper:hover .fa-calendar{color: var(--sedeh-hover-opacity, 0.5);}\r\n        .popper:focus {outline: none;}\r\n        .popper:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        .popper.disabled .fa-calendar{color: var(--sedeh-disabled-color, #888);}\r\n        .popper.disabled:hover .fa-calendar{cursor:default;color: var(--sedeh-disabled-color, #888);}\r\n        .popper.disabled{color: var(--sedeh-disabled-color, #888);pointer-events:none;cursor:default;text-decoration: none;}\r\n        .calendar-box {\r\n          display: flex;\r\n          flex-direction: row;\r\n          cursor: default;\r\n          width: 100%;\r\n          display: inline-block;\r\n        }\r\n        .calendar-box date {flex: 1;}\r\n        .calendar-box .popper {cursor: pointer;flex: 0 0 15px}\r\n        .calendar {\r\n            display: table;\r\n            width: 210px;\r\n            position: absolute;\r\n            background-color: #fff;\r\n            z-index: 2;\r\n            border: 1px solid #ddd;\r\n            border-radius: 4px;\r\n            box-shadow: var(--sedeh-box-shadow, 3px 3px 3px #999);\r\n        }\r\n        .calendar * {\r\n            box-sizing: border-box;\r\n        }\r\n        .calendar .calendar-navs {\r\n            background-color: whitesmoke;\r\n        }\r\n        .calendar .month-nav {\r\n            padding: 2px;\r\n            display: flex;\r\n            flex-direction: row;\r\n            justify-content: space-between;\r\n        }\r\n        .calendar .year-nav {\r\n            padding: 2px;\r\n            display: flex;\r\n            flex-direction: row;\r\n            justify-content: space-between;\r\n        }\r\n        .calendar .month-nav button,\r\n        .calendar .year-nav button {\r\n            border: 0;\r\n            background: transparent;\r\n            cursor: pointer;\r\n        }\r\n        .calendar .month-nav button:hover,\r\n        .calendar .year-nav button:hover {\r\n            color: red;\r\n        }\r\n        .calendar .month-grid .day-names {\r\n            display: flex;\r\n            flex-direction: row;\r\n            background: whitesmoke;\r\n            border-bottom-right-radius: 3px;\r\n            border-bottom-left-radius: 3px;\r\n        }\r\n        .calendar .month-grid .weeks {\r\n            display: flex;\r\n            flex-direction: column;\r\n        }\r\n        .calendar .month-grid .week {\r\n            display: flex;\r\n            flex-direction: row;\r\n        }\r\n        .calendar .month-grid .day-names {\r\n            border-top: 1px dotted #ddd;\r\n            border-bottom: 1px dashed #ddd;\r\n        }\r\n        .calendar .month-grid .week-date,\r\n        .calendar .month-grid .day-name {\r\n            text-align: center;\r\n            padding: 2px;\r\n            display: block;\r\n            width: 30px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n        }\r\n        .calendar .month-grid .week-date {\r\n            height: 30px;\r\n            position: relative;\r\n            padding: 5px;\r\n        }\r\n        .calendar .month-grid .week-date .date-text {\r\n            font-size: 10px;\r\n            z-index: 10;\r\n        }\r\n        .calendar .month-grid .week-date::after {\r\n            content: '';\r\n            height: 24px;\r\n            width: 24px;\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            border-radius: 50%;\r\n            transition: background-color 150ms linear, color 150ms linear;\r\n            z-index: 1;\r\n        }\r\n        .calendar .month-grid .week-date.disabled {color: #aaa;}\r\n        .calendar .month-grid .week-date.enabled {\r\n            cursor: pointer;\r\n        }\r\n        .calendar .month-grid .week-date.enabled:focus {\r\n            outline: 0;\r\n        }\r\n        .calendar .month-grid .week-date.enabled:hover .date-text,\r\n        .calendar .month-grid .week-date.enabled:focus .date-text {\r\n            font-weight: bold;\r\n            color: blue;\r\n        }\r\n        .calendar .month-grid .week-date.enabled:hover::after,\r\n        .calendar .month-grid .week-date.enabled:focus::after {\r\n            background-color: whitesmoke;\r\n        }\r\n        .calendar .month-grid .week-date.selected .date-text {\r\n            color: #fff !important;\r\n        }\r\n        .calendar .month-grid .week-date.selected::after{\r\n            background-color: blue !important;\r\n        }\r\n        .calendar .month-grid .week-date.today::after {\r\n            background-color: lightblue;\r\n            font-weight: bold;\r\n            color: #fff;\r\n        }\r\n        @media print {\r\n            .calendar-box .popper {\r\n                display: none;\r\n            }\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class CalendarComponent implements PipeComponentInterface {\r\n\r\n  source!: Date;\r\n  id!: string;\r\n  name!: string;\r\n  item: any;\r\n  showCalendar = false;\r\n  formatting!:string;\r\n  editName = false;\r\n  multiselect = false;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  origDate!: Date;\r\n  currentDate!: Date;\r\n  dayNames = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\r\n  weeks: CalendarDateInterface[][] = [];\r\n  selectedDays: Date[] = [];\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  constructor(private renderer: Renderer2) {\r\n\r\n  }\r\n\r\n  keyup(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    const code = event.which;\r\n    if (code === 13 && !this.disabled) {\r\n        event.target.click();\r\n    }\r\n  }\r\n  popdatepicker(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    this.showCalendar = !this.showCalendar;\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['calendar:MM/dd/yyyy']; //date format\r\n  }\r\n  transform(source: Date, data: any, args?: any[]) {\r\n    this.source= source;\r\n    this.currentDate = new Date(source);\r\n    this.origDate =  new Date(source);\r\n\r\n    if (source instanceof Array) {\r\n        this.multiselect = true;\r\n        source.map( (item) => {\r\n            this.selectedDays.push(new Date(item));\r\n        })\r\n    } else {\r\n        this.multiselect = false;\r\n        this.selectedDays.push(new Date(this.source));\r\n    }\r\n    this.item = data;\r\n    this.generateCalendar();\r\n    this.formatting= (args && args.length) ? args[0] : \"\";\r\n  }\r\n\r\n  isSelected(date: Date): boolean {\r\n      let index = -1;\r\n      for (let i = 0; i < this.selectedDays.length; i++) {\r\n          const selectedDate: Date = this.selectedDays[i];\r\n          if (this.isSameDay(date, selectedDate)) {\r\n            index = i;\r\n          }\r\n      }\r\n    return index > -1;\r\n  }\r\n\r\n  isSelectedMonth(date: Date): boolean {\r\n    return this.isSameMonth(date, this.currentDate);\r\n  }\r\n\r\n  toggleSelectedDates(day: CalendarDateInterface) {\r\n      let found = false;\r\n      if (this.multiselect) {\r\n        for (let i = 0; i < this.selectedDays.length; i++) {\r\n            const date: Date = this.selectedDays[i];\r\n            if (this.isSameDay(day.date, date)) {\r\n                this.selectedDays.splice(i,1);\r\n                found = true;\r\n                day.selected = false;\r\n                break;\r\n            }\r\n          }\r\n          if(!found) {\r\n              this.selectedDays.push(day.date);\r\n              day.selected = true;\r\n          }\r\n      } else {\r\n        this.selectedDays = [day.date];\r\n        day.selected = true;\r\n      }\r\n  }\r\n  selectDate(event: any, day: CalendarDateInterface): void {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if(this.validate(this.item, day.date)) {\r\n        this.origDate = day.date;\r\n        this.currentDate = day.date;\r\n        this.toggleSelectedDates( day );\r\n    \r\n        this.selectedDays.sort( (a, b) => {\r\n            return a > b ? -1 : 1;\r\n        });\r\n        this.onIntoComponentChange.emit({\r\n            id: this.id,\r\n            name: this.name,\r\n            value: this.selectedDays,\r\n            type: \"select\",\r\n            item: this.item\r\n        });\r\n        this.generateCalendar();\r\n    }\r\n    this.showCalendar = false;\r\n  }\r\n\r\n  // actions from calendar\r\n  prevMonth(event: any): void {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    this.currentDate = new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()-1, this.currentDate.getDate());\r\n    this.generateCalendar();\r\n  }\r\n\r\n  nextMonth(event: any): void {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    this.currentDate = new Date(this.currentDate.getFullYear(),this.currentDate.getMonth()+1, this.currentDate.getDate());\r\n    this.generateCalendar();\r\n  }\r\n\r\n  prevYear(event: any): void {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    this.currentDate = new Date(this.currentDate.getFullYear()-1,this.currentDate.getMonth(), this.currentDate.getDate());\r\n    this.generateCalendar();\r\n  }\r\n\r\n  nextYear(event: any): void {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    this.currentDate = new Date(this.currentDate.getFullYear()+1,this.currentDate.getMonth(), this.currentDate.getDate());\r\n    this.generateCalendar();\r\n  }\r\n\r\n    // generate the calendar grid\r\n    generateCalendar(): void {\r\n        const dates = this.fillDates(this.currentDate);\r\n        const weeks: CalendarDateInterface[][] = [];\r\n        while (dates.length > 0) {\r\n        weeks.push(dates.splice(0, 7));\r\n        }\r\n        this.weeks = weeks;\r\n    }\r\n    private isSameDay(a: Date, b: Date) {\r\n        return a.getFullYear() === b.getFullYear() && \r\n            a.getMonth() === b.getMonth() && \r\n            a.getDate() === b.getDate();\r\n    }\r\n    private isSameMonth(a: any, b: any) {\r\n        return a.getYear() === b.getYear() && \r\n            a.getMonth() === b.getMonth();\r\n    }\r\n\r\n    fillDates(currentDate: Date): CalendarDateInterface[] {\r\n        const cm = new Date(currentDate);\r\n        const tm = new Date();\r\n        const firstDay = new Date(cm.getFullYear(), cm.getMonth(), 1)\r\n        const firstOfMonth = firstDay.getDay();\r\n        const firstDayOfGrid = new Date(firstDay.getFullYear(), firstDay.getMonth(), firstDay.getDate() - firstOfMonth);\r\n        const start = firstDayOfGrid.getDate();\r\n        const list = [];\r\n        for (let i = start; i< (start + 42);i++){\r\n            const d = new Date(firstDayOfGrid.getFullYear(), firstDayOfGrid.getMonth(), i);\r\n            list.push({\r\n                today: this.isSameDay(tm, d),\r\n                selected: this.isSelected(d),\r\n                date: d\r\n            });\r\n        }\r\n        return list;\r\n    }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CalendarComponent } from './calendar.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [CalendarComponent],\r\n  exports: [CalendarComponent],\r\n  entryComponents: [CalendarComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class CalendarIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: CalendarIntoPipeModule,\r\n      providers: [\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('calendar', CalendarComponent);\r\n  }\r\n}\r\n","import { Component, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'checkbox-component',\r\n    template: `\r\n    <span *ngIf=\"useFont\" class=\"check-font {{disabled ? 'disabled' : ''}}\">\r\n      <span *ngIf=\"source === state1\" \r\n          #check tabindex=\"{{active ? 0 : -1}}\" \r\n          class=\"fa\" \r\n          [class.fa-toggle-on]=\"onOff\" \r\n          [class.fa-check]=\"!onOff\" \r\n          (keyup)=\"keyup($event)\" \r\n          (click)=\"click($event, false)\"></span>\r\n      <span *ngIf=\"source === state2\"\r\n          #uncheck tabindex=\"{{active ? 0 : -1}}\" \r\n          class=\"fa\" \r\n          checked\r\n          [class.fa-toggle-off]=\"onOff\" \r\n          [class.fa-close]=\"!onOff\" \r\n          (keyup)=\"keyup($event)\" \r\n          (click)=\"click($event, true)\"></span>\r\n    </span>\r\n    <input *ngIf=\"!useFont && displayable\" \r\n            type=\"checkbox\" \r\n            tabindex=\"{{active ? 0 : -1}}\" \r\n            [disabled]=\"disabled\"\r\n            [checked]=\"source===state1\" \r\n            (keyup)=\"keyup($event)\"\r\n            (click)=\"click($event, source!==state1)\" />\r\n    `,\r\n    styles: [\r\n      `\r\n      :host .check-font .fa{margin: var(--sedeh-margin, 0 5px);}\r\n      :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px);}\r\n      .check-font:hover{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n      .check-font .fa:focus{outline: none;zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n      .check-font {cursor: pointer;}\r\n      .check-font.disabled:hover{color: var(--sedeh-disabled-color, #888);}\r\n      .check-font.disabled {color: var(--sedeh-disabled-color, #888); pointer-events: none}\r\n      `\r\n    ]\r\n})\r\nexport class CheckboxComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source!: string;\r\n  state1!: string;\r\n  state2!: string;\r\n  id!: string;\r\n  name!: string;\r\n  onOff!: boolean;\r\n  useFont!: boolean;\r\n  displayable = true;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @ViewChild(\"check\")\r\n  check: any;\r\n\r\n  @ViewChild(\"uncheck\")\r\n  uncheck: any;\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  keyup(event: any) {\r\n    const code = event.which;\r\n    if (code === 13 && !this.disabled) {\r\n      event.target.click();\r\n\t\t}\r\n  }\r\n\r\n  click(event: any, checked: boolean) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    const newState = (checked ? this.state1 : this.state2);\r\n    if (!this.disabled && this.validate(this.data, newState)) {\r\n      this.displayable = false;\r\n      this.source = newState;\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: this.source,\r\n        type: \"check\",\r\n        item: this.data\r\n      });\r\n      if (this.useFont) {\r\n        setTimeout(() => {\r\n          if (this.check) {\r\n            this.check.nativeElement.focus();\r\n          }\r\n          if (this.uncheck) {\r\n            this.uncheck.nativeElement.focus();\r\n          }\r\n        },66);\r\n      } else {\r\n        setTimeout(()=> this.displayable = true, 66)\r\n      }\r\n    }\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['checkbox:true:false:false:false', 'checkbox:true:false:true:false', 'checkbox:true:false:true:true']; //state1 state2, useFont, onoff\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.state1= args && args.length ? String(args[0]) : \"\";\r\n    this.state2= (args && args.length > 1) ? String(args[1])  : '';\r\n    this.useFont= (args && args.length > 2 && args[2].length) ? args[2] === 'true' : false;\r\n    this.onOff= (args && args.length > 3 && args[3].length) ? args[3] === 'true' : false;\r\n    this.source= String(source);\r\n    this.data = data;\r\n  }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CheckboxComponent } from './checkbox.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [CheckboxComponent],\r\n  exports: [CheckboxComponent],\r\n  entryComponents: [CheckboxComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class CheckboxIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: CheckboxIntoPipeModule,\r\n      providers: [\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('checkbox', CheckboxComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'email',\r\n    template: `\r\n    <a \r\n        *ngIf=\"isLink\" \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        class=\"email {{disabled ? 'disabled':''}}\"\r\n        [href]=\"'mailto:' + source\" (keyup)='keyup($event)' \r\n        (click)=\"change($event)\">\r\n        <span class='fa fa-envelope' aria-hidden='true'></span>\r\n        <span [textContent]=\"source\"></span>\r\n    </a>\r\n    <span *ngIf=\"!isLink\">\r\n        <span class='fa fa-envelope' aria-hidden='true'></span>\r\n        <span [textContent]=\"source\"></span>\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        :host:hover .email{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host .email{text-decoration: none;}\r\n        :host .email:focus{outline: none;}\r\n        :host .email:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        :host .email.disabled{color: var(--sedeh-disabled-color, #888);cursor:default;pointer-events: none;text-decoration: none;}\r\n        :host .email.disabled .fa{color: var(--sedeh-disabled-color, #888);}\r\n        :host .fa{margin: var(--sedeh-margin, 0 5px);}\r\n        @media print {\r\n            :host a { text-decoration: none;}\r\n            :host a .fa-envelope {display: none;}\r\n            :host .fa-envelope {display: none;}\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class EmailComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n    name!: string;\r\n    isLink!: boolean;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['email:true']; //islink\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.isLink= (args && args.length && args[0].length) ? args[0] === 'true' : true;\r\n        this.source = source;\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: \"mail-to\",\r\n                item: event.type\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an email display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'email' })\r\nexport class EmailPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // email\r\n            return new EmailPipe().transform(content, args.length > 1 ? args[1]==='true' : true); \r\n        };\r\n        return x;\r\n    }\r\n\r\n    emailFromString(source: string, isLink: boolean) {\r\n        let x: string;\r\n        if (isLink) {\r\n            x = \"<a href=\\'mailto:\"+source+\"\\' ><span class='fa fa-envelope' aria-hidden='true'></span><span>\" + source + \"</span></a>\";\r\n        } else {\r\n            x = \"<span><span class='fa fa-envelope' style='margin: 0 5px' aria-hidden='true'></span><span>\" + source + \"</span></span>\";\r\n        }\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n        const isLink= args.length ? args[0] : true;\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.emailFromString(source, isLink);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(this.emailFromString(item, isLink));\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { EmailComponent } from './email.component';\r\nimport { EmailPipe } from './email.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [EmailComponent, EmailPipe],\r\n  exports: [EmailComponent, EmailPipe],\r\n  entryComponents: [EmailComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n}) \r\n\r\nexport class EmailIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: EmailIntoPipeModule,\r\n      providers: [EmailPipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('email', EmailComponent);\r\n    pool.registerPipeTransformation('email', EmailPipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'font-component',\r\n    template: `\r\n        <span *ngIf=\"location === 'left'\"    [class]=\"font\" aria-hidden='true'></span>\r\n        <span *ngIf=\"location !== 'replace'\" [textContent]=\"content\"></span>\r\n        <span *ngIf=\"location === 'right'\"   [class]=\"font\" aria-hidden='true'></span>\r\n        <span *ngIf=\"location === 'replace'\" [class]=\"font\" aria-hidden='true'></span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        :host span {\r\n            float: left;\r\n            margin:  var(--sedeh-margin, 0 5px);\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class FontComponent implements PipeComponentInterface {\r\n    font!: string;\r\n    location!: string;\r\n    source!: string;\r\n\tid!: string;\r\n\tname!: string;\r\n    content!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange!: EventEmitter<any>;\r\n\r\n    static settingsPatterns() {\r\n        return ['font:fa fa-check::*']; //font class, location left/right, action\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n        this.font = args[0];\r\n        this.location = (args.length > 1 && args[1].length) ? args[1] : \"left\";\r\n        const action = args.length > 2 ? args[2].toLowerCase() : \"\";\r\n        this.content = action === \"*\" ? source : (\"replace\" === action.toLowerCase() ? \"\" : source);\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an email display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'font' })\r\nexport class FontPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // font:fa fa-check:left:*\r\n            return new FontPipe().transform(content, args.length > 1 ? args[1] : \"\", args.length > 2 ? args[2] : \"\", args.length > 3 ? args[3] : \"\"); \r\n        };\r\n        return x;\r\n    }\r\n\r\n    fontFromString(font: any, location: any, action: any, content: any) {\r\n        return (location === \"left\" ? \r\n                (font + content) : \r\n                ((location === \"right\") ? content + font : font));\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n        const font = args.length ? \"<span class=\\'\" + args[0] + \"\\' style='margin: 0 5px' aria-hidden='true'></span>\" : \"\";\r\n        const location = args.length > 1 ? args[1] : \"\";\r\n        const action = args.length > 2 ? args[2].toLowerCase() : \"\";\r\n        const content = action === \"*\" ? source : (\"replace\" === action.toLowerCase() ? \"\" : source);\r\n        \r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            return this.fontFromString(font, location, action, content);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item: any) => {\r\n                result.push(this.fontFromString(font, location, action, item));\r\n            });\r\n            return result;                \r\n        }\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { FontComponent } from './font.component';\r\nimport { FontPipe } from './font.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [FontComponent, FontPipe],\r\n  exports: [FontComponent, FontPipe],\r\n  entryComponents: [FontComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class FontIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: FontIntoPipeModule,\r\n      providers: [FontPipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('font', FontComponent);\r\n    pool.registerPipeTransformation('font', FontPipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, HostListener, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'image-component',\r\n    template: `<img [src]=\"source\" \r\n        [style.width]=\"width\" \r\n        [style.height]=\"height\" \r\n        [title]=\"alt\" />\r\n        <img *ngIf=\"popLocation\" \r\n        [src]=\"source\" class='popper'\r\n        [style.width]=\"(origWidth * magnification) + 'px'\" \r\n        [style.height]=\"(origHeight * magnification) + 'px'\" />`,\r\n    styles: [`\r\n    :host {display:block;overflow:hidden;margin:0;position:relative;float:left;min-width: var(--sedeh-min-width, 25px);min-height: var(--sedeh-min-height, 25px)}\r\n    :host .popper{position:absolute;pointer-events: none;display: none;z-index:2;border:2px solid;box-shadow: var(--sedeh-box-shadow, 3px 3px 3px #999);border-radius: 4px}\r\n    :host img{position:relative;pointer-events: none;}\r\n    `]\r\n})\r\nexport class ImageComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n\tname!: string;\r\n    origWidth!: number;\r\n    origHeight!: number;\r\n    magnification = 0;\r\n    popLocation!: string;\r\n    width!: string;\r\n    height!: string;\r\n    alt!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n    onIntoComponentChange = new EventEmitter();\r\n    \r\n    @HostListener('mouseenter',['$event'])\r\n\tenter(event: any) {\r\n        if (this.active && !this.disabled){\r\n            if (this.popLocation) {\r\n                const image = event.target.children[0];\r\n                const popper = event.target.children[1];\r\n                const rect = image.parentNode.getBoundingClientRect();\r\n                if (!this.origWidth && !this.origHeight) {\r\n                    this.origWidth = image.parentNode.clientWidth;\r\n                    this.origHeight = image.parentNode.clientHeight;\r\n                    image.parentNode.style.width = this.origWidth + \"px\";\r\n                    image.parentNode.style.height = this.origHeight + \"px\";\r\n                }\r\n                popper.parentNode.style.overflow = 'inherit';\r\n                popper.style.display = 'table';\r\n                switch (this.popLocation) {\r\n                    case 'left' : \r\n                        popper.style.right = (rect.width + 20) + 'px';\r\n                        popper.style.top = (((1 - this.magnification) * this.origHeight) / 2) + 'px';\r\n                        break;\r\n                    case 'right': \r\n                        popper.style.left = (rect.width + 20)  + 'px';\r\n                        popper.style.top = (((1 - this.magnification) * this.origHeight) / 2) + 'px';\r\n                        break;\r\n                    case 'top'  : \r\n                        popper.style.bottom = (rect.height + 20) + 'px';\r\n                        popper.style.left = (((1 - this.magnification) * this.origWidth) / 2) + 'px';\r\n                        break;\r\n                    case 'bottom': \r\n                        popper.style.top = (rect.height + 20) + 'px';\r\n                        popper.style.left = (((1 - this.magnification) * this.origWidth) / 2) + 'px';\r\n                        break;\r\n                }\r\n            } else if (this.magnification) {\r\n                const image = event.target.children[0];\r\n                if (!this.origWidth && !this.origHeight) {\r\n                    this.origWidth = image.parentNode.clientWidth;\r\n                    this.origHeight = image.parentNode.clientHeight;\r\n                    image.parentNode.style.width = this.origWidth + \"px\";\r\n                    image.parentNode.style.height = this.origHeight + \"px\";\r\n                }\r\n                this.width = (this.origWidth * this. magnification * 2) + 'px';\r\n                this.height = (this.origHeight * this. magnification * 2) + 'px';\r\n                image.style.position = \"absolute\";\r\n            }\r\n            this.change(event);\r\n        }\r\n\t}\r\n    @HostListener('mouseout',['$event'])\r\n\thoverOut(event: any) {\r\n        if (this.active && !this.disabled){\r\n            if (this.popLocation) {\r\n                const popper = event.target.children[1];\r\n                popper.style.display = 'none';\r\n            } else if (this.magnification) {\r\n                const image = event.target.tagName === 'IMG' ? event.target : event.target.children[0];\r\n                if (image) {\r\n                    this.width = this.origWidth + 'px';\r\n                    this.height = this.origHeight + 'px';\r\n                    image.style.position = \"relative\";\r\n                    image.style.left = \"0\";\r\n                    image.style.top = \"0\";\r\n                }\r\n            }\r\n            this.change(event);\r\n        }\r\n\t}\r\n    @HostListener('mousemove',['$event'])\r\n\thoverViewPort(event: any) {\r\n        if (this.active && !this.disabled){\r\n            if (this.magnification && !this.popLocation) {\r\n                const image = event.target.tagName === 'IMG' ? event.target : event.target.children[0];\r\n                if (image) {\r\n                    image.style.top = -(event.layerY * this. magnification) + \"px\";\r\n                    image.style.left = -(event.layerX * this. magnification) + \"px\";\r\n                }\r\n            }\r\n        }\r\n\t}\r\n    static settingsPatterns() {\r\n        return ['image:::::']; //width, height, alt text, magnify, popup\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n\r\n        this.source = source;\r\n        this.width = (args && args.length) ? args[0] : \"auto\";\r\n        this.height = (args && args.length > 1) ? args[1] : \"auto\";\r\n        this.alt = (args && args.length > 2) ? args[2] : \"\";\r\n        this.magnification = (args && args.length > 3) ? parseInt(args[3],10) : 1;\r\n        this.popLocation = (args && args.length > 4) ? args[4] : undefined;\r\n\r\n        this.magnification = this.magnification < 0 ? 0 : this.magnification;\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            if(!this.alt || !this.alt.length) {\r\n                const q = source.indexOf(\"?\");\r\n                const t = q < 0 ? source : source.substring(0, q);\r\n                const d = t.lastIndexOf(\"/\");\r\n                this.alt = d < 0 ? t : t.substring(d+1);\r\n            }\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: event.type,\r\n                item: {x: event.layerX, y: event.layerY}\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an image display. \r\n* if transforming object is an array, all elements in the array will be transformed and the resulting array will be returned.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'image' })\r\nexport class ImagePipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            // image:200px:auto:alttext OR image:200px:alternate-text OR image:200px OR image\r\n            if (args.length > 3) {\r\n                return new ImagePipe().transform(content, args[1], args[2], args[3]);\r\n            } else if (args.length > 2) {\r\n                return new ImagePipe().transform(content, args[1], args[2]);\r\n            } else if (args.length > 1) {\r\n                return new ImagePipe().transform(content, args[1]);\r\n            } else {\r\n                return new ImagePipe().transform(content, \"\");\r\n            }\r\n        };\r\n        return x;\r\n    }\r\n\r\n    stringToImage(source: string, width: string, height: string, alt: string) {\r\n        if(!alt || !alt.length) {\r\n            const q = source.indexOf(\"?\");\r\n            const t = q < 0 ? source : source.substring(0, q);\r\n            const d = t.lastIndexOf(\"/\");\r\n            alt = d < 0 ? t : t.substring(d+1);\r\n        }\r\n        return \"<img src=\\'\"+source+\"\\' style=\\'\"+ width + height + \"\\' title=\\'\"+alt+\"\\' />\";\r\n    }\r\n    arrayToImage(sources: any, width: string, height: string, alt: string) {\r\n        const result: any[] = [];\r\n        sources.map((source: string) => {\r\n            result.push(this.stringToImage(source, width, height, alt));\r\n        });\r\n        return result;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n\r\n        const width:string = (args && args.length) ? \"width: \" + args[0] + \";\" : \"\";\r\n        const height:string = (args && args.length > 1) ? \"height: \" + args[1] + \";\" : \"\";\r\n        const alt:string = (args && args.length > 2) ? args[2] : \"\";\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.stringToImage(source, width, height, alt);\r\n        }\r\n        return this.arrayToImage(source, width, height, \"\");\r\n\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ImageComponent } from './image.component';\r\nimport { ImagePipe } from './image.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [ImageComponent, ImagePipe],\r\n  exports: [ImageComponent, ImagePipe],\r\n  entryComponents: [ImageComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class ImageIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: ImageIntoPipeModule,\r\n      providers: [ImagePipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('image', ImageComponent);\r\n    pool.registerPipeTransformation('image', ImagePipe.transformationMethod());\r\n  }\r\n}\r\n","import { Pipe, PipeTransform  } from '@angular/core';\r\n\r\nimport { ComponentPool } from './component.pool';\r\n\r\n@Pipe({name:'into'})\r\nexport class InToPipe implements PipeTransform{\r\n\r\n  constructor(private pool: ComponentPool) {}\r\n\r\n  transform(content: any, list: string): any {\r\n    let result = content;\r\n    \r\n    list.split(\"|\").map( (item: string) => {\r\n        result = this._transform(result, this.split(item));\r\n    });\r\n\r\n    return result;\r\n  }\r\n\r\n  private split(item: string) {\r\n    const matched = item.trim().match(/(?=\\S)[^\"\\:]*(?:\"[^\\\\\"]*(?:\\\\[\\:\\S][^\\\\\"]*)*\"[^\"\\:]*)*/g);\r\n      return matched ? matched.filter((x)=>x.length) : [];\r\n  }\r\n\r\n  private _transform(content: any, args: string[]) {\r\n    let result = this.pool.registeredPipeTransformation(args[0], content, args, this._transform.bind(this)); \r\n    return result ? result : content;\r\n  }\r\n}\r\n","import { Component, ViewChild, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'input-component',\r\n    template: `\r\n    <span *ngIf=\"editName || locked\">\r\n    <input #nameEditor\r\n        type='text' \r\n        [id]=\"id\"\r\n        [name]=\"name\"\r\n        [disabled]=\"disabled\"\r\n        [value]=\"source\"\r\n        [placeholder]=\"placeholder\"\r\n        (blur)=\"blur($event)\" \r\n        (keyup)='keyup($event)'>\r\n    </span>\r\n    <span #nameHolder\r\n        *ngIf=\"!locked && !editName && formatting\"\r\n        class=\"locked {{disabled ? 'disabled' : ''}}\" \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (keyup)='handleEdit($event)'\r\n        (click)=\"clickName($event)\"\r\n        [innerHTML]=\"source ? (source | into:formatting) : '&nbsp;'\">\r\n    </span>\r\n    <span #nameHolder\r\n        *ngIf='!locked && !editName && !formatting'\r\n        class='locked' \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (keyup)='handleEdit($event)'\r\n        (click)=\"clickName($event)\"\r\n        [innerHTML]=\"source ? source : '&nbsp;'\">\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        .locked {\r\n          display: inline-block;\r\n          cursor: pointer;\r\n          min-width: 30px;\r\n          width: 100%;\r\n          -webkit-user-select: none;       \r\n          -moz-user-select: none;\r\n          -ms-user-select: none;\r\n          user-select: none;\r\n          border: 1px solid transparent;\r\n        }\r\n        input {\r\n          cursor: beam;\r\n        }\r\n        :host {width: 100%;display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        :host .locked:hover{border: var(--sedeh-solid-border, 1px solid #fabdab);}\r\n        :host .locked.disabled:hover{border-color: transparent;cursor: default;}\r\n        `\r\n    ]\r\n})\r\nexport class InputComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source!: string;\r\n  id!: string;\r\n  name!: string;\r\n  placeholder!: string;\r\n  formatting!:string;\r\n  editName = false;\r\n  oldValue!: string;\r\n  disabled = false;\r\n  active = true;\r\n  locked = false;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @ViewChild(\"nameEditor\")\r\n  nameEditor: any;\r\n\r\n  @ViewChild(\"nameHolder\")\r\n  nameHolder: any;\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  constructor(private renderer: Renderer2) {\r\n\r\n  }\r\n\r\n  keyup(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if (!this.disabled) {\r\n      const code = event.which;\r\n      if (!code || (code === 13) || (code === 9) || (code === 27) ) {\r\n        this.blur(event);\r\n      }\r\n    }\r\n  }\r\n  blur(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    const newValue = String(event.target.value);\r\n    if (this.oldValue !== newValue) {\r\n      if (this.validate(this.data, newValue)) {\r\n        this.source = newValue;\r\n        this.editName = false;\r\n        this.onIntoComponentChange.emit({\r\n          id: this.id,\r\n          name: this.name,\r\n          value: this.source,\r\n          type: \"change\",\r\n          item: this.data\r\n        });\r\n      } else {\r\n        this.source = this.oldValue;\r\n        this.editName = false;\r\n      }\r\n    }\r\n    this.editName = false;\r\n    if(!this.disabled && this.oldValue !== String(this.source) && this.validate(this.data, String(this.source))) {\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: this.source,\r\n        item: this.data\r\n      });\r\n    }\r\n  }\r\n\r\n  handleEdit(event: any) {\r\n    const code = event.which;\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if(!this.disabled && ((code === 13) || (code === 9))) {\r\n      event.target.click();\r\n    }\r\n  }\r\n\r\n  clickName(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if (!this.disabled) {\r\n      this.editName = true;\r\n      this.oldValue = String(this.source);\r\n      setTimeout(() => {\r\n        this.renderer.selectRootElement(this.nameEditor.nativeElement).focus();\r\n      },66);\r\n    }\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['input:::false','input:::true']; //placeholder, into a pipe, locked by default\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.source= source;\r\n    this.data = data;\r\n    this.placeholder= args && args.length ? args[0] : \"\";\r\n    this.formatting = args && args.length > 1 ? args[1] : \"\";\r\n    this.locked = (args && args.length > 2 && args[2].length) ? args[2] === 'true' : false;\r\n  }\r\n}\r\n\r\n","/*\r\n* Defines a filter to append character(s) to a content.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'append' })\r\nexport class AppendPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            // append:something\r\n            return new AppendPipe().transform(content, args.length > 1 ? args[1] : \"\"); \r\n        };\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {    \r\n        const key = ((args && args.length) ? args[0] : \"\");\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return source + key;\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(item + key);\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n}\r\n","/*\r\n* Defines a filter to return a transformation argument which should be piped into another transform object\r\n* to transform the object value passed to this pipe.\r\n* the arguments are as follows: 1) condition, 2) value to evaluate the condition, 3) action, 4) else action.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'if' })\r\nexport class ConditionalPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        function split(item: string) {\r\n            return item.trim().match(/(?=\\S)[^\"\\:]*(?:\"[^\\\\\"]*(?:\\\\[\\:\\S][^\\\\\"]*)*\"[^\"\\:]*)*/g)?.filter(function(x){return x.length});\r\n        }\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            // if:=:true:fa fa-check:fa fa-bell\r\n            const acondition =  args.length > 1 ? args[1] : \"\";\r\n            const value =  args.length > 2 ? args[2] : \"\";\r\n            const action =  args.length > 3 ? args[3] : \"\";\r\n            const altAction =  args.length > 4 ? args[4] : \"\";\r\n            let result = new ConditionalPipe().transform(content, acondition, value, action, altAction);\r\n\r\n            if (typeof result === \"string\") {\r\n                result = result[0] === '\"' ? result.substring(1,result.length-1) : result;\r\n                result = split(result);\r\n                result = callback(content, result, data);\r\n            }\r\n            return result;\r\n        };\r\n        return x;\r\n    }\r\n    conditionFromString(content: any, acondition: string, value: any, action: any, altAction: any) {\r\n        let result = \"\";\r\n\r\n        switch(acondition){\r\n            case \"=\" : \r\n                result = content === value ? action : altAction;\r\n                break;\r\n            case \"!=\" : \r\n                result = content !== value ? action : altAction;\r\n                break;\r\n            case \">\" : \r\n                result = content > value ? action : altAction;\r\n                break;\r\n            case \">=\" : \r\n                result = content >= value ? action : altAction;\r\n                break;\r\n            case \"<\" : \r\n                result = content < value ? action : altAction;\r\n                break;\r\n            case \"<=\" : \r\n                result = content <= value ? action : altAction;\r\n                break;\r\n            case \"~\" : \r\n                result = content !== undefined && content !== null && content !== \"null\" ? action : altAction;\r\n                break;\r\n            case \"!~\" : \r\n                result = content === undefined || content === null || content === \"null\" ? action : altAction;\r\n                break;\r\n            case \"~=\" : \r\n                result = content && value && String(content).toLowerCase() === String(value).toLowerCase() ? action : altAction;\r\n                break;\r\n            case \"in\" :\r\n                result = content ? content.indexOf(action) : altAction;\r\n                break;\r\n        }\r\n        return result;\r\n\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n        const acondition =  args.length ? args[0] : \"\";\r\n        const value =  args.length > 1 ? args[1] : \"\";\r\n        const action =  args.length > 2 ? args[2] : \"\";\r\n        const altAction =  args.length > 3 ? args[3] : \"\";\r\n\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.conditionFromString(source, acondition, value, action, altAction);\r\n        } else {\r\n            const result: any = {};\r\n            source.map((item) => {\r\n                result[item] = this.conditionFromString(item, acondition, value, action, altAction);\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n}\r\n","/*\r\n* Defines a filter to join arrays or json attribute values.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'join' })\r\nexport class JoinPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            //join or join:character\r\n            return new JoinPipe().transform(content, args.length > 1 ? args[1] : \"\");\r\n        };\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {  \r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return source.join(args[0]);\r\n        } else {\r\n            const result: any[] = [];\r\n            Object.keys(source).map((key: any) => result.push(source[key]));\r\n            return result.join(args[0]);\r\n        } \r\n    }\r\n}\r\n","/*\r\n* Defines a filter to take a string as a key and returns value of key from the given map object.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'map' })\r\nexport class MapPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // map:key1;value1/key2;value2/key3;value3\r\n            return new MapPipe().transform(content, args.length > 1 ? args[1] : \"\");\r\n        };\r\n        return x;\r\n    }\r\n\r\n    valuesFor(list: any[], map: any) {\r\n        const result: any[] = [];\r\n        list.map((key) => {\r\n            if (map[key]) {\r\n                result.push(map[key]);\r\n            }\r\n        });\r\n        return result;\r\n    }\r\n    geMapping(mapping: any) {\r\n        const map = mapping;\r\n        if( mapping.trim ) {\r\n            const map: any = {};\r\n            mapping.split('/').map((key: string) => {\r\n                const x: any[] = key.split(';');\r\n                map[x[0]] = x[1];\r\n            });\r\n            mapping = map;      \r\n        }\r\n        return mapping;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n\r\n        const map = this.geMapping((args && args.length) ? args[0] : \"\");\r\n\r\n        return ((typeof source === \"string\") || !(source instanceof Array)) ? \r\n                        map[source] : \r\n                        this.valuesFor(source, map);\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to mask sensitive information. \r\n* if transforming object is an array, all elements in the array will be masked and the resulting array will be returned.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'mask' })\r\nexport class MaskPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // mask:4:*  OR mask:4\r\n            if (args.length > 2) {\r\n                return new MaskPipe().transform(content, parseInt(args[1], 10), args[2]);\r\n            }else if (args.length > 1) {\r\n                return  new MaskPipe().transform(content, args[1]);\r\n            } else {\r\n                return  new MaskPipe().transform(content);\r\n            }\r\n        };\r\n        return x;\r\n    }\r\n\r\n    maskString(item: any, visibleDigits: any, maskWith: any) {\r\n        const maskedSection = item  ? item.slice(0, -visibleDigits) : \"\";\r\n        const visibleSection = item ? item.slice(-visibleDigits) : \"\";\r\n\r\n        return item ? maskedSection.replace(/./g, maskWith) + visibleSection : \"\";\r\n    }\r\n    maskArray(items: any[], visibleDigits: any, maskWith: any) {\r\n        const result: any[] = [];\r\n        items.map((item) => {\r\n            result.push(this.maskString(item, visibleDigits, maskWith));\r\n        });\r\n        return result;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n\r\n        const visibleDigits = (args && args.length) ? args[0] : 4;\r\n        const maskWith = args.length > 1 ? args[1] : '*';\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.maskString(source, visibleDigits, maskWith);\r\n        }\r\n        return this.maskArray(source, visibleDigits, maskWith);\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to prepend character(s) to a content.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'prepend' })\r\nexport class PrependPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // prepend:something\r\n            return new PrependPipe().transform(content, args.length > 1 ? args[1] : \"\"); \r\n        };\r\n        return x;\r\n    }\r\n\r\n    transform(source: any, ...args: any[]): any {    \r\n        const key = ((args && args.length) ? args[0] : \"\");\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return key + source;\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(key + item);\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n}\r\n","/*\r\n* Takes care of problem with security precausions that strip out certain characters \r\n* from end result of your requests.\r\n* code taken from https://stackoverflow.com/questions/39681163/angular-2-sanitizing-html-stripped-some-content-with-div-id-this-is-bug-or-fe\r\n*/\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n  name: 'sanitizeHtml'\r\n})\r\nexport class SanitizeHtmlPipe implements PipeTransform {\r\n\r\n  constructor(private _sanitizer:DomSanitizer) {\r\n  }\r\n\r\n  transform(v:string):SafeHtml {\r\n    return this._sanitizer.bypassSecurityTrustHtml(v);\r\n  }\r\n}","/*\r\n* Defines a filter to convert a string into a map object.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'valueof' })\r\nexport class ValueOfPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // valueof:key\r\n            return new ValueOfPipe().transform(content, args.length > 1 ? args[1] : \"\");\r\n        };\r\n        return x;\r\n    }\r\n\r\n    valueOfSingle(source: any, key: string) {\r\n        return source[key];\r\n    }\r\n    valueOfMultiple(sources: any, key: string) {\r\n        const result: any[] = [];\r\n        sources.map((source: any) => {\r\n            result.push(this.valueOfSingle(source, key));\r\n        });\r\n        return result;\r\n    }\r\n    transform(object: any, ...args: any[]): any {\r\n        if ((typeof object === \"string\") || !(object instanceof Array)) {\r\n            return this.valueOfSingle(object, args[0]);\r\n        }\r\n        return this.valueOfMultiple(object, args[0]);\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to wrap a content into character(s).\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'wrap' })\r\nexport class WrapPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // wrap:something:something  OR wrap:something\r\n            const p1 = args && args.length > 1 ? args[1] : \"\";\r\n            const p2 = args && args.length > 2 ? args[2] : args[1];\r\n\r\n            return new WrapPipe().transform(content, p1, p2); \r\n        };\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {  \r\n        const pre = (args && args.length) ? args[0] : \"\";\r\n        const post= pre.length ? \r\n                    (args.length > 1 ? args[1] : \"\") : pre;\r\n        \r\n        const key = ((args && args.length) ? args[0] : \"\");\r\n        \r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return pre + source + post;\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(pre + item + post);\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n}\r\n","import {\r\n    Directive,\r\n    ViewContainerRef,\r\n    ElementRef,\r\n    Input,\r\n    OnInit\r\n} from '@angular/core';\r\n\r\nimport { PipeComponentInterface } from './pipe.component.interface';\r\nimport { ComponentPool } from './component.pool';\r\n\r\n@Directive({\r\n    selector: '[into]'\r\n})\r\nexport class IntoDirective implements OnInit {\r\n    private components: any = [];\r\n    private disabledComponents = false;\r\n    private activeComponents = true;\r\n    private validatingMethod = (item: any, value: any) => true;\r\n    \r\n    @Input(\"rawContent\")\r\n    rawContent!: any;\r\n    \r\n    @Input(\"intoId\")\r\n    intoId!: any;\r\n    \r\n    @Input(\"intoName\")\r\n    intoName!: any;\r\n    \r\n    @Input(\"intoData\")\r\n    intoData: any;\r\n\r\n    @Input(\"disabled\")\r\n    set disabled(value: boolean){\r\n        this.disabledComponents = value;\r\n        this.components.map((c: any) => c.disabled = value);\r\n    }\r\n    \r\n    @Input(\"active\")\r\n    set active(value: boolean){\r\n        this.activeComponents = value;\r\n        this.components.map((c: any) => c.active = value);\r\n    }\r\n    \r\n    @Input(\"validate\")\r\n    set validate(value: any){\r\n        this.validatingMethod = value;\r\n        this.components.map((c: any) => c.validate = value);\r\n    }\r\n    \r\n    @Input(\"into\")\r\n    into!: string | string[] | undefined;\r\n\r\n    @Input(\"onComponentChange\")\r\n    onComponentChange = (event: any) => {};\r\n\r\n    constructor(\r\n        private viewRef: ViewContainerRef,\r\n        public el:ElementRef,\r\n        private pool: ComponentPool\r\n    ) {\r\n    }\r\n    \r\n    private split(item: any) {\r\n        return item.trim().match(/(?=\\S)[^\"\\:]*(?:\"[^\\\\\"]*(?:\\\\[\\:\\S][^\\\\\"]*)*\"[^\"\\:]*)*/g)?.filter((x: any)=>x.length);\r\n    }\r\n    \r\n    private _transform(content: any, args: string[], data: any) {\r\n        let result = content;\r\n\r\n        if (this.pool.registeredForComponentWithNamed(args[0])) {\r\n            const newArgs = args.splice(1,args.length);\r\n            result = this.transformComponent(args[0], content, this.intoId, this.intoName, data, ...newArgs); \r\n        } else if (this.pool.registeredForPipeTransformationNamed(args[0])) {\r\n            result = this.pool.registeredPipeTransformation(args[0], content, args, this._transform.bind(this), data); \r\n        } else {\r\n            // unknown formatter\r\n            try {\r\n                result = this.transformComponent(\r\n                    args[0], \r\n                    content, \r\n                    this.intoId, \r\n                    this.intoName, \r\n                    data, \r\n                    args.length > 1 ? args[1] : \"\", \r\n                    args.length > 2 ? args[2] : \"\", \r\n                    args.length > 3 ? args[3] : \"\", \r\n                    args.length > 4 ? args[4] : \"\", \r\n                    args.length > 5 ? args[5] : \"\");\r\n            }catch(x) {\r\n                console.error(x);\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n\r\n    private transformComponent(type: any, content: any, id: string, name: string, data: any,...args: any[]): any {\r\n        let result = content;\r\n        if (content === undefined) {\r\n            return \"\";\r\n        }\r\n        if (content instanceof Date || \r\n            typeof content === \"string\" || \r\n            typeof content === \"number\" || \r\n            typeof content === \"boolean\" || \r\n            Object.keys(content).length) {\r\n            result =  this.registeredComponentFor(type);\r\n            if (result === null || result === undefined) {\r\n                console.error(\"Custom component '\" + type+ \"' is not defined.\");\r\n                result = content;\r\n            } else {\r\n                result.id = id;\r\n                result.name = name;\r\n                result.active = this.activeComponents;\r\n                result.disabled = this.disabledComponents;\r\n                result.validate = this.validatingMethod;\r\n                result.service = this.pool.registeredServiceForComponent(type);\r\n                result.transform(content.source ? content.source : content, data, args);\r\n                if (result.onIntoComponentChange && this.onComponentChange) {\r\n                    result.onIntoComponentChange.subscribe(this.onComponentChange);\r\n                }\r\n                this.components.push(result);\r\n            }\r\n        } else if (content instanceof Array) {\r\n            let counter = 0;\r\n            result = content;\r\n            content.map((source) => {\r\n                if (typeof source === \"string\" || \r\n                    typeof content === \"number\" || \r\n                    typeof content === \"boolean\" || \r\n                    Object.keys(content).length) {\r\n\r\n                    const comp = this.registeredComponentFor(type);\r\n                    if (comp === null || comp === undefined) {\r\n                        console.error(\"Custom component '\" + type+ \"' is not defined.\");\r\n                    } else {\r\n                        comp.id = id + '-' + (counter++);\r\n                        comp.name = name;\r\n                        comp.active = this.activeComponents;\r\n                        comp.disabled = this.disabledComponents;\r\n                        comp.validate = this.validatingMethod;\r\n                        comp.service = this.pool.registeredServiceForComponent(type);\r\n                        comp.transform(source.source ? source.source : source, data, args);\r\n                        if (comp.onIntoComponentChange && this.onComponentChange) {\r\n                            comp.onIntoComponentChange.subscribe(this.onComponentChange);\r\n                        }\r\n                        this.components.push(comp);\r\n                    }\r\n                }\r\n            });        \r\n        }\r\n        return result;\r\n\r\n    }\r\n\r\n    private registeredComponentFor(name: string): PipeComponentInterface {\r\n        return this.pool.registeredComponent(name, this.viewRef, this.el.nativeElement);\r\n    }\r\n    private initInstance(into: string) {\r\n        let result: any =  this.rawContent;\r\n        if (into) {\r\n            into.split(\"|\").map( (item) => {\r\n                result = this._transform(result, item.trim().split(/:(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/), this.intoData);\r\n            });\r\n        }\r\n        if (typeof result === \"string\") {\r\n            const comp: PipeComponentInterface = this.registeredComponentFor(\"span\");\r\n            if (comp)  {\r\n                comp.transform(result, [], this.intoData);\r\n                this.components.push(comp);\r\n            } else {\r\n                console.error(\"Custom component 'span' is not defined.\");\r\n            }\r\n        } else if (result instanceof Array) {\r\n            result.map((source) => {\r\n                if (typeof source === \"string\") {\r\n                    const comp: PipeComponentInterface = this.registeredComponentFor(\"span\");\r\n                    if (comp)  {\r\n                        comp.transform(source, [], this.intoData);\r\n                        this.components.push(comp);\r\n                    } else {\r\n                        console.error(\"Custom component 'span' is not defined.\");\r\n                    }\r\n                }\r\n            });\r\n        }\r\n    }\r\n    \r\n\tngOnInit() {\r\n        const key = this.into ? this.into : 'span';\r\n        if (typeof key === 'string') {\r\n            this.initInstance(key);\r\n        } else {\r\n            key.map((into: string) => this.initInstance(into));\r\n        }\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { \r\n    CommonModule,\r\n    DatePipe,\r\n    CurrencyPipe,\r\n    DecimalPipe,\r\n    JsonPipe,\r\n    SlicePipe,\r\n    UpperCasePipe,\r\n    LowerCasePipe\r\n} from '@angular/common';\r\n\r\nimport {AppendPipe} from './append.pipe';\r\nimport {ConditionalPipe} from './conditional.pipe';\r\nimport {JoinPipe} from './join.pipe';\r\nimport {MapPipe} from './map.pipe';\r\nimport {MaskPipe} from './mask.pipe';\r\nimport {PrependPipe} from './prepend.pipe';\r\nimport {SanitizeHtmlPipe} from './sanitizeHtml.pipe';\r\nimport {ValueOfPipe} from './valueof.pipe';\r\nimport {WrapPipe} from './wrap.pipe';\r\nimport { InToPipe } from './into.pipe';\r\nimport { IntoDirective } from './into.directive'\r\nimport { ComponentPool } from './component.pool';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule\r\n  ],\r\n  declarations: [\r\n    AppendPipe,\r\n    ConditionalPipe,\r\n    JoinPipe,\r\n    MapPipe,\r\n    MaskPipe,\r\n    PrependPipe,\r\n    SanitizeHtmlPipe,\r\n    ValueOfPipe,\r\n    WrapPipe,\r\n    InToPipe,\r\n    IntoDirective\r\n  ],\r\n  exports: [\r\n    AppendPipe,\r\n    ConditionalPipe,\r\n    JoinPipe,\r\n    MapPipe,\r\n    MaskPipe,\r\n    PrependPipe,\r\n    SanitizeHtmlPipe,\r\n    ValueOfPipe,\r\n    WrapPipe,\r\n    InToPipe,\r\n    IntoDirective\r\n  ],\r\n  entryComponents: [],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class CommonPipesModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: CommonPipesModule,\r\n      providers: [\r\n        DatePipe,\r\n        CurrencyPipe,\r\n        DecimalPipe,\r\n        JsonPipe,\r\n        SlicePipe,\r\n        UpperCasePipe,\r\n        LowerCasePipe,\r\n    \r\n        AppendPipe,\r\n        ConditionalPipe,\r\n        JoinPipe,\r\n        MapPipe,\r\n        MaskPipe,\r\n        PrependPipe,\r\n        SanitizeHtmlPipe,\r\n        ValueOfPipe,\r\n        WrapPipe,\r\n        ComponentPool,\r\n        InToPipe\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerPipeTransformation('append', AppendPipe.transformationMethod());\r\n    pool.registerPipeTransformation('if', ConditionalPipe.transformationMethod());\r\n    pool.registerPipeTransformation('join', JoinPipe.transformationMethod());\r\n    pool.registerPipeTransformation('map', MapPipe.transformationMethod());\r\n    pool.registerPipeTransformation('mask', MaskPipe.transformationMethod());\r\n    pool.registerPipeTransformation('prepend', PrependPipe.transformationMethod());\r\n    pool.registerPipeTransformation('valueof', ValueOfPipe.transformationMethod());\r\n    pool.registerPipeTransformation('wrap', WrapPipe.transformationMethod());\r\n\r\n    pool.registerPipeTransformation('slice',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // slice 5:12 OR slice 5\r\n        let result: any;\r\n        let start = parseInt(args[1], 10);\r\n        let end: any = undefined;\r\n        if (args && args.length > 2) {\r\n            end= parseInt(args[2], 10);\r\n        }\r\n        const slicer =new SlicePipe();\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = end ? slicer.transform(content, start, end) : slicer.transform(content, start);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(end ? slicer.transform(cnt, start, end) : slicer.transform(cnt, start));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('number',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // number:en_US:2   or number:en_US or number\r\n        let result: any;\r\n        let numLocal = \"en_US\";\r\n        let numDecimal: any= undefined;\r\n        if (args && args.length > 2) {\r\n            numLocal = args[1];\r\n            numDecimal= args[2];\r\n        }\r\n        const decimaler =new DecimalPipe(numLocal);\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = numDecimal ? decimaler.transform(content, numDecimal) : decimaler.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(numDecimal ? decimaler.transform(cnt, numDecimal) : decimaler.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('currency',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // currency:en_US or currency\r\n        let result: any;\r\n        const cp = new CurrencyPipe(args && args.length > 1 ? args[1] : \"en_US\");\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = cp.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(cp.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('lowercase',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // lowercase\r\n        let result: any;\r\n        const lcp =  new LowerCasePipe();\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = lcp.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(lcp.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('uppercase',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // uppercase\r\n        let result: any;\r\n        const ucp =  new UpperCasePipe();\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = ucp.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(ucp.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('json',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // json\r\n        let result: any;\r\n        const jcp =  new JsonPipe();\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = jcp.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(jcp.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n\r\n    pool.registerPipeTransformation('date',\r\n      (content: any, args: string[], callback?: any, data?: any) => {\r\n        // date:en_US:MMddyy OR date:\\\"MM/dd/yyyy hh:ss\\\"\r\n        // const date = ((typeof content === \"string\") || !(content instanceof Array)) ? new Date(content) : content;\r\n        let result: any;\r\n        let dateLocal = \"en_US\";\r\n        let dateFormat= args[1];\r\n        if (args && args.length > 2) {\r\n            dateLocal = args[1];\r\n            dateFormat= args[2];\r\n        }\r\n        const dater =new DatePipe(dateLocal);\r\n        if ((typeof content === \"string\") || !(content instanceof Array)) {\r\n            result = dater.transform(content);\r\n        } else {\r\n            result = [];\r\n            content.map((cnt) => {\r\n                result.push(dater.transform(cnt));\r\n            });\r\n        }\r\n        return result;\r\n      }\r\n    );\r\n  }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { InputComponent } from './input.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\nimport { CommonPipesModule } from '../common/common-pipes.module';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, CommonPipesModule.forRoot()],\r\n  declarations: [InputComponent],\r\n  exports: [InputComponent],\r\n  entryComponents: [InputComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class InputIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: InputIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('input', InputComponent);\r\n  }\r\n}\r\n","import { Component, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface, PipeServiceComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'input-group-component',\r\n    template: `\r\n    <span class=\"input-group-item\" *ngFor=\"let x of options; let i = index\">\r\n      <input \r\n        [type]=\"type\" \r\n        [id]=\"name + i\" \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        [name]=\"name + (type === 'radio' ? '' : i)\" \r\n        [value]=\"x.value ? x.value : x\" \r\n        [disabled]=\"disabled\"\r\n        [checked]=\"isSelected(x)\"\r\n        (keyup)='keyup($event)'\r\n        (change)=\"change($event)\"/>\r\n      <label [for]=\"name + i\" [textContent]=\"x.label ? x.label : x\"></label>\r\n    </span>\r\n    <span class=\"selected-value\" [textContent]=\"source\"></span>\r\n    `,\r\n    styles: [\r\n      `\r\n      :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n      :host .selected-value {display:none}\r\n      @media print {\r\n        :host .selected-value {display: block;}\r\n        :host .input-group-item {display: none;}\r\n      }\r\n      `\r\n    ]\r\n})\r\nexport class InputGroupComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source: any;\r\n  options!: any;\r\n  id!: string;\r\n  name!: string;\r\n  type!: string;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  service!: PipeServiceComponentInterface;\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  constructor(private renderer: Renderer2) {}\r\n\r\n  keyup(event: any) {\r\n    const code = event.which;\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if (code === 13 && !this.disabled) {\r\n        event.target.click();\r\n    }\r\n  }\r\n  change(event:any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n    if (!this.disabled) {\r\n      let index = -1;\r\n      this.options.map((option: any, i: number) => {const v = option.value ? option.value : option; if (v === event.target.value)index = i});\r\n      const change = {index:  index, value: event.target.value};\r\n      if (this.validate(this.data, change)) {\r\n        if (this.type === 'radio') {\r\n          this.source = change.value;\r\n        } else {\r\n          if (event.target.checked) {\r\n            this.source.push(event.target.value);\r\n          } else {\r\n            const x = (<any[]>this.source).indexOf(event.target.value);\r\n            this.source.splice(change.index,x);\r\n          }\r\n        }\r\n        this.onIntoComponentChange.emit({\r\n          id: this.id,\r\n          name: this.name,\r\n          value: this.source,\r\n          type: \"select\",\r\n          item: this.data\r\n        });\r\n      } else {\r\n        this.options = JSON.parse(JSON.stringify(this.options))\r\n      }\r\n    }\r\n  }\r\n  isSelected(item: any) {\r\n    const xitem = item.value ? item.value : item;\r\n    if (this.type === 'radio') {\r\n      return xitem === this.source;\r\n    }\r\n    let found = false;\r\n    this.source.map((x: any) => {\r\n      if (xitem === x) {\r\n        found = true;\r\n      }\r\n    });\r\n    return found;\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['inputgroup']; //no argument\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.source= source;\r\n    this.data = data;\r\n    this.options = this.service.getDataFor(this.name, this.id, data);\r\n    this.type = (source instanceof Array) ? 'checkbox' : 'radio';\r\n  }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { InputGroupComponent } from './input-group.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [InputGroupComponent],\r\n  exports: [InputGroupComponent],\r\n  entryComponents: [InputGroupComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class InputGroupIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: InputGroupIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('inputgroup', InputGroupComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'json-component',\r\n    template: `<span class=\"json-view\" [textContent]=\"source | json\"></span>`,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        .json-view {\r\n            display: inline-block;\r\n            float: left;\r\n            font-family: monospace;\r\n            padding: var(--sedeh-padding, 5px);\r\n            white-space: pre-wrap;\r\n            unicode-bidi: embed;        \r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class JsonComponent implements PipeComponentInterface {\r\n\tid!: string;\r\n\tname!: string;\r\n    source!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange!: EventEmitter<any>;\r\n\r\n    static settingsPatterns() {\r\n        return ['json']; //no arguments\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders , Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { JsonComponent } from './json.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [JsonComponent],\r\n  exports: [JsonComponent],\r\n  entryComponents: [JsonComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class JsonIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: JsonIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('json', JsonComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'lastupdate-component',\r\n    template: `\r\n    <span *ngIf=\"showIcon\" class=\"fa fa-clock-o\" aria-hidden=\"true\"></span>\r\n    <span>{{formatDate()}}</span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px);position: relative}\r\n        .fa {margin:var(--sedeh-margin, 0 5px)}\r\n        @media print {\r\n            :host .fa-clock-o {\r\n                display: none;\r\n            }\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class LastUpdateComponent implements PipeComponentInterface {\r\n    source: any;\r\n\tid!: string;\r\n    name!: string;\r\n    showIcon!: boolean;\r\n\tdisabled = false;\r\n\tactive = true;\r\n\tvalidate = (item: any, newValue: any) => true;\r\n    \r\n    count!: string;\r\n\tonIntoComponentChange!: EventEmitter<any>;\r\n\r\n    static settingsPatterns() {\r\n\t\treturn ['lastupdate:false', 'lastupdate:true']; //show icon\r\n\t}\r\n\ttransform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n        this.showIcon = (args && args.length > 0 && args[0].length && args[0] === 'true');\r\n    }\r\n\r\n    formatDate() {\r\n\t\tconst currentDate = new Date();\r\n\t\tconst minute = 60000;// one minute\r\n\t\tconst hour = 3600000;// one hour limit\r\n\t\tconst day = 86400000;// 24 hours limit\r\n\t\tconst week = 604800000;// 7 days limit\r\n\t\tconst month = 604800000*4;// 7 days limit\r\n\t\tconst year = 604800000*52;// 7 days limit\r\n\t\tlet result = \"\";\r\n\r\n\t\tlet diff = currentDate.getTime() - this.source.getTime();\r\n\r\n\t\tif(diff <= minute) {// up to a minute\r\n\t\t\tresult = \"seconds ago\";\r\n\t\t}else if(diff <= hour) {// up to an hour\r\n\t\t\tlet minutes = Math.floor(diff/minute);\r\n\t\t\tlet seconds = Math.floor((diff - (minutes * minute))/1000);\r\n\r\n\t\t\tresult = (minutes < 2 ? \"a minute\" : minutes + \" minutes \") + (seconds > 0 ? \" and \" + seconds + \" seconds ago\" : \" ago\");\r\n\t\t}else if(diff <= day) {// up to a day\r\n\t\t\tlet hours = Math.floor(diff/hour);\r\n\t\t\tlet minutes = Math.floor((diff - (hours * hour))/minute);\r\n\t\t\t\r\n\t\t\tresult = (hours < 2 ? \"an hour\" : hours + \" hours \") + (minutes > 0 ? \" and \" + minutes + \" minutes ago\" : \" ago\");\r\n\t\t}else if(diff <= week) {// up to a week\r\n\t\t\tlet days = Math.floor(diff/day);\r\n\t\t\tlet hours = Math.floor((diff - (days * day))/hour);\r\n\r\n\t\t\tresult = (days < 2 ? \"a day\" : days + \" days \") + (hours > 0 ? \" and \" + hours + \" hours ago\" : \" ago\");\r\n\t\t}else if(diff <= month) {// up to a month\r\n\t\t\tlet weeks = Math.floor(diff/week);\r\n\t\t\tlet days = Math.floor((diff - (weeks * week))/day);\r\n\r\n\t\t\tresult = (weeks < 2 ? \"a week\" : weeks + \" weeks \") + (days > 0 ? \" and \" + days + \" days ago\" : \" ago\");\r\n\t\t}else if(diff <= year) {// up to a week\r\n\t\t\tlet months = Math.floor(diff/month);\r\n\t\t\tlet weeks = Math.floor((diff - (months * month))/week);\r\n\r\n\t\t\tresult = (months < 2 ? \"a month\" : months + \" months \") + (weeks > 0 ? \" and \" + weeks + \" weeks ago\" : \" ago\");\r\n\t\t} else {\r\n\t\t\tlet years = Math.floor(diff/year);\r\n\t\t\tlet months = Math.floor((diff - (years * year))/month);\r\n\r\n\t\t\tresult = (years < 2 ? \"a year\" : years + \" years \") + (months > 0 ? \" and \" + months + \" months ago\" : \" ago\");\r\n\t\t}\r\n\t\treturn result;\r\n\t}\r\n\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { LastUpdateComponent } from './lastupdate.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [LastUpdateComponent],\r\n  exports: [LastUpdateComponent],\r\n  entryComponents: [LastUpdateComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class LastUpdateIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: LastUpdateIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('lastupdate', LastUpdateComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'like-component',\r\n    template: `\r\n    <a \r\n        id='like-{{id}}' \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        class=\"like\" \r\n        [class.selected]=\"selected\" \r\n        [class.disabled]=\"disabled\" \r\n        (keyup)=\"keyup($event)\" \r\n        (click)='toggleCount($event)'>\r\n        <span class=\"fa fa-thumbs-up\" *ngIf=\"thumbsup\" aria-hidden=\"true\"></span>\r\n        <span class=\"fa fa-thumbs-down\" *ngIf=\"!thumbsup\" aria-hidden=\"true\"></span>\r\n        <span class=\"counts\" *ngIf=\"showCount\" [textContent]=\"formatterSource()\"></span>\r\n    </a>`,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px);position: relative}\r\n        .like {cursor: pointer;}\r\n        .like.disabled {cursor: default;pointer-events: none}\r\n        .like.disabled .fa{color: var(--sedeh-disabled-color, #888);}\r\n        .like .counts{margin-left: var(--sedeh-margin-left, 5px);}\r\n        .like .fa {margin: 0;}\r\n        .like:focus{outline: none;}\r\n        .like:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        .like.selected .counts, .like.selected .fa {color: var(--sedeh-sected-color, green);}\r\n        :host .like:hover, .like:hover .fa, .like:hover .fa.selected{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host .like.disabled:hover, .like.disabled:hover .fa, .like.disabled:hover .fa.selected{color: var(--sedeh-disabled-color, #888);}\r\n        `\r\n    ]\r\n})\r\nexport class LikeComponent implements PipeComponentInterface {\r\n  source: any;\r\n  id!: string;\r\n  data: any;\r\n\tname!: string;\r\n  showCount!: boolean;\r\n  thumbsup!: boolean;\r\n  selected!: boolean;\r\n  key!: string;\r\n  thumbs = \"\";\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n  static settingsPatterns() {\r\n    return ['like:true:true::true', 'like:true:false::true']; //show count, state, source attribute key, up/down\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.source = source;\r\n    this.data = data;\r\n    this.showCount = (args && args.length > 0 && args[0].length && args[0] === 'true');\r\n    this.thumbsup = (args && args.length > 1 && args[1].length && args[1] === 'true');\r\n    this.key = (args && args.length > 2) ? args[2] : \"\";\r\n    this.thumbs = this.thumbsup ? \"thumbs-up-items\" : \"thumbs-down-items\";\r\n    this.selected = (this.getItem(this.data[this.key]) !== null);\r\n  }\r\n  keyup(event: any) {\r\n    const code = event.which;\r\n\r\n    if (code === 13 && !this.disabled) {\r\n      event.target.click();\r\n    }\r\n  }\r\n  private addItem(id: string) {\r\n    const saved = localStorage.getItem(this.thumbs);\r\n    if (saved) {\r\n      const savedItems = JSON.parse(saved);\r\n      savedItems.push(id);\r\n      localStorage.setItem(this.thumbs, JSON.stringify(savedItems));\r\n    } else {\r\n      localStorage.setItem(this.thumbs, JSON.stringify([id]));\r\n    }\r\n    this.source ++;\r\n  }\r\n  private removeItem(id: string) {\r\n    const saved = localStorage.getItem(this.thumbs);\r\n    if (saved) {\r\n      const savedItems = JSON.parse(saved);\r\n      const i = savedItems.indexOf(id);\r\n      savedItems.splice(i, 1);\r\n\r\n      localStorage.setItem(this.thumbs, JSON.stringify(savedItems));\r\n      this.source --;\r\n    }\r\n  }\r\n  private getItem(id: string) {\r\n    const saved = localStorage.getItem(this.thumbs);\r\n    let found = null;\r\n\r\n    if (saved) {\r\n      const savedItems: any[] = JSON.parse(saved);\r\n      const i = savedItems.indexOf(id);\r\n\r\n      found = i < 0 ? null : savedItems[i];\r\n    }\r\n    return found;\r\n  }\r\n  formatterSource() {\r\n    let result = this.source;\r\n    if (this.source > 1000) {\r\n      result = (this.source/1000).toFixed(1) + \" k\"\r\n    }\r\n    return result;\r\n  }\r\n  toggleCount(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n    \r\n    if (!this.disabled && this.validate(this.data, !this.source)) {\r\n      this.selected = !this.selected;\r\n      if (this.selected) {\r\n        const existing = this.getItem(this.data[this.key]);\r\n        if (!existing) {\r\n          this.addItem(this.data[this.key]);\r\n        }\r\n      } else {\r\n        this.removeItem(this.data[this.key]);\r\n      }\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: this.source,\r\n        type: \"change\",\r\n        item: this.data,\r\n        selected: this.selected,\r\n        action: this.thumbs\r\n      });\r\n    }\r\n  }\r\n}","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { LikeComponent } from './like.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [LikeComponent],\r\n  exports: [LikeComponent],\r\n  entryComponents: [LikeComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class LikeIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: LikeIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('like', LikeComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'link-component',\r\n    template: `\r\n    <a [href]=\"disabled ? null : source\" \r\n        [target]=\"target\" \r\n        [textContent]=\"title\" \r\n        (mouseenter)='poped = !disabled' \r\n        (mouseleave)='poped = false' \r\n        (keyup)='keyup($event)' \r\n        [class.disabled]=\"disabled\"\r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (focus)=\"poped = true\"\r\n        (blur)=\"poped = false\"\r\n        (click)=\"change($event)\">\r\n        </a>\r\n        <img *ngIf='poped' [src]='source' />`,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px); position:relative}\r\n        :host a{text-decoration: none}\r\n        :host a.disabled{color: var(--sedeh-disabled-color, #888);cursor:default;text-decoration: none; pointer-events: none}\r\n        :host a:focus{text-decoration: underline;outline: none;color: var(--sedeh-focus-color, darkblue);}\r\n        :host img{z-index:2;border:2px solid;box-shadow: var(--sedeh-box-shadow, 3px 3px 3px #999);display:table;float:left;min-height: var(--sedeh-min-height, 25px); width: 250px;top: 22px;position:absolute;border-radius: 4px}\r\n        @media print {\r\n            :host a {\r\n                text-decoration: none;\r\n            }\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class LinkComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n\tname!: string;\r\n    title!: string;\r\n    poped = false;\r\n    poper!: boolean;\r\n    target!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['link:::false', 'link:::true']; //target, label, popup\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n        this.target = (args && args.length) ? args[0] : \"\";\r\n        this.title = (args && args.length > 1) ? args[1] : \"\";\r\n        this.poper = (args && args.length > 2) ? (args[1] =='true') : false;\r\n    \r\n        if(!this.title || !this.title.length) {\r\n            const q = source.indexOf(\"?\");\r\n            const t = q < 0 ? source : source.substring(0, q);\r\n            const d = t.lastIndexOf(\"/\");\r\n            this.title = d < 0 ? t : t.substring(d+1);\r\n        }\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        this.poped = false;\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: \"click\",\r\n                item: event.type\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into a link.\r\n* if transforming object is an array, all elements in the array will be transformed and the resulting array will be returned.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'link' })\r\nexport class LinkPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // link:target:text\r\n            if (args.length > 2) {\r\n                return new LinkPipe().transform(content, args[1], args[2]);\r\n            } else if (args.length > 1) {\r\n                return new LinkPipe().transform(content, \"\", args[1]);\r\n            } else {\r\n                return new LinkPipe().transform(content, \"\", \"\");\r\n            }\r\n        };\r\n        return x;\r\n    }\r\n\r\n    stringToLink(source: string, target: string, title: string) {\r\n        if(!title || !title.length) {\r\n            const q = source.indexOf(\"?\");\r\n            const t = q < 0 ? source : source.substring(0, q);\r\n            const d = t.lastIndexOf(\"/\");\r\n            title = d < 0 ? t : t.substring(d+1);\r\n        }\r\n        return \"<a href='\"+source+\"' target='\"+target+\"'>\"+title+\"</a>\";\r\n    }\r\n    arrayToImagLink(sources: any, target: string, title: string) {\r\n        const result: any[] = [];\r\n        sources.map((source: string) => {\r\n            result.push(this.stringToLink(source, target, \"\"));\r\n        });\r\n        return result;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n\r\n        const target:string = (args && args.length) ? args[0] : \"\";\r\n        const title:string = (args && args.length > 1) ? args[1] : \"\";\r\n    \r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.stringToLink(source, target, title);\r\n        }\r\n        return this.arrayToImagLink(source, target, title);\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { LinkComponent } from './link.component';\r\nimport { LinkPipe } from './link.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [LinkComponent,LinkPipe],\r\n  exports: [LinkComponent,LinkPipe],\r\n  entryComponents: [LinkComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class LinkIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: LinkIntoPipeModule,\r\n      providers: [LinkPipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('link', LinkComponent);\r\n    pool.registerPipeTransformation('link', LinkPipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'phone',\r\n    template: `\r\n    <a  \r\n        *ngIf=\"isLink\" \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        class=\"phone {{disabled ? 'disabled' : ''}}\"\r\n        [href]=\"disabled ? null : 'tel:' + normalizeSource()\" \r\n        (keyup)='keyup($event)' \r\n        (click)=\"change($event)\">\r\n        <span class='fa fa-phone' aria-hidden='true'></span>\r\n        <span [textContent]=\"formattedSource()\"></span>\r\n    </a>\r\n    <span *ngIf=\"!isLink phone\">\r\n        <span class='fa fa-phone' aria-hidden='true'></span>\r\n        <span [textContent]=\"formattedSource()\"></span>\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        :host .phone {text-decoration: none;}\r\n        :host .phone:focus{outline: none;}\r\n        :host .phone:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        :host .phone:hover {opacity: var(--sedeh-hover-opacity , 0.5);}\r\n        :host .phone.disabled .fa-phone{color: var(--sedeh-disabled-color, #888);}\r\n        :host .phone.disabled:hover .fa-phone{color: var(--sedeh-disabled-color, #888);}\r\n        :host .phone.disabled{color: var(--sedeh-disabled-color, #888);cursor:default;pointer-events: none;text-decoration: none;}\r\n        :host .fa{margin: var(--sedeh-margin , 0 5px);}\r\n        @media print {\r\n            :host a { text-decoration: none }\r\n            :host .fa-phone {display: none;}\r\n            :host a .fa-phone {display: none;}\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class PhoneComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n    name!: string;\r\n    isLink!: boolean;\r\n    formatting!: boolean;  disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['phone:true:true']; //islink, format\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n        this.isLink= (args?.length && args[0].length) ? (args[0] === 'true') : false;\r\n        this.formatting= (args?.length > 1 && args[1].length) ? (args[1] === 'true') : false;\r\n    }\r\n    normalizeSource() {\r\n        let result = this.source.replace(/[\\ \\-\\.\\(\\)\\+]/g, '');\r\n        result = result[0] === '1' ? result.substring(1) : result;\r\n\r\n        if (result.length === 10) {\r\n            result = '+1 ' + result + ';ext=' + result;\r\n        } else if (result.length > 10) {\r\n            const b = result.slice(0, 10);\r\n            const e = result.slice(10);\r\n            result = '+1' + b + ';ext=' + e;\r\n        }\r\n        return result;\r\n    }\r\n    formattedSource() {\r\n        let result = this.source;\r\n        \r\n        if (this.formatting) {\r\n            result = this.source.replace(/[\\ \\-\\.\\(\\)\\+]/g, '');\r\n            result = result[0] === '1' ? result.substring(1) : result;\r\n\r\n            if (result.length === 10) {\r\n                result = '+1 ' + result.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1)$2-$3\"); \r\n            } else if (result.length > 10) {\r\n                const b = result.slice(0, 10);\r\n                const e = result.slice(10);\r\n                result = '+1 ' + b.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1)$2-$3\"); \r\n                result+= (' ext. ' + e);\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: 'click',\r\n                item: event.type\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an email display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'phone' })\r\nexport class PhonePipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // prepend:something\r\n            return new PhonePipe().transform(content, args && args.length > 1 ? args[1]==='true' : false, args && args.length > 2 && args[2].length ? args[2] === 'true' : false); \r\n        };\r\n        return x;\r\n    }\r\n\r\n    phoneFromString(source: any, link: any, format: any) {\r\n        return link ? \r\n            \"<a href='tel:\" + this.normalizeSource(source) + \"'><span class='fa fa-phone' aria-hidden='true'></span><span>\" + (format ? this.formattedSource(source) : source) + \"</span></a>\" :\r\n            \"<span><span class='fa fa-phone' style='margin: 0 5px' aria-hidden='true'></span><span>\" + (format ? this.formattedSource(source) : source) + \"</span></span>\";\r\n    }\r\n    transform(source: any, ...args: any[]): any {    \r\n        const link = ((args && args.length) ? args[0] : false);\r\n        const format = ((args && args.length>1) ? args[1] : false);\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.phoneFromString(source, link, format);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(this.phoneFromString(item, link, format));\r\n            });\r\n            return result;\r\n        } \r\n    }\r\n    private normalizeSource(source: string) {\r\n        let result = source.replace(/[\\ \\-\\.\\(\\)\\+]/g, '');\r\n        result = result[0] === '1' ? result.substring(1) : result;\r\n\r\n        if (result.length === 10) {\r\n            result = '+1 ' + result + ';ext=' + result;\r\n        } else if (result.length > 10) {\r\n            const b = result.slice(0, 10);\r\n            const e = result.slice(10);\r\n            result = '+1' + b + ';ext=' + e;\r\n        }\r\n        return result;\r\n    }\r\n    private formattedSource(source: string) {\r\n        let result = source.replace(/[\\ \\-\\.\\(\\)\\+]/g, '');\r\n        result = result[0] === '1' ? result.substring(1) : result;\r\n\r\n        if (result.length === 10) {\r\n            result = '+1 ' + result.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1)$2-$3\"); \r\n        } else if (result.length > 10) {\r\n            const b = result.slice(0, 10);\r\n            const e = result.slice(10);\r\n            result = '+1 ' + b.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1)$2-$3\"); \r\n            result+= (' ext. ' + e);\r\n        }\r\n        return result;\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { PhoneComponent } from './phone.component';\r\nimport { PhonePipe } from './phone.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [PhoneComponent, PhonePipe],\r\n  exports: [PhoneComponent, PhonePipe],\r\n  entryComponents: [PhoneComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class PhoneIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: PhoneIntoPipeModule,\r\n      providers: [PhonePipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('phone', PhoneComponent);\r\n    pool.registerPipeTransformation('phone', PhonePipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'rating-component',\r\n    template: `\r\n    <span class='rating' *ngIf=\"singleStar\">\r\n        <span class='fa fa-star' aria-hidden='true'></span>\r\n    </span>\r\n    <span class='rating' *ngIf=\"!singleStar\">\r\n        <span class='fa fa-star' aria-hidden='true' *ngFor=\"let x of value\"></span>\r\n        <span class='fa fa-star-half' aria-hidden='true' *ngIf=\"float != value\"></span>\r\n    </span>\r\n    <span class='rate-value' [textContent]=\"source\"></span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host {cursor: defult;display:table;float:left;min-height: var(--sedeh-min-height, 25px);}\r\n        :host:focus {outline: none;}\r\n        :host:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        .rating {\r\n            display: inline-block;\r\n        }\r\n        @media print {\r\n            :host .rating {\r\n                display: none;\r\n            }\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class RatingComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n    name!: string;\r\n    singleStar = false;\r\n    value: any[] = [];\r\n    float: any;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    constructor(private el: ElementRef){\r\n        el.nativeElement.setAttribute('tabindex','0');\r\n    }\r\n\r\n    @HostListener('keyup',['$event'])\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    @HostListener('click',[])\r\n    click() {\r\n        this.onIntoComponentChange.emit({\r\n            id: this.id,\r\n            name: this.name,\r\n            value: this.source,\r\n            type: 'click',\r\n            item: 'rating'\r\n        })\r\n    }\r\n    static settingsPatterns() {\r\n        return ['rating:true','rating:false']; //single star\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.float = parseFloat(source);\r\n        this.singleStar = (args?.length && args[0].length) ? (args[0] === 'true') : false;\r\n        this.source = source;\r\n        const size = parseInt(source, 10);\r\n        for(let i = 0; i < size; i++) {\r\n            this.value.push(i);\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into a raiting display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'raiting' })\r\nexport class RatingPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            return new RatingPipe().transform(content, \"\"); \r\n        };\r\n        return x;\r\n    }\r\n    rateString(source: string, multiStart: boolean) {\r\n        const value = parseInt(source, 10);\r\n        const float = parseFloat(source);\r\n\r\n        let x = \"<span class='rating'>\";\r\n        if (multiStart) {\r\n            for (let i = 0; i < value; i++ ) {\r\n                x += \"<span class='fa fa-star' aria-hidden='true'></span>\"\r\n            }\r\n            if ( float !== value ) {\r\n                x += \"<span class='fa fa-star-half' aria-hidden='true'></span>\"\r\n            }\r\n        } else {\r\n            x += \"<span class='fa fa-star' aria-hidden='true'></span>\"\r\n        }\r\n        x += \"</span><span class='rate-value'>\" + source + \"</span>\";\r\n\r\n        return x;\r\n    }\r\n\r\n    transform(source: any, ...args: any[]): any {\r\n        const singleStar = args?.length && args[0].length ? (args[0] === 'true') : false;\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.rateString(source, singleStar);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(this.rateString(item, singleStar));\r\n            });\r\n            return result;                \r\n        }\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { RatingComponent } from './rating.component';\r\nimport { RatingPipe } from './rating.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [RatingComponent, RatingPipe],\r\n  exports: [RatingComponent, RatingPipe],\r\n  entryComponents: [RatingComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class RatingIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: RatingIntoPipeModule,\r\n      providers: [RatingPipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('rating', RatingComponent);\r\n    pool.registerPipeTransformation('rating', RatingPipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, EventEmitter, ElementRef, HostListener } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'notice-component',\r\n    template: `\r\n        <span tabindex=\"{{active ? 0 : -1}}\" class=\"noticable {{disabled ? 'disabled' : ''}}\">\r\n            <span class=\"fa fa-bell\" aria-hidden='true'></span>\r\n            <span class=\"notice\" [textContent]=\"source\"></span>\r\n        </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host .noticable{display: table;position: relative;float: left;cursor:pointer}\r\n        :host .noticable .fa{font-size: 1rem;}\r\n        :host .noticable:focus{outline: none;}\r\n        :host .noticable:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        :host .noticable:hover{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host .noticable:hover .fa{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host .noticable.disabled {color: var(--sedeh-disabled-color, #888);cursor:default}\r\n        :host .noticable.disabled:hover .fa{opacity: 1;}\r\n        :host .noticable.disabled:hover {opacity:1;color: var(--sedeh-disabled-color, #888);cursor:default}\r\n        :host .noticable.disabled .notice{color: var(--sedeh-disabled-color, #888);background-color:transparent;}\r\n        :host .noticable .notice {\r\n            display: table;\r\n            width: 17px;\r\n            height: 15px;\r\n            border-radius: 50%;text-align: center;\r\n            color: var(--sedeh-notice-color, white);\r\n            background-color: var(--sedeh-notice-background-color, rgb(4, 159, 255));\r\n            float: right;font-size: 0.7rem;line-height: 1rem;\r\n            margin-left: -5px;z-index: 2;\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class NoticeComponent implements PipeComponentInterface {\r\n    source!: string;\r\n\tid!: string;\r\n    name!: string;\r\n    message!: string;\r\n    count!: number;\r\n    float: any;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n    onIntoComponentChange = new EventEmitter();\r\n    \r\n    constructor(private el: ElementRef){\r\n    }\r\n\r\n    @HostListener('keyup',['$event'])\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (!this.disabled && code === 13) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    @HostListener('click',[])\r\n    click() {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: 'click',\r\n                item: 'notice'\r\n            })\r\n        }\r\n    }\r\n    static settingsPatterns() {\r\n        return ['notice:']; //message\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.message = args.length ? args[0] : undefined;\r\n        this.source = source;\r\n        this.el.nativeElement.setAttribute('title', this.message);\r\n        this.el.nativeElement.setAttribute('class', this.disabled ? 'disabled' : '');\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into a raiting display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'notice' })\r\nexport class NoticePipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            return new NoticePipe().transform(content, \"\"); \r\n        };\r\n        return x;\r\n    }\r\n    noticeString(source: string, message: string) {\r\n        return `\r\n        <span style='display:table;possition:relative;float:left' alt='` + message + `'>\r\n          <span class='fa fa-star' aria-hidden='true'></span>\r\n          <span style='display: table;width: 17px;height: 15px;border-radius: 50%;text-align: center;background-color: rgba(200,200,200,0.2);float: right;font-size: 0.8rem;margin-left: -5px'>` +\r\n          source +\r\n        ` </span>\r\n        </span>`;\r\n    }\r\n\r\n    transform(source: any, ...args: any[]): any {\r\n        const message = args.length ? args[0] : undefined;\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.noticeString(source, message);\r\n        } else {\r\n            const result: any[] = [];\r\n            source.map((item) => {\r\n                result.push(this.noticeString(item, message));\r\n            });\r\n            return result;                \r\n        }\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { NoticeComponent } from './notice.component';\r\nimport { NoticePipe } from './notice.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [NoticeComponent, NoticePipe],\r\n  exports: [NoticeComponent, NoticePipe],\r\n  entryComponents: [NoticeComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class NoticeIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: NoticeIntoPipeModule,\r\n      providers: [NoticePipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('notice', NoticeComponent);\r\n    pool.registerPipeTransformation('notice', NoticePipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, Output, EventEmitter, ViewChild, Renderer2 } from '@angular/core';\r\nimport { PipeComponentInterface, PipeServiceComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'select-component',\r\n    template: `\r\n    <select \r\n      *ngIf=\"locked || editMode\"\r\n      tabindex=\"{{active ? 0 : -1}}\" \r\n      [multiple]=\"multiselect ? true:null\" \r\n      [disabled]=\"disabled\"\r\n      (change)=\"change($event)\">\r\n        <option *ngFor=\"let x of options\" \r\n          [attr.selected]=\"source.indexOf(x) < 0 ? null : 'selected'\"  \r\n          [value]=\"x\" \r\n          [textContent]=\"x\"></option>\r\n    </select>\r\n    <span *ngIf=\"!locked && !editMode\"\r\n      class=\"locked {{disabled ? 'disabled' : ''}}\" \r\n      tabindex=\"{{active ? 0 : -1}}\"\r\n      (keyup)='handleEdit($event)'\r\n      (click)=\"clickName($event)\">{{source}}</span>\r\n    `,\r\n    styles: [\r\n      `\r\n      .locked {\r\n        display: inline-block;\r\n        cursor: pointer;\r\n        min-width: 30px;\r\n        width: 100%;\r\n        -webkit-user-select: none;       \r\n        -moz-user-select: none;\r\n        -ms-user-select: none;\r\n        user-select: none;\r\n        border: 1px solid transparent;\r\n      }\r\n      :host {width: 100%;display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n      :host .locked:hover{border: var(--sedeh-solid-border, 1px solid #fabdab);}\r\n      :host .locked.disabled:hover{border-color: transparent;cursor: default;}\r\n      @media print {\r\n        :host select {\r\n            border: 0;\r\n        }\r\n        :host select::-ms-expand {display: none;}\r\n        :host select {\r\n          -webkit-appearance: none;\r\n          -moz-appearance: none;\r\n          appearance: none;\r\n          text-indent: 0.01px;\r\n          text-overflow: \"\";\r\n          text-indent: 1px;\r\n          text-overflow: '';\r\n        }\r\n      }\r\n      `\r\n    ]\r\n})\r\nexport class SelectComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source!: string;\r\n  options!: string;\r\n  original!: string;\r\n  id!: string;\r\n  name!: string;\r\n  multiselect = false;\r\n  editMode = false;\r\n  locked = false;\r\n  service!: PipeServiceComponentInterface;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @ViewChild(\"selectEditor\")\r\n  selectEditor: any;\r\n  \r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  constructor(private renderer: Renderer2) {\r\n  }\r\n\r\n  private getOptions(options: any) {\r\n    const list = [];\r\n    for (let i = 0; i < options.length; i++) {\r\n      list.push(options[i].label);\r\n    }\r\n    return list;\r\n  }\r\n  change(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n    const options = this.multiselect ? this.getOptions(event.target.selectedOptions) : event.target.value;\r\n\r\n    if (!this.disabled && this.validate(this.data, options)) {\r\n      this.source = options;\r\n      this.original = this.source;\r\n      this.editMode = false;\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: options,\r\n        type: 'change',\r\n        item: this.data\r\n      });\r\n    } else {\r\n      this.source = this.original;\r\n      this.editMode = false;\r\n      event.target.value = this.source;\r\n    }\r\n  }\r\n\r\n  handleEdit(event: any) {\r\n    const code = event.which;\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if(!this.disabled && ((code === 13) || (code === 9))) {\r\n      event.target.click();\r\n    }\r\n  }\r\n\r\n  clickName(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if (!this.disabled) {\r\n      this.editMode = true;\r\n    }\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['select:false:false', 'select:false:true', 'select:true:false', 'select:true:true']; //multi, locked by default\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.original = source;\r\n    this.source= source;\r\n    this.data = data;\r\n    this.options = this.service.getDataFor(this.name, this.id, data);\r\n    this.multiselect = (args?.length && args[0].length) ? (args[0] === 'true') : false;\r\n    this.locked = (args?.length > 1 && args[1].length) ? args[1] === 'true' : false;\r\n  }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SelectComponent } from './select.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [SelectComponent],\r\n  exports: [SelectComponent],\r\n  entryComponents: [SelectComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class SelectIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: SelectIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('select', SelectComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'share-component',\r\n    template: `\r\n    <a id='share-comment-{{id}}' \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        class=\"share-item-tips {{disabled ? 'disabled' : ''}}\" \r\n        (keyup)='keyup($event)'\r\n        (click)='toggleShare()'>\r\n    <span class=\"fa fa-share-alt\"></span>\r\n    <span class=\"share\">share</span>\r\n    </a>\r\n    <span id='share-comment-{{id}}-tips' class=\"tips {{disabled ? 'disabled' : ''}}\" *ngIf='shouldDisplay'>\r\n      <span class='social-referal'>\r\n        <a *ngFor=\"let share of shareList\" \r\n            tabindex=\"{{active ? 0 : -1}}\" \r\n            (keyup)='keyup($event)'\r\n            (click)='change(share)'\r\n            class=\"{{disabled ? 'disabled' : ''}} {{share.icon}}\" target='_blank' \r\n            [href]=\"disabled ? '' : share.href\"><span class='off-screen' [textContent]=\"share.title\"></span></a>\r\n      </span>\r\n    </span>\r\n`,\r\n    styles: [`\r\n    :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px);position: relative}\r\n    :host .share-item-tips:focus{outline: none;}\r\n    :host .share-item-tips:focus .fa{zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n    :host a.disabled{color: var(--sedeh-disabled-color, #888);cursor:default;pointer-events:none;text-decoration: none;}\r\n    :host a.disabled .fa{color: var(--sedeh-disabled-color, #888);}\r\n    .share-item-tips {cursor: pointer;}\r\n    .share-item-tips .fa {margin: 0;}\r\n    :host:hover .share-item-tips .fa, :host:hover .share-item-tips .share, .tips a:hover {opacity: var(--sedeh-hover-opacity, 0.5);}\r\n    :host:hover .share-item-tips.disabled .fa, :host:hover .share-item-tips.disabled .share, .tips.disabled, .tips.disabled a {opacity:1;color: var(--sedeh-disabled-color, #888) !important;}\r\n\r\n\r\n    .share-item-tips .share{margin-left: var(--sedeh-margin-left, 5px);}\r\n    .tips {\r\n        position: absolute;\r\n        display: flex;\r\n        flex-direction: row;\r\n        padding: 5px;\r\n        border: 1px solid #aaa;\r\n        border-radius: 2px;\r\n        background-color: #fff;\r\n        z-index: 2;\r\n    }\r\n    .tips .social-referal {\r\n        display: flex;\r\n        flex-direction: row;\r\n    }\r\n    .tips .social-referal a {\r\n        min-width: 20px;\r\n        min-height: 20px;\r\n    }\r\n    .tips .social-referal .fa {\r\n        float: left;\r\n        padding: 2px 4px;\r\n        color: blue;\r\n        border: 1px solid #ccc;\r\n        border-radius: 4px;\r\n        text-decoration: none;\r\n        margin: 0 1px;\r\n        width: 20px;\r\n        text-align: center;\r\n    }\r\n    .tips .social-referal .fa:hover {\r\n        color: #fff;\r\n        background-color: blue;\r\n    }\r\n    `]\r\n})\r\nexport class ShareComponent implements PipeComponentInterface {\r\n    shouldDisplay = false;\r\n    source!: string; // it should be a link reference to what is being shared.\r\n\tid!: string;\r\n    name!: string;\r\n    shareList: any[] = []; // list of sites to show on share view.\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n    \r\n    private shareInfo(type: string, address: string) {\r\n        return {\r\n            icon: 'fa fa-' + type,\r\n            href: address,\r\n            title: 'share with '+ type\r\n        }\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                item: event.title\r\n            });\r\n        }\r\n    }\r\n    toggleShare() {\r\n        if (!this.disabled) {\r\n            this.shouldDisplay = !this.shouldDisplay;\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: 'Share options',\r\n                type: 'share',\r\n                item: this.shouldDisplay ? 'open' : 'close'\r\n            });\r\n        }\r\n    }  \r\n\r\n    static settingsPatterns() {\r\n        return ['share:facebook:twitter:linkedin:google:pinterest:digg:get-pocket:xing:stumbleupon']; //options\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n\r\n        this.source = source;\r\n        const list = (args[0] instanceof Array) ? args[0] : args;\r\n        list.map( (arg) => {\r\n            if ( arg === 'facebook') {\r\n                this.shareList.push(this.shareInfo('facebook', 'http://www.facebook.com/sharer.php?u='+source))\r\n            } else if ( arg === 'twitter') {\r\n                this.shareList.push(this.shareInfo('twitter', 'https://twitter.com/share?title=&amp;url='+source))\r\n            } else if ( arg === 'linkedin') {\r\n                this.shareList.push(this.shareInfo('linkedin','http://www.linkedin.com/shareArticle?title=&amp;url='+source))\r\n            } else if ( arg === 'google') {\r\n                this.shareList.push(this.shareInfo('google-plus', 'https://plus.google.com/share?url='+source))\r\n            } else if ( arg === 'pinterest') {\r\n                this.shareList.push(this.shareInfo('google-plus', 'http://pinterest.com/pin/create/link/?url='+source))\r\n            } else if ( arg === 'digg') {\r\n                this.shareList.push(this.shareInfo('digg', 'http://digg.com/submit?url='+source))\r\n            } else if ( arg === 'get-pocket') {\r\n                this.shareList.push(this.shareInfo('get-pocket', 'https://getpocket.com/edit?url='+source))\r\n            } else if ( arg === 'xing') {\r\n                this.shareList.push(this.shareInfo('xing', 'https://www.xing.com/app/user?op=share&url='+source))\r\n            } else if ( arg === 'stumbleupon') {\r\n                this.shareList.push(this.shareInfo('stumbleupon', 'http://www.stumbleupon.com/submit?url='+source))\r\n            }\r\n        });\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ShareComponent } from './share.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [ShareComponent],\r\n  exports: [ShareComponent],\r\n  entryComponents: [ShareComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class ShareIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: ShareIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('share', ShareComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'span-component',\r\n    template: `<span [textContent]=\"source\"></span>`,\r\n    styles: [\r\n        `\r\n        :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n        `\r\n    ]\r\n})\r\nexport class SpanComponent implements PipeComponentInterface {\r\n\tid!: string;\r\n\tname!: string;\r\n    source!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange!: EventEmitter<any>;\r\n\r\n    static settingsPatterns() {\r\n        return ['span']; //no arguments\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SpanComponent } from './span.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [SpanComponent],\r\n  exports: [SpanComponent],\r\n  entryComponents: [SpanComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class SpanIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: SpanIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('span', SpanComponent);\r\n  }\r\n}\r\n","import { Component, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'switch-component',\r\n    template: `\r\n      <span *ngIf=\"source === ideal\" \r\n          #check \r\n          tabindex=\"{{active ? 0 : -1}}\" \r\n          class=\"switch fa fa-toggle-on {{disabled ? 'disabled' : ''}}\" \r\n          aria-checked=\"true\"\r\n          role=\"checkbox\"\r\n          (keyup)=\"keyup($event)\" \r\n          (click)=\"click($event)\"></span>\r\n      <span *ngIf=\"source !== ideal\"\r\n          #uncheck tabindex=\"{{active ? 0 : -1}}\" \r\n          class=\"switch fa fa-toggle-off {{disabled ? 'disabled' : ''}}\" \r\n          aria-checked=\"false\"\r\n          role=\"checkbox\"\r\n          (keyup)=\"keyup($event)\" \r\n          (click)=\"click($event)\"></span>\r\n      <span class=\"text {{disabled ? 'disabled' : ''}}\" [class.selected]=\"source === ideal\" \r\n        [textContent]=\"source === ideal ? onText : offText\"></span>\r\n\r\n    `,\r\n    styles: [\r\n      `\r\n      :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n      :host .switch {font-size: 1.4rem; cursor: pointer;float: left}\r\n      :host .switch:focus{outline: none;zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n      :host .switch:hover{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n      :host .switch.fa-toggle-on {color: var(--sedeh-sected-color, green)}\r\n      :host .switch.fa-toggle-off {color: var(--sedeh-disapproved-color, red)}\r\n      :host .switch.disabled {color: var(--sedeh-disabled-color, #888)}\r\n      :host .switch.disabled.fa-toggle-on {color: var(--sedeh-disabled-color, #888)}\r\n      :host .switch.disabled.fa-toggle-off {color: var(--sedeh-disabled-color, #888)}\r\n\r\n      :host .text {font-size: 1.2rem; text-transform: uppercase; float: left; margin-left: var(--sedeh-margin-left, 5px);}\r\n      :host .text.selected {color:  var(--sedeh-sected-color, green)}\r\n      :host .text.disabled {color:  var(--sedeh-disabled-color, #888)}\r\n      `\r\n    ]\r\n})\r\nexport class SwitchComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source!: string;\r\n  original!: string;\r\n  ideal!: string;\r\n  id!: string;\r\n  name!: string;\r\n  onText!: string;\r\n  offText!: string;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @ViewChild(\"check\")\r\n  check: any;\r\n\r\n  @ViewChild(\"uncheck\")\r\n  uncheck: any;\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  keyup(event: any) {\r\n    const code = event.which;\r\n    if (code === 13 && !this.disabled) {\r\n      event.target.click();\r\n\t\t}\r\n  }\r\n\r\n  click(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n\r\n    if (!this.disabled && this.validate(this.data, (this.source === this.ideal ? this.original : this.ideal))) {\r\n      if (this.source === this.ideal) {\r\n        this.source = this.original;\r\n      } else {\r\n        this.source = this.ideal;\r\n      }\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: this.source,\r\n        type: \"switch\",\r\n        item: this.data\r\n      });\r\n      setTimeout(() => {\r\n        if (this.check) {\r\n          this.check.nativeElement.focus();\r\n        }\r\n        if (this.uncheck) {\r\n          this.uncheck.nativeElement.focus();\r\n        }\r\n      },66);\r\n    }\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['switch:::']; //selected, state, alt state\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.ideal= args.length ? String(args[0]) : \"\";\r\n    this.onText= args.length > 1 ? (args[1].length ? args[1] : 'ON') : 'ON';\r\n    this.offText= args.length > 2 ? (args[2].length ? args[2] : 'OFF') : 'OFF';\r\n    this.source= String(source);\r\n    this.data = data;\r\n    this.original= this.source === this.ideal ? \"\" : source;\r\n  }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SwitchComponent } from './switch.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [SwitchComponent],\r\n  exports: [SwitchComponent],\r\n  entryComponents: [SwitchComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class SwitchIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: SwitchIntoPipeModule,\r\n      providers: [\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('switch', SwitchComponent);\r\n  }\r\n}\r\n","import { Component, ViewChild, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'slider-component',\r\n    template: `\r\n    <span \r\n      class=\"slidecontainer {{disabled ? 'disabled' : ''}}\" \r\n      [style.width]=\"!vertical ? length + 'px' : null\"\r\n      [style.height]=\"vertical ? length + 'px' : null\"\r\n      [class.vertical]=\"vertical\">\r\n      <span class=\"range\" *ngIf=\"showRange\">\r\n        <span class=\"min\" [textContent]=\"min\"></span>\r\n        <span class=\"value\" [textContent]=\"source\"></span>\r\n        <span class=\"max\" [textContent]=\"max\"></span>\r\n      </span>\r\n      <input \r\n        type=\"range\"\r\n        class=\"slider\" \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        (change)=\"onchange($event)\"\r\n        [disabled]=\"disabled\"\r\n        [attr.value]=\"source\" \r\n        [attr.min]=\"min\" \r\n        [attr.max]=\"max\" \r\n        [attr.id]=\"id\" />\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host .slidecontainer {display: table;}\r\n        :host .slidecontainer.disabled {opacity: var(-sedeh-hover-opacity, 0.5);}\r\n        :host .slidecontainer .range {position: relative; display: table; height: 12px; font-size: 0.8rem;width: 100%}\r\n        :host .slidecontainer .range .min {position: absolute;left: 0;top: 0}\r\n        :host .slidecontainer .range .value {position: absolute;left: 50%;top: 0}\r\n        :host .slidecontainer .range .max {position: absolute;right: 0;top: 0}\r\n        :host .slidecontainer .slider {\r\n          -webkit-appearance: none;\r\n          background: #d3d3d3;\r\n          outline: none;\r\n          opacity: 0.7;\r\n          -webkit-transition: .2s;\r\n          transition: opacity .2s;\r\n          border: 2px inset #aaa;\r\n          border-radius: 33%;\r\n          width: 100%;\r\n          height: 1px;\r\n        }\r\n        :host .slidecontainer.vertical .slider {transform: rotate(270deg); margin: 50% -50%;}\r\n        :host .slidecontainer.vertical .range {width: 33px;height: 85%; float: left}\r\n        :host .slidecontainer.vertical .range .min {top: inherit; right:5px; bottom: 0;}\r\n        :host .slidecontainer.vertical .range .value {left: inherit;right: 5px;top: 50%}\r\n        :host .slidecontainer.vertical .range .max {right:5px; top: 0;}\r\n        :host .slider:focus {border-color: var(--sedeh-focus-color, darkblue) !important;}\r\n        :host .slider:hover {opacity: 1;}\r\n        :host .slider::-webkit-slider-thumb {\r\n          -webkit-appearance: none;\r\n          appearance: none;\r\n          background: #444;\r\n          background-image: linear-gradient(#444, #ddd, #444);\r\n          cursor: pointer;\r\n          border-radius: 5px;\r\n          border: 2px solid #000;\r\n          width: 22px;\r\n          height: 12px;\r\n        }\r\n        :host .slider::-moz-range-thumb {\r\n          background: #444;\r\n          background-image: linear-gradient(#444, #ddd, #444);\r\n          border-radius: 5px;\r\n          border: 2px solid #000;\r\n          cursor: pointer;\r\n          width: 22px;\r\n          height: 10px;\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class SliderComponent implements PipeComponentInterface {\r\n\r\n  data: any;\r\n  source!: number;\r\n  original!: number;\r\n  id!: string;\r\n  name!: string;\r\n  vertical!: boolean;\r\n  showRange!: boolean;\r\n  length!: number;\r\n  min!: string;\r\n  max!: string;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  onchange(event: any) {\r\n    if (!this.disabled) {\r\n      const code = event.which;\r\n      if (!code || \r\n        ((code >= 48) && (code <= 90)) ||\r\n        ((code >= 96) && (code <= 111)) ||\r\n        ((code == 32) || (code == 8)) ||\r\n        ((code >= 186) && (code <= 222))) {\r\n        this.source = event.target.value;\r\n      } else if (this.vertical) {\r\n        if (code === 38) {\r\n          this.source = this.source + 1;\r\n        } else if (code === 40) {\r\n          this.source = this.source - 1;\r\n        }\r\n      } else {\r\n        if (code === 39) {\r\n          this.source = this.source + 1;\r\n        } else if (code === 37) {\r\n          this.source = this.source - 1;\r\n        }\r\n      }\r\n    }\r\n    if (!this.disabled && this.validate(this.data, this.source)) {\r\n      this.original = this.source;\r\n      this.onIntoComponentChange.emit({\r\n        id: this.id,\r\n        name: this.name,\r\n        value: this.source,\r\n        type: \"slider\",\r\n        item: this.data\r\n      });\r\n    } else {\r\n      this.source = this.original; \r\n    }\r\n    event.target.value = this.source;\r\n  }\r\n\r\n  static settingsPatterns() {\r\n    return ['slider::false:true::']; //length, vertical/horixontal, show range, min, max\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.source= parseInt(source, 10);\r\n    this.original = this.source;\r\n    this.data = data;\r\n    this.length= (args.length && args[0].length) ?  parseFloat(args[0]) : 200;\r\n    this.vertical= args.length > 1 ?  String(args[1]) === 'true' : false;\r\n    this.showRange= args.length > 2 ?  String(args[2]) === 'true' : false;\r\n    this.min = (args.length > 3 && args[3].length) ? args[3] : 0;\r\n    this.max = (args.length > 4 && args[4].length) ? args[4] : 100;\r\n  }\r\n}\r\n\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SliderComponent } from './slider.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\nimport { CommonPipesModule } from '../common/common-pipes.module';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, CommonPipesModule.forRoot()],\r\n  declarations: [SliderComponent],\r\n  exports: [SliderComponent],\r\n  entryComponents: [SliderComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class SliderIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: SliderIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('slider', SliderComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'table-component',\r\n    template: `\r\n    <table [id]=\"id\" class=\"piped-table\">\r\n        <caption *ngIf=\"name\" [textContent]=\"name\"></caption>\r\n        <tr><th scope=\"col\" *ngFor=\"let header of headers\" [textContent]=\"header\"></th></tr>\r\n        <tr *ngFor=\"let row of rows\"><td *ngFor=\"let header of headers\" [textContent]=\"row[header]\"></td></tr>\r\n    </table>\r\n    `,\r\n    styles: [\r\n        `\r\n        :host .piped-table {padding: 0;width: 100%;border-collapse: collapse;}\r\n        :host .piped-table caption {background-color: var(--sedeh-caption-background-color, #c3e5e2);border-radius: 2px;color: var(--sedeh-caption-color, #1b1b1b);caption-side: top;font-size: 14px;padding: var(--sedeh-padding, 5px);margin-bottom: var(--sedeh-margin-bottom, 5px);text-align: left;}\r\n        :host .piped-table th {user-select: none;height: 24px;position: relative;white-space: nowrap;font-weight: normal;text-transform: uppercase;font-size: 14px;padding-top: var(--sedeh-padding-top, 5px);padding-bottom: var(--sedeh-padding-bottom, 5px);text-align: left;}\r\n        :host .piped-table td {padding-left: 3px;min-height: var(--sedeh-min-height, 25px);}\r\n        `\r\n    ]\r\n})\r\nexport class TableComponent implements PipeComponentInterface {\r\n    source!: string;\r\n    id!: string;\r\n    name!: string;\r\n    headers: any[] = [];\r\n    rows: any[] = [];\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['table::']; //id, name\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source= source;\r\n        this.id= args.length ? args[0] : '';\r\n        this.name= args.length > 1 ? args[1] : undefined;\r\n\r\n        if (typeof source === 'object') {\r\n            this.rows.push(source);\r\n            this.getHeaders(source);\r\n        } else if (source instanceof Array) {\r\n            if (typeof source[0] === 'object') {\r\n                this.rows = source;\r\n                this.getHeaders(source[0]);\r\n            } else {\r\n                source.map(\r\n                    (item) => {\r\n                        this.rows.push({value: item});\r\n                    }\r\n                )\r\n                this.headers.push('value');\r\n            }\r\n        } else {\r\n            this.rows.push({value: source});\r\n            this.headers.push('value');\r\n        }\r\n    }\r\n    private getHeaders(obj: any) {\r\n        Object.keys(obj).map(\r\n            (item) => {\r\n                this.headers.push(item);\r\n            }\r\n        );\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an address display.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'table' })\r\nexport class TablePipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function (content: any, args: string[], callback?: any, data?: any) {\r\n            return new TablePipe().transform(content, args.length > 1 ? args[1] : '', args.length > 2 ? args[2] : undefined); \r\n        };\r\n        return x;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n        const id= args.length ? args[0] : '';\r\n        const name = args.length > 1 ? args[1] : undefined;\r\n        const headers: any[] = [];\r\n        const rows: any[] = [];\r\n\r\n        this.buildTable(source, rows, headers);\r\n        let result = \"<table style='width: 100%' id='\" + id + \"'>\" + (name ? \"<caption style='text-align:left;background-color: #c3e5e2;'>\" + name + \"</caption>\" : \"\") + \"<tr>\";\r\n        headers.map(\r\n            (header) => {\r\n                result += (\"<th style='text-align: left;font-weight:normal;text-transform: uppercase;' scope='col'>\" + header + \"</th>\");\r\n            }\r\n        );\r\n        result += \"</tr>\";\r\n        rows.map(\r\n            (row) => {\r\n                result += \"<tr>\";\r\n                headers.map(\r\n                    (header) => {\r\n                        result += (\"<td>\" + row[header] + \"</td>\");\r\n                    }\r\n                );\r\n                result += \"</tr>\";\r\n            }\r\n        );\r\n        result += \"</table>\";\r\n\r\n        return result;\r\n    }\r\n    private buildTable(source: any, rows: any[], headers: string[]) {\r\n        if (typeof source === 'object') {\r\n            rows.push(source);\r\n            this.getHeaders(source, headers);\r\n        } else if (source instanceof Array) {\r\n            if (typeof source[0] === 'object') {\r\n                rows = source;\r\n                this.getHeaders(source[0], headers);\r\n            } else {\r\n                source.map(\r\n                    (item) => {\r\n                        rows.push({value: item});\r\n                    }\r\n                )\r\n                headers.push('value');\r\n            }\r\n        } else {\r\n            rows.push({value: source});\r\n            headers.push('value');\r\n        }\r\n    }\r\n    private getHeaders(obj: any, headers: string[]) {\r\n        Object.keys(obj).map(\r\n            (item) => {\r\n                headers.push(item);\r\n            }\r\n        );\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TableComponent } from './table.component';\r\nimport { TablePipe } from './table.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [TableComponent, TablePipe],\r\n  exports: [TableComponent, TablePipe],\r\n  entryComponents: [TableComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class TableIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: TableIntoPipeModule,\r\n      providers: [\r\n        TablePipe\r\n      ]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool) pool: ComponentPool) {\r\n    pool.registerComponent('table', TableComponent);\r\n    pool.registerPipeTransformation('table', TablePipe.transformationMethod());\r\n  }\r\n}\r\n","import { Component, ViewChild, Renderer2, Output, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'text-component',\r\n    template: `\r\n    <span class=\"text-wrapper\" *ngIf=\"locked || editName\">\r\n      <textarea #nameEditor\r\n        [id]=\"id\"\r\n        [name]=\"name\"\r\n        [value]=\"source\"\r\n        [disabled]=\"disabled\"\r\n        [attr.maxlength]=\"limit ? limit : null\"\r\n        [rows]=\"rows\"\r\n        (blur)=\"blur($event)\" \r\n        (keyup)='keyup($event)'>\r\n      </textarea>\r\n      <span \r\n        *ngIf=\"counter\" \r\n        class=\"counter\" \r\n        [textContent]=\"limit ? (limit - source.length) + ' remaining' : source.length + ' typed'\">\r\n      </span>\r\n    </span>\r\n    <span #nameHolder\r\n        *ngIf=\"!locked && !editName\"\r\n        class=\"locked {{disabled ? 'disabled' : ''}}\"\r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (click)=\"click($event)\"\r\n        (keyup)=\"focus($event)\"\r\n        [innerHTML]=\"source\">\r\n    </span>\r\n    `,\r\n    styles: [\r\n        `\r\n        .locked {\r\n          display: block;\r\n          cursor: pointer;\r\n          min-height: var(--sedeh-min-height, 25px);\r\n          min-width: var(--sedeh-min-width, 25px);\r\n          -webkit-user-select: none;       \r\n          -moz-user-select: none;\r\n          -ms-user-select: none;\r\n          user-select: none;\r\n          border: 1px solid transparent;\r\n        }\r\n        .text-wrapper{box-sizing: border-box;display:table;width: 100%;}\r\n        .text-wrapper textarea {box-sizing: border-box;display:block;cursor: beam;width: 100%;}\r\n        .counter{display: table;float:right;}\r\n        :host {box-sizing: border-box;width: 100%;display:table;float:left;min-height: var(--sedeh-min-height, 25px);min-width: var(--sedeh-min-width, 25px);}\r\n        :host .locked:hover{border: var(--sedeh-solid-border, 1px solid #fabdab);}\r\n        :host .locked.disabled:hover{border-color: transparent;cursor: default;}\r\n        `\r\n    ]\r\n})\r\nexport class TextComponent implements PipeComponentInterface {\r\n\r\n  source!: string;\r\n  data: any;\r\n  id!: string;\r\n  name!: string;\r\n  rows = 4;\r\n  limit = 0;\r\n  editName = false;\r\n  counter = false;\r\n  locked = false;\r\n  oldValue!: string;\r\n  disabled = false;\r\n  active = true;\r\n  validate = (item: any, newValue: any) => true;\r\n\r\n  @ViewChild(\"nameEditor\")\r\n  nameEditor: any;\r\n\r\n  @ViewChild(\"nameHolder\")\r\n  nameHolder: any\r\n\r\n  @Output(\"onIntoComponentChange\")\r\n  onIntoComponentChange = new EventEmitter();\r\n\r\n  constructor(private renderer: Renderer2) {\r\n\r\n  }\r\n  keyup(event: any) {   \r\n    if (!this.disabled) {\r\n      const code = event.which;\r\n      if ((code === 48) || (code === 8)) {\r\n        this.source = event.target.value;\r\n      } else if (((code > 48) && (code <= 90)) ||\r\n          ((code >= 96) && (code <= 111)) || (code == 32) ||\r\n          ((code >= 186) && (code <= 222))) {\r\n            if (!this.limit || this.source.length < this.limit) {\r\n              this.source = event.target.value;\r\n            }\r\n      } else if ((code === 13) || (code === 9) || (code === 27) ) {\r\n        this.updateValue(code);\r\n      }\r\n    } \r\n  }\r\n  private updateValue(code: number) {\r\n    if (!this.disabled) {\r\n      if (this.oldValue !== String(this.source)) {\r\n        if (this.validate(this.data, String(this.source))) {\r\n          this.editName = false;\r\n          this.onIntoComponentChange.emit({\r\n            id: this.id,\r\n            name: this.name,\r\n            value: this.source,\r\n            type: 'blur',\r\n            item: this.oldValue\r\n          });\r\n          this.oldValue = String(this.source);\r\n        } else {\r\n          this.source = this.oldValue;\r\n          this.editName = false;\r\n        }\r\n      }\r\n    }\r\n    if (code === 9 || code === 0) {\r\n      this.editName = false;\r\n    }\r\n  }\r\n  blur(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n    this.updateValue(0);\r\n  }\r\n  focus(event: any) {\r\n    if (!this.disabled) {\r\n      this.click(event);\r\n    }\r\n  }\r\n  click(event: any) {\r\n    event.stopPropagation();\r\n    event.preventDefault();\r\n  \r\n    if (!this.disabled) {\r\n      this.editName = true;\r\n\r\n      setTimeout(()=>{\r\n        if (this.nameEditor) {\r\n          this.renderer.selectRootElement(this.nameEditor.nativeElement).focus();\r\n        }\r\n      },99);\r\n    }\r\n  }\r\n  static settingsPatterns() {\r\n    return ['text:::true:false', 'text:::true:true']; //rows, limit, counter, locked by default\r\n  }\r\n  transform(source: any, data: any, args: any[]) {\r\n    this.data = data;\r\n    this.source = source;\r\n    this.oldValue = source;\r\n    this.rows = args?.length ? args[0] : 4;\r\n    this.limit = args?.length > 1 ? args[1] : 0;\r\n    this.counter = (args?.length && args[2].length) > 2 ? (args[2] === 'true') : false;\r\n    this.locked = (args?.length > 3 && args[3].length) ? args[3] === 'true' : false;\r\n  }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { TextComponent } from './text.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\nimport { CommonPipesModule } from '../common/common-pipes.module';\r\n\r\n@NgModule({\r\n  imports: [CommonModule, CommonPipesModule.forRoot()],\r\n  declarations: [TextComponent],\r\n  exports: [TextComponent],\r\n  entryComponents: [TextComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class TextIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: TextIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('text', TextComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'link-component',\r\n    template: `\r\n    <a \r\n        tabindex=\"{{active ? 0 : -1}}\" \r\n        class=\"{{toggled ? status2 : status1}} {{disabled ? 'disabled' : ''}}\" \r\n        (keyup)='keyup($event)' \r\n        (click)=\"change($event)\">\r\n    </a>`,\r\n    styles: [\r\n        `\r\n        :host {display:inline-block;float:left}\r\n        :host a{width: 23px;height: 23px;cursor: pointer;text-decoration: none;}\r\n        :host a:focus{outline: none;zoom: 1.1;right: var(--sedeh-shift-right, 0);position: relative;color: var(--sedeh-focus-color, darkblue);}\r\n        :host a:hover{opacity: var(--sedeh-hover-opacity, 0.5);}\r\n        :host a.disabled, :host a.disabled:hover{opacity: 1;pointer-events: none;color: var(--sedeh-disabled-color, #888);cursor:default;text-decoration: none;}\r\n        @media print {\r\n            :host a {\r\n                width: 23px;\r\n                height: 23px;\r\n                text-decoration: none;\r\n            }\r\n        }\r\n        `\r\n    ]\r\n})\r\nexport class ToggerComponent implements PipeComponentInterface {\r\n    id!: string;\r\n    data: any;\r\n    name!: string;\r\n    source!: string;\r\n    status1!: string;\r\n    status2!: string;\r\n    toggled = false;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['toggle::1:0']; //name, status, alt status\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n        this.source = source;\r\n        this.data = data;\r\n        this.name = (args && args.length) ? args[0] : \"\";\r\n        this.status1 = (args && args.length > 1) ? args[1] : \"\";\r\n        this.status2 = (args && args.length > 2) ? args[2] : \"\";\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        event.stopPropagation();\r\n        event.preventDefault();\r\n    \r\n        if (code === 13 && !this.disabled) {\r\n            event.target.click();\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled && this.validate(this.data, !this.toggled)) {\r\n            this.toggled = !this.toggled;\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.toggled,\r\n                type: \"toggle\",\r\n                item: this.data\r\n            });\r\n        }\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ToggerComponent } from './toggler.component';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [ToggerComponent],\r\n  exports: [ToggerComponent],\r\n  entryComponents: [ToggerComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class ToggerIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: ToggerIntoPipeModule,\r\n      providers: []\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('toggler', ToggerComponent);\r\n  }\r\n}\r\n","import { Component, EventEmitter } from '@angular/core';\r\nimport { PipeComponentInterface } from '../common/pipe.component.interface';\r\n\r\n@Component({\r\n    selector: 'video-component',\r\n    template: `\r\n    <video \r\n        tabindex=\"{{active ? 0 : -1}}\"\r\n        (focus)=\"updateControls($event)\"\r\n        (mouseenter)=\"updateControls($event)\"\r\n        (mouseleave)=\"resetControls($event)\"\r\n        (keyup)=\"keyup($event)\"\r\n        (play)=\"change($event)\"\r\n        (ended)=\"change($event)\"\r\n        (pause)=\"change($event)\"\r\n        (seeked)=\"change($event)\"\r\n        (error)=\"change($event)\"\r\n        (fullscreenchange)=\"change($event)\"\r\n        [src]=\"source\" \r\n        [class.disabled]=\"disabled\"\r\n        [style.width]=\"width\" \r\n        [style.height]=\"height\"\r\n        [title]=\"alt\">\r\n    </video>\r\n    `,\r\n    styles: [`\r\n    :host {display:table;float:left;min-height: var(--sedeh-min-height, 25px)}\r\n    :host video.disabled{opacity: var(--sedeh-hover-opacity, 0.5); pointer-events: none}\r\n    `]\r\n})\r\nexport class VideoComponent implements PipeComponentInterface {\r\n    hasControls = true;\r\n    hoverPlay = false;\r\n    source!: string;\r\n\tid!: string;\r\n\tname!: string;\r\n    width!: string;\r\n    height!: string;\r\n    alt!: string;\r\n    disabled = false;\r\n    active = true;\r\n    validate = (item: any, newValue: any) => true;\r\n\r\n\tonIntoComponentChange = new EventEmitter();\r\n\r\n    static settingsPatterns() {\r\n        return ['video::::false:true']; //width, height, alt text, enable controlls, hver play\r\n    }\r\n    transform(source: any, data: any, args: any[]) {\r\n\r\n        this.source = source;\r\n        this.width = (args && args.length) ? args[0] : \"\";\r\n        this.height = (args && args.length > 1) ? args[1] : \"\";\r\n        this.alt = (args && args.length > 2) ? args[2] : \"\";\r\n        this.hasControls = (args && args.length > 3 && args[3].length) ? (args[3] === 'true') : true;\r\n        this.hoverPlay = (args && args.length > 4 && args[4].length) ? (args[4] === 'true') : false;\r\n\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            if(!this.alt || !this.alt.length) {\r\n                const q = source.indexOf(\"?\");\r\n                const t = q < 0 ? source : source.substring(0, q);\r\n                const d = t.lastIndexOf(\"/\");\r\n                this.alt = d < 0 ? t : t.substring(d+1);\r\n            }\r\n        }\r\n    }\r\n    updateControls(event: any) {\r\n        if (this.hasControls) {\r\n            event.target.setAttribute('controls','true');\r\n        }\r\n        if (this.hoverPlay) {\r\n            event.target.play();\r\n        }\r\n    }\r\n    resetControls(event: any) {\r\n        if (this.hoverPlay && this.isPlaying(event.target)) {\r\n            event.target.pause();\r\n        }\r\n    }\r\n    private isPlaying(video: any) {\r\n        return !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);\r\n    }\r\n    keyup(event: any) {\r\n        const code = event.which;\r\n        if (code === 13 && !this.disabled) {\r\n            if (this.isPlaying(event.target)) {\r\n                event.target.pause();\r\n            } else {\r\n                event.target.play();\r\n            }\r\n        }\r\n    }\r\n    change(event: any) {\r\n        if (!this.disabled) {\r\n            this.onIntoComponentChange.emit({\r\n                id: this.id,\r\n                name: this.name,\r\n                value: this.source,\r\n                type: event.type,\r\n                item: {\r\n                    autoplay: event.target.autoplay,\r\n                    controls: event.target.controls,\r\n                    duration: event.target.duration,\r\n                    ended: event.target.ended,\r\n                    error: event.target.error,\r\n                    paused: event.target.paused,\r\n                    muted: event.target.muted,\r\n                    currentTime: event.target.currentTime,\r\n                    volume: event.target.volume\r\n                }\r\n            });\r\n        }\r\n    }\r\n}\r\n","/*\r\n* Defines a filter to convert url into an image display. \r\n* if transforming object is an array, all elements in the array will be transformed and the resulting array will be returned.\r\n*/\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'video' })\r\nexport class VideoPipe implements PipeTransform {\r\n    static transformationMethod() {\r\n        const x = function  (content: any, args: string[], callback?: any, data?: any) {\r\n            // video:200px:auto:alttext OR video:200px:alternate-text OR video:200px OR video\r\n            if (args.length > 3) {\r\n                return new VideoPipe().transform(content, args[1], args[2], args[3]);\r\n            } else if (args.length > 2) {\r\n                return new VideoPipe().transform(content, args[1], args[2]);\r\n            } else if (args.length > 1) {\r\n                return new VideoPipe().transform(content, args[1]);\r\n            } else {\r\n                return new VideoPipe().transform(content, \"\");\r\n            }\r\n        };\r\n        return x;\r\n    }\r\n\r\n    stringToVideo(source: string, width: string, height: string, alt: string) {\r\n        if(!alt || !alt.length) {\r\n            const q = source.indexOf(\"?\");\r\n            const t = q < 0 ? source : source.substring(0, q);\r\n            const d = t.lastIndexOf(\"/\");\r\n            alt = d < 0 ? t : t.substring(d+1);\r\n        }\r\n        return \"<video src=\\'\"+source+\"\\' style=\\'\"+ width + height + \"\\' title=\\'\"+alt+\"\\'  controls=\\'true\\' />\";\r\n    }\r\n    arrayToVideo(sources: any[], width: string, height: string, alt: string) {\r\n        const result: any[] = [];\r\n        sources.map((source) => {\r\n            result.push(this.stringToVideo(source, width, height, alt));\r\n        });\r\n        return result;\r\n    }\r\n    transform(source: any, ...args: any[]): any {\r\n\r\n        const width:string = (args && args.length) ? \"width: \" + args[0] + \";\" : \"\";\r\n        const height:string = (args && args.length > 1) ? \"height: \" + args[1] + \";\" : \"\";\r\n        const alt:string = (args && args.length > 2) ? args[2] : \"\";\r\n        if ((typeof source === \"string\") || !(source instanceof Array)) {\r\n            return this.stringToVideo(source, width, height, alt);\r\n        }\r\n        return this.arrayToVideo(source, width, height, \"\");\r\n\r\n    }\r\n}\r\n","import { NgModule, ModuleWithProviders, Inject, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { VideoComponent } from './video.component';\r\nimport { VideoPipe } from './video.pipe';\r\nimport { ComponentPool } from '../common/component.pool';\r\n\r\n@NgModule({\r\n  imports: [CommonModule],\r\n  declarations: [VideoComponent, VideoPipe],\r\n  exports: [VideoComponent, VideoPipe],\r\n  entryComponents: [VideoComponent],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class VideoIntoPipeModule {\r\n  static forRoot(): ModuleWithProviders<any> {\r\n    return {\r\n      ngModule: VideoIntoPipeModule,\r\n      providers: [VideoPipe]\r\n    }\r\n  }\r\n  constructor(@Inject(ComponentPool)  pool: ComponentPool) {\r\n    pool.registerComponent('video', VideoComponent);\r\n    pool.registerPipeTransformation('video', VideoPipe.transformationMethod());\r\n  }\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { CommonPipesModule } from './common/common-pipes.module';\r\n\r\nimport { AddressIntoPipeModule } from './address/addess-pipe.module';\r\nimport { AudioIntoPipeModule } from './audio/audio-pipe.module';\r\nimport { CalendarIntoPipeModule } from './calendar/calendar-pipe.module';\r\nimport { CheckboxIntoPipeModule } from './checkbox/checkbox-pipe.module';\r\nimport { EmailIntoPipeModule } from './email/email-pipe.module';\r\nimport { FontIntoPipeModule } from './font/font-pipe.module';\r\nimport { ImageIntoPipeModule } from './image/image-pipe.module';\r\nimport { InputIntoPipeModule } from './input/input-pipe.module';\r\nimport { InputGroupIntoPipeModule } from './inputgroup/inputgroup-pipe.module';\r\nimport { JsonIntoPipeModule } from './json/json-pipe.module';\r\nimport { LastUpdateIntoPipeModule } from './lastupdate/lastupdate-pipe.module';\r\nimport { LikeIntoPipeModule } from './like/like-pipe.module';\r\nimport { LinkIntoPipeModule } from './link/link-pipe.module';\r\nimport { PhoneIntoPipeModule } from './phone/phone-pipe.module';\r\nimport { RatingIntoPipeModule } from './rating/rating-pipe.module';\r\nimport { NoticeIntoPipeModule } from './notice/notice-pipe.module';\r\nimport { SelectIntoPipeModule } from './select/select-pipe.module';\r\nimport { ShareIntoPipeModule } from './share/share-pipe.module';\r\nimport { SpanIntoPipeModule } from './span/span-pipe.module';\r\nimport { SwitchIntoPipeModule } from './switch/switch-pipe.module';\r\nimport { TableIntoPipeModule } from './table/table-pipe.module';\r\nimport { TextIntoPipeModule } from './text/text-pipe.module';\r\nimport { VideoIntoPipeModule } from './video/video-pipe.module';\r\nimport { SliderIntoPipeModule } from './slider/slider-pipe.module';\r\nimport { ToggerIntoPipeModule } from './toggler/toggler-pipe.module'\r\n\r\n@NgModule({\r\n  imports: [\r\n    CommonModule,\r\n    CommonPipesModule.forRoot(),\r\n    AddressIntoPipeModule.forRoot(),\r\n    AudioIntoPipeModule.forRoot(),\r\n    CalendarIntoPipeModule.forRoot(),\r\n    CheckboxIntoPipeModule.forRoot(),\r\n    EmailIntoPipeModule.forRoot(),\r\n    FontIntoPipeModule.forRoot(),\r\n    ImageIntoPipeModule.forRoot(),\r\n    InputIntoPipeModule.forRoot(),\r\n    InputGroupIntoPipeModule.forRoot(),\r\n    JsonIntoPipeModule.forRoot(),\r\n    LastUpdateIntoPipeModule.forRoot(),\r\n    LikeIntoPipeModule.forRoot(),\r\n    LinkIntoPipeModule.forRoot(),\r\n    PhoneIntoPipeModule.forRoot(),\r\n    RatingIntoPipeModule.forRoot(),\r\n    NoticeIntoPipeModule.forRoot(),\r\n    SelectIntoPipeModule.forRoot(),\r\n    ShareIntoPipeModule.forRoot(),\r\n    SliderIntoPipeModule.forRoot(),\r\n    SpanIntoPipeModule.forRoot(),\r\n    SwitchIntoPipeModule.forRoot(),\r\n    TableIntoPipeModule.forRoot(),\r\n    TextIntoPipeModule.forRoot(),\r\n    ToggerIntoPipeModule.forRoot(),\r\n    VideoIntoPipeModule.forRoot()\r\n  ],\r\n  declarations: [],\r\n  exports: [\r\n    CommonPipesModule,\r\n    AddressIntoPipeModule,\r\n    AudioIntoPipeModule,\r\n    CalendarIntoPipeModule,\r\n    CheckboxIntoPipeModule,\r\n    EmailIntoPipeModule,\r\n    FontIntoPipeModule,\r\n    ImageIntoPipeModule,\r\n    InputIntoPipeModule,\r\n    InputGroupIntoPipeModule,\r\n    JsonIntoPipeModule,\r\n    LastUpdateIntoPipeModule,\r\n    LikeIntoPipeModule,\r\n    LinkIntoPipeModule,\r\n    PhoneIntoPipeModule,\r\n    RatingIntoPipeModule,\r\n    NoticeIntoPipeModule,\r\n    SelectIntoPipeModule,\r\n    ShareIntoPipeModule,\r\n    SliderIntoPipeModule,\r\n    SpanIntoPipeModule,\r\n    SwitchIntoPipeModule,\r\n    TableIntoPipeModule,\r\n    TableIntoPipeModule,\r\n    TextIntoPipeModule,\r\n    ToggerIntoPipeModule,\r\n    VideoIntoPipeModule\r\n  ],\r\n  entryComponents: [],\r\n  providers: [\r\n  ],\r\n  schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\n\r\nexport class IntoPipeModule {\r\n}\r\n","/*\n * Public API Surface of into-pipes\n */\n\nexport * from './lib/address/‌index';\nexport * from './lib/audio/‌index';\nexport * from './lib/calendar/‌index';\nexport * from './lib/checkbox/‌index';\nexport * from './lib/email/‌index';\nexport * from './lib/font/‌index';\nexport * from './lib/image/‌index';\nexport * from './lib/input/‌index';\nexport * from './lib/inputgroup/‌index';\nexport * from './lib/json/‌index';\nexport * from './lib/lastupdate/‌index';\nexport * from './lib/like/‌index';\nexport * from './lib/link/‌index';\nexport * from './lib/phone/‌index';\nexport * from './lib/rating/‌index';\nexport * from './lib/notice/‌index';\nexport * from './lib/select/‌index';\nexport * from './lib/share/‌index';\nexport * from './lib/span/‌index';\nexport * from './lib/switch/‌index';\nexport * from './lib/slider/‌index';\nexport * from './lib/table/‌index';\nexport * from './lib/text/‌index';\nexport * from './lib/toggler/‌index';\nexport * from './lib/video/‌index';\nexport * from './lib/common/‌index';\nexport * from './lib/phone/‌index';\n\nexport { IntoPipeModule } from './lib/pipe.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ComponentPool","i2.InToPipe","i1","i1.CommonPipesModule","i2.AddressIntoPipeModule","i3.AudioIntoPipeModule","i4.CalendarIntoPipeModule","i5.CheckboxIntoPipeModule","i6.EmailIntoPipeModule","i7.FontIntoPipeModule","i8.ImageIntoPipeModule","i9.InputIntoPipeModule","i10.InputGroupIntoPipeModule","i11.JsonIntoPipeModule","i12.LastUpdateIntoPipeModule","i13.LikeIntoPipeModule","i14.LinkIntoPipeModule","i15.PhoneIntoPipeModule","i16.RatingIntoPipeModule","i17.NoticeIntoPipeModule","i18.SelectIntoPipeModule","i19.ShareIntoPipeModule","i20.SliderIntoPipeModule","i21.SpanIntoPipeModule","i22.SwitchIntoPipeModule","i23.TableIntoPipeModule","i24.TextIntoPipeModule","i25.ToggerIntoPipeModule","i26.VideoIntoPipeModule"],"mappings":"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"}