novo-elements
Version:
1 lines • 8.27 kB
Source Map (JSON)
{"version":3,"file":"novo-elements-elements-tip-well.mjs","sources":["../../../projects/novo-elements/src/elements/tip-well/TipWell.ts","../../../projects/novo-elements/src/elements/tip-well/TipWell.module.ts","../../../projects/novo-elements/src/elements/tip-well/novo-elements-elements-tip-well.ts"],"sourcesContent":["// NG2\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\n\n@Component({\n selector: 'novo-tip-well',\n template: `\n <div *ngIf=\"isActive\">\n <div>\n <i class=\"bhi-{{ icon }}\" *ngIf=\"icon\" [attr.data-automation-id]=\"'novo-tip-well-icon-' + name\"></i>\n <ng-content select=\"novo-icon\"></ng-content>\n <p *ngIf=\"sanitize && tip.length\" [attr.data-automation-id]=\"'novo-tip-well-tip-' + name\">{{ tip }}</p>\n <p *ngIf=\"!sanitize && tipWithStyles\" [attr.data-automation-id]=\"'novo-tip-well-tip-' + name\" [innerHTML]=\"tipWithStyles\"></p>\n <p *ngIf=\"(sanitize && !tip.length) || (!sanitize && !tipWithStyles)\" [attr.data-automation-id]=\"'novo-tip-well-tip-' + name\"><ng-content></ng-content></p>\n </div>\n <button theme=\"dialogue\" size=\"small\" (click)=\"hideTip()\" *ngIf=\"button\" [attr.data-automation-id]=\"'novo-tip-well-button-' + name\">\n {{ buttonText }}\n </button>\n </div>\n `,\n styleUrls: ['./TipWell.scss'],\n host: {\n '[class.active]': 'isActive',\n },\n standalone: false,\n})\nexport class NovoTipWellElement implements OnInit {\n @Input()\n name: string | number;\n @Input()\n tip: string;\n @Input()\n buttonText: string;\n @Input()\n button: boolean = true;\n @Input()\n icon: string;\n @Input()\n sanitize: boolean = true;\n @Output()\n confirmed = new EventEmitter();\n\n isActive: boolean = true;\n isLocalStorageEnabled: any;\n localStorageKey: string;\n\n private _tipWithStyles: SafeHtml;\n private _lastTipStyled: string;\n\n constructor(private labels: NovoLabelService, private sanitizer: DomSanitizer) {\n this.isActive = true;\n // Check if localStorage is enabled\n this.isLocalStorageEnabled = (() => {\n let isEnabled = false;\n if (typeof localStorage === 'object') {\n try {\n localStorage.setItem('lsTest', '1');\n localStorage.removeItem('lsTest');\n isEnabled = true;\n } catch (e) {\n console.warn(\n 'This web browser does not support storing settings locally. In Safari, the most common cause of this is using \"Private Browsing Mode\". Some settings may not save or some features may not work properly for you.',\n );\n }\n }\n return isEnabled;\n })();\n }\n\n // Trusts the HTML in order to show CSS styles\n get tipWithStyles(): SafeHtml {\n if (!this._tipWithStyles || this._lastTipStyled !== this.tip) {\n this._tipWithStyles = this.sanitizer.bypassSecurityTrustHtml(this.tip);\n this._lastTipStyled = this.tip;\n }\n return this._tipWithStyles;\n }\n\n ngOnInit() {\n this.tip = this.tip || '';\n this.buttonText = this.buttonText || this.labels.okGotIt;\n this.button = typeof this.button === 'string' ? this.button === 'true' : this.button;\n this.icon = this.icon || null;\n // Set a (semi) unique name for the tip-well\n this.name = this.name || Math.round(Math.random() * 100);\n this.localStorageKey = `novo-tw_${this.name}`;\n // Check localStorage for state\n if (this.isLocalStorageEnabled) {\n const storedValue = JSON.parse(localStorage.getItem(this.localStorageKey));\n this.isActive = storedValue !== false;\n }\n }\n\n hideTip() {\n if (this.isLocalStorageEnabled) {\n localStorage.setItem(this.localStorageKey, JSON.stringify(false));\n }\n this.isActive = false;\n this.confirmed.emit();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoTipWellElement } from './TipWell';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule],\n declarations: [NovoTipWellElement],\n exports: [NovoTipWellElement],\n})\nexport class NovoTipWellModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}