@dev-tcloud/tcloud-ui 5.3.0 → 5.3.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.
- package/fesm2022/dev-tcloud-tcloud-ui.mjs +194 -10
- package/fesm2022/dev-tcloud-tcloud-ui.mjs.map +1 -1
- package/lib/_directives/tooltip/tooltip.directive.d.ts +1 -0
- package/lib/revitalizacao/charts/echarts.d.ts +18 -0
- package/lib/revitalizacao/components/tc-rev-multi-input/tc-rev-multi-input.component.d.ts +1 -0
- package/lib/revitalizacao/components/tc-rev-tab-group/tc-rev-tab-item/tc-rev-tab-item.component.d.ts +2 -1
- package/lib/revitalizacao/util/ellipsed-text.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/scss/components/custom/tooltip.scss +3 -2
|
@@ -4656,6 +4656,11 @@ class TCloudUiTooltipDirective {
|
|
|
4656
4656
|
if (tooltip) {
|
|
4657
4657
|
this.info_text = typeof tooltip === 'object' ? '' : tooltip;
|
|
4658
4658
|
if (this.tooltipVisible && this.tooltipElement) {
|
|
4659
|
+
// Se não há texto válido, remove o tooltip
|
|
4660
|
+
if (!this.isValidTooltipText(this.info_text)) {
|
|
4661
|
+
this.removeTooltip();
|
|
4662
|
+
return;
|
|
4663
|
+
}
|
|
4659
4664
|
// Atualiza o conteúdo do tooltip diretamente
|
|
4660
4665
|
this.tooltipElement.innerHTML = this.info_text;
|
|
4661
4666
|
// Reaplica a posição calculada anteriormente para manter a centralização
|
|
@@ -4679,7 +4684,7 @@ class TCloudUiTooltipDirective {
|
|
|
4679
4684
|
this._direction = 'top';
|
|
4680
4685
|
}
|
|
4681
4686
|
onDocumentClick(event) {
|
|
4682
|
-
if (this.tooltipMode === 'click' && this.tooltipVisible && this.info_text) {
|
|
4687
|
+
if (this.tooltipMode === 'click' && this.tooltipVisible && this.isValidTooltipText(this.info_text)) {
|
|
4683
4688
|
const clickedInside = this.el.nativeElement.contains(event.target) || (this.tooltipElement?.contains(event.target));
|
|
4684
4689
|
if (!clickedInside) {
|
|
4685
4690
|
this.removeTooltip();
|
|
@@ -4687,7 +4692,7 @@ class TCloudUiTooltipDirective {
|
|
|
4687
4692
|
}
|
|
4688
4693
|
}
|
|
4689
4694
|
onMouseOver(event) {
|
|
4690
|
-
if (this.tooltipMode === 'hover' && !this.tooltipVisible && this.info_text) {
|
|
4695
|
+
if (this.tooltipMode === 'hover' && !this.tooltipVisible && this.isValidTooltipText(this.info_text)) {
|
|
4691
4696
|
this.createTooltip(event);
|
|
4692
4697
|
this.tooltipVisible = true;
|
|
4693
4698
|
}
|
|
@@ -4705,12 +4710,15 @@ class TCloudUiTooltipDirective {
|
|
|
4705
4710
|
if (this.tooltipVisible) {
|
|
4706
4711
|
this.removeTooltip();
|
|
4707
4712
|
}
|
|
4708
|
-
else {
|
|
4713
|
+
else if (this.isValidTooltipText(this.info_text)) {
|
|
4709
4714
|
this.createTooltip(event);
|
|
4710
4715
|
}
|
|
4711
4716
|
this.tooltipVisible = !this.tooltipVisible;
|
|
4712
4717
|
}
|
|
4713
4718
|
}
|
|
4719
|
+
isValidTooltipText(text) {
|
|
4720
|
+
return !!(text && text.trim().length > 0);
|
|
4721
|
+
}
|
|
4714
4722
|
createTooltip(event) {
|
|
4715
4723
|
const scrollTop = window?.scrollY || window?.pageYOffset;
|
|
4716
4724
|
const tooltip = this.renderer.createElement('div');
|
|
@@ -7714,6 +7722,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
7714
7722
|
args: ['document:click', ['$event']]
|
|
7715
7723
|
}] } });
|
|
7716
7724
|
|
|
7725
|
+
/**
|
|
7726
|
+
*
|
|
7727
|
+
* @param echarts echars instance
|
|
7728
|
+
* @param chartData chart info to build the config
|
|
7729
|
+
* @returns a bar chart config for echarts with the given data
|
|
7730
|
+
*/
|
|
7731
|
+
function echartBarConfig(echarts, chartData) {
|
|
7732
|
+
const { xAxisName, xAxisLabels, seriesData, tooltipFormatter, yAxisLabelFormatter, xAxisLabelFormatter } = chartData;
|
|
7733
|
+
return {
|
|
7734
|
+
grid: {
|
|
7735
|
+
left: '6.5%',
|
|
7736
|
+
top: 48,
|
|
7737
|
+
right: '2%',
|
|
7738
|
+
bottom: 56
|
|
7739
|
+
},
|
|
7740
|
+
tooltip: {
|
|
7741
|
+
trigger: 'axis',
|
|
7742
|
+
backgroundColor: '#131313',
|
|
7743
|
+
formatter: tooltipFormatter,
|
|
7744
|
+
textStyle: {
|
|
7745
|
+
color: '#f3f3f3',
|
|
7746
|
+
fontSize: 12,
|
|
7747
|
+
fontFamily: 'Nunito Sans'
|
|
7748
|
+
}
|
|
7749
|
+
},
|
|
7750
|
+
xAxis: {
|
|
7751
|
+
type: 'category',
|
|
7752
|
+
axisLabel: {
|
|
7753
|
+
color: '#131313',
|
|
7754
|
+
fontSize: 14,
|
|
7755
|
+
fontFamily: 'Nunito Sans',
|
|
7756
|
+
margin: 16,
|
|
7757
|
+
formatter: xAxisLabelFormatter,
|
|
7758
|
+
},
|
|
7759
|
+
axisLine: {
|
|
7760
|
+
show: true,
|
|
7761
|
+
lineStyle: {
|
|
7762
|
+
color: '#BAC0C6'
|
|
7763
|
+
}
|
|
7764
|
+
},
|
|
7765
|
+
axisTick: {
|
|
7766
|
+
show: false
|
|
7767
|
+
},
|
|
7768
|
+
data: xAxisLabels,
|
|
7769
|
+
name: xAxisName,
|
|
7770
|
+
nameLocation: 'start',
|
|
7771
|
+
nameTextStyle: {
|
|
7772
|
+
align: 'left',
|
|
7773
|
+
color: '#131313',
|
|
7774
|
+
fontFamily: 'Nunito Sans',
|
|
7775
|
+
fontSize: 14,
|
|
7776
|
+
fontWeight: 700,
|
|
7777
|
+
padding: [0, 0, -46, -36]
|
|
7778
|
+
}
|
|
7779
|
+
},
|
|
7780
|
+
yAxis: {
|
|
7781
|
+
type: 'value',
|
|
7782
|
+
axisLine: {
|
|
7783
|
+
show: false
|
|
7784
|
+
},
|
|
7785
|
+
axisTick: {
|
|
7786
|
+
show: false
|
|
7787
|
+
},
|
|
7788
|
+
axisLabel: {
|
|
7789
|
+
formatter: yAxisLabelFormatter,
|
|
7790
|
+
align: 'left',
|
|
7791
|
+
color: '#131313',
|
|
7792
|
+
fontSize: 14,
|
|
7793
|
+
fontFamily: 'Nunito Sans',
|
|
7794
|
+
inside: false,
|
|
7795
|
+
padding: [-40, 0, 0, -40]
|
|
7796
|
+
}
|
|
7797
|
+
},
|
|
7798
|
+
series: seriesData.map((serie) => ({
|
|
7799
|
+
name: serie.serieName,
|
|
7800
|
+
type: 'bar',
|
|
7801
|
+
data: serie.values,
|
|
7802
|
+
itemStyle: {
|
|
7803
|
+
barBorderRadius: [8, 8, 8, 8],
|
|
7804
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
7805
|
+
{ offset: 0, color: '#0897E9' },
|
|
7806
|
+
{ offset: 1, color: '#75D8FF' }
|
|
7807
|
+
])
|
|
7808
|
+
}
|
|
7809
|
+
}))
|
|
7810
|
+
};
|
|
7811
|
+
}
|
|
7812
|
+
|
|
7717
7813
|
class TcRevEmptyContentComponent {
|
|
7718
7814
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TcRevEmptyContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7719
7815
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TcRevEmptyContentComponent, isStandalone: true, selector: "tc-rev-empty-content", ngImport: i0, template: "<div class=\"tc-rev-empty-content f-family f-sm c-neutral-700 pad-x-16 pad-y-16 bg-c-neutral-200 bor-rad-8\">\n <ng-content></ng-content>\n</div>\n", styles: [""] }); }
|
|
@@ -7852,6 +7948,89 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
7852
7948
|
type: Input
|
|
7853
7949
|
}] } });
|
|
7854
7950
|
|
|
7951
|
+
/**
|
|
7952
|
+
* Verifica se um elemento de texto está elipsado (texto cortado com ...)
|
|
7953
|
+
* @param element - O elemento HTML que contém o texto
|
|
7954
|
+
* @returns true se o texto estiver elipsado, false caso contrário
|
|
7955
|
+
*/
|
|
7956
|
+
function isElementTextEllipsed(element) {
|
|
7957
|
+
if (!element)
|
|
7958
|
+
return false;
|
|
7959
|
+
// Verifica se o scrollWidth é maior que o clientWidth
|
|
7960
|
+
// Isso indica que o texto está sendo cortado
|
|
7961
|
+
return element.scrollWidth > element.clientWidth;
|
|
7962
|
+
}
|
|
7963
|
+
/**
|
|
7964
|
+
* Verifica se um texto específico estaria elipsado baseado no texto fornecido
|
|
7965
|
+
* @param text - O texto a ser verificado
|
|
7966
|
+
* @param containerWidth - Largura do container (opcional, usa o padrão se não informado)
|
|
7967
|
+
* @returns true se o texto seria elipsado
|
|
7968
|
+
*/
|
|
7969
|
+
function isTextEllipsed(text, containerWidth) {
|
|
7970
|
+
if (!text)
|
|
7971
|
+
return false;
|
|
7972
|
+
// Cria um elemento temporário para medir o texto
|
|
7973
|
+
const tempElement = document.createElement('span');
|
|
7974
|
+
tempElement.style.visibility = 'hidden';
|
|
7975
|
+
tempElement.style.position = 'absolute';
|
|
7976
|
+
tempElement.style.whiteSpace = 'nowrap';
|
|
7977
|
+
tempElement.style.fontSize = '1rem'; // f-md
|
|
7978
|
+
tempElement.style.fontWeight = '500'; // f-weight-500
|
|
7979
|
+
tempElement.style.fontFamily = getComputedStyle(document.body).fontFamily;
|
|
7980
|
+
tempElement.textContent = text;
|
|
7981
|
+
document.body.appendChild(tempElement);
|
|
7982
|
+
const textWidth = tempElement.scrollWidth;
|
|
7983
|
+
// Calcula a largura máxima disponível: largura do container menos espaço do botão e margins
|
|
7984
|
+
const maxWidth = containerWidth || 150; // ~150px considerando o botão de 24px + margens
|
|
7985
|
+
document.body.removeChild(tempElement);
|
|
7986
|
+
return textWidth > maxWidth;
|
|
7987
|
+
}
|
|
7988
|
+
// export class EllipsedTextHelper
|
|
7989
|
+
// {
|
|
7990
|
+
// public static isEllipsed(id: string): boolean
|
|
7991
|
+
// {
|
|
7992
|
+
// const element = document.querySelector<any>(`#${id}`);
|
|
7993
|
+
// return element ? (element.offsetWidth < element.scrollWidth) : false;
|
|
7994
|
+
// }
|
|
7995
|
+
// /**
|
|
7996
|
+
// *
|
|
7997
|
+
// * @param _textField - Stands for the text you want to compare
|
|
7998
|
+
// * @param _fontProperties - Text CSS properties (font-size & font-family)
|
|
7999
|
+
// * @param _divId - divId you want to compare
|
|
8000
|
+
// * @param _isEllipsed - is it Ellipsed? (optional)
|
|
8001
|
+
// */
|
|
8002
|
+
// public static calculate( _textField: string, _fontProperties: string, _divId: string, _isEllipsed: boolean = false, _whiteSpaceNoWrap = true): boolean
|
|
8003
|
+
// {
|
|
8004
|
+
// if (_isEllipsed)
|
|
8005
|
+
// {
|
|
8006
|
+
// return true;
|
|
8007
|
+
// }
|
|
8008
|
+
// const textDiv = document.getElementById(_divId);
|
|
8009
|
+
// if (textDiv)
|
|
8010
|
+
// {
|
|
8011
|
+
// const widthText = this.textWidthCalc(_textField, _fontProperties, _whiteSpaceNoWrap);
|
|
8012
|
+
// return widthText > textDiv.clientWidth;
|
|
8013
|
+
// }
|
|
8014
|
+
// return false
|
|
8015
|
+
// }
|
|
8016
|
+
// public static textWidthCalc(_text: string, _fontProperties: string, _whiteSpaceNoWrap: boolean): number
|
|
8017
|
+
// {
|
|
8018
|
+
// let tag = document.createElement('div');
|
|
8019
|
+
// tag.style.position = 'absolute';
|
|
8020
|
+
// tag.style.left = '-99in';
|
|
8021
|
+
// tag.style.font = _fontProperties;
|
|
8022
|
+
// tag.innerHTML = _text;
|
|
8023
|
+
// if (_whiteSpaceNoWrap)
|
|
8024
|
+
// {
|
|
8025
|
+
// tag.style.whiteSpace = 'nowrap';
|
|
8026
|
+
// }
|
|
8027
|
+
// document.body.appendChild(tag);
|
|
8028
|
+
// const result = tag.clientWidth;
|
|
8029
|
+
// document.body.removeChild(tag);
|
|
8030
|
+
// return result;
|
|
8031
|
+
// }
|
|
8032
|
+
// }
|
|
8033
|
+
|
|
7855
8034
|
class TcRevMultiInputComponent {
|
|
7856
8035
|
constructor() {
|
|
7857
8036
|
this.autoFocus = false;
|
|
@@ -7900,7 +8079,10 @@ class TcRevMultiInputComponent {
|
|
|
7900
8079
|
if (this.autoFocus) {
|
|
7901
8080
|
this.multiInputRef?.nativeElement?.focus();
|
|
7902
8081
|
}
|
|
7903
|
-
});
|
|
8082
|
+
}, 0);
|
|
8083
|
+
}
|
|
8084
|
+
isEllipsed(text) {
|
|
8085
|
+
return isTextEllipsed(text);
|
|
7904
8086
|
}
|
|
7905
8087
|
addItem() {
|
|
7906
8088
|
const newItem = this.multiInputForm.get('multiInput').value;
|
|
@@ -7926,14 +8108,15 @@ class TcRevMultiInputComponent {
|
|
|
7926
8108
|
});
|
|
7927
8109
|
}
|
|
7928
8110
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TcRevMultiInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7929
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TcRevMultiInputComponent, isStandalone: true, selector: "tc-rev-multi-input", inputs: { autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: false, isRequired: false, transformFunction: null }, initialValue: { classPropertyName: "initialValue", publicName: "initialValue", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, initialList: { classPropertyName: "initialList", publicName: "initialList", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", onChangeList: "onChangeList" }, viewQueries: [{ propertyName: "multiInputRef", first: true, predicate: ["multiInputRef "], descendants: true }], ngImport: i0, template: "<div class=\"tc-rev-multi-input\">\n\t<div class=\"tc-rev-multi-input__input-container\">\n\t\t<form\n [formGroup]=\"multiInputForm\"\n (ngSubmit)=\"addItem()\">\n\n <input\n #multiInputRef\n type=\"text\"\n class=\"tc-rev-input-control\"\n formControlName=\"multiInput\"\n />\n\n <button\n class=\"tc-rev-btn tc-rev-btn--sm tc-rev-btn--primary-filled add-button\"\n type=\"submit\"\n [disabled]=\"multiInputForm.invalid || disabled()\">\n\t\t\t\tAdicionar\n\t\t\t</button>\n\t\t</form>\n\t</div>\n\n\t@if (description()) {\n <span class=\"description f-sm c-neutral-700 mar-t-4 mar-b-16 d-block\">\n {{ description() }}\n </span>\n\t}\n\n @if (itemsList().length > 0) {\n <div class=\"tc-rev-multi-input__added-list\">\n @for (item of itemsList(); track item; let i = $index) {\n <div class=\"list-item h-28 pad-x-8 f-md f-weight-500 bor-rad-4 bg-c-neutral-100\">\n <span
|
|
8111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TcRevMultiInputComponent, isStandalone: true, selector: "tc-rev-multi-input", inputs: { autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: false, isRequired: false, transformFunction: null }, initialValue: { classPropertyName: "initialValue", publicName: "initialValue", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, initialList: { classPropertyName: "initialList", publicName: "initialList", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, validators: { classPropertyName: "validators", publicName: "validators", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { items: "itemsChange", onChangeList: "onChangeList" }, viewQueries: [{ propertyName: "multiInputRef", first: true, predicate: ["multiInputRef "], descendants: true }], ngImport: i0, template: "<div class=\"tc-rev-multi-input\">\n\t<div class=\"tc-rev-multi-input__input-container\">\n\t\t<form\n [formGroup]=\"multiInputForm\"\n (ngSubmit)=\"addItem()\">\n\n <input\n #multiInputRef\n type=\"text\"\n class=\"tc-rev-input-control\"\n formControlName=\"multiInput\"\n />\n\n <button\n class=\"tc-rev-btn tc-rev-btn--sm tc-rev-btn--primary-filled add-button\"\n type=\"submit\"\n [disabled]=\"multiInputForm.invalid || disabled()\">\n\t\t\t\tAdicionar\n\t\t\t</button>\n\t\t</form>\n\t</div>\n\n\t@if (description()) {\n <span class=\"description f-sm c-neutral-700 mar-t-4 mar-b-16 d-block\">\n {{ description() }}\n </span>\n\t}\n\n @if (itemsList().length > 0) {\n <div class=\"tc-rev-multi-input__added-list\">\n @for (item of itemsList(); track item; let i = $index) {\n <div class=\"list-item h-28 pad-x-8 f-md f-weight-500 bor-rad-4 bg-c-neutral-100\">\n <span\n class=\"c-primary-500 mar-r-4 list-item__text\"\n [TCtooltip]=\"isEllipsed(item) ? item : ''\"\n TCdirection=\"top\">{{ item }}</span>\n\n <button class=\"h-24 w-24 d-inline-block cursor-pointer bg-c-transparent c-neutral-700 bor-none\" (click)=\"removeItem(i)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}.tc-rev-multi-input__input-container{height:var(--size-40);position:relative}.tc-rev-multi-input__input-container .tc-rev-input-control{height:var(--size-40);position:absolute;top:0;left:0;width:100%;z-index:1}.tc-rev-multi-input__input-container .add-button{display:block;height:var(--size-34);min-height:var(--size-34);max-height:var(--size-34);position:absolute;right:3px;top:3px;width:6.125rem;z-index:2}.tc-rev-multi-input__added-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tc-rev-multi-input__added-list .list-item{align-content:center;max-width:12.5rem;display:flex;align-items:center}.tc-rev-multi-input__added-list .list-item__text{flex:1;max-width:calc(100% - 1.75rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TCloudUiDirectiveModule }, { kind: "directive", type: TCloudUiTooltipDirective, selector: "[TCtooltip]", inputs: ["tooltipMode", "TCtooltip", "TCdirection"] }] }); }
|
|
7930
8112
|
}
|
|
7931
8113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TcRevMultiInputComponent, decorators: [{
|
|
7932
8114
|
type: Component,
|
|
7933
8115
|
args: [{ selector: 'tc-rev-multi-input', imports: [
|
|
7934
8116
|
CommonModule,
|
|
7935
|
-
ReactiveFormsModule
|
|
7936
|
-
|
|
8117
|
+
ReactiveFormsModule,
|
|
8118
|
+
TCloudUiDirectiveModule
|
|
8119
|
+
], template: "<div class=\"tc-rev-multi-input\">\n\t<div class=\"tc-rev-multi-input__input-container\">\n\t\t<form\n [formGroup]=\"multiInputForm\"\n (ngSubmit)=\"addItem()\">\n\n <input\n #multiInputRef\n type=\"text\"\n class=\"tc-rev-input-control\"\n formControlName=\"multiInput\"\n />\n\n <button\n class=\"tc-rev-btn tc-rev-btn--sm tc-rev-btn--primary-filled add-button\"\n type=\"submit\"\n [disabled]=\"multiInputForm.invalid || disabled()\">\n\t\t\t\tAdicionar\n\t\t\t</button>\n\t\t</form>\n\t</div>\n\n\t@if (description()) {\n <span class=\"description f-sm c-neutral-700 mar-t-4 mar-b-16 d-block\">\n {{ description() }}\n </span>\n\t}\n\n @if (itemsList().length > 0) {\n <div class=\"tc-rev-multi-input__added-list\">\n @for (item of itemsList(); track item; let i = $index) {\n <div class=\"list-item h-28 pad-x-8 f-md f-weight-500 bor-rad-4 bg-c-neutral-100\">\n <span\n class=\"c-primary-500 mar-r-4 list-item__text\"\n [TCtooltip]=\"isEllipsed(item) ? item : ''\"\n TCdirection=\"top\">{{ item }}</span>\n\n <button class=\"h-24 w-24 d-inline-block cursor-pointer bg-c-transparent c-neutral-700 bor-none\" (click)=\"removeItem(i)\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:block}.tc-rev-multi-input__input-container{height:var(--size-40);position:relative}.tc-rev-multi-input__input-container .tc-rev-input-control{height:var(--size-40);position:absolute;top:0;left:0;width:100%;z-index:1}.tc-rev-multi-input__input-container .add-button{display:block;height:var(--size-34);min-height:var(--size-34);max-height:var(--size-34);position:absolute;right:3px;top:3px;width:6.125rem;z-index:2}.tc-rev-multi-input__added-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tc-rev-multi-input__added-list .list-item{align-content:center;max-width:12.5rem;display:flex;align-items:center}.tc-rev-multi-input__added-list .list-item__text{flex:1;max-width:calc(100% - 1.75rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
7937
8120
|
}], ctorParameters: () => [], propDecorators: { autoFocus: [{
|
|
7938
8121
|
type: Input
|
|
7939
8122
|
}], multiInputRef: [{
|
|
@@ -8241,16 +8424,17 @@ class TcRevTabItemComponent {
|
|
|
8241
8424
|
this.active = input(false);
|
|
8242
8425
|
this.url = input('');
|
|
8243
8426
|
this.disabled = input(false);
|
|
8427
|
+
this.fullWidth = input(false);
|
|
8244
8428
|
}
|
|
8245
8429
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TcRevTabItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8246
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: TcRevTabItemComponent, isStandalone: true, selector: "tc-rev-tab-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<a\n *ngIf=\"this.url()\"\n class=\"tc-rev-tab-item\"\n [class.disabled]=\"this.disabled()\"\n [routerLinkActive]=\"'active'\"\n [routerLink]=\"[this.url()]\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</a>\n\n\n<button\n *ngIf=\"!this.url()\"\n class=\"tc-rev-tab-item\"\n [class.active]=\"this.active()\"\n [disabled]=\"this.disabled()\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</button>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template
|
|
8430
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.15", type: TcRevTabItemComponent, isStandalone: true, selector: "tc-rev-tab-item", inputs: { active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<a\n *ngIf=\"this.url()\"\n class=\"tc-rev-tab-item\"\n [class.disabled]=\"this.disabled()\"\n [class.full-width]=\"this.fullWidth()\"\n [routerLinkActive]=\"'active'\"\n [routerLink]=\"[this.url()]\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</a>\n\n\n<button\n *ngIf=\"!this.url()\"\n class=\"tc-rev-tab-item\"\n [class.active]=\"this.active()\"\n [class.full-width]=\"this.fullWidth()\"\n [disabled]=\"this.disabled()\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</button>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}.tc-rev-tab-item,.tc-rev-tab-item:link{align-items:center;background-color:var(--c-neutral-50);border:var(--bor-size-1) solid var(--c-neutral-400);border-radius:var(--bor-radius-8);color:var(--c-neutral-700);cursor:pointer;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:600;gap:var(--size-8);height:var(--size-40);line-height:var(--l-height-20);justify-content:center;padding:0 var(--size-16);text-decoration:none;text-wrap:nowrap;transition:all .2s ease}.tc-rev-tab-item.full-width,.tc-rev-tab-item:link.full-width{width:100%}.tc-rev-tab-item:hover,.tc-rev-tab-item:focus,.tc-rev-tab-item:link:hover,.tc-rev-tab-item:link:focus{background-color:var(--c-neutral-200);border-color:var(--c-neutral-200);color:var(--c-primary-500);font-weight:600}.tc-rev-tab-item:active,.tc-rev-tab-item.selected,.tc-rev-tab-item.active,.tc-rev-tab-item:link:active,.tc-rev-tab-item:link.selected,.tc-rev-tab-item:link.active{background-color:var(--c-primary-300);border-color:var(--c-primary-500);color:var(--c-primary-500);font-weight:600}.tc-rev-tab-item:disabled,.tc-rev-tab-item.disabled,.tc-rev-tab-item:link:disabled,.tc-rev-tab-item:link.disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-50);color:var(--c-neutral-400);cursor:not-allowed;font-weight:var(--f-weight-400);pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1$1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }] }); }
|
|
8247
8431
|
}
|
|
8248
8432
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TcRevTabItemComponent, decorators: [{
|
|
8249
8433
|
type: Component,
|
|
8250
8434
|
args: [{ selector: 'tc-rev-tab-item', imports: [
|
|
8251
8435
|
CommonModule,
|
|
8252
8436
|
RouterModule
|
|
8253
|
-
], template: "<a\n *ngIf=\"this.url()\"\n class=\"tc-rev-tab-item\"\n [class.disabled]=\"this.disabled()\"\n [routerLinkActive]=\"'active'\"\n [routerLink]=\"[this.url()]\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</a>\n\n\n<button\n *ngIf=\"!this.url()\"\n class=\"tc-rev-tab-item\"\n [class.active]=\"this.active()\"\n [disabled]=\"this.disabled()\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</button>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template
|
|
8437
|
+
], template: "<a\n *ngIf=\"this.url()\"\n class=\"tc-rev-tab-item\"\n [class.disabled]=\"this.disabled()\"\n [class.full-width]=\"this.fullWidth()\"\n [routerLinkActive]=\"'active'\"\n [routerLink]=\"[this.url()]\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</a>\n\n\n<button\n *ngIf=\"!this.url()\"\n class=\"tc-rev-tab-item\"\n [class.active]=\"this.active()\"\n [class.full-width]=\"this.fullWidth()\"\n [disabled]=\"this.disabled()\"\n (click)=\"this.onClick.emit($event)\">\n <ng-container *ngTemplateOutlet=\"content\" />\n</button>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: [":host{display:block}.tc-rev-tab-item,.tc-rev-tab-item:link{align-items:center;background-color:var(--c-neutral-50);border:var(--bor-size-1) solid var(--c-neutral-400);border-radius:var(--bor-radius-8);color:var(--c-neutral-700);cursor:pointer;display:inline-flex;font-family:var(--f-family);font-size:var(--f-size-14);font-weight:600;gap:var(--size-8);height:var(--size-40);line-height:var(--l-height-20);justify-content:center;padding:0 var(--size-16);text-decoration:none;text-wrap:nowrap;transition:all .2s ease}.tc-rev-tab-item.full-width,.tc-rev-tab-item:link.full-width{width:100%}.tc-rev-tab-item:hover,.tc-rev-tab-item:focus,.tc-rev-tab-item:link:hover,.tc-rev-tab-item:link:focus{background-color:var(--c-neutral-200);border-color:var(--c-neutral-200);color:var(--c-primary-500);font-weight:600}.tc-rev-tab-item:active,.tc-rev-tab-item.selected,.tc-rev-tab-item.active,.tc-rev-tab-item:link:active,.tc-rev-tab-item:link.selected,.tc-rev-tab-item:link.active{background-color:var(--c-primary-300);border-color:var(--c-primary-500);color:var(--c-primary-500);font-weight:600}.tc-rev-tab-item:disabled,.tc-rev-tab-item.disabled,.tc-rev-tab-item:link:disabled,.tc-rev-tab-item:link.disabled{background-color:var(--c-neutral-50);border-color:var(--c-neutral-50);color:var(--c-neutral-400);cursor:not-allowed;font-weight:var(--f-weight-400);pointer-events:none}\n"] }]
|
|
8254
8438
|
}] });
|
|
8255
8439
|
|
|
8256
8440
|
var TagColorsEnum;
|
|
@@ -8655,5 +8839,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
8655
8839
|
* Generated bundle index. Do not edit.
|
|
8656
8840
|
*/
|
|
8657
8841
|
|
|
8658
|
-
export { BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize, DropdownSize, MonthNamePipe, MultiLevelDropdownSize, ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionModule, TCloudUiAccordionTitleComponent, TCloudUiAlignDirective, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiChoiceIssuesComponent, TCloudUiChoiceIssuesModule, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListModule, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerModule, TCloudUiDatepickerTimeComponent, TCloudUiDatepickerTimeModule, TCloudUiDigitOnlyDirective, TCloudUiDirectiveModule, TCloudUiElCopyDirective, TCloudUiFiltersComponent, TCloudUiFiltersModule, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiInputPasswordComponent, TCloudUiInputPasswordModule, TCloudUiInputSearchComponent, TCloudUiInputSearchModule, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLabelTokenModule, TCloudUiLineStepCircleComponent, TCloudUiLineStepCircleModule, TCloudUiLineStepTitleComponent, TCloudUiLineStepTitleModule, TCloudUiLinhaLogoComponent, TCloudUiLinhaLogoModule, TCloudUiLoadingComponent, TCloudUiLoadingModule, TCloudUiLoadingTransitionsService, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModalModule, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiInputModule, TCloudUiMultiSelectComponent, TCloudUiMultiSelectModule, TCloudUiMultiplesValuesComponent, TCloudUiMultiplesValuesModule, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNotFoundModule, TCloudUiNumberStepComponent, TCloudUiNumberStepModule, TCloudUiPipesModule, TCloudUiProgressBarComponent, TCloudUiProgressBarModule, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiReorderItemsModule, TCloudUiScrollBoxComponent, TCloudUiScrollBoxModule, TCloudUiSearchInObjectService, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabMenuModule, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTableModule, TCloudUiTooltipDirective, TCloudUiWelcomeComponent, TCloudUiWelcomeModule, TagColorsEnum, TcRevButtonDirective, TcRevCalendarComponent, TcRevCardAccordionComponent, TcRevCardComponent, TcRevCardTitleComponent, TcRevCheckboxDirective, TcRevComponentsLibModule, TcRevDropdownComponent, TcRevDropdownGroupedComponent, TcRevDropdownMultiComponent, TcRevDropdownMultiLevelComponent, TcRevEmptyContentComponent, TcRevFaqComponent, TcRevIconButtonDirective, TcRevInputContainerComponent, TcRevInputDirective, TcRevLoadingComponent, TcRevMessageComponent, TcRevMultiInputComponent, TcRevPaginationComponent, TcRevProgressStatusBarComponent, TcRevRadioDirective, TcRevSearchInputComponent, TcRevSideDrawerComponent, TcRevSlideToggleDirective, TcRevSmallLoadingComponent, TcRevSmallLoadingComponentStyle, TcRevSubNavbarComponent, TcRevSubNavbarItemComponent, TcRevTabGroupComponent, TcRevTabItemComponent, TcRevTagComponent, TcRevToastComponent, TcRevWizardStepsComponent, ToTextPipe };
|
|
8842
|
+
export { BytesPipe, CNPJPipe, CPFPipe, CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR$1 as CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR, DateBRPipe, DropdownGroupedSize, DropdownMultiSize, DropdownSize, MonthNamePipe, MultiLevelDropdownSize, ProgressStatusBarGradientStatus, RespectivePipe, StatusInfoPipe, TCCondition, TCFiltersType, TCloudUiAccordionBodyComponent, TCloudUiAccordionComponent, TCloudUiAccordionModule, TCloudUiAccordionTitleComponent, TCloudUiAlignDirective, TCloudUiCheckAccessDirective, TCloudUiCheckAccessService, TCloudUiChoiceIssuesComponent, TCloudUiChoiceIssuesModule, TCloudUiCubesComponent, TCloudUiCurrencyDirective, TCloudUiDataListComponent, TCloudUiDataListModule, TCloudUiDataListOptionComponent, TCloudUiDatepickerComponent, TCloudUiDatepickerModule, TCloudUiDatepickerTimeComponent, TCloudUiDatepickerTimeModule, TCloudUiDigitOnlyDirective, TCloudUiDirectiveModule, TCloudUiElCopyDirective, TCloudUiFiltersComponent, TCloudUiFiltersModule, TCloudUiHighLightDirective, TCloudUiHoverParentDirective, TCloudUiInputPasswordComponent, TCloudUiInputPasswordModule, TCloudUiInputSearchComponent, TCloudUiInputSearchModule, TCloudUiIpMaskDirective, TCloudUiLabelTokenComponent, TCloudUiLabelTokenModule, TCloudUiLineStepCircleComponent, TCloudUiLineStepCircleModule, TCloudUiLineStepTitleComponent, TCloudUiLineStepTitleModule, TCloudUiLinhaLogoComponent, TCloudUiLinhaLogoModule, TCloudUiLoadingComponent, TCloudUiLoadingModule, TCloudUiLoadingTransitionsService, TCloudUiModalBodyComponent, TCloudUiModalComponent, TCloudUiModalFooterComponent, TCloudUiModalHeaderComponent, TCloudUiModalModule, TCloudUiModule, TCloudUiMultiInputComponent, TCloudUiMultiInputModule, TCloudUiMultiSelectComponent, TCloudUiMultiSelectModule, TCloudUiMultiplesValuesComponent, TCloudUiMultiplesValuesModule, TCloudUiNgCheckAccessDirective, TCloudUiNgFeatureFlagsDirective, TCloudUiNotFoundComponent, TCloudUiNotFoundModule, TCloudUiNumberStepComponent, TCloudUiNumberStepModule, TCloudUiPipesModule, TCloudUiProgressBarComponent, TCloudUiProgressBarModule, TCloudUiRangeDateComponent, TCloudUiReorderItemsComponent, TCloudUiReorderItemsModule, TCloudUiScrollBoxComponent, TCloudUiScrollBoxModule, TCloudUiSearchInObjectService, TCloudUiTabContentComponent, TCloudUiTabHeadComponent, TCloudUiTabMenuComponent, TCloudUiTabMenuModule, TCloudUiTabSubtitleComponent, TCloudUiTabTitleComponent, TCloudUiTableComponent, TCloudUiTableModule, TCloudUiTooltipDirective, TCloudUiWelcomeComponent, TCloudUiWelcomeModule, TagColorsEnum, TcRevButtonDirective, TcRevCalendarComponent, TcRevCardAccordionComponent, TcRevCardComponent, TcRevCardTitleComponent, TcRevCheckboxDirective, TcRevComponentsLibModule, TcRevDropdownComponent, TcRevDropdownGroupedComponent, TcRevDropdownMultiComponent, TcRevDropdownMultiLevelComponent, TcRevEmptyContentComponent, TcRevFaqComponent, TcRevIconButtonDirective, TcRevInputContainerComponent, TcRevInputDirective, TcRevLoadingComponent, TcRevMessageComponent, TcRevMultiInputComponent, TcRevPaginationComponent, TcRevProgressStatusBarComponent, TcRevRadioDirective, TcRevSearchInputComponent, TcRevSideDrawerComponent, TcRevSlideToggleDirective, TcRevSmallLoadingComponent, TcRevSmallLoadingComponentStyle, TcRevSubNavbarComponent, TcRevSubNavbarItemComponent, TcRevTabGroupComponent, TcRevTabItemComponent, TcRevTagComponent, TcRevToastComponent, TcRevWizardStepsComponent, ToTextPipe, echartBarConfig, isTextEllipsed };
|
|
8659
8843
|
//# sourceMappingURL=dev-tcloud-tcloud-ui.mjs.map
|