@ifsworld/granite-components 3.5.1 → 3.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"input-field.component.js","sourceRoot":"","sources":["../../../../../../libs/granite-components/src/lib/input-field/input-field.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nconst GRANITE_INPUT_INCLUDES = ['text', 'number', 'password', 'textarea'];\n\n@Component({\n selector: 'granite-input-field',\n exportAs: 'graniteInputField',\n templateUrl: './input-field.component.html',\n styleUrls: ['./input-field.component.scss'],\n host: {\n class: 'granite-input-field',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteInputFieldComponent implements OnInit, OnChanges {\n @Input()\n id: string | null = null;\n\n @Input()\n name: string | null = null;\n\n @Input()\n type: string = 'text';\n\n @Input()\n value: string | number = '';\n\n @Input()\n required: boolean = false;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n invalid: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n placeholder: string = '';\n\n @Input()\n prefixicon: string;\n\n @Input()\n maxlength: number = 255;\n\n @Input()\n countcharacters: boolean = false;\n\n @Input('aria-label')\n ariaLabel: string | null = null;\n\n @Input('aria-labelledby')\n ariaLabelledby: string | null = null;\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @ViewChild('input')\n private _inputElement: ElementRef<HTMLInputElement>;\n\n @ViewChild('textarea')\n private _textareaElement: ElementRef<HTMLTextAreaElement>;\n\n _supported: boolean = true;\n _empty: boolean = false;\n _passwordFieldIcon: string = 'view';\n _passwordField: boolean = false;\n _currentCharCount = 0;\n private _passwordToggled: boolean = false;\n\n constructor(private _focusMonitor: FocusMonitor) {}\n\n ngOnInit(): void {\n this._validateType();\n\n this._passwordField = this.type == 'password';\n\n this._empty = this.value == null || this.value === '';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this.required = coerceBooleanProperty(changes.required.currentValue);\n }\n\n if (changes.readonly) {\n this.readonly = coerceBooleanProperty(changes.readonly.currentValue);\n }\n\n if (changes.invalid) {\n this.invalid = coerceBooleanProperty(changes.invalid.currentValue);\n }\n\n if (changes.disabled) {\n this.disabled = coerceBooleanProperty(changes.disabled.currentValue);\n }\n\n if (changes.countcharacters) {\n this.countcharacters = coerceBooleanProperty(\n changes.countcharacters.currentValue\n );\n }\n\n if (changes.value) {\n this._empty = this.value == null || this.value === '';\n }\n\n if (changes.type) {\n this._validateType();\n }\n }\n\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (this.type === 'text') {\n this._focusMonitor.focusVia(this._getInputElement(), origin, options);\n } else if (this.type === 'textarea') {\n this._focusMonitor.focusVia(this._getTextareaElement(), origin, options);\n }\n }\n\n _togglePassword(): void {\n if (this._passwordToggled) {\n this._passwordToggled = false;\n this.type = 'password';\n this._passwordFieldIcon = 'view';\n } else {\n this._passwordToggled = true;\n this.type = 'text';\n this._passwordFieldIcon = 'view-disabled';\n }\n }\n\n _onKeyUp(event: KeyboardEvent): void {\n const inputEvent = event.target as HTMLInputElement;\n this._applyCharacterCount(inputEvent.value);\n this._empty = inputEvent.value == null || inputEvent.value === '';\n this.valueChange.emit(inputEvent.value);\n }\n\n _onInput(event: Event): void {\n const inputEvent = event.target as HTMLInputElement;\n this._empty = inputEvent.value == null || inputEvent.value === '';\n this.valueChange.emit(inputEvent.value);\n }\n\n protected _validateType(): void {\n if (GRANITE_INPUT_INCLUDES.indexOf(this.type) < 0) {\n this._supported = false;\n throw Error(\n `Input type \"${this.type}\" isn't supported by graniteInputField.`\n );\n }\n }\n\n private _applyCharacterCount(inputString: string): void {\n if (this.countcharacters) {\n this._currentCharCount = inputString.length;\n\n if (this._currentCharCount > this.maxlength) {\n inputString = inputString.slice(0, this.maxlength);\n this._currentCharCount = this.maxlength;\n }\n }\n }\n\n private _getInputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n private _getTextareaElement(): HTMLTextAreaElement {\n return this._textareaElement.nativeElement;\n }\n}\n"]}
1
+ {"version":3,"file":"input-field.component.js","sourceRoot":"","sources":["../../../../../../libs/granite-components/src/lib/input-field/input-field.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nconst GRANITE_INPUT_INCLUDES = ['text', 'number', 'password', 'textarea'];\n\n@Component({\n selector: 'granite-input-field',\n exportAs: 'graniteInputField',\n templateUrl: './input-field.component.html',\n styleUrls: ['./input-field.component.scss'],\n host: {\n class: 'granite-input-field',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteInputFieldComponent implements OnInit, OnChanges {\n @Input()\n id: string | null = null;\n\n @Input()\n name: string | null = null;\n\n @Input()\n type: string = 'text';\n\n @Input()\n value: string | number = '';\n\n @Input()\n required: boolean = false;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n invalid: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n placeholder: string = '';\n\n @Input()\n prefixicon: string;\n\n @Input()\n maxlength: number = 255;\n\n @Input()\n countcharacters: boolean = false;\n\n @Input('aria-label')\n ariaLabel: string | null = null;\n\n @Input('aria-labelledby')\n ariaLabelledby: string | null = null;\n\n @Output()\n readonly valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n @ViewChild('input')\n private _inputElement: ElementRef<HTMLInputElement>;\n\n @ViewChild('textarea')\n private _textareaElement: ElementRef<HTMLTextAreaElement>;\n\n _supported: boolean = true;\n _empty: boolean = false;\n _passwordFieldIcon: string = 'view';\n _passwordField: boolean = false;\n _currentCharCount = 0;\n private _passwordToggled: boolean = false;\n\n constructor(private _focusMonitor: FocusMonitor) {}\n\n ngOnInit(): void {\n this._validateType();\n\n this._passwordField = this.type == 'password';\n\n this._empty = this.value == null || this.value === '';\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.required) {\n this.required = coerceBooleanProperty(changes.required.currentValue);\n }\n\n if (changes.readonly) {\n this.readonly = coerceBooleanProperty(changes.readonly.currentValue);\n }\n\n if (changes.invalid) {\n this.invalid = coerceBooleanProperty(changes.invalid.currentValue);\n }\n\n if (changes.disabled) {\n this.disabled = coerceBooleanProperty(changes.disabled.currentValue);\n }\n\n if (changes.countcharacters) {\n this.countcharacters = coerceBooleanProperty(\n changes.countcharacters.currentValue\n );\n }\n\n if (changes.value) {\n this._empty = this.value == null || this.value === '';\n }\n\n if (changes.type) {\n this._validateType();\n }\n }\n\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (this.type === 'text') {\n this._focusMonitor.focusVia(this._getInputElement(), origin, options);\n } else if (this.type === 'textarea') {\n this._focusMonitor.focusVia(this._getTextareaElement(), origin, options);\n }\n }\n\n _togglePassword(): void {\n if (this._passwordToggled) {\n this._passwordToggled = false;\n this.type = 'password';\n this._passwordFieldIcon = 'view';\n } else {\n this._passwordToggled = true;\n this.type = 'text';\n this._passwordFieldIcon = 'view-disabled';\n }\n }\n\n _onKeyUp(event: KeyboardEvent): void {\n const inputEvent = event.target as HTMLInputElement;\n this._applyCharacterCount(inputEvent.value);\n this._empty = inputEvent.value == null || inputEvent.value === '';\n this.valueChange.emit(inputEvent.value);\n }\n\n _onInput(event: Event): void {\n const inputEvent = event.target as HTMLInputElement;\n this._empty = inputEvent.value == null || inputEvent.value === '';\n this.valueChange.emit(inputEvent.value);\n }\n\n protected _validateType(): void {\n if (GRANITE_INPUT_INCLUDES.indexOf(this.type) < 0) {\n this._supported = false;\n throw Error(\n `Input type \"${this.type}\" isn't supported by graniteInputField.`\n );\n }\n }\n\n private _applyCharacterCount(inputString: string): void {\n if (this.countcharacters) {\n this._currentCharCount = inputString.length;\n\n if (this._currentCharCount > this.maxlength) {\n inputString = inputString.slice(0, this.maxlength);\n this._currentCharCount = this.maxlength;\n }\n }\n }\n\n private _getInputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n\n private _getTextareaElement(): HTMLTextAreaElement {\n return this._textareaElement.nativeElement;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-switch.component.js","sourceRoot":"","sources":["../../../../../../libs/granite-components/src/lib/toggle-switch/toggle-switch.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { Position } from '../core/types';\n\n@Component({\n selector: 'granite-toggle-switch',\n exportAs: 'graniteToggleSwitch',\n host: {\n class: 'granite-toggle-switch',\n '[class.granite-toggle-switch-checked]': 'checked',\n '[class.granite-toggle-switch-disabled]': 'disabled',\n '[class.granite-toggle-switch-readonly]': 'readonly',\n '[class.granite-toggle-switch-label-before]': '_positionBefore',\n },\n templateUrl: './toggle-switch.component.html',\n styleUrls: ['./toggle-switch.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteToggleSwitchComponent implements OnChanges {\n @Input()\n id: string | null = null;\n\n @Input()\n checked: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n labelPosition: Position = 'after';\n\n @Input('aria-label')\n ariaLabel: string | null = null;\n\n @Input('aria-labelledby')\n ariaLabelledby: string | null = null;\n\n @Output()\n valueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n toggleBlur: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild('input')\n private _inputElement: ElementRef<HTMLInputElement>;\n\n _positionBefore: boolean = false;\n _toggleSwitchDisabled: boolean = false;\n\n constructor(private _focusMonitor: FocusMonitor) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.checked) {\n this.checked = coerceBooleanProperty(changes.checked.currentValue);\n }\n\n if (changes.disabled) {\n this.disabled = coerceBooleanProperty(changes.disabled.currentValue);\n }\n\n if (changes.readonly) {\n this.readonly = coerceBooleanProperty(changes.readonly.currentValue);\n }\n\n if (changes.labelPosition != null) {\n this._positionBefore =\n changes.labelPosition.currentValue != null &&\n changes.labelPosition.currentValue === 'before';\n }\n\n if (\n (changes.disabled || changes.readonly) &&\n (this.disabled || this.readonly)\n ) {\n this._toggleSwitchDisabled = true;\n }\n }\n\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n this._focusMonitor.focusVia(this._getInputElement(), origin, options);\n }\n\n _onBlur(): void {\n this.toggleBlur.emit();\n }\n\n _toggleSwitchChange(): void {\n this.checked = this._getInputElement().checked;\n this.valueChange.emit(this.checked);\n }\n\n _toggleSwitchClick(): void {\n this.toggleChange.emit();\n }\n\n private _getInputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-switch.component.js","sourceRoot":"","sources":["../../../../../../libs/granite-components/src/lib/toggle-switch/toggle-switch.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Output,\n OnChanges,\n SimpleChanges,\n EventEmitter,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { Position } from '../core/types';\n\n@Component({\n selector: 'granite-toggle-switch',\n exportAs: 'graniteToggleSwitch',\n host: {\n class: 'granite-toggle-switch',\n '[class.granite-toggle-switch-checked]': 'checked',\n '[class.granite-toggle-switch-disabled]': 'disabled',\n '[class.granite-toggle-switch-readonly]': 'readonly',\n '[class.granite-toggle-switch-label-before]': '_positionBefore',\n },\n templateUrl: './toggle-switch.component.html',\n styleUrls: ['./toggle-switch.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteToggleSwitchComponent implements OnChanges {\n @Input()\n id: string | null = null;\n\n @Input()\n checked: boolean = false;\n\n @Input()\n disabled: boolean = false;\n\n @Input()\n readonly: boolean = false;\n\n @Input()\n labelPosition: Position = 'after';\n\n @Input('aria-label')\n ariaLabel: string | null = null;\n\n @Input('aria-labelledby')\n ariaLabelledby: string | null = null;\n\n @Output()\n readonly valueChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @Output()\n readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n readonly toggleBlur: EventEmitter<void> = new EventEmitter<void>();\n\n @ViewChild('input')\n private _inputElement: ElementRef<HTMLInputElement>;\n\n _positionBefore: boolean = false;\n _toggleSwitchDisabled: boolean = false;\n\n constructor(private _focusMonitor: FocusMonitor) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.checked) {\n this.checked = coerceBooleanProperty(changes.checked.currentValue);\n }\n\n if (changes.disabled) {\n this.disabled = coerceBooleanProperty(changes.disabled.currentValue);\n }\n\n if (changes.readonly) {\n this.readonly = coerceBooleanProperty(changes.readonly.currentValue);\n }\n\n if (changes.labelPosition != null) {\n this._positionBefore =\n changes.labelPosition.currentValue != null &&\n changes.labelPosition.currentValue === 'before';\n }\n\n if (\n (changes.disabled || changes.readonly) &&\n (this.disabled || this.readonly)\n ) {\n this._toggleSwitchDisabled = true;\n }\n }\n\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n this._focusMonitor.focusVia(this._getInputElement(), origin, options);\n }\n\n _onBlur(): void {\n this.toggleBlur.emit();\n }\n\n _toggleSwitchChange(): void {\n this.checked = this._getInputElement().checked;\n this.valueChange.emit(this.checked);\n }\n\n _toggleSwitchClick(): void {\n this.toggleChange.emit();\n }\n\n private _getInputElement(): HTMLInputElement {\n return this._inputElement.nativeElement;\n }\n}\n"]}