@testgorilla/tgo-ui 4.1.3-beta → 4.1.3
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.
- package/components/accordion/accordion.component.d.ts +2 -2
- package/components/accordion/accordion.component.module.d.ts +2 -2
- package/components/ai-feedback/ai-feedback.module.d.ts +2 -2
- package/components/alert-banner/alert-banner.component.d.ts +2 -2
- package/components/alert-banner/alert-banner.component.module.d.ts +3 -3
- package/components/autocomplete/autocomplete.component.d.ts +2 -2
- package/components/autocomplete/autocomplete.component.module.d.ts +10 -9
- package/components/avatar/avatar.component.d.ts +2 -2
- package/components/avatar/avatar.component.module.d.ts +4 -4
- package/components/avatar/avatar.model.d.ts +2 -2
- package/components/badge/badge.component.d.ts +2 -2
- package/components/badge/badge.component.module.d.ts +1 -1
- package/components/breadcrumb/breadcrumb.component.d.ts +5 -3
- package/components/breadcrumb/breadcrumb.component.module.d.ts +4 -4
- package/components/button/button.component.d.ts +2 -2
- package/components/button/button.component.module.d.ts +5 -4
- package/components/button/button.model.d.ts +1 -1
- package/components/card/card.component.d.ts +2 -2
- package/components/card/card.component.module.d.ts +1 -1
- package/components/card/card.model.d.ts +1 -1
- package/components/checkbox/checkbox.component.d.ts +2 -2
- package/components/checkbox/checkbox.component.module.d.ts +8 -6
- package/components/checklist/checklist.component.d.ts +2 -2
- package/components/confirm-dialog/confirm-dialog.component.d.ts +4 -4
- package/components/confirm-dialog/confirm-dialog.component.module.d.ts +2 -2
- package/components/confirm-dialog/confirm-dialog.model.d.ts +3 -3
- package/components/datepicker/datepicker.component.d.ts +1 -1
- package/components/datepicker/datepicker.component.module.d.ts +3 -3
- package/components/dialog/dialog.component.d.ts +4 -4
- package/components/dialog/dialog.component.module.d.ts +2 -2
- package/components/dialog/dialog.model.d.ts +1 -1
- package/components/dialog/dialog.service.d.ts +1 -1
- package/components/divider/divider.component.d.ts +1 -1
- package/components/donut-chart/donut-chart.component.d.ts +5 -17
- package/components/dropdown/dropdown.component.d.ts +2 -2
- package/components/dropdown/dropdown.component.module.d.ts +6 -5
- package/components/elevation-shadow/elevation-shadow.component.d.ts +1 -1
- package/components/empty-state/empty-state.component.d.ts +3 -3
- package/components/empty-state/empty-state.component.module.d.ts +3 -3
- package/components/field/field.component.d.ts +4 -4
- package/components/field/field.component.module.d.ts +8 -6
- package/components/file-upload/file-upload.component.d.ts +1 -1
- package/components/file-upload/file-upload.component.module.d.ts +3 -3
- package/components/filter-button/filter-button.component.d.ts +3 -3
- package/components/filter-button/filter-button.component.module.d.ts +8 -7
- package/components/filter-button/filter-button.model.d.ts +1 -1
- package/components/gaussian-chart/gaussian-chart.component.d.ts +1 -1
- package/components/gaussian-chart/gaussian-chart.module.d.ts +2 -2
- package/components/icon/icon.component.d.ts +2 -2
- package/components/icon-label/icon-label.component.d.ts +2 -2
- package/components/icon-label/icon-label.component.module.d.ts +1 -1
- package/components/inline-field/inline-field.component.d.ts +3 -3
- package/components/inline-field/inline-field.component.module.d.ts +3 -3
- package/components/inline-field/inline-field.model.d.ts +1 -1
- package/components/logo/logo.component.d.ts +1 -1
- package/components/multi-input/multi-input.component.module.d.ts +8 -7
- package/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.d.ts +2 -2
- package/components/navbar/navbar.component.d.ts +3 -3
- package/components/navbar/navbar.component.module.d.ts +6 -6
- package/components/navbar/navbar.model.d.ts +2 -2
- package/components/overflow-menu/overflow-menu.component.d.ts +3 -3
- package/components/overflow-menu/overflow-menu.component.module.d.ts +5 -4
- package/components/overflow-menu/overflow-menu.model.d.ts +1 -1
- package/components/page-header/page-header.component.d.ts +1 -1
- package/components/page-header/page-header.component.module.d.ts +2 -2
- package/components/paginator/paginator.component.d.ts +1 -1
- package/components/password-criteria/password.component.module.d.ts +4 -4
- package/components/password-strength/password-strength.component.d.ts +2 -2
- package/components/password-strength/password-strength.component.module.d.ts +3 -3
- package/components/phone-input/phone-input.component.d.ts +1 -1
- package/components/phone-input/phone-input.component.module.d.ts +4 -4
- package/components/progress-bar/progress-bar.component.d.ts +1 -1
- package/components/progress-bar/progress-bar.component.module.d.ts +1 -1
- package/components/prompt/prompt.component.d.ts +1 -1
- package/components/prompt/prompt.module.d.ts +7 -7
- package/components/radial-progress/radial-progress.component.d.ts +2 -2
- package/components/radial-progress/radial-progress.component.module.d.ts +1 -1
- package/components/radio-button/radio-button.component.d.ts +2 -2
- package/components/radio-button/radio-button.component.module.d.ts +2 -2
- package/components/rating/rating.component.d.ts +1 -1
- package/components/scale/scale.component.d.ts +1 -1
- package/components/scale-table/scale-table.component.d.ts +1 -1
- package/components/segmented-bar/segmented-bar.component.d.ts +1 -1
- package/components/segmented-bar/segmented-bar.component.module.d.ts +2 -2
- package/components/segmented-bar/segmented-bar.model.d.ts +1 -1
- package/components/segmented-button/segmented-button.component.d.ts +1 -1
- package/components/selectable-card/selectable-card.component.d.ts +6 -2
- package/components/selectable-card/selectable-card.component.module.d.ts +2 -2
- package/components/side-panel/side-panel.component.d.ts +1 -1
- package/components/side-sheet/side-sheet.component.d.ts +1 -1
- package/components/side-sheet/side-sheet.component.module.d.ts +4 -4
- package/components/skeleton/skeleton.component.d.ts +2 -2
- package/components/slider/slider.component.d.ts +1 -1
- package/components/snackbar/snackbar.component.d.ts +2 -2
- package/components/snackbar/snackbar.component.module.d.ts +3 -3
- package/components/snackbar/snackbar.service.d.ts +1 -1
- package/components/spider-chart/spider-chart.component.d.ts +1 -1
- package/components/spider-chart/spider-chart.module.d.ts +2 -2
- package/components/spinner/spinner.component.d.ts +2 -2
- package/components/spinner/spinner.module.d.ts +2 -2
- package/components/step/step.component.d.ts +3 -3
- package/components/step/step.component.module.d.ts +2 -2
- package/components/stepper/stepper.component.d.ts +1 -1
- package/components/stepper/stepper.component.module.d.ts +3 -3
- package/components/stepper/stepper.model.d.ts +1 -1
- package/components/table/table.component.d.ts +1 -1
- package/components/table/table.component.module.d.ts +5 -5
- package/components/tabs/tab.directive.d.ts +1 -1
- package/components/tabs/tabs.component.d.ts +1 -1
- package/components/tabs/tabs.component.module.d.ts +3 -3
- package/components/tabs/tabs.model.d.ts +1 -1
- package/components/tag/tag.component.d.ts +2 -2
- package/components/tag/tag.component.module.d.ts +3 -3
- package/components/toggle/toggle.component.d.ts +1 -1
- package/components/toggle/toggle.component.module.d.ts +5 -4
- package/components/tooltip/tooltip.component.d.ts +1 -1
- package/components/tooltip/tooltip.component.module.d.ts +3 -2
- package/components/universal-skills-report/universal-skills-report.component.d.ts +2 -2
- package/components/universal-skills-report/universal-skills-report.component.module.d.ts +3 -3
- package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.d.ts +2 -2
- package/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.d.ts +4 -4
- package/components/validation-error/validation-error.component.d.ts +1 -1
- package/components/validation-error/validation-error.module.d.ts +2 -2
- package/fesm2022/testgorilla-tgo-ui.mjs +22749 -3564
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/models/application-theme.model.d.ts +1 -0
- package/package.json +9 -142
- package/{components/core → pipes}/ui-translate.pipe.d.ts +1 -1
- package/projects/tgo-canopy-ui/assets/i18n/da-dk.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/de.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/en.json +829 -0
- package/projects/tgo-canopy-ui/assets/i18n/es.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/fr.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/it-it.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/ja-jp.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/nb-no.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/nl.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/pl-pl.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/pt-br.json +820 -0
- package/projects/tgo-canopy-ui/assets/i18n/sv-se.json +820 -0
- package/public-api.d.ts +87 -0
- package/utils/alert-bars.utils.d.ts +1 -1
- package/components/autocomplete/index.d.ts +0 -5
- package/components/autocomplete/public-api.d.ts +0 -4
- package/components/avatar/index.d.ts +0 -5
- package/components/avatar/public-api.d.ts +0 -4
- package/components/badge/index.d.ts +0 -5
- package/components/badge/public-api.d.ts +0 -4
- package/components/button/color-contrast.d.ts +0 -28
- package/components/button/index.d.ts +0 -5
- package/components/button/public-api.d.ts +0 -5
- package/components/card/index.d.ts +0 -5
- package/components/card/public-api.d.ts +0 -4
- package/components/checkbox/index.d.ts +0 -5
- package/components/checkbox/public-api.d.ts +0 -4
- package/components/core/application-theme.model.d.ts +0 -7
- package/components/core/has-validation-error.pipe.d.ts +0 -15
- package/components/core/index.d.ts +0 -5
- package/components/core/keyboard-events.model.d.ts +0 -11
- package/components/core/public-api.d.ts +0 -12
- package/components/core/select-text.directive.d.ts +0 -19
- package/components/divider/index.d.ts +0 -5
- package/components/divider/public-api.d.ts +0 -4
- package/components/dropdown/index.d.ts +0 -5
- package/components/dropdown/public-api.d.ts +0 -4
- package/components/elevation-shadow/index.d.ts +0 -5
- package/components/elevation-shadow/public-api.d.ts +0 -3
- package/components/empty-state/index.d.ts +0 -5
- package/components/empty-state/public-api.d.ts +0 -4
- package/components/field/index.d.ts +0 -5
- package/components/field/public-api.d.ts +0 -4
- package/components/filter-button/index.d.ts +0 -5
- package/components/filter-button/public-api.d.ts +0 -4
- package/components/icon/index.d.ts +0 -5
- package/components/icon/public-api.d.ts +0 -5
- package/components/inline-field/index.d.ts +0 -5
- package/components/inline-field/public-api.d.ts +0 -4
- package/components/logo/index.d.ts +0 -5
- package/components/logo/public-api.d.ts +0 -4
- package/components/paginator/index.d.ts +0 -5
- package/components/paginator/public-api.d.ts +0 -3
- package/components/progress-bar/index.d.ts +0 -5
- package/components/progress-bar/public-api.d.ts +0 -3
- package/components/radial-progress/index.d.ts +0 -5
- package/components/radial-progress/public-api.d.ts +0 -4
- package/components/radio-button/index.d.ts +0 -5
- package/components/radio-button/public-api.d.ts +0 -4
- package/components/rating/index.d.ts +0 -5
- package/components/rating/public-api.d.ts +0 -3
- package/components/scale/index.d.ts +0 -5
- package/components/scale/public-api.d.ts +0 -3
- package/components/segmented-bar/index.d.ts +0 -5
- package/components/segmented-bar/public-api.d.ts +0 -4
- package/components/segmented-button/index.d.ts +0 -5
- package/components/segmented-button/public-api.d.ts +0 -4
- package/components/skeleton/index.d.ts +0 -5
- package/components/skeleton/public-api.d.ts +0 -3
- package/components/slider/index.d.ts +0 -5
- package/components/slider/public-api.d.ts +0 -4
- package/components/spinner/index.d.ts +0 -5
- package/components/spinner/public-api.d.ts +0 -4
- package/components/tag/index.d.ts +0 -5
- package/components/tag/public-api.d.ts +0 -4
- package/components/toggle/index.d.ts +0 -5
- package/components/toggle/public-api.d.ts +0 -3
- package/components/tooltip/index.d.ts +0 -5
- package/components/tooltip/public-api.d.ts +0 -5
- package/components/validation-error/index.d.ts +0 -5
- package/components/validation-error/public-api.d.ts +0 -3
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +0 -1045
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +0 -173
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +0 -180
- package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs +0 -635
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs +0 -164
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +0 -402
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-core.mjs +0 -10807
- package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +0 -88
- package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +0 -434
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +0 -75
- package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +0 -326
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs +0 -638
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +0 -314
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +0 -1496
- package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +0 -367
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +0 -218
- package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +0 -110
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +0 -128
- package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +0 -152
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +0 -373
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +0 -150
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +0 -158
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +0 -137
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +0 -128
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +0 -81
- package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +0 -274
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +0 -108
- package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +0 -239
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +0 -216
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +0 -272
- package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +0 -1
- package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +0 -79
- package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +0 -1
- /package/{components/core → directives}/digits-only.directive.d.ts +0 -0
- /package/{components/core → directives}/ellipse-text.directive.d.ts +0 -0
- /package/{components/autocomplete → directives}/select-text.directive.d.ts +0 -0
- /package/{components/core → models}/checkbox.model.d.ts +0 -0
- /package/{components/avatar → pipes}/name-initials.pipe.d.ts +0 -0
- /package/{components/icon → services}/icons.service.d.ts +0 -0
- /package/{components/core → utils}/autocomplete-utils.d.ts +0 -0
- /package/{components/core → utils}/hex-to-rgb.d.ts +0 -0
- /package/{components/core → utils/localization}/language.model.d.ts +0 -0
- /package/{components/core → utils/localization}/language.service.d.ts +0 -0
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, signal, ViewChild, Output, Input, Optional, Inject, Component, NgModule } from '@angular/core';
|
|
3
|
-
import { ReplaySubject, debounceTime, map } from 'rxjs';
|
|
4
|
-
import * as i4 from '@testgorilla/tgo-ui/components/core';
|
|
5
|
-
import { IKeyboardEvent, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
|
|
6
|
-
import * as i1 from '@angular/common';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import * as i2 from '@testgorilla/tgo-ui/components/icon';
|
|
9
|
-
import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
|
|
10
|
-
import * as i3 from '@angular/material/tooltip';
|
|
11
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
12
|
-
import { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';
|
|
13
|
-
import { MatInputModule } from '@angular/material/input';
|
|
14
|
-
|
|
15
|
-
class TagComponent {
|
|
16
|
-
/**
|
|
17
|
-
* Tag's label
|
|
18
|
-
*
|
|
19
|
-
* @memberof TagComponent
|
|
20
|
-
*/
|
|
21
|
-
set label(value) {
|
|
22
|
-
this.labelText = value;
|
|
23
|
-
if (this.labelElement) {
|
|
24
|
-
this.isLabelEllipseActive();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
constructor(defaultAppTheme) {
|
|
28
|
-
this.defaultAppTheme = defaultAppTheme;
|
|
29
|
-
/**
|
|
30
|
-
* Icon
|
|
31
|
-
*
|
|
32
|
-
* @type {string}
|
|
33
|
-
* @memberof TagComponent
|
|
34
|
-
*/
|
|
35
|
-
this.icon = '';
|
|
36
|
-
/**
|
|
37
|
-
* Whether to allow the tag to be closed.
|
|
38
|
-
*
|
|
39
|
-
* @type {boolean}
|
|
40
|
-
* @default false
|
|
41
|
-
* @memberof TagComponent
|
|
42
|
-
*/
|
|
43
|
-
this.allowClose = false;
|
|
44
|
-
/**
|
|
45
|
-
* Whether the tag is in read-only mode.
|
|
46
|
-
*
|
|
47
|
-
* @type {boolean}
|
|
48
|
-
* @default false
|
|
49
|
-
* @memberof TagComponent
|
|
50
|
-
*/
|
|
51
|
-
this.readOnly = false;
|
|
52
|
-
/**
|
|
53
|
-
* Whether the tag is selected.
|
|
54
|
-
*
|
|
55
|
-
* @type {boolean}
|
|
56
|
-
* @default false
|
|
57
|
-
* @memberof TagComponent
|
|
58
|
-
*/
|
|
59
|
-
this.isSelected = false;
|
|
60
|
-
/**
|
|
61
|
-
* Display icon when is selected
|
|
62
|
-
*
|
|
63
|
-
* @type {boolean}
|
|
64
|
-
* @default false
|
|
65
|
-
* @memberof TagComponent
|
|
66
|
-
*/
|
|
67
|
-
this.showIconWhenSelected = false;
|
|
68
|
-
/**
|
|
69
|
-
* Specifies whether the element is disabled.
|
|
70
|
-
*
|
|
71
|
-
* @type {boolean}
|
|
72
|
-
* @default false
|
|
73
|
-
* @memberof TagComponent
|
|
74
|
-
*/
|
|
75
|
-
this.isDisabled = false;
|
|
76
|
-
/**
|
|
77
|
-
*
|
|
78
|
-
* Defines the application theme
|
|
79
|
-
*
|
|
80
|
-
* @type {ApplicationTheme}
|
|
81
|
-
* @memberof TagComponent
|
|
82
|
-
*/
|
|
83
|
-
this.applicationTheme = 'light';
|
|
84
|
-
/**
|
|
85
|
-
* A string representing the ARIA requirement for accessibility.
|
|
86
|
-
* This attribute is used to indicate whether an input field is required for form submission.
|
|
87
|
-
* @type {boolean}
|
|
88
|
-
* @memberof TagComponent
|
|
89
|
-
*/
|
|
90
|
-
this.ariaRequired = false;
|
|
91
|
-
/**
|
|
92
|
-
* Event triggered when the tag should be closed.
|
|
93
|
-
*
|
|
94
|
-
* @event
|
|
95
|
-
* @memberof TagComponent
|
|
96
|
-
*/
|
|
97
|
-
this.close = new EventEmitter();
|
|
98
|
-
/**
|
|
99
|
-
* Event triggered when a press action occurs.
|
|
100
|
-
*
|
|
101
|
-
* @event
|
|
102
|
-
* @memberof TagComponent
|
|
103
|
-
*/
|
|
104
|
-
this.press = new EventEmitter();
|
|
105
|
-
/**
|
|
106
|
-
* Subject that needs to be triggered when Label input changes, to check if it's truncated
|
|
107
|
-
* @private
|
|
108
|
-
* @type {void}
|
|
109
|
-
* @memberof TagComponent
|
|
110
|
-
*/
|
|
111
|
-
this.checkLabelEllipsis$ = new ReplaySubject(1);
|
|
112
|
-
/**
|
|
113
|
-
* Observable that indicates if the Label is truncated
|
|
114
|
-
* debounceTime is used to wait for view to be initialized after receiving a new Label input
|
|
115
|
-
* @protected
|
|
116
|
-
* @type {boolean}
|
|
117
|
-
* @memberof TagComponent
|
|
118
|
-
*/
|
|
119
|
-
this.isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(debounceTime(100), map(() => {
|
|
120
|
-
const el = this.labelElement.nativeElement;
|
|
121
|
-
return el.offsetWidth < el.scrollWidth;
|
|
122
|
-
}));
|
|
123
|
-
this.labelText = '';
|
|
124
|
-
this.isHovered = false;
|
|
125
|
-
this.shrink = false;
|
|
126
|
-
this.closeBtnFocused = signal(false);
|
|
127
|
-
if (defaultAppTheme) {
|
|
128
|
-
this.applicationTheme = defaultAppTheme;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
ngOnInit() {
|
|
132
|
-
this.iconToPass = this.icon;
|
|
133
|
-
this.iconColor = 'black';
|
|
134
|
-
}
|
|
135
|
-
ngAfterViewInit() {
|
|
136
|
-
this.isLabelEllipseActive();
|
|
137
|
-
}
|
|
138
|
-
onPress() {
|
|
139
|
-
if (!this.readOnly && !this.allowClose) {
|
|
140
|
-
this.isSelected = this.showIconWhenSelected ? !this.isSelected : false;
|
|
141
|
-
this.press.emit(this.isSelected);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
setHoverState(state) {
|
|
145
|
-
this.isHovered = state;
|
|
146
|
-
if (this.applicationTheme !== 'classic') {
|
|
147
|
-
if (state) {
|
|
148
|
-
this.iconToPass = `${this.icon}-filled`;
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
this.iconToPass = this.icon;
|
|
152
|
-
}
|
|
153
|
-
this.iconColor = this.isHovered ? 'white' : 'black';
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
setShrinkState(state) {
|
|
157
|
-
this.shrink = state;
|
|
158
|
-
}
|
|
159
|
-
onClose() {
|
|
160
|
-
this.close.emit();
|
|
161
|
-
}
|
|
162
|
-
isLabelEllipseActive() {
|
|
163
|
-
this.checkLabelEllipsis$.next();
|
|
164
|
-
}
|
|
165
|
-
get tabIndex() {
|
|
166
|
-
return this.isDisabled || this.readOnly ? -1 : 0;
|
|
167
|
-
}
|
|
168
|
-
get filled() {
|
|
169
|
-
return this.readOnly || this.allowClose || this.isSelected;
|
|
170
|
-
}
|
|
171
|
-
onKeydown($event) {
|
|
172
|
-
if (($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) && !this.closeBtnFocused()) {
|
|
173
|
-
this.onPress();
|
|
174
|
-
}
|
|
175
|
-
else if (this.closeBtnFocused() && ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE)) {
|
|
176
|
-
this.onClose();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TagComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
180
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: TagComponent, isStandalone: false, selector: "ui-tag", inputs: { label: "label", icon: "icon", allowClose: "allowClose", readOnly: "readOnly", isSelected: "isSelected", showIconWhenSelected: "showIconWhenSelected", isDisabled: "isDisabled", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired" }, outputs: { close: "close", press: "press" }, viewQueries: [{ propertyName: "labelElement", first: true, predicate: ["labelElement"], descendants: true }], ngImport: i0, template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\" [matTooltipClass]=\"applicationTheme\"\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [attr.theme]=\"applicationTheme\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n shrink\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\" (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\" (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\" (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel || labelText\"\n [attr.aria-required]=\"ariaRequired\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [color]=\"iconColor\" [name]=\"iconToPass\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon (focus)=\"closeBtnFocused.set(true)\" (blur)=\"closeBtnFocused.set(false)\" [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\" (click)=\"onClose()\" [name]=\"'Close'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host .tag-wrapper{max-width:264px}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:264px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894A0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #E9F0F1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1B4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894A0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border:1px solid transparent;border-radius:50px;padding:2px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{background:#f4f4f4;border:2px solid transparent}:host .tag-container[theme=dark].filled,:host .tag-container[theme=light].filled{background-color:#fff;border-color:#242424}:host .tag-container[theme=dark]:hover,:host .tag-container[theme=light]:hover{background-color:#666;color:#fff;border-color:#666;border-width:2px}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.UiTranslatePipe, name: "uiTranslate" }] }); }
|
|
181
|
-
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TagComponent, decorators: [{
|
|
183
|
-
type: Component,
|
|
184
|
-
args: [{ selector: 'ui-tag', standalone: false, template: "<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\" [matTooltipClass]=\"applicationTheme\"\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [attr.theme]=\"applicationTheme\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n shrink\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\" (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\" (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\" (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel || labelText\"\n [attr.aria-required]=\"ariaRequired\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [color]=\"iconColor\" [name]=\"iconToPass\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon (focus)=\"closeBtnFocused.set(true)\" (blur)=\"closeBtnFocused.set(false)\" [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\" (click)=\"onClose()\" [name]=\"'Close'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n </div>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host .tag-wrapper{max-width:264px}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .tag-container{height:32px;max-width:264px;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0 8px;width:fit-content;cursor:pointer;margin:4px}:host .tag-container:focus-visible{outline:2px solid #242424;animation:focus-ring-animation .4s forwards;outline-offset:2px;position:relative}:host .tag-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);top:-2px;left:-2px;outline:2px solid #ffffff;border-radius:4px}:host .tag-container.outlined{border:1px solid #6894A0}:host .tag-container.filled{background:#e9f0f1;border:1px solid #E9F0F1}:host .tag-container.filled:hover{background-color:#e9f0f1;border:1px solid #276678}:host .tag-container.filled:active{background:#a9c2c9;border:1px solid #1B4754}:host .tag-container:hover{background:#f6f6f6;border:1px solid #6894A0}:host .tag-container:active{background:#e9f0f1}:host .tag-container.readonly{pointer-events:none}:host .tag-container.disabled{opacity:.5;border:1px solid #276678;background:#e9f0f1;pointer-events:none}:host .tag-container .tag-label{-webkit-user-select:none;user-select:none;font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host .tag-container .icon{height:16px;width:16px;min-width:16px;margin-right:8px}:host .tag-container .delete-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;text-align:center;border:1px solid transparent;border-radius:50px;padding:2px}:host .tag-container[theme=dark],:host .tag-container[theme=light]{background:#f4f4f4;border:2px solid transparent}:host .tag-container[theme=dark].filled,:host .tag-container[theme=light].filled{background-color:#fff;border-color:#242424}:host .tag-container[theme=dark]:hover,:host .tag-container[theme=light]:hover{background-color:#666;color:#fff;border-color:#666;border-width:2px}:host .tag-container[theme=dark].shrink,:host .tag-container[theme=light].shrink{transform:scale(.98)}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"] }]
|
|
185
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
186
|
-
type: Optional
|
|
187
|
-
}, {
|
|
188
|
-
type: Inject,
|
|
189
|
-
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
190
|
-
}] }], propDecorators: { label: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], icon: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], allowClose: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], readOnly: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], isSelected: [{
|
|
199
|
-
type: Input
|
|
200
|
-
}], showIconWhenSelected: [{
|
|
201
|
-
type: Input
|
|
202
|
-
}], isDisabled: [{
|
|
203
|
-
type: Input
|
|
204
|
-
}], applicationTheme: [{
|
|
205
|
-
type: Input
|
|
206
|
-
}], ariaLabel: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], ariaRequired: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}], close: [{
|
|
211
|
-
type: Output
|
|
212
|
-
}], press: [{
|
|
213
|
-
type: Output
|
|
214
|
-
}], labelElement: [{
|
|
215
|
-
type: ViewChild,
|
|
216
|
-
args: ['labelElement']
|
|
217
|
-
}] } });
|
|
218
|
-
|
|
219
|
-
class TagComponentModule {
|
|
220
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TagComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
221
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: TagComponentModule, declarations: [TagComponent], imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule, MatInputModule, UiTranslatePipe], exports: [TagComponent] }); }
|
|
222
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TagComponentModule, imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule, MatInputModule] }); }
|
|
223
|
-
}
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: TagComponentModule, decorators: [{
|
|
225
|
-
type: NgModule,
|
|
226
|
-
args: [{
|
|
227
|
-
declarations: [TagComponent],
|
|
228
|
-
imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule, MatInputModule, UiTranslatePipe],
|
|
229
|
-
exports: [TagComponent],
|
|
230
|
-
providers: [],
|
|
231
|
-
}]
|
|
232
|
-
}] });
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* Generated bundle index. Do not edit.
|
|
236
|
-
*/
|
|
237
|
-
|
|
238
|
-
export { TagComponent, TagComponentModule };
|
|
239
|
-
//# sourceMappingURL=testgorilla-tgo-ui-components-tag.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testgorilla-tgo-ui-components-tag.mjs","sources":["../../../components/tag/tag.component.ts","../../../components/tag/tag.component.html","../../../components/tag/tag.component.module.ts","../../../components/tag/testgorilla-tgo-ui-components-tag.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n signal,\n ViewChild\n} from '@angular/core';\nimport { debounceTime, map, ReplaySubject } from 'rxjs';\nimport { IconColor, IconName } from '@testgorilla/tgo-ui/components/icon';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { IKeyboardEvent } from '@testgorilla/tgo-ui/components/core';\n\n@Component({\n selector: 'ui-tag',\n templateUrl: './tag.component.html',\n styleUrls: ['./tag.component.scss'],\n standalone: false\n})\nexport class TagComponent implements AfterViewInit, OnInit {\n /**\n * Tag's label\n *\n * @memberof TagComponent\n */\n @Input() set label(value: string) {\n this.labelText = value;\n if (this.labelElement) {\n this.isLabelEllipseActive();\n }\n }\n\n /**\n * Icon\n *\n * @type {string}\n * @memberof TagComponent\n */\n @Input() icon: IconName = '';\n\n /**\n * Whether to allow the tag to be closed.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() allowClose = false;\n\n /**\n * Whether the tag is in read-only mode.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() readOnly = false;\n\n /**\n * Whether the tag is selected.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isSelected = false;\n\n /**\n * Display icon when is selected\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() showIconWhenSelected = false;\n\n /**\n * Specifies whether the element is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof TagComponent\n */\n @Input() isDisabled = false;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof TagComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * A string representing the ARIA label for accessibility.\n * This label is used to provide an accessible name for the input element.\n * @type {string}\n * @memberof TagComponent\n */\n @Input() ariaLabel: string;\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used to indicate whether an input field is required for form submission.\n * @type {boolean}\n * @memberof TagComponent\n */\n @Input() ariaRequired = false;\n\n /**\n * Event triggered when the tag should be closed.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() close = new EventEmitter<void>();\n\n /**\n * Event triggered when a press action occurs.\n *\n * @event\n * @memberof TagComponent\n */\n @Output() press = new EventEmitter<boolean>();\n\n /**\n * Subject that needs to be triggered when Label input changes, to check if it's truncated\n * @private\n * @type {void}\n * @memberof TagComponent\n */\n private checkLabelEllipsis$ = new ReplaySubject<void>(1);\n\n /**\n * Observable that indicates if the Label is truncated\n * debounceTime is used to wait for view to be initialized after receiving a new Label input\n * @protected\n * @type {boolean}\n * @memberof TagComponent\n */\n protected isEllipseActiveObs$ = this.checkLabelEllipsis$.pipe(\n debounceTime(100),\n map(() => {\n const el = this.labelElement.nativeElement;\n return el.offsetWidth < el.scrollWidth;\n })\n );\n protected labelText = '';\n protected isHovered = false;\n protected shrink = false;\n protected iconToPass: IconName;\n protected iconColor: IconColor;\n protected closeBtnFocused = signal(false);\n\n @ViewChild('labelElement') labelElement: ElementRef<HTMLElement>;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit(): void {\n this.iconToPass = this.icon;\n this.iconColor = 'black';\n }\n\n ngAfterViewInit(): void {\n this.isLabelEllipseActive();\n }\n\n onPress(): void {\n if (!this.readOnly && !this.allowClose) {\n this.isSelected = this.showIconWhenSelected ? !this.isSelected : false;\n this.press.emit(this.isSelected);\n }\n }\n\n setHoverState(state: boolean) {\n this.isHovered = state;\n if (this.applicationTheme !== 'classic') {\n if (state) {\n this.iconToPass = `${this.icon}-filled` as IconName;\n } else {\n this.iconToPass = this.icon;\n }\n this.iconColor = this.isHovered ? 'white' : 'black';\n }\n }\n\n setShrinkState(state: boolean) {\n this.shrink = state;\n }\n\n onClose(): void {\n this.close.emit();\n }\n\n private isLabelEllipseActive(): void {\n this.checkLabelEllipsis$.next();\n }\n\n get tabIndex(): number {\n return this.isDisabled || this.readOnly ? -1 : 0;\n }\n\n get filled(): boolean {\n return this.readOnly || this.allowClose || this.isSelected;\n }\n\n onKeydown($event: KeyboardEvent): void {\n if (($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) && !this.closeBtnFocused()) {\n this.onPress();\n } else if (this.closeBtnFocused() && ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE)) {\n this.onClose();\n }\n }\n}\n","<div class=\"tag-wrapper\">\n <div\n [matTooltip]=\"(isEllipseActiveObs$ | async) ? labelText : ''\" [matTooltipClass]=\"applicationTheme\"\n [tabindex]=\"tabIndex\"\n class=\"tag-container\"\n [attr.data-testid]=\"'tag--container'\"\n [attr.theme]=\"applicationTheme\"\n [ngClass]=\"{\n filled: filled,\n readonly: readOnly,\n disabled: isDisabled,\n outlined: !isSelected,\n shrink\n }\"\n (click)=\"onPress()\"\n (mouseenter)=\"setHoverState(true)\" (mouseleave)=\"setHoverState(false)\"\n (mousedown)=\"setShrinkState(true)\" (mouseup)=\"setShrinkState(false)\"\n (touchstart)=\"setShrinkState(true)\" (touchend)=\"setShrinkState(false)\"\n (keydown)=\"onKeydown($event)\"\n [attr.aria-label]=\"ariaLabel || labelText\"\n [attr.aria-required]=\"ariaRequired\"\n >\n <ui-icon *ngIf=\"icon\" class=\"icon\" [color]=\"iconColor\" [name]=\"iconToPass\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <ui-icon *ngIf=\"isSelected && showIconWhenSelected\" [color]=\"iconColor\" class=\"icon\" [name]=\"'Check'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n <span class=\"tag-label\" #labelElement>{{ labelText }}</span>\n <ui-icon (focus)=\"closeBtnFocused.set(true)\" (blur)=\"closeBtnFocused.set(false)\" [tabindex]=\"tabIndex\" *ngIf=\"allowClose\" class=\"delete-icon\"\n [attr.aria-label]=\"'TAG.REMOVE' | uiTranslate | async\"\n [color]=\"iconColor\" (click)=\"onClose()\" [name]=\"'Close'\" [applicationTheme]=\"applicationTheme\"></ui-icon>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TagComponent } from './tag.component';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { TooltipComponentModule } from '@testgorilla/tgo-ui/components/tooltip';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatInputModule } from \"@angular/material/input\";\nimport { UiTranslatePipe } from \"@testgorilla/tgo-ui/components/core\";\n\n@NgModule({\n declarations: [TagComponent],\n imports: [CommonModule, IconComponentModule, TooltipComponentModule, MatTooltipModule, MatInputModule, UiTranslatePipe],\n exports: [TagComponent],\n providers: [],\n})\nexport class TagComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, forwardRef, Input, Output, HostBinding, Optional, Inject, Component, NgModule } from '@angular/core';
|
|
3
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import * as i3 from '@testgorilla/tgo-ui/components/core';
|
|
5
|
-
import { IKeyboardEvent, EllipseTextDirective, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
|
|
6
|
-
import * as i1 from '@angular/common';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import * as i2 from '@angular/material/tooltip';
|
|
9
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
10
|
-
import * as i4 from '@testgorilla/tgo-ui/components/icon';
|
|
11
|
-
import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
|
|
12
|
-
import * as i5 from '@testgorilla/tgo-ui/components/spinner';
|
|
13
|
-
import { SpinnerComponentModule } from '@testgorilla/tgo-ui/components/spinner';
|
|
14
|
-
import { MatInputModule } from '@angular/material/input';
|
|
15
|
-
|
|
16
|
-
class ToggleComponent {
|
|
17
|
-
constructor(defaultAppTheme) {
|
|
18
|
-
this.defaultAppTheme = defaultAppTheme;
|
|
19
|
-
/**
|
|
20
|
-
* The `selected` property determines the current state of the toggle switch.
|
|
21
|
-
*
|
|
22
|
-
* @type {boolean}
|
|
23
|
-
* @default false
|
|
24
|
-
* @memberof ToggleComponent
|
|
25
|
-
*/
|
|
26
|
-
this.selected = false;
|
|
27
|
-
/**
|
|
28
|
-
* The `disabled` property determines whether the toggle switch is disabled.
|
|
29
|
-
*
|
|
30
|
-
* @type {boolean}
|
|
31
|
-
* @default false
|
|
32
|
-
* @memberof ToggleComponent
|
|
33
|
-
*/
|
|
34
|
-
this.disabled = false;
|
|
35
|
-
/**
|
|
36
|
-
* Toggle label
|
|
37
|
-
*
|
|
38
|
-
* @type {string}
|
|
39
|
-
* @default ''
|
|
40
|
-
* @memberof ToggleComponent
|
|
41
|
-
*/
|
|
42
|
-
this.label = '';
|
|
43
|
-
/**
|
|
44
|
-
* Message
|
|
45
|
-
*
|
|
46
|
-
* @type {string}
|
|
47
|
-
* @default ''
|
|
48
|
-
* @memberof ToggleComponent
|
|
49
|
-
*/
|
|
50
|
-
this.message = '';
|
|
51
|
-
/**
|
|
52
|
-
*
|
|
53
|
-
* Defines the application theme
|
|
54
|
-
*
|
|
55
|
-
* @type {ApplicationTheme}
|
|
56
|
-
* @memberof ToggleComponent
|
|
57
|
-
*/
|
|
58
|
-
this.applicationTheme = 'light';
|
|
59
|
-
/**
|
|
60
|
-
* The `toggle` event is triggered when the state of the toggle switch changes. It returns the new state.
|
|
61
|
-
*
|
|
62
|
-
* @type {event}
|
|
63
|
-
* @memberof ToggleComponent
|
|
64
|
-
*/
|
|
65
|
-
this.toggle = new EventEmitter();
|
|
66
|
-
/**
|
|
67
|
-
* A string representing the ARIA requirement for accessibility.
|
|
68
|
-
* This attribute is used to indicate whether an input field is required for form submission.
|
|
69
|
-
* @type {boolean}
|
|
70
|
-
* @memberof ToggleComponent
|
|
71
|
-
*/
|
|
72
|
-
this.ariaRequired = false;
|
|
73
|
-
/**
|
|
74
|
-
* disable/enable click on toggle
|
|
75
|
-
* @type {boolean}
|
|
76
|
-
* @memberof ToggleComponent
|
|
77
|
-
*/
|
|
78
|
-
this.preventClick = false;
|
|
79
|
-
/**
|
|
80
|
-
* The loading state
|
|
81
|
-
*
|
|
82
|
-
* @type {boolean}
|
|
83
|
-
* @memberof ToggleComponent
|
|
84
|
-
*/
|
|
85
|
-
this.loading = false;
|
|
86
|
-
/**
|
|
87
|
-
* A string representing the ARIA requirement for accessibility.
|
|
88
|
-
* This attribute is used to indicate whether an input field is required for form submission.
|
|
89
|
-
* @type {string}
|
|
90
|
-
* @memberof ToggleComponent
|
|
91
|
-
*/
|
|
92
|
-
this.ariaDescribedby = '';
|
|
93
|
-
this.showLabelTooltip = false;
|
|
94
|
-
this.onChange = () => {
|
|
95
|
-
};
|
|
96
|
-
this.onTouched = () => {
|
|
97
|
-
};
|
|
98
|
-
if (defaultAppTheme) {
|
|
99
|
-
this.applicationTheme = defaultAppTheme;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
ngOnChanges() {
|
|
103
|
-
this.setClasses();
|
|
104
|
-
}
|
|
105
|
-
ngOnInit() {
|
|
106
|
-
this.setClasses();
|
|
107
|
-
}
|
|
108
|
-
onToggle() {
|
|
109
|
-
if (this.preventClick) {
|
|
110
|
-
this.toggle.emit(this.selected);
|
|
111
|
-
}
|
|
112
|
-
if (!this.disabled && !this.preventClick) {
|
|
113
|
-
this.selected = !this.selected;
|
|
114
|
-
this.toggle.emit(this.selected);
|
|
115
|
-
this.onChange(this.selected);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
writeValue(state) {
|
|
119
|
-
if (state) {
|
|
120
|
-
this.selected = state;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
registerOnChange(fn) {
|
|
124
|
-
this.onChange = fn;
|
|
125
|
-
}
|
|
126
|
-
registerOnTouched(fn) {
|
|
127
|
-
this.onTouched = fn;
|
|
128
|
-
}
|
|
129
|
-
setDisabledState(isDisabled) {
|
|
130
|
-
this.disabled = isDisabled;
|
|
131
|
-
}
|
|
132
|
-
changeTextState(state) {
|
|
133
|
-
this.showLabelTooltip = state;
|
|
134
|
-
}
|
|
135
|
-
onKeydown($event) {
|
|
136
|
-
if ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) {
|
|
137
|
-
$event.stopPropagation();
|
|
138
|
-
$event.preventDefault();
|
|
139
|
-
this.onToggle();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
setClasses() {
|
|
143
|
-
this.classes = `${this.disabled ? 'disabled' : ''} ${this.applicationTheme} ${this.loading ? 'loading' : ''} ${!this.label ? 'small-toggle' : ''}`;
|
|
144
|
-
}
|
|
145
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ToggleComponent, isStandalone: false, selector: "ui-toggle", inputs: { selected: "selected", disabled: "disabled", label: "label", message: "message", maxWidth: "maxWidth", applicationTheme: "applicationTheme", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", preventClick: "preventClick", loading: "loading", ariaDescribedby: "ariaDescribedby" }, outputs: { toggle: "toggle" }, host: { properties: { "style.--max-width": "this.maxWidth" } }, providers: [
|
|
147
|
-
{
|
|
148
|
-
provide: NG_VALUE_ACCESSOR,
|
|
149
|
-
useExisting: forwardRef(() => ToggleComponent),
|
|
150
|
-
multi: true,
|
|
151
|
-
},
|
|
152
|
-
], usesOnChanges: true, ngImport: i0, template: "<div class=\"toggle\" [ngClass]=\"classes\">\n <div\n [style.--max-width]=\"maxWidth + 'px'\"\n [tabIndex]=\"0\"\n class=\"toggle-container\"\n [ngClass]=\"{ 'active': selected }\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n (keydown)=\"onKeydown($event)\"\n role=\"switch\"\n [attr.aria-labelledby]=\"'label'\"\n [attr.aria-describedby]=\"'ariaDescribedby'\"\n [attr.aria-checked]=\"selected\"\n >\n <span [style.display]=\"'none'\" id=\"ariaDescribedby\">{{ ariaDescribedby }}</span>\n <div\n class=\"label\"\n uiEllipseText\n [matTooltipShowDelay]=\"800\"\n [matTooltip]=\"showLabelTooltip ? label : ''\"\n (onChangeTextState)=\"changeTextState($event)\"\n id=\"label\"\n >\n {{ label }}\n </div>\n <div class=\"knob\" *ngIf=\"!loading; else loadingTemplate\" [ngClass]=\"{ selected }\">\n <ui-icon [color]=\"disabled ? 'grey' : 'white'\" *ngIf=\"selected && !label\" [size]=\"'16'\" [name]=\"'Check-round-filled'\"></ui-icon>\n </div>\n\n <ng-template #loadingTemplate>\n <ui-spinner [isLoader]=\"false\" [size]=\"'small'\" [applicationTheme]=\"'dark'\"></ui-spinner>\n </ng-template>\n </div>\n <div *ngIf=\"message && selected\" class=\"message\">{{ message }}</div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{width:fit-content;display:block}:host .toggle{height:auto;width:fit-content;display:flex;flex-direction:column;align-items:center}:host .toggle .toggle-container{border:1px solid transparent}:host .toggle.disabled{opacity:.5}:host .toggle.disabled .label{color:#242424!important}:host .toggle.disabled .toggle-container{background:#e0e0e0;pointer-events:none}:host .toggle.disabled .toggle-container:focus{outline:none}:host .toggle.dark.disabled .toggle-container.active,:host .toggle.light.disabled .toggle-container.active{background:#e9e9e9;border:1px solid #242424}:host .toggle.dark.disabled .toggle-container.active .knob:after,:host .toggle.light.disabled .toggle-container.active .knob:after{background:#242424}:host .toggle.dark .toggle-container,:host .toggle.light .toggle-container{background:transparent;border:1px solid #242424}:host .toggle.dark .toggle-container .label,:host .toggle.light .toggle-container .label{color:#242424}:host .toggle.dark .toggle-container .knob:after,:host .toggle.light .toggle-container .knob:after{background:#242424}:host .toggle.dark .toggle-container.active,:host .toggle.light .toggle-container.active{background:#d410aa;border:1px solid #D410AA}:host .toggle.dark .toggle-container.active .label,:host .toggle.light .toggle-container.active .label{color:#fff}:host .toggle.dark .toggle-container.active .knob:after,:host .toggle.light .toggle-container.active .knob:after{background:#fff}:host .toggle.dark .message,:host .toggle.light .message{color:#242424}:host .toggle.dark.disabled .toggle-container.active{border-color:#fff}:host .toggle.dark.disabled .toggle-container.active .knob:after{background:#fff}:host .toggle.dark .toggle-container{border-color:#fff}:host .toggle.dark .toggle-container .label{color:#fff}:host .toggle.dark .toggle-container .knob:after{background:#fff}:host .toggle.dark .message{color:#fff}:host .toggle .toggle-container{min-height:20px;max-height:24px;max-width:var(--max-width);padding:0 3px 0 20px;width:fit-content;min-width:36px;border-radius:16px;background:#888;display:flex;align-items:center;cursor:pointer;position:relative;transition:transform .3s,padding .3s,background .3s}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .toggle .toggle-container:focus-visible{position:relative;outline:2px solid #242424;outline-offset:2px;animation:focus-ring-animation .4s forwards}:host .toggle .toggle-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;outline:2px solid #ffffff;border-radius:16px}:host .toggle .toggle-container .knob{height:100%;width:100%;position:absolute;left:-1px;top:0;display:flex;align-items:center;padding:3px;max-height:20px;transition:transform .3s}:host .toggle .toggle-container .knob:after{content:\"\";display:block;border-radius:16px;width:12px;height:12px;background:#fff;transition:background .3s}:host .toggle .toggle-container .label{z-index:1;font-size:8px;font-weight:700;color:#fff;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:visible;line-height:16px}:host .toggle .toggle-container.active{background:#276678;padding:0 20px 0 3px}:host .toggle .toggle-container.active .knob{transform:translate(calc(100% - 15px))}:host .toggle .message{margin-top:4px;font-weight:700;font-size:12px;line-height:16px;color:#276678;text-align:justify}:host .toggle.small-toggle .toggle-container .knob{left:0}:host .toggle.small-toggle .toggle-container .knob:after{width:10px;height:10px}:host .toggle.small-toggle .toggle-container .knob.selected{left:-8px}:host .toggle.small-toggle .toggle-container .knob.selected:after{display:none}:host .toggle.small-toggle .toggle-container .knob.selected ui-icon ::ng-deep svg{width:20px;height:20px}:host .toggle.loading .toggle-container{border-color:#d410aa;background-color:#d410aa;padding:0;display:flex;justify-content:center;cursor:default}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3.EllipseTextDirective, selector: "[uiEllipseText]", inputs: ["isMultiline", "maxDiffPixels", "refresh"], outputs: ["onChangeTextState"] }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "component", type: i5.SpinnerComponent, selector: "ui-spinner", inputs: ["size", "isLoader", "text", "applicationTheme", "iconName", "iconSize"] }] }); }
|
|
153
|
-
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponent, decorators: [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{ selector: 'ui-toggle', providers: [
|
|
157
|
-
{
|
|
158
|
-
provide: NG_VALUE_ACCESSOR,
|
|
159
|
-
useExisting: forwardRef(() => ToggleComponent),
|
|
160
|
-
multi: true,
|
|
161
|
-
},
|
|
162
|
-
], standalone: false, template: "<div class=\"toggle\" [ngClass]=\"classes\">\n <div\n [style.--max-width]=\"maxWidth + 'px'\"\n [tabIndex]=\"0\"\n class=\"toggle-container\"\n [ngClass]=\"{ 'active': selected }\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n (keydown)=\"onKeydown($event)\"\n role=\"switch\"\n [attr.aria-labelledby]=\"'label'\"\n [attr.aria-describedby]=\"'ariaDescribedby'\"\n [attr.aria-checked]=\"selected\"\n >\n <span [style.display]=\"'none'\" id=\"ariaDescribedby\">{{ ariaDescribedby }}</span>\n <div\n class=\"label\"\n uiEllipseText\n [matTooltipShowDelay]=\"800\"\n [matTooltip]=\"showLabelTooltip ? label : ''\"\n (onChangeTextState)=\"changeTextState($event)\"\n id=\"label\"\n >\n {{ label }}\n </div>\n <div class=\"knob\" *ngIf=\"!loading; else loadingTemplate\" [ngClass]=\"{ selected }\">\n <ui-icon [color]=\"disabled ? 'grey' : 'white'\" *ngIf=\"selected && !label\" [size]=\"'16'\" [name]=\"'Check-round-filled'\"></ui-icon>\n </div>\n\n <ng-template #loadingTemplate>\n <ui-spinner [isLoader]=\"false\" [size]=\"'small'\" [applicationTheme]=\"'dark'\"></ui-spinner>\n </ng-template>\n </div>\n <div *ngIf=\"message && selected\" class=\"message\">{{ message }}</div>\n</div>\n\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap\";.bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}:host{width:fit-content;display:block}:host .toggle{height:auto;width:fit-content;display:flex;flex-direction:column;align-items:center}:host .toggle .toggle-container{border:1px solid transparent}:host .toggle.disabled{opacity:.5}:host .toggle.disabled .label{color:#242424!important}:host .toggle.disabled .toggle-container{background:#e0e0e0;pointer-events:none}:host .toggle.disabled .toggle-container:focus{outline:none}:host .toggle.dark.disabled .toggle-container.active,:host .toggle.light.disabled .toggle-container.active{background:#e9e9e9;border:1px solid #242424}:host .toggle.dark.disabled .toggle-container.active .knob:after,:host .toggle.light.disabled .toggle-container.active .knob:after{background:#242424}:host .toggle.dark .toggle-container,:host .toggle.light .toggle-container{background:transparent;border:1px solid #242424}:host .toggle.dark .toggle-container .label,:host .toggle.light .toggle-container .label{color:#242424}:host .toggle.dark .toggle-container .knob:after,:host .toggle.light .toggle-container .knob:after{background:#242424}:host .toggle.dark .toggle-container.active,:host .toggle.light .toggle-container.active{background:#d410aa;border:1px solid #D410AA}:host .toggle.dark .toggle-container.active .label,:host .toggle.light .toggle-container.active .label{color:#fff}:host .toggle.dark .toggle-container.active .knob:after,:host .toggle.light .toggle-container.active .knob:after{background:#fff}:host .toggle.dark .message,:host .toggle.light .message{color:#242424}:host .toggle.dark.disabled .toggle-container.active{border-color:#fff}:host .toggle.dark.disabled .toggle-container.active .knob:after{background:#fff}:host .toggle.dark .toggle-container{border-color:#fff}:host .toggle.dark .toggle-container .label{color:#fff}:host .toggle.dark .toggle-container .knob:after{background:#fff}:host .toggle.dark .message{color:#fff}:host .toggle .toggle-container{min-height:20px;max-height:24px;max-width:var(--max-width);padding:0 3px 0 20px;width:fit-content;min-width:36px;border-radius:16px;background:#888;display:flex;align-items:center;cursor:pointer;position:relative;transition:transform .3s,padding .3s,background .3s}@keyframes focus-ring-animation{0%{outline-width:4px}to{outline-width:2px}}:host .toggle .toggle-container:focus-visible{position:relative;outline:2px solid #242424;outline-offset:2px;animation:focus-ring-animation .4s forwards}:host .toggle .toggle-container:focus-visible:after{content:\"\";position:absolute;width:calc(100% + 2px);height:calc(100% + 2px);top:-1px;left:-1px;outline:2px solid #ffffff;border-radius:16px}:host .toggle .toggle-container .knob{height:100%;width:100%;position:absolute;left:-1px;top:0;display:flex;align-items:center;padding:3px;max-height:20px;transition:transform .3s}:host .toggle .toggle-container .knob:after{content:\"\";display:block;border-radius:16px;width:12px;height:12px;background:#fff;transition:background .3s}:host .toggle .toggle-container .label{z-index:1;font-size:8px;font-weight:700;color:#fff;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;pointer-events:visible;line-height:16px}:host .toggle .toggle-container.active{background:#276678;padding:0 20px 0 3px}:host .toggle .toggle-container.active .knob{transform:translate(calc(100% - 15px))}:host .toggle .message{margin-top:4px;font-weight:700;font-size:12px;line-height:16px;color:#276678;text-align:justify}:host .toggle.small-toggle .toggle-container .knob{left:0}:host .toggle.small-toggle .toggle-container .knob:after{width:10px;height:10px}:host .toggle.small-toggle .toggle-container .knob.selected{left:-8px}:host .toggle.small-toggle .toggle-container .knob.selected:after{display:none}:host .toggle.small-toggle .toggle-container .knob.selected ui-icon ::ng-deep svg{width:20px;height:20px}:host .toggle.loading .toggle-container{border-color:#d410aa;background-color:#d410aa;padding:0;display:flex;justify-content:center;cursor:default}::ng-deep .mat-mdc-tooltip{background-color:#a9c2c9;font-family:Open Sans,serif;font-weight:400;font-size:12px;border-radius:4px;overflow:visible;max-width:248px;padding:6px 2px;--mdc-plain-tooltip-container-color: none;--mdc-plain-tooltip-supporting-text-color: $tgo-black}\n"] }]
|
|
163
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
164
|
-
type: Optional
|
|
165
|
-
}, {
|
|
166
|
-
type: Inject,
|
|
167
|
-
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
168
|
-
}] }], propDecorators: { selected: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], disabled: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], label: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], message: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], maxWidth: [{
|
|
177
|
-
type: HostBinding,
|
|
178
|
-
args: ['style.--max-width']
|
|
179
|
-
}, {
|
|
180
|
-
type: Input
|
|
181
|
-
}], applicationTheme: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], toggle: [{
|
|
184
|
-
type: Output
|
|
185
|
-
}], ariaLabel: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], ariaRequired: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], preventClick: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], loading: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], ariaDescribedby: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}] } });
|
|
196
|
-
|
|
197
|
-
class ToggleComponentModule {
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
199
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponentModule, declarations: [ToggleComponent], imports: [CommonModule, MatTooltipModule, EllipseTextDirective, MatInputModule, UiTranslatePipe, IconComponentModule, SpinnerComponentModule], exports: [ToggleComponent] }); }
|
|
200
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponentModule, imports: [CommonModule, MatTooltipModule, MatInputModule, IconComponentModule, SpinnerComponentModule] }); }
|
|
201
|
-
}
|
|
202
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ToggleComponentModule, decorators: [{
|
|
203
|
-
type: NgModule,
|
|
204
|
-
args: [{
|
|
205
|
-
declarations: [ToggleComponent],
|
|
206
|
-
imports: [CommonModule, MatTooltipModule, EllipseTextDirective, MatInputModule, UiTranslatePipe, IconComponentModule, SpinnerComponentModule],
|
|
207
|
-
exports: [ToggleComponent],
|
|
208
|
-
}]
|
|
209
|
-
}] });
|
|
210
|
-
|
|
211
|
-
/**
|
|
212
|
-
* Generated bundle index. Do not edit.
|
|
213
|
-
*/
|
|
214
|
-
|
|
215
|
-
export { ToggleComponent, ToggleComponentModule };
|
|
216
|
-
//# sourceMappingURL=testgorilla-tgo-ui-components-toggle.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testgorilla-tgo-ui-components-toggle.mjs","sources":["../../../components/toggle/toggle.component.ts","../../../components/toggle/toggle.component.html","../../../components/toggle/toggle.component.module.ts","../../../components/toggle/testgorilla-tgo-ui-components-toggle.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { RegisterFn } from './toggle.model';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { IKeyboardEvent } from '@testgorilla/tgo-ui/components/core';\n\n@Component({\n selector: 'ui-toggle',\n templateUrl: './toggle.component.html',\n styleUrls: ['./toggle.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleComponent),\n multi: true,\n },\n ],\n standalone: false\n})\nexport class ToggleComponent implements ControlValueAccessor, OnChanges, OnInit {\n /**\n * The `selected` property determines the current state of the toggle switch.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() selected = false;\n\n /**\n * The `disabled` property determines whether the toggle switch is disabled.\n *\n * @type {boolean}\n * @default false\n * @memberof ToggleComponent\n */\n @Input() disabled = false;\n\n /**\n * Toggle label\n *\n * @type {string}\n * @default ''\n * @memberof ToggleComponent\n */\n @Input() label = '';\n\n /**\n * Message\n *\n * @type {string}\n * @default ''\n * @memberof ToggleComponent\n */\n @Input() message = '';\n\n /**\n * Max width of the toggle container\n *\n * @type {number}\n * @memberof ToggleComponent\n */\n @HostBinding('style.--max-width')\n @Input()\n maxWidth: number | undefined;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof ToggleComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * The `toggle` event is triggered when the state of the toggle switch changes. It returns the new state.\n *\n * @type {event}\n * @memberof ToggleComponent\n */\n @Output() toggle = new EventEmitter<boolean>();\n\n /**\n * A string representing the ARIA label for accessibility.\n * This label is used to provide an accessible name for the input element.\n * @type {string}\n * @memberof ToggleComponent\n */\n @Input() ariaLabel: string;\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used to indicate whether an input field is required for form submission.\n * @type {boolean}\n * @memberof ToggleComponent\n */\n @Input() ariaRequired = false;\n\n /**\n * disable/enable click on toggle\n * @type {boolean}\n * @memberof ToggleComponent\n */\n @Input() preventClick = false;\n\n /**\n * The loading state\n *\n * @type {boolean}\n * @memberof ToggleComponent\n */\n @Input() loading = false;\n\n /**\n * A string representing the ARIA requirement for accessibility.\n * This attribute is used to indicate whether an input field is required for form submission.\n * @type {string}\n * @memberof ToggleComponent\n */\n @Input() ariaDescribedby = '';\n\n protected showLabelTooltip = false\n protected classes: string;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnChanges(): void {\n this.setClasses();\n }\n\n ngOnInit(): void {\n this.setClasses();\n }\n\n onToggle(): void {\n if (this.preventClick) {\n this.toggle.emit(this.selected);\n }\n if (!this.disabled && !this.preventClick) {\n this.selected = !this.selected;\n this.toggle.emit(this.selected);\n this.onChange(this.selected);\n }\n }\n\n writeValue(state: boolean): void {\n if (state) {\n this.selected = state;\n }\n }\n\n registerOnChange(fn: RegisterFn): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: RegisterFn): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabled = isDisabled;\n }\n\n changeTextState(state: boolean): void {\n this.showLabelTooltip = state;\n }\n\n onKeydown($event: KeyboardEvent) {\n if ($event.key === IKeyboardEvent.ENTER || $event.key === IKeyboardEvent.SPACE) {\n $event.stopPropagation();\n $event.preventDefault();\n this.onToggle();\n }\n }\n\n private onChange: RegisterFn = () => {\n };\n private onTouched: RegisterFn = () => {\n };\n\n private setClasses(): void {\n this.classes = `${this.disabled ? 'disabled' : ''} ${this.applicationTheme} ${this.loading ? 'loading' : ''} ${!this.label ? 'small-toggle' : ''}`;\n }\n}\n","<div class=\"toggle\" [ngClass]=\"classes\">\n <div\n [style.--max-width]=\"maxWidth + 'px'\"\n [tabIndex]=\"0\"\n class=\"toggle-container\"\n [ngClass]=\"{ 'active': selected }\"\n (click)=\"onToggle()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-required]=\"ariaRequired\"\n (keydown)=\"onKeydown($event)\"\n role=\"switch\"\n [attr.aria-labelledby]=\"'label'\"\n [attr.aria-describedby]=\"'ariaDescribedby'\"\n [attr.aria-checked]=\"selected\"\n >\n <span [style.display]=\"'none'\" id=\"ariaDescribedby\">{{ ariaDescribedby }}</span>\n <div\n class=\"label\"\n uiEllipseText\n [matTooltipShowDelay]=\"800\"\n [matTooltip]=\"showLabelTooltip ? label : ''\"\n (onChangeTextState)=\"changeTextState($event)\"\n id=\"label\"\n >\n {{ label }}\n </div>\n <div class=\"knob\" *ngIf=\"!loading; else loadingTemplate\" [ngClass]=\"{ selected }\">\n <ui-icon [color]=\"disabled ? 'grey' : 'white'\" *ngIf=\"selected && !label\" [size]=\"'16'\" [name]=\"'Check-round-filled'\"></ui-icon>\n </div>\n\n <ng-template #loadingTemplate>\n <ui-spinner [isLoader]=\"false\" [size]=\"'small'\" [applicationTheme]=\"'dark'\"></ui-spinner>\n </ng-template>\n </div>\n <div *ngIf=\"message && selected\" class=\"message\">{{ message }}</div>\n</div>\n\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ToggleComponent } from './toggle.component';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { EllipseTextDirective } from '@testgorilla/tgo-ui/components/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\nimport { SpinnerComponentModule } from '@testgorilla/tgo-ui/components/spinner';\n\n@NgModule({\n declarations: [ToggleComponent],\n imports: [CommonModule, MatTooltipModule, EllipseTextDirective, MatInputModule, UiTranslatePipe, IconComponentModule, SpinnerComponentModule],\n exports: [ToggleComponent],\n})\nexport class ToggleComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|