blob: 8bfe665c7aec4af51019ebfceb1270f18d977503 [file] [log] [blame]
{"version":3,"file":"covalent-core-common.js.map","sources":["ng://@covalent/core/common/forms/auto-trim/auto-trim.directive.ts","ng://@covalent/core/common/directives/fullscreen/fullscreen.directive.ts","ng://@covalent/core/common/pipes/time-ago/time-ago.pipe.ts","ng://@covalent/core/common/pipes/time-difference/time-difference.pipe.ts","ng://@covalent/core/common/pipes/time-until/time-until.pipe.ts","ng://@covalent/core/common/pipes/bytes/bytes.pipe.ts","ng://@covalent/core/common/pipes/decimal-bytes/decimal-bytes.pipe.ts","ng://@covalent/core/common/pipes/digits/digits.pipe.ts","ng://@covalent/core/common/pipes/truncate/truncate.pipe.ts","ng://@covalent/core/common/services/router-path.service.ts","ng://@covalent/core/common/services/icon.service.ts","ng://@covalent/core/common/common.module.ts","ng://@covalent/core/common/animations/rotate/rotate.animation.ts","ng://@covalent/core/common/animations/collapse/collapse.animation.ts","ng://@covalent/core/common/animations/fade/fadeInOut.animation.ts","ng://@covalent/core/common/animations/bounce/bounce.animation.ts","ng://@covalent/core/common/animations/flash/flash.animation.ts","ng://@covalent/core/common/animations/headshake/headshake.animation.ts","ng://@covalent/core/common/animations/jello/jello.animation.ts","ng://@covalent/core/common/animations/pulse/pulse.animation.ts","ng://@covalent/core/common/behaviors/control-value-accesor.mixin.ts","ng://@covalent/core/common/behaviors/disabled.mixin.ts","ng://@covalent/core/common/behaviors/disable-ripple.mixin.ts","ng://@covalent/core/common/forms/validators/validators.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { HostListener, Host, Optional } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdAutoTrim]',\n})\nexport class TdAutoTrimDirective {\n\n constructor(@Optional() @Host() private _model: NgModel) {}\n\n /**\n * Listens to host's (blur) event and trims value.\n */\n @HostListener('blur', ['$event'])\n onBlur(event: Event): void {\n if (this._model && this._model.value && typeof(this._model.value) === 'string') {\n this._model.update.emit(this._model.value.trim());\n }\n }\n}\n","import { Directive, HostListener, ElementRef, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\ninterface IFsDocument extends HTMLDocument {\n fullscreenElement: Element;\n webkitFullscreenElement: Element;\n mozFullscreenElement: Element;\n msFullscreenElement: Element;\n webkitExitFullscreen: () => void;\n mozCancelFullScreen: () => void;\n msExitFullscreen: () => void;\n}\n\n@Directive({\n selector: '[tdFullScreen]',\n exportAs: 'tdFullScreen',\n})\nexport class TdFullscreenDirective {\n fullScreenIsActive: boolean = false;\n constructor(@Inject(DOCUMENT) private _document: IFsDocument, private _el: ElementRef) {}\n\n @HostListener('document:fullscreenchange', ['$event'])\n @HostListener('document:webkitfullscreenchange', ['$event'])\n @HostListener('document:mozfullscreenchange', ['$event'])\n @HostListener('document:msfullscreenchange', ['$event'])\n public fsChangeHandler(event: Event): void {\n this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();\n }\n\n public toggleFullScreen(): void {\n this._getFullScreenElement() === this._el.nativeElement ? this.exitFullScreen() : this.enterFullScreen();\n }\n\n public enterFullScreen(): void {\n const { _el: { nativeElement } }: TdFullscreenDirective = this;\n const enterFullScreenMap: object = {\n requestFullscreen: () => nativeElement.requestFullscreen(), // Chrome\n webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(), // Safari \n mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(), // Firefox\n msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE\n };\n\n for (const handler of Object.keys(enterFullScreenMap)) {\n if (nativeElement[handler]) {\n enterFullScreenMap[handler]();\n }\n }\n }\n\n public exitFullScreen(): void {\n const { _document, _el: { nativeElement } }: TdFullscreenDirective = this;\n const exitFullScreenMap: object = {\n exitFullscreen: () => _document.exitFullscreen(), // Chrome\n webkitExitFullscreen: () => _document.webkitExitFullscreen(), // Safari\n mozCancelFullScreen: () => _document.mozCancelFullScreen(), // Firefox\n msExitFullscreen: () => _document.msExitFullscreen(), // IE\n };\n\n for (const handler of Object.keys(exitFullScreenMap)) {\n if (_document[handler] && this._getFullScreenElement() === nativeElement) {\n exitFullScreenMap[handler]();\n }\n }\n }\n\n private _getFullScreenElement(): Element {\n const { _document }: TdFullscreenDirective = this;\n const tdFullScreenElementMap: object = {\n fullscreenElement: () => _document.fullscreenElement, // Chrome, Opera\n webkitFullscreenElement: () => _document.webkitFullscreenElement, // Safari\n mozFullscreenElement: () => _document.mozFullscreenElement, // Firefox\n msFullscreenElement: () => _document.msFullscreenElement, // IE, Edge\n };\n for (const props of Object.keys(tdFullScreenElementMap)) {\n if (_document[props]) {\n return _document[props];\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeAgo',\n})\nexport class TdTimeAgoPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n let ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n let startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((startTime - time.getTime()) / 1000);\n\n if (diff < 2) {\n return '1 second ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' seconds ago';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return '1 minute ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' minutes ago';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return '1 hour ago';\n }\n if (diff < 24) {\n return Math.floor(diff) + ' hours ago';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return '1 day ago';\n }\n if (diff < 30) {\n return Math.floor(diff) + ' days ago';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return '1 month ago';\n }\n if (diff < 12) {\n return Math.floor(diff) + ' months ago';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return '1 year ago';\n } else {\n return Math.floor(diff) + ' years ago';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeDifference',\n})\n\nexport class TdTimeDifferencePipe implements PipeTransform {\n transform(start: any, end?: any): string {\n let startTime: Date = new Date(start);\n let endTime: Date;\n\n if (end !== undefined) {\n endTime = new Date(end);\n } else {\n endTime = new Date();\n }\n\n if (!startTime.getTime() || !endTime.getTime()) {\n return 'Invalid Date';\n }\n\n let diff: number = Math.floor((endTime.getTime() - startTime.getTime()) / 1000);\n\n let days: number = Math.floor(diff / (60 * 60 * 24));\n diff = diff - (days * (60 * 60 * 24));\n\n let hours: number = Math.floor(diff / (60 * 60));\n diff = diff - (hours * (60 * 60));\n\n let minutes: number = Math.floor(diff / (60));\n diff -= minutes * (60);\n\n let seconds: number = diff;\n\n let pad: string = '00';\n\n let daysFormatted: string = '';\n\n if (days > 0 && days < 2) {\n daysFormatted = ' day - ';\n } else if (days > 1) {\n daysFormatted = ' days - ' ;\n }\n\n return (days > 0 ? days + daysFormatted : daysFormatted) +\n pad.substring(0, pad.length - (hours + '').length) + hours + ':' +\n pad.substring(0, pad.length - (minutes + '').length) + minutes + ':' +\n pad.substring(0, pad.length - (seconds + '').length) + seconds;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeUntil',\n})\nexport class TdTimeUntilPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n let ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n let startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((time.getTime() - startTime) / 1000);\n\n if (diff < 2) {\n return 'in 1 second';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' seconds';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 minute';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' minutes';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 hour';\n }\n if (diff < 24) {\n return 'in ' + Math.floor(diff) + ' hours';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return 'in 1 day';\n }\n if (diff < 30) {\n return 'in ' + Math.floor(diff) + ' days';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return 'in 1 month';\n }\n if (diff < 12) {\n return 'in ' + Math.floor(diff) + ' months';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return 'in 1 year';\n } else {\n return 'in ' + Math.floor(diff) + ' years';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bytes',\n})\n\nexport class TdBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision: number = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n let k: number = 1024;\n let sizes: string[] = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n let i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'decimalBytes',\n})\n\nexport class TdDecimalBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision: number = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n let k: number = 1000;\n let sizes: string[] = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n let i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];\n }\n}\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'digits',\n})\n\nexport class TdDigitsPipe implements PipeTransform {\n\n private _decimalPipe: DecimalPipe;\n\n constructor(@Inject(LOCALE_ID) private _locale: string = 'en') {\n this._decimalPipe = new DecimalPipe(this._locale);\n }\n\n /* `digits` needs to be type `digits: any` or TypeScript complains */\n transform(digits: any, precision: number = 1): string {\n if (digits === 0) {\n return '0';\n } else if (isNaN(parseInt(digits, 10))) {\n /* If not a valid number, return the value */\n return digits;\n } else if (digits < 1) {\n return this._decimalPipe.transform(digits.toFixed(precision));\n }\n let k: number = 1000;\n let sizes: string[] = ['', 'K', 'M', 'B', 'T', 'Q'];\n let i: number = Math.floor(Math.log(digits) / Math.log(k));\n let size: string = sizes[i];\n return this._decimalPipe.transform(parseFloat((digits / Math.pow(k, i)).toFixed(precision))) + (size ? ' ' + size : '');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate',\n})\n\nexport class TdTruncatePipe implements PipeTransform {\n transform(text: any, length: number): string {\n if (typeof text !== 'string') {\n return '';\n }\n\n // Truncate\n let truncated: string = text.substr(0, length);\n\n if (text.length > length) {\n if (truncated.lastIndexOf(' ') > 0) {\n truncated = truncated.trim();\n }\n\n truncated += '…';\n }\n\n return truncated;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\n\nimport { filter, pairwise } from 'rxjs/operators';\n\n@Injectable()\nexport class RouterPathService {\nprivate static _previousRoute: string = '/';\n constructor(private _router: Router) {\n this._router.events.pipe(\n filter((e: any) => e instanceof RoutesRecognized),\n pairwise(),\n ).subscribe((e: any[]) => {\n RouterPathService._previousRoute = e[0].urlAfterRedirects;\n });\n }\n\n /*\n * Utility function to get the route the user previously went to\n * good for use in a \"back button\"\n */\n getPreviousRoute(): string {\n return RouterPathService._previousRoute;\n }\n}\n","/*\n * Copyright (C) 2016-2017 by Teradata Corporation. All rights reserved.\n * TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET\n */\n\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class IconService {\n\n private _icons: string[] = [\n 'access_alarm',\n 'access_alarms',\n 'access_time',\n 'accessibility',\n 'account_balance',\n 'account_balance_wallet',\n 'account_box',\n 'account_circle',\n 'add',\n 'add_alarm',\n 'add_box',\n 'add_circle',\n 'add_circle_outline',\n 'add_shopping_cart',\n 'add_to_photos',\n 'adjust',\n 'alarm',\n 'alarm_add',\n 'alarm_off',\n 'alarm_on',\n 'album',\n 'android',\n 'announcement',\n 'apps',\n 'archive',\n 'arrow_back',\n 'arrow_drop_down',\n 'arrow_drop_down_circle',\n 'arrow_drop_up',\n 'arrow_forward',\n 'aspect_ratio',\n 'assessment',\n 'assignment',\n 'assignment_ind',\n 'assignment_late',\n 'assignment_return',\n 'assignment_returned',\n 'assignment_turned_in',\n 'assistant_photo',\n 'attach_file',\n 'attach_money',\n 'attachment',\n 'audiotrack',\n 'autorenew',\n 'av_timer',\n 'backspace',\n 'backup',\n 'battery_alert',\n 'battery_charging_full',\n 'battery_full',\n 'battery_std',\n 'battery_unknown',\n 'beenhere',\n 'block',\n 'bluetooth',\n 'bluetooth_audio',\n 'bluetooth_connected',\n 'bluetooth_disabled',\n 'bluetooth_searching',\n 'blur_circular',\n 'blur_linear',\n 'blur_off',\n 'blur_on',\n 'book',\n 'bookmark',\n 'bookmark_border',\n 'border_all',\n 'border_bottom',\n 'border_clear',\n 'border_color',\n 'border_horizontal',\n 'border_inner',\n 'border_left',\n 'border_outer',\n 'border_right',\n 'border_style',\n 'border_top',\n 'border_vertical',\n 'brightness_1',\n 'brightness_2',\n 'brightness_3',\n 'brightness_4',\n 'brightness_5',\n 'brightness_6',\n 'brightness_7',\n 'brightness_auto',\n 'brightness_high',\n 'brightness_low',\n 'brightness_medium',\n 'broken_image',\n 'brush',\n 'bug_report',\n 'build',\n 'business',\n 'cached',\n 'cake',\n 'call',\n 'call_end',\n 'call_made',\n 'call_merge',\n 'call_missed',\n 'call_received',\n 'call_split',\n 'camera',\n 'camera_alt',\n 'camera_front',\n 'camera_rear',\n 'camera_roll',\n 'cancel',\n 'cast',\n 'cast_connected',\n 'center_focus_strong',\n 'center_focus_weak',\n 'chat',\n 'check',\n 'check_box',\n 'check_box_outline_blank',\n 'check_circle',\n 'chevron_left',\n 'chevron_right',\n 'class',\n 'clear',\n 'clear_all',\n 'close',\n 'closed_caption',\n 'cloud',\n 'cloud_circle',\n 'cloud_done',\n 'cloud_download',\n 'cloud_off',\n 'cloud_queue',\n 'cloud_upload',\n 'collections',\n 'collections_bookmark',\n 'color_lens',\n 'colorize',\n 'comment',\n 'compare',\n 'computer',\n 'confirmation_number',\n 'contact_phone',\n 'contacts',\n 'content_copy',\n 'content_cut',\n 'content_paste',\n 'control_point',\n 'control_point_duplicate',\n 'create',\n 'credit_card',\n 'crop',\n 'crop_16_9',\n 'crop_3_2',\n 'crop_5_4',\n 'crop_7_5',\n 'crop_din',\n 'crop_free',\n 'crop_landscape',\n 'crop_original',\n 'crop_portrait',\n 'crop_square',\n 'dashboard',\n 'data_usage',\n 'dehaze',\n 'delete',\n 'description',\n 'desktop_mac',\n 'desktop_windows',\n 'details',\n 'developer_board',\n 'developer_mode',\n 'device_hub',\n 'devices',\n 'dialer_sip',\n 'dialpad',\n 'directions',\n 'directions_bike',\n 'directions_boat',\n 'directions_bus',\n 'directions_car',\n 'directions_railway',\n 'directions_run',\n 'directions_subway',\n 'directions_transit',\n 'directions_walk',\n 'disc_full',\n 'dns',\n 'do_not_disturb',\n 'do_not_disturb_alt',\n 'dock',\n 'domain',\n 'done',\n 'done_all',\n 'drafts',\n 'drive_eta',\n 'dvr',\n 'edit',\n 'eject',\n 'email',\n 'equalizer',\n 'error',\n 'error_outline',\n 'event',\n 'event_available',\n 'event_busy',\n 'event_note',\n 'event_seat',\n 'exit_to_app',\n 'expand_less',\n 'expand_more',\n 'explicit',\n 'explore',\n 'exposure',\n 'exposure_neg_1',\n 'exposure_neg_2',\n 'exposure_plus_1',\n 'exposure_plus_2',\n 'exposure_zero',\n 'extension',\n 'face',\n 'fast_forward',\n 'fast_rewind',\n 'favorite',\n 'favorite_border',\n 'feedback',\n 'file_download',\n 'file_upload',\n 'filter',\n 'filter_1',\n 'filter_2',\n 'filter_3',\n 'filter_4',\n 'filter_5',\n 'filter_6',\n 'filter_7',\n 'filter_8',\n 'filter_9',\n 'filter_9_plus',\n 'filter_b_and_w',\n 'filter_center_focus',\n 'filter_drama',\n 'filter_frames',\n 'filter_hdr',\n 'filter_list',\n 'filter_none',\n 'filter_tilt_shift',\n 'filter_vintage',\n 'find_in_page',\n 'find_replace',\n 'flag',\n 'flare',\n 'flash_auto',\n 'flash_off',\n 'flash_on',\n 'flight',\n 'flight_land',\n 'flight_takeoff',\n 'flip',\n 'flip_to_back',\n 'flip_to_front',\n 'folder',\n 'folder_open',\n 'folder_shared',\n 'folder_special',\n 'font_download',\n 'format_align_center',\n 'format_align_justify',\n 'format_align_left',\n 'format_align_right',\n 'format_bold',\n 'format_clear',\n 'format_color_fill',\n 'format_color_reset',\n 'format_color_text',\n 'format_indent_decrease',\n 'format_indent_increase',\n 'format_italic',\n 'format_line_spacing',\n 'format_list_bulleted',\n 'format_list_numbered',\n 'format_paint',\n 'format_quote',\n 'format_size',\n 'format_strikethrough',\n 'format_textdirection_l_to_r',\n 'format_textdirection_r_to_l',\n 'format_underlined',\n 'forum',\n 'forward',\n 'forward_10',\n 'forward_30',\n 'forward_5',\n 'fullscreen',\n 'fullscreen_exit',\n 'functions',\n 'gamepad',\n 'games',\n 'gesture',\n 'get_app',\n 'gif',\n 'gps_fixed',\n 'gps_not_fixed',\n 'gps_off',\n 'grade',\n 'gradient',\n 'grain',\n 'graphic_eq',\n 'grid_off',\n 'grid_on',\n 'group',\n 'group_add',\n 'group_work',\n 'hd',\n 'hdr_off',\n 'hdr_on',\n 'hdr_strong',\n 'hdr_weak',\n 'headset',\n 'headset_mic',\n 'healing',\n 'hearing',\n 'help',\n 'help_outline',\n 'high_quality',\n 'highlight_off',\n 'history',\n 'home',\n 'hotel',\n 'hourglass_empty',\n 'hourglass_full',\n 'http',\n 'https',\n 'image',\n 'image_aspect_ratio',\n 'import_export',\n 'inbox',\n 'indeterminate_check_box',\n 'info',\n 'info_outline',\n 'input',\n 'insert_chart',\n 'insert_comment',\n 'insert_drive_file',\n 'insert_emoticon',\n 'insert_invitation',\n 'insert_link',\n 'insert_photo',\n 'invert_colors',\n 'invert_colors_off',\n 'iso',\n 'keyboard',\n 'keyboard_arrow_down',\n 'keyboard_arrow_left',\n 'keyboard_arrow_right',\n 'keyboard_arrow_up',\n 'keyboard_backspace',\n 'keyboard_capslock',\n 'keyboard_hide',\n 'keyboard_return',\n 'keyboard_tab',\n 'keyboard_voice',\n 'label',\n 'label_outline',\n 'landscape',\n 'language',\n 'laptop',\n 'laptop_chromebook',\n 'laptop_mac',\n 'laptop_windows',\n 'launch',\n 'layers',\n 'layers_clear',\n 'leak_add',\n 'leak_remove',\n 'lens',\n 'library_add',\n 'library_books',\n 'library_music',\n 'link',\n 'list',\n 'live_help',\n 'live_tv',\n 'local_activity',\n 'local_airport',\n 'local_atm',\n 'local_bar',\n 'local_cafe',\n 'local_car_wash',\n 'local_convenience_store',\n 'local_dining',\n 'local_drink',\n 'local_florist',\n 'local_gas_station',\n 'local_grocery_store',\n 'local_hospital',\n 'local_hotel',\n 'local_laundry_service',\n 'local_library',\n 'local_mall',\n 'local_movies',\n 'local_offer',\n 'local_parking',\n 'local_pharmacy',\n 'local_phone',\n 'local_pizza',\n 'local_play',\n 'local_post_office',\n 'local_printshop',\n 'local_see',\n 'local_shipping',\n 'local_taxi',\n 'location_city',\n 'location_disabled',\n 'location_off',\n 'location_on',\n 'location_searching',\n 'lock',\n 'lock_open',\n 'lock_outline',\n 'looks',\n 'looks_3',\n 'looks_4',\n 'looks_5',\n 'looks_6',\n 'looks_one',\n 'looks_two',\n 'loop',\n 'loupe',\n 'loyalty',\n 'mail',\n 'map',\n 'markunread',\n 'markunread_mailbox',\n 'memory',\n 'menu',\n 'merge_type',\n 'message',\n 'mic',\n 'mic_none',\n 'mic_off',\n 'mms',\n 'mode_comment',\n 'mode_edit',\n 'money_off',\n 'monochrome_photos',\n 'mood',\n 'mood_bad',\n 'more',\n 'more_horiz',\n 'more_vert',\n 'mouse',\n 'movie',\n 'movie_creation',\n 'music_note',\n 'my_library_add',\n 'my_library_books',\n 'my_library_music',\n 'my_location',\n 'nature',\n 'nature_people',\n 'navigate_before',\n 'navigate_next',\n 'navigation',\n 'network_cell',\n 'network_locked',\n 'network_wifi',\n 'new_releases',\n 'nfc',\n 'no_sim',\n 'not_interested',\n 'note_add',\n 'notifications',\n 'notifications_active',\n 'notifications_none',\n 'notifications_off',\n 'notifications_paused',\n 'offline_pin',\n 'ondemand_video',\n 'open_in_browser',\n 'open_in_new',\n 'open_with',\n 'pages',\n 'pageview',\n 'palette',\n 'panorama',\n 'panorama_fish_eye',\n 'panorama_horizontal',\n 'panorama_vertical',\n 'panorama_wide_angle',\n 'party_mode',\n 'pause',\n 'pause_circle_filled',\n 'pause_circle_outline',\n 'payment',\n 'people',\n 'people_outline',\n 'perm_camera_mic',\n 'perm_contact_calendar',\n 'perm_data_setting',\n 'perm_device_information',\n 'perm_identity',\n 'perm_media',\n 'perm_phone_msg',\n 'perm_scan_wifi',\n 'person',\n 'person_add',\n 'person_outline',\n 'person_pin',\n 'personal_video',\n 'phone',\n 'phone_android',\n 'phone_bluetooth_speaker',\n 'phone_forwarded',\n 'phone_in_talk',\n 'phone_iphone',\n 'phone_locked',\n 'phone_missed',\n 'phone_paused',\n 'phonelink',\n 'phonelink_erase',\n 'phonelink_lock',\n 'phonelink_off',\n 'phonelink_ring',\n 'phonelink_setup',\n 'photo',\n 'photo_album',\n 'photo_camera',\n 'photo_library',\n 'photo_size_select_actual',\n 'photo_size_select_large',\n 'photo_size_select_small',\n 'picture_as_pdf',\n 'picture_in_picture',\n 'pin_drop',\n 'place',\n 'play_arrow',\n 'play_circle_filled',\n 'play_circle_outline',\n 'play_for_work',\n 'play_shopping_bag',\n 'playlist_add',\n 'plus_one',\n 'poll',\n 'polymer',\n 'portable_wifi_off',\n 'portrait',\n 'power',\n 'power_input',\n 'power_settings_new',\n 'present_to_all',\n 'print',\n 'public',\n 'publish',\n 'query_builder',\n 'question_answer',\n 'queue',\n 'queue_music',\n 'radio',\n 'radio_button_checked',\n 'radio_button_unchecked',\n 'rate_review',\n 'receipt',\n 'recent_actors',\n 'redeem',\n 'redo',\n 'refresh',\n 'remove',\n 'remove_circle',\n 'remove_circle_outline',\n 'remove_red_eye',\n 'reorder',\n 'repeat',\n 'repeat_one',\n 'replay',\n 'replay_10',\n 'replay_30',\n 'replay_5',\n 'reply',\n 'reply_all',\n 'report',\n 'report_problem',\n 'restaurant_menu',\n 'restore',\n 'ring_volume',\n 'room',\n 'rotate_90_degrees_ccw',\n 'rotate_left',\n 'rotate_right',\n 'router',\n 'satellite',\n 'save',\n 'scanner',\n 'schedule',\n 'school',\n 'screen_lock_landscape',\n 'screen_lock_portrait',\n 'screen_lock_rotation',\n 'screen_rotation',\n 'sd_card',\n 'sd_storage',\n 'search',\n 'security',\n 'select_all',\n 'send',\n 'settings',\n 'settings_applications',\n 'settings_backup_restore',\n 'settings_bluetooth',\n 'settings_brightness',\n 'settings_cell',\n 'settings_ethernet',\n 'settings_input_antenna',\n 'settings_input_component',\n 'settings_input_composite',\n 'settings_input_hdmi',\n 'settings_input_svideo',\n 'settings_overscan',\n 'settings_phone',\n 'settings_power',\n 'settings_remote',\n 'settings_system_daydream',\n 'settings_voice',\n 'share',\n 'shop',\n 'shop_two',\n 'shopping_basket',\n 'shopping_cart',\n 'shuffle',\n 'signal_cellular_4_bar',\n 'signal_cellular_connected_no_internet_4_bar',\n 'signal_cellular_no_sim',\n 'signal_cellular_null',\n 'signal_cellular_off',\n 'signal_wifi_4_bar',\n 'signal_wifi_4_bar_lock',\n 'signal_wifi_off',\n 'sim_card',\n 'sim_card_alert',\n 'skip_next',\n 'skip_previous',\n 'slideshow',\n 'smartphone',\n 'sms',\n 'sms_failed',\n 'snooze',\n 'sort',\n 'sort_by_alpha',\n 'space_bar',\n 'speaker',\n 'speaker_group',\n 'speaker_notes',\n 'speaker_phone',\n 'spellcheck',\n 'star',\n 'star_border',\n 'star_half',\n 'stars',\n 'stay_current_landscape',\n 'stay_current_portrait',\n 'stay_primary_landscape',\n 'stay_primary_portrait',\n 'stop',\n 'storage',\n 'store',\n 'store_mall_directory',\n 'straighten',\n 'strikethrough_s',\n 'style',\n 'subject',\n 'subtitles',\n 'supervisor_account',\n 'surround_sound',\n 'swap_calls',\n 'swap_horiz',\n 'swap_vert',\n 'swap_vertical_circle',\n 'switch_camera',\n 'switch_video',\n 'sync',\n 'sync_disabled',\n 'sync_problem',\n 'system_update',\n 'system_update_alt',\n 'tab',\n 'tab_unselected',\n 'tablet',\n 'tablet_android',\n 'tablet_mac',\n 'tag_faces',\n 'tap_and_play',\n 'terrain',\n 'text_format',\n 'textsms',\n 'texture',\n 'theaters',\n 'thumb_down',\n 'thumb_up',\n 'thumbs_up_down',\n 'time_to_leave',\n 'timelapse',\n 'timer',\n 'timer_10',\n 'timer_3',\n 'timer_off',\n 'toc',\n 'today',\n 'toll',\n 'tonality',\n 'toys',\n 'track_changes',\n 'traffic',\n 'transform',\n 'translate',\n 'trending_down',\n 'trending_flat',\n 'trending_up',\n 'tune',\n 'turned_in',\n 'turned_in_not',\n 'tv',\n 'undo',\n 'unfold_less',\n 'unfold_more',\n 'usb',\n 'verified_user',\n 'vertical_align_bottom',\n 'vertical_align_center',\n 'vertical_align_top',\n 'vibration',\n 'video_library',\n 'videocam',\n 'videocam_off',\n 'view_agenda',\n 'view_array',\n 'view_carousel',\n 'view_column',\n 'view_comfy',\n 'view_compact',\n 'view_day',\n 'view_headline',\n 'view_list',\n 'view_module',\n 'view_quilt',\n 'view_stream',\n 'view_week',\n 'vignette',\n 'visibility',\n 'visibility_off',\n 'voice_chat',\n 'voicemail',\n 'volume_down',\n 'volume_mute',\n 'volume_off',\n 'volume_up',\n 'vpn_key',\n 'vpn_lock',\n 'wallpaper',\n 'warning',\n 'watch',\n 'wb_auto',\n 'wb_cloudy',\n 'wb_incandescent',\n 'wb_iridescent',\n 'wb_sunny',\n 'wc',\n 'web',\n 'whatshot',\n 'widgets',\n 'wifi',\n 'wifi_lock',\n 'wifi_tethering',\n 'work',\n 'wrap_text',\n 'youtube_searched_for',\n 'zoom_in',\n 'zoom_out',\n ];\n\n get icons(): string[] {\n return this._icons;\n }\n\n filter(query: string): string[] {\n return this.icons.filter((el: string) => {\n return el.toLowerCase().indexOf(query ? query.toLowerCase() : '') > -1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n/**\n * Directives\n */\nimport { TdAutoTrimDirective } from './forms/auto-trim/auto-trim.directive';\nimport { TdFullscreenDirective } from './directives/fullscreen/fullscreen.directive';\n\nconst TD_DIRECTIVES: Type<any>[] = [TdAutoTrimDirective, TdFullscreenDirective];\n\n// Validators\nconst TD_VALIDATORS: Type<any>[] = [];\n\n/**\n * PIPES\n */\nimport { TdTimeAgoPipe } from './pipes/time-ago/time-ago.pipe';\nimport { TdTimeDifferencePipe } from './pipes/time-difference/time-difference.pipe';\nimport { TdTimeUntilPipe } from './pipes/time-until/time-until.pipe';\nimport { TdBytesPipe } from './pipes/bytes/bytes.pipe';\nimport { TdDecimalBytesPipe } from './pipes/decimal-bytes/decimal-bytes.pipe';\nimport { TdDigitsPipe } from './pipes/digits/digits.pipe';\nimport { TdTruncatePipe } from './pipes/truncate/truncate.pipe';\n\nconst TD_PIPES: Type<any>[] = [\n TdTimeAgoPipe,\n TdTimeDifferencePipe,\n TdTimeUntilPipe,\n TdBytesPipe,\n TdDecimalBytesPipe,\n TdDigitsPipe,\n TdTruncatePipe,\n];\n\n/**\n * Services\n */\n\nimport { RouterPathService } from './services/router-path.service';\nimport { IconService } from './services/icon.service';\n\n@NgModule({\n imports: [FormsModule, CommonModule],\n declarations: [TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n exports: [FormsModule, CommonModule, TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n providers: [RouterPathService, IconService],\n})\nexport class CovalentCommonModule {}\n","import {\n trigger, state, style, transition, animate, AnimationTriggerMetadata,\n query, animateChild, group,\n} from '@angular/animations';\n\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IRotateAnimation extends IAnimationOptions {\n degrees?: number;\n ease?: string;\n}\n\n/**\n * const tdRotateAnimation\n *\n * Parameter Options:\n * * degressStart: Degrees of rotation that the dom object will end up in during the \"false\" state\n * * degreesEnd: Degrees of rotation that the dom object will end up in during the \"true\" state\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerates and decelerates. Defaults to ease-in.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a rotation animation.\n *\n * usage: [@tdRotate]=\"{ value: true | false, params: { degreesEnd: 90 }}\"\n */\n\nexport const tdRotateAnimation: AnimationTriggerMetadata = trigger('tdRotate', [\n state('0', style({\n transform: 'rotate({{ degressStart }}deg)',\n }), { params: { degressStart: 0 }}),\n state('1', style({\n transform: 'rotate({{ degreesEnd }}deg)',\n }), { params: { degreesEnd: 180 }}),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}'),\n ]),\n ], { params: { duration: 250, delay: '0', ease: 'ease-in' }}),\n]);\n","import { trigger, state, style, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface ICollapseAnimation extends IAnimationOptions {\n easeOnClose?: string;\n easeOnOpen?: string;\n}\n\n/**\n * const tdCollapseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnClose: Animation accelerates and decelerates when closing. Defaults to ease-in.\n * * easeOnOpen: Animation accelerates and decelerates when opening. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a collapse/expand animation.\n *\n * usage: [@tdCollapse]=\"{ value: true | false, params: { duration: 500 }}\"\n */\nexport const tdCollapseAnimation: AnimationTriggerMetadata = trigger('tdCollapse', [\n state('1', style({\n height: '0',\n overflow: 'hidden',\n })),\n state('0', style({\n height: AUTO_STYLE,\n overflow: AUTO_STYLE,\n })),\n transition('0 => 1', [\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}', style({\n height: '0',\n overflow: 'hidden',\n })),\n ]),\n ], { params: { duration: 150, delay: '0', ease: 'ease-in' }}),\n transition('1 => 0', [\n style({\n height: '0',\n overflow: 'hidden',\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}', style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n })),\n ]),\n ], { params: { duration: 150, delay: '0', ease: 'ease-out' }}),\n]);\n","import { trigger, state, style, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IFadeInOutAnimation extends IAnimationOptions {\n easeOnIn?: string;\n easeOnOut?: string;\n}\n\n/**\n * const tdFadeInOutAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnIn: Animation accelerates and decelerates when fading in. Defaults to ease-in.\n * * easeOnOut: Animation accelerates and decelerates when fading out. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a fade animation.\n *\n * usage: [@tdFadeInOut]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFadeInOutAnimation: AnimationTriggerMetadata = trigger('tdFadeInOut', [\n state('0', style({\n opacity: '0',\n visibility: 'hidden',\n })),\n state('1', style({\n opacity: AUTO_STYLE,\n visibility: AUTO_STYLE,\n })),\n transition('0 => 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnIn }}'),\n ]),\n ], { params: { duration: 150, delay: '0', easeOnIn: 'ease-in' }}),\n transition('1 => 0', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnOut }}'),\n ]),\n ], { params: { duration: 150, delay: '0', easeOnOut: 'ease-out' }}),\n]);\n","\nimport { trigger, state, style, keyframes, transition, animate,\n AnimationTriggerMetadata, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdBounceAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a bounce animation.\n *\n * usage: [@tdBounce]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdBounceAnimation: AnimationTriggerMetadata = trigger('tdBounce', [\n state('0', style({\n transform: 'translate3d(0, 0, 0)',\n })),\n state('1', style({\n transform: 'translate3d(0, 0, 0)',\n })),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)', transform: 'translate3d(0, 0, 0)', offset: 0}),\n style({animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)', transform: 'translate3d(0, 0, 0)', offset: 0.2}),\n style({animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)', transform: 'translate3d(0, -30px, 0)', offset: 0.4}),\n style({animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)', transform: 'translate3d(0, -30px, 0)', offset: 0.43}),\n style({animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)', transform: 'translate3d(0, 0, 0)', offset: 0.53}),\n style({animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)', transform: 'translate3d(0, -15px, 0)', offset: .7}),\n style({animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)', transform: 'translate3d(0, 0, 0)', offset: 0.8}),\n style({transform: 'translate3d(0, -4px, 0)', offset: .9}),\n style({animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)', transform: 'translate3d(0, 0, 0)', offset: 1.0}),\n ])),\n ]),\n ], { params: { duration: 500, delay: '0', ease: 'ease-out' }}),\n]);\n","\nimport { trigger, state, style, keyframes, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdFlashAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a flash animation.\n *\n * usage: [@tdFlash]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFlashAnimation: AnimationTriggerMetadata = trigger('tdFlash', [\n state('0', style({\n opacity: 1,\n })),\n state('1', style({\n opacity: 1,\n })),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({opacity: 1, offset: 0}),\n style({opacity: 0, offset: 0.25}),\n style({opacity: 1, offset: 0.5}),\n style({opacity: 0, offset: 0.75}),\n style({opacity: 1, offset: 1.0}),\n ])),\n ]),\n ], { params: { duration: 500, delay: '0', ease: 'ease-out' }}),\n]);\n","\nimport { trigger, state, style, keyframes, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdHeadshakeAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a headshake animation.\n *\n * usage: [@tdHeadshake]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdHeadshakeAnimation: AnimationTriggerMetadata = trigger('tdHeadshake', [\n state('0', style({\n transform: 'translateX(0)',\n })),\n state('1', style({\n transform: 'translateX(0)',\n })),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({transform: 'translateX(0)', offset: 0}),\n style({transform: 'translateX(-6px) rotateY(-9deg)', offset: 0.065}),\n style({transform: 'translateX(5px) rotateY(7deg)', offset: 0.185}),\n style({transform: 'translateX(-3px) rotateY(-5deg)', offset: 0.315}),\n style({transform: 'translateX(2px) rotateY(3deg)', offset: 0.435}),\n style({transform: 'translateX(0)', offset: 0.50}),\n ])),\n ]),\n ], { params: { duration: 500, delay: '0', ease: 'ease-out' }}),\n]);\n","\nimport { trigger, state, style, keyframes, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdJelloAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a jello animation.\n *\n * usage: [@tdJello]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdJelloAnimation: AnimationTriggerMetadata = trigger('tdJello', [\n state('0', style({\n transform: 'none',\n })),\n state('1', style({\n transform: 'none',\n })),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({transform: 'none', offset: 0}),\n style({transform: 'none', offset: 0.011}),\n style({transform: 'skewX(-12.5deg) skewY(-12.5deg)', offset: 0.222}),\n style({transform: 'skewX(6.25deg) skewY(6.25deg)', offset: 0.333}),\n style({transform: 'skewX(-3.125deg) skewY(-3.125deg)', offset: 0.444}),\n style({transform: 'skewX(1.5625deg) skewY(1.5625deg)', offset: 0.555}),\n style({transform: 'skewX(-0.78125deg) skewY(-0.78125deg)', offset: 0.666}),\n style({transform: 'skewX(0.390625deg) skewY(0.390625deg)', offset: 0.777}),\n style({transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)', offset: 0.888}),\n ])),\n ]),\n ], { params: { duration: 500, delay: '0', ease: 'ease-out' }}),\n]);\n","\nimport { trigger, state, style, keyframes, transition, animate,\n AnimationTriggerMetadata, AUTO_STYLE, query, animateChild, group } from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdPulseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a pulse animation.\n *\n * usage: [@tdPulse]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdPulseAnimation: AnimationTriggerMetadata = trigger('tdPulse', [\n state('0', style({\n transform: 'scale3d(1, 1, 1)',\n })),\n state('1', style({\n transform: 'scale3d(1, 1, 1)',\n })),\n transition('0 <=> 1', [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)', offset: 0 }),\n style({ transform: 'scale3d(1.05, 1.05, 1.05)', offset: 0.5 }),\n style({ transform: 'scale3d(1, 1, 1)', offset: 1.0 }),\n ]),\n ),\n ]),\n ], { params: { duration: 500, delay: '0', ease: 'ease-out' }}),\n]);\n","import { ChangeDetectorRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { Observable, Subject } from 'rxjs';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nconst noop: any = () => {\n // empty method\n};\n\nexport interface IControlValueAccessor extends ControlValueAccessor {\n value: any;\n valueChanges: Observable<any>;\n onChange: (_: any) => any;\n onTouched: () => any;\n}\n\nexport interface IHasChangeDetectorRef {\n _changeDetectorRef: ChangeDetectorRef;\n}\n\n/** Mixin to augment a component with ngModel support. */\nexport function mixinControlValueAccessor<T extends Constructor<IHasChangeDetectorRef>>\n (base: T, initialValue?: any): Constructor<IControlValueAccessor> & T {\n return class extends base {\n private _value: any = initialValue instanceof Array ? Object.assign([], initialValue) : initialValue;\n private _subjectValueChanges: Subject<any>;\n valueChanges: Observable<any>;\n\n constructor(...args: any[]) {\n super(...args); \n this._subjectValueChanges = new Subject<any>();\n this.valueChanges = this._subjectValueChanges.asObservable();\n }\n\n set value(v: any) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n this._changeDetectorRef.markForCheck();\n this._subjectValueChanges.next(v);\n }\n }\n get value(): any {\n return this._value;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onChange = (_: any) => noop;\n onTouched = () => noop;\n\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisable {\n disabled: boolean;\n onDisabledChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): Constructor<ICanDisable> & T {\n return class extends base {\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n let newValue: boolean = coerceBooleanProperty(value);\n if (this._disabled !== newValue) {\n this._disabled = newValue;\n this.onDisabledChange(this._disabled);\n }\n }\n\n onDisabledChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisableRipple {\n disableRipple: boolean;\n onDisableRippleChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisableRipple<T extends Constructor<{}>>(base: T): Constructor<ICanDisableRipple> & T {\n return class extends base {\n private _disableRipple: boolean = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: boolean) {\n let newValue: boolean = coerceBooleanProperty(value);\n if (this._disableRipple !== newValue) {\n this._disableRipple = newValue;\n this.onDisableRippleChange(this._disableRipple);\n }\n }\n\n onDisableRippleChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { Validators, AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class CovalentValidators {\n static min(minValue: any): ValidatorFn {\n let func: ValidatorFn = (c: AbstractControl): {[key: string]: any} => {\n if (!!Validators.required(c) || (!minValue && minValue !== 0)) {\n return undefined;\n }\n let v: number = c.value;\n return v < minValue ?\n { min: {minValue: minValue, actualValue: v} } :\n undefined;\n };\n return func;\n }\n\n static max(maxValue: any): ValidatorFn {\n let func: ValidatorFn = (c: AbstractControl): {[key: string]: any} => {\n if (!!Validators.required(c) || (!maxValue && maxValue !== 0)) {\n return undefined;\n }\n let v: number = c.value;\n return v > maxValue ?\n { max: {maxValue: maxValue, actualValue: v} } :\n undefined;\n };\n return func;\n }\n\n static numberRequired(c: AbstractControl): {[key: string]: any} {\n return (Number.isNaN(c.value)) ?\n { required: true } :\n undefined;\n }\n\n}\n"],"names":["query"],"mappings":"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"}