@gipisistemas/ng-core 1.1.4 → 1.1.5
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/bundles/gipisistemas-ng-core.umd.js +297 -7
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +7 -7
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/utils/string.util.d.ts +4 -0
- package/esm2015/core/utils/string.util.js +27 -1
- package/esm2015/gipi-components.js +2 -1
- package/esm2015/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
- package/esm2015/shared/gipi-components/button/button.component.js +18 -2
- package/esm2015/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
- package/esm2015/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
- package/esm2015/shared/gipi-components/split-button/split-button.component.js +243 -0
- package/esm2015/shared/shared.module.js +3 -1
- package/esm5/core/utils/string.util.js +27 -1
- package/esm5/gipi-components.js +2 -1
- package/esm5/shared/components/select-entity-paged/shared/select-search/select-search.component.js +2 -2
- package/esm5/shared/gipi-components/button/button.component.js +22 -2
- package/esm5/shared/gipi-components/input-select-paged/input-search/input-search.component.js +2 -2
- package/esm5/shared/gipi-components/popover/shared/popover-trigger.js +4 -4
- package/esm5/shared/gipi-components/split-button/split-button.component.js +249 -0
- package/esm5/shared/shared.module.js +3 -1
- package/fesm2015/gipisistemas-ng-core.js +288 -9
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +297 -8
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipi-components.d.ts +1 -0
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +1 -1
- package/shared/gipi-components/button/button.component.d.ts +14 -0
- package/shared/gipi-components/split-button/split-button.component.d.ts +60 -0
@@ -720,6 +720,32 @@
|
|
720
720
|
StringUtil.truncateWithEllipses = function (text, max) {
|
721
721
|
return text.trim().substring(0, max - 1) + (text.trim().length > max) ? '...' : '';
|
722
722
|
};
|
723
|
+
/** Codifica a string em Base64 */
|
724
|
+
StringUtil.encodeBase64 = function (input) {
|
725
|
+
if (this.isEmpty(input)) {
|
726
|
+
return '';
|
727
|
+
}
|
728
|
+
var utf8Encoder = new TextEncoder();
|
729
|
+
var utf8Bytes = utf8Encoder.encode(input);
|
730
|
+
var binary = '';
|
731
|
+
utf8Bytes.forEach(function (byte) {
|
732
|
+
binary += String.fromCharCode(byte);
|
733
|
+
});
|
734
|
+
return btoa(binary);
|
735
|
+
};
|
736
|
+
/** Decodifica a string Base64 */
|
737
|
+
StringUtil.decodeBase64 = function (input) {
|
738
|
+
if (this.isEmpty(input)) {
|
739
|
+
return '';
|
740
|
+
}
|
741
|
+
var binary = atob(input);
|
742
|
+
var utf8Decoder = new TextDecoder();
|
743
|
+
var utf8Bytes = new Uint8Array(binary.length);
|
744
|
+
for (var i = 0; i < binary.length; i++) {
|
745
|
+
utf8Bytes[i] = binary.charCodeAt(i);
|
746
|
+
}
|
747
|
+
return utf8Decoder.decode(utf8Bytes);
|
748
|
+
};
|
723
749
|
StringUtil.EMPTY = '';
|
724
750
|
return StringUtil;
|
725
751
|
}());
|
@@ -4303,7 +4329,7 @@
|
|
4303
4329
|
SelectSearchComponent = SelectSearchComponent_1 = __decorate([
|
4304
4330
|
core.Component({
|
4305
4331
|
selector: 'itss-input-search',
|
4306
|
-
template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\"\n [ngClass]=\"{'mat-select-search-inner-multiple': matSelect.multiple, 'mat-select-search-inner-toggle-all': _isToggleAllCheckboxVisible() }\">\n\n <mat-checkbox *ngIf=\"_isToggleAllCheckboxVisible()\"\n class=\"mat-select-search-toggle-all-checkbox\"\n color=\"primary\"\n [color]=\"matFormField?.color\"\n [disabled]=\"searching\"\n [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"ngx-mat-select-search-toggle-all-tooltip\"\n [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n [(ngModel)]=\"toggleAllCheckboxChecked\"\n [(indeterminate)]=\"toggleAllCheckboxIndeterminate\">\n </mat-checkbox>\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n [type]=\"type\"\n [formControl]=\"_formControl\"\n #searchSelectInput\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholderLabel\"\n [attr.aria-label]=\"ariaLabel\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n mat-icon-button\n aria-label=\"Clear\"\n (click)=\"_reset(true)\"\n class=\"mat-select-search-clear\">\n <ng-content *ngIf=\"clearIcon; else defaultIcon\"\n select=\"[itssSelectSearchClear]\">\n </ng-content>\n\n <ng-template #defaultIcon>\n <mat-icon [svgIcon]=\"closeSvgIcon\">\n {{ !closeSvgIcon ? closeIcon : null }}\n </mat-icon>\n </ng-template>\n </button>\n\n <ng-content select=\".mat-select-search-custom-header-content\"> </ng-content>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <ng-content *ngIf=\"noEntriesFound; else defaultNoEntriesFound\"\n select=\"[itssSelectNoEntriesFound]\">\n </ng-content>\n\n <ng-template #defaultNoEntriesFound>\n {{ noEntriesFoundLabel }}\n </ng-template>\n</div
|
4332
|
+
template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\"\n [ngClass]=\"{'mat-select-search-inner-multiple': matSelect.multiple, 'mat-select-search-inner-toggle-all': _isToggleAllCheckboxVisible() }\">\n\n <mat-checkbox *ngIf=\"_isToggleAllCheckboxVisible()\"\n class=\"mat-select-search-toggle-all-checkbox\"\n color=\"primary\"\n [color]=\"matFormField?.color\"\n [disabled]=\"searching\"\n [matTooltip]=\"toggleAllCheckboxTooltipMessage\"\n matTooltipClass=\"ngx-mat-select-search-toggle-all-tooltip\"\n [matTooltipPosition]=\"toggleAllCheckboxTooltipPosition\"\n [(ngModel)]=\"toggleAllCheckboxChecked\"\n [(indeterminate)]=\"toggleAllCheckboxIndeterminate\">\n </mat-checkbox>\n\n <input class=\"mat-select-search-input mat-input-element\"\n autocomplete=\"off\"\n [type]=\"type\"\n [formControl]=\"_formControl\"\n #searchSelectInput\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\"\n [placeholder]=\"placeholderLabel\"\n [attr.aria-label]=\"ariaLabel\"\n aria-hidden=\"false\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n mat-icon-button\n aria-label=\"Clear\"\n (click)=\"_reset(true)\"\n class=\"mat-select-search-clear\">\n <ng-content *ngIf=\"clearIcon; else defaultIcon\"\n select=\"[itssSelectSearchClear]\">\n </ng-content>\n\n <ng-template #defaultIcon>\n <mat-icon [svgIcon]=\"closeSvgIcon\">\n {{ !closeSvgIcon ? closeIcon : null }}\n </mat-icon>\n </ng-template>\n </button>\n\n <ng-content select=\".mat-select-search-custom-header-content\"> </ng-content>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <ng-content *ngIf=\"noEntriesFound; else defaultNoEntriesFound\"\n select=\"[itssSelectNoEntriesFound]\">\n </ng-content>\n\n <ng-template #defaultNoEntriesFound>\n {{ noEntriesFoundLabel }}\n </ng-template>\n</div>",
|
4307
4333
|
providers: [
|
4308
4334
|
{
|
4309
4335
|
provide: forms.NG_VALUE_ACCESSOR,
|
@@ -8553,7 +8579,7 @@
|
|
8553
8579
|
var _this = this;
|
8554
8580
|
if (this._overlayRef) {
|
8555
8581
|
/** Only subscribe to backdrop if trigger event is click */
|
8556
|
-
if (this.triggerEvent
|
8582
|
+
if (this.triggerEvent !== 'hover' && this.backdropCloseOnClick) {
|
8557
8583
|
this._overlayRef.backdropClick()
|
8558
8584
|
.pipe(operators.takeUntil(this.popoverClosed), operators.takeUntil(this._onDestroy))
|
8559
8585
|
.subscribe(function () {
|
@@ -8637,8 +8663,8 @@
|
|
8637
8663
|
GIPIPopoverTrigger.prototype._getOverlayConfig = function () {
|
8638
8664
|
var overlayState = new overlay.OverlayConfig();
|
8639
8665
|
overlayState.positionStrategy = this._getPosition();
|
8640
|
-
/** Display overlay backdrop if trigger event is
|
8641
|
-
if (this.triggerEvent
|
8666
|
+
/** Display overlay backdrop if trigger event is different of hover */
|
8667
|
+
if (this.triggerEvent !== 'hover') {
|
8642
8668
|
overlayState.hasBackdrop = true;
|
8643
8669
|
overlayState.backdropClass = 'cdk-overlay-transparent-backdrop';
|
8644
8670
|
}
|
@@ -8927,6 +8953,26 @@
|
|
8927
8953
|
this.onBlur = new core.EventEmitter(true);
|
8928
8954
|
}
|
8929
8955
|
GIPIButtonComponent_1 = GIPIButtonComponent;
|
8956
|
+
Object.defineProperty(GIPIButtonComponent.prototype, "internalButtonClass", {
|
8957
|
+
get: function () {
|
8958
|
+
return {
|
8959
|
+
'button-base': true,
|
8960
|
+
'button-primary': (this.isButtonPrimary || this.isButtonPrimaryIcon),
|
8961
|
+
'button-primary-icon': this.isButtonPrimaryIcon,
|
8962
|
+
'button-secondary': (this.isButtonSecondary || this.isButtonSecondaryIcon),
|
8963
|
+
'button-secondary-icon': this.isButtonSecondaryIcon,
|
8964
|
+
'button-tertiary': (this.isButtonTertiary || this.isButtonTertiaryIcon),
|
8965
|
+
'button-tertiary-icon': this.isButtonTertiaryIcon,
|
8966
|
+
'button-link': this.isButtonLink,
|
8967
|
+
'button-only-icon': this.isButtonIcon,
|
8968
|
+
'button-for-input': this.isForInput,
|
8969
|
+
'button-notification': this.notification,
|
8970
|
+
'button-action': this.isButtonAction
|
8971
|
+
};
|
8972
|
+
},
|
8973
|
+
enumerable: false,
|
8974
|
+
configurable: true
|
8975
|
+
});
|
8930
8976
|
GIPIButtonComponent.prototype.ngOnInit = function () { };
|
8931
8977
|
GIPIButtonComponent.prototype.ngOnDestroy = function () {
|
8932
8978
|
if (this.popoverTrigger) {
|
@@ -9126,7 +9172,7 @@
|
|
9126
9172
|
core.Component({
|
9127
9173
|
selector: "gipi-button[gipi-primary], gipi-button[gipi-primary-icon], gipi-button[gipi-secondary], gipi-button[gipi-secondary-icon],\n gipi-button[gipi-tertiary], gipi-button[gipi-link], gipi-button[gipi-icon], gipi-button[gipi-action]",
|
9128
9174
|
exportAs: 'gipiButton',
|
9129
|
-
template: "<button [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [matTooltip]=\"tooltip\"\n role=\"button\"\n [class]=\"buttonClass\"\n [ngClass]=\"
|
9175
|
+
template: "<button [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [matTooltip]=\"tooltip\"\n role=\"button\"\n [class]=\"buttonClass\"\n [ngClass]=\"internalButtonClass\"\n [style.padding.px]=\"buttonPadding\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"popover ? 'click' : 'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n <span [ngClass]=\"{'button-content': true,\n 'button-disabled': disabled,\n 'button-icon-left': ((iconPos === 'left') && label),\n 'button-icon-right': ((iconPos === 'right') && label),\n 'button-icon-top': ((iconPos === 'top') && label),\n 'button-icon-bottom': ((iconPos === 'bottom') && label),\n 'button-icon-center': (iconPos === 'center')}\">\n <mat-icon *ngIf=\"svgIcon || icon\"\n [svgIcon]=\"svgIcon\"\n [style.width.px]=\"iconWidth\"\n [style.height.px]=\"iconHeight\"\n [style.font-size.px]=\"iconWidth || iconHeight\">\n {{ (!svgIcon && icon) ? icon : '' }}\n </mat-icon>\n\n <span class=\"button-label\"\n [attr.aria-hidden]=\"(icon || svgIcon) && !label\"\n *ngIf=\"!isButtonIcon && label\">\n {{ label }}\n </span>\n </span>\n</button>\n\n<gipi-overlay *ngIf=\"overlay && !popover\"\n [(visible)]=\"_overlayVisible\"\n [appendTo]=\"'body'\"\n (onShow)=\"onShowOverlay.emit()\">\n <ng-content> </ng-content>\n</gipi-overlay>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\"\n [fxHide]=\"!popover\">\n <div class=\"btn-popover-content\">\n <ng-content> </ng-content>\n </div>\n</gipi-popover>",
|
9130
9176
|
providers: [
|
9131
9177
|
{
|
9132
9178
|
provide: forms.NG_VALUE_ACCESSOR,
|
@@ -13685,7 +13731,7 @@
|
|
13685
13731
|
core.Component({
|
13686
13732
|
selector: "gipi-input-search",
|
13687
13733
|
exportAs: 'gipiInputSearch',
|
13688
|
-
template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n aria-label=\"Pesquisa suspensa\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
|
13734
|
+
template: "<!-- Espa\u00E7o reservado para ajustar o deslocamento vertical dos elementos mat-option -->\n<input matInput\n class=\"mat-select-search-input mat-select-search-hidden\" />\n\n<!-- Note: o mat-datepicker-content mat-tab-header \u00E9 necess\u00E1rio para herdar as cores do tema do material, consulte PR n\u00BA 22 -->\n<div #innerSelectSearch\n class=\"mat-select-search-inner mat-typography mat-datepicker-content mat-tab-header\">\n\n <input class=\"mat-select-search-input mat-input-element\"\n aria-label=\"Pesquisa suspensa\"\n aria-hidden=\"false\"\n autocomplete=\"off\"\n type=\"text\"\n #searchSelectInput\n [placeholder]=\"placeholderLabel\"\n [formControl]=\"_formControl\"\n (keydown)=\"_handleKeydown($event)\"\n (keyup)=\"_handleKeyup($event)\"\n (blur)=\"onBlur()\">\n\n <mat-spinner *ngIf=\"searching\"\n class=\"mat-select-search-spinner\"\n diameter=\"16\">\n </mat-spinner>\n\n <button *ngIf=\"!hideClearSearchButton && value && !searching\"\n class=\"mat-select-search-clear\"\n aria-label=\"Limpar\"\n mat-icon-button\n (click)=\"_reset(true)\">\n <mat-icon> close </mat-icon>\n </button>\n\n <mat-divider> </mat-divider>\n</div>\n\n<div *ngIf=\"(_showNoEntriesFound$ | async) && !searching\"\n class=\"mat-select-search-no-entries-found\">\n <mat-icon>sentiment_very_dissatisfied</mat-icon>\n Nenhum registro foi encontrado\n</div>",
|
13689
13735
|
providers: [
|
13690
13736
|
{
|
13691
13737
|
provide: forms.NG_VALUE_ACCESSOR,
|
@@ -24763,11 +24809,253 @@
|
|
24763
24809
|
}());
|
24764
24810
|
|
24765
24811
|
var nextUniqueId$m = 0;
|
24812
|
+
var GIPISplitButtonComponent = /** @class */ (function () {
|
24813
|
+
function GIPISplitButtonComponent(elementRef) {
|
24814
|
+
this.elementRef = elementRef;
|
24815
|
+
this._uniqueId = nextUniqueId$m++;
|
24816
|
+
this._name = "gipi-split-button-" + this._uniqueId;
|
24817
|
+
this.idBtnDefault = "gipi-split-button-default-" + this._uniqueId;
|
24818
|
+
this.idBtnMenu = "gipi-split-button-menu-" + this._uniqueId;
|
24819
|
+
this.isSplitButtonPrimary = this._hasHostAttributes('gipi-primary');
|
24820
|
+
this.isSplitButtonSecondary = this._hasHostAttributes('gipi-secondary');
|
24821
|
+
this.isSplitButtonTertiary = this._hasHostAttributes('gipi-tertiary');
|
24822
|
+
this.isSplitButtonAction = this._hasHostAttributes('gipi-action');
|
24823
|
+
this.id = this._name;
|
24824
|
+
this.name = this._name;
|
24825
|
+
this.type = 'button';
|
24826
|
+
this.ariaLabel = '';
|
24827
|
+
this.title = '';
|
24828
|
+
this.label = '';
|
24829
|
+
this.disabled = false;
|
24830
|
+
this.loading = false;
|
24831
|
+
this.tooltip = '';
|
24832
|
+
this.splitOptions = [];
|
24833
|
+
this.onOpenPopover = new core.EventEmitter();
|
24834
|
+
this.onClosePopover = new core.EventEmitter();
|
24835
|
+
this.onClick = new core.EventEmitter(true);
|
24836
|
+
this.onFocus = new core.EventEmitter(true);
|
24837
|
+
this.onBlur = new core.EventEmitter(true);
|
24838
|
+
}
|
24839
|
+
GIPISplitButtonComponent_1 = GIPISplitButtonComponent;
|
24840
|
+
GIPISplitButtonComponent.prototype.ngOnInit = function () { };
|
24841
|
+
GIPISplitButtonComponent.prototype.ngOnDestroy = function () {
|
24842
|
+
if (this.popoverTrigger) {
|
24843
|
+
this.popoverTrigger.destroyPopover();
|
24844
|
+
}
|
24845
|
+
};
|
24846
|
+
GIPISplitButtonComponent.prototype.getHostElement = function () {
|
24847
|
+
return this.elementRef.nativeElement;
|
24848
|
+
};
|
24849
|
+
GIPISplitButtonComponent.prototype._hasHostAttributes = function () {
|
24850
|
+
var _this = this;
|
24851
|
+
var attributes = [];
|
24852
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
24853
|
+
attributes[_i] = arguments[_i];
|
24854
|
+
}
|
24855
|
+
return attributes.some(function (attribute) { return _this.getHostElement().hasAttribute(attribute); });
|
24856
|
+
};
|
24857
|
+
GIPISplitButtonComponent.prototype.btnIdAndName = function () {
|
24858
|
+
var uniqueId = nextUniqueId$m++;
|
24859
|
+
return {
|
24860
|
+
btnDefault: "gipi-split-button-default-" + uniqueId,
|
24861
|
+
btnMenu: "gipi-split-button-menu-" + uniqueId,
|
24862
|
+
};
|
24863
|
+
};
|
24864
|
+
GIPISplitButtonComponent.prototype.getInternalButtonClass = function (isBtnDefault) {
|
24865
|
+
return {
|
24866
|
+
'button-default': isBtnDefault,
|
24867
|
+
'button-menu': !isBtnDefault,
|
24868
|
+
'button-primary': this.isSplitButtonPrimary,
|
24869
|
+
'button-secondary': this.isSplitButtonSecondary,
|
24870
|
+
'button-tertiary': this.isSplitButtonTertiary,
|
24871
|
+
'button-action': this.isSplitButtonAction,
|
24872
|
+
};
|
24873
|
+
};
|
24874
|
+
GIPISplitButtonComponent.prototype.showPopover = function () {
|
24875
|
+
if (this.disabled || this.loading) {
|
24876
|
+
return;
|
24877
|
+
}
|
24878
|
+
else {
|
24879
|
+
this.popoverTrigger.openPopover();
|
24880
|
+
}
|
24881
|
+
};
|
24882
|
+
GIPISplitButtonComponent.prototype.closePopover = function () {
|
24883
|
+
if (this.disabled || this.loading) {
|
24884
|
+
return;
|
24885
|
+
}
|
24886
|
+
else {
|
24887
|
+
this.popoverTrigger.closePopover();
|
24888
|
+
}
|
24889
|
+
};
|
24890
|
+
GIPISplitButtonComponent.prototype.handleClick = function (event) {
|
24891
|
+
if (this.disabled || this.loading) {
|
24892
|
+
return;
|
24893
|
+
}
|
24894
|
+
else {
|
24895
|
+
this.onClick.emit(event);
|
24896
|
+
this.closePopover();
|
24897
|
+
event.stopPropagation();
|
24898
|
+
}
|
24899
|
+
};
|
24900
|
+
GIPISplitButtonComponent.prototype.handleFocus = function (event) {
|
24901
|
+
if (this.disabled || this.loading) {
|
24902
|
+
return;
|
24903
|
+
}
|
24904
|
+
else {
|
24905
|
+
this.onFocus.emit(event);
|
24906
|
+
event.stopPropagation();
|
24907
|
+
}
|
24908
|
+
};
|
24909
|
+
GIPISplitButtonComponent.prototype.handleBlur = function (event) {
|
24910
|
+
if (this.disabled || this.loading) {
|
24911
|
+
return;
|
24912
|
+
}
|
24913
|
+
else {
|
24914
|
+
this.onBlur.emit(event);
|
24915
|
+
event.stopPropagation();
|
24916
|
+
}
|
24917
|
+
};
|
24918
|
+
GIPISplitButtonComponent.prototype.handleClickBtnMenu = function (event) {
|
24919
|
+
if (this.disabled || this.loading) {
|
24920
|
+
return;
|
24921
|
+
}
|
24922
|
+
else {
|
24923
|
+
if (!ObjectUtil.isNull(this.popoverTrigger)) {
|
24924
|
+
this.popoverTrigger.togglePopover();
|
24925
|
+
}
|
24926
|
+
event.stopPropagation();
|
24927
|
+
}
|
24928
|
+
};
|
24929
|
+
GIPISplitButtonComponent.prototype.handleClickBtnSplitOption = function (option) {
|
24930
|
+
if (this.disabled || this.loading || !option || option.disabled || !option.clickFn) {
|
24931
|
+
return;
|
24932
|
+
}
|
24933
|
+
else {
|
24934
|
+
option.clickFn();
|
24935
|
+
this.closePopover();
|
24936
|
+
}
|
24937
|
+
};
|
24938
|
+
GIPISplitButtonComponent.prototype.onResize = function (event) {
|
24939
|
+
if (this.popoverTrigger) {
|
24940
|
+
this.popoverTrigger.closePopover();
|
24941
|
+
event.stopPropagation();
|
24942
|
+
}
|
24943
|
+
};
|
24944
|
+
var GIPISplitButtonComponent_1;
|
24945
|
+
GIPISplitButtonComponent.ctorParameters = function () { return [
|
24946
|
+
{ type: core.ElementRef }
|
24947
|
+
]; };
|
24948
|
+
__decorate([
|
24949
|
+
core.ViewChild(GIPIPopoverTrigger, { static: false }),
|
24950
|
+
__metadata("design:type", GIPIPopoverTrigger)
|
24951
|
+
], GIPISplitButtonComponent.prototype, "popoverTrigger", void 0);
|
24952
|
+
__decorate([
|
24953
|
+
core.Input(),
|
24954
|
+
__metadata("design:type", String)
|
24955
|
+
], GIPISplitButtonComponent.prototype, "id", void 0);
|
24956
|
+
__decorate([
|
24957
|
+
core.Input(),
|
24958
|
+
__metadata("design:type", String)
|
24959
|
+
], GIPISplitButtonComponent.prototype, "name", void 0);
|
24960
|
+
__decorate([
|
24961
|
+
core.Input(),
|
24962
|
+
__metadata("design:type", String)
|
24963
|
+
], GIPISplitButtonComponent.prototype, "type", void 0);
|
24964
|
+
__decorate([
|
24965
|
+
core.Input(),
|
24966
|
+
__metadata("design:type", String)
|
24967
|
+
], GIPISplitButtonComponent.prototype, "ariaLabel", void 0);
|
24968
|
+
__decorate([
|
24969
|
+
core.Input(),
|
24970
|
+
__metadata("design:type", String)
|
24971
|
+
], GIPISplitButtonComponent.prototype, "title", void 0);
|
24972
|
+
__decorate([
|
24973
|
+
core.Input(),
|
24974
|
+
__metadata("design:type", String)
|
24975
|
+
], GIPISplitButtonComponent.prototype, "label", void 0);
|
24976
|
+
__decorate([
|
24977
|
+
core.Input(),
|
24978
|
+
__metadata("design:type", String)
|
24979
|
+
], GIPISplitButtonComponent.prototype, "buttonClass", void 0);
|
24980
|
+
__decorate([
|
24981
|
+
core.Input(),
|
24982
|
+
__metadata("design:type", Boolean)
|
24983
|
+
], GIPISplitButtonComponent.prototype, "disabled", void 0);
|
24984
|
+
__decorate([
|
24985
|
+
core.Input(),
|
24986
|
+
__metadata("design:type", Boolean)
|
24987
|
+
], GIPISplitButtonComponent.prototype, "loading", void 0);
|
24988
|
+
__decorate([
|
24989
|
+
core.Input(),
|
24990
|
+
__metadata("design:type", String)
|
24991
|
+
], GIPISplitButtonComponent.prototype, "tooltip", void 0);
|
24992
|
+
__decorate([
|
24993
|
+
core.Input('options'),
|
24994
|
+
__metadata("design:type", Array)
|
24995
|
+
], GIPISplitButtonComponent.prototype, "splitOptions", void 0);
|
24996
|
+
__decorate([
|
24997
|
+
core.Output(),
|
24998
|
+
__metadata("design:type", core.EventEmitter)
|
24999
|
+
], GIPISplitButtonComponent.prototype, "onOpenPopover", void 0);
|
25000
|
+
__decorate([
|
25001
|
+
core.Output(),
|
25002
|
+
__metadata("design:type", core.EventEmitter)
|
25003
|
+
], GIPISplitButtonComponent.prototype, "onClosePopover", void 0);
|
25004
|
+
__decorate([
|
25005
|
+
core.Output('click'),
|
25006
|
+
__metadata("design:type", core.EventEmitter)
|
25007
|
+
], GIPISplitButtonComponent.prototype, "onClick", void 0);
|
25008
|
+
__decorate([
|
25009
|
+
core.Output('focus'),
|
25010
|
+
__metadata("design:type", core.EventEmitter)
|
25011
|
+
], GIPISplitButtonComponent.prototype, "onFocus", void 0);
|
25012
|
+
__decorate([
|
25013
|
+
core.Output('blur'),
|
25014
|
+
__metadata("design:type", core.EventEmitter)
|
25015
|
+
], GIPISplitButtonComponent.prototype, "onBlur", void 0);
|
25016
|
+
__decorate([
|
25017
|
+
core.HostListener('window:resize', ['$event']),
|
25018
|
+
__metadata("design:type", Function),
|
25019
|
+
__metadata("design:paramtypes", [UIEvent]),
|
25020
|
+
__metadata("design:returntype", void 0)
|
25021
|
+
], GIPISplitButtonComponent.prototype, "onResize", null);
|
25022
|
+
GIPISplitButtonComponent = GIPISplitButtonComponent_1 = __decorate([
|
25023
|
+
core.Component({
|
25024
|
+
selector: "gipi-split-button[gipi-primary], gipi-split-button[gipi-secondary],\n gipi-split-button[gipi-tertiary], gipi-split-button[gipi-action]",
|
25025
|
+
exportAs: 'gipiSplitButton',
|
25026
|
+
template: "<div [matTooltip]=\"tooltip\"\n [class]=\"buttonClass || ''\"\n [class.button-base]=\"true\"\n [class.disabled]=\"disabled || loading\"\n #popoverTrigger=\"popoverTrigger\"\n [popoverTriggerFor]=\"btnPopover\"\n [popoverTriggerOn]=\"'none'\"\n [popoverBackdropCloseOnClick]=\"true\"\n (opened)=\"onOpenPopover.emit()\"\n (closed)=\"onClosePopover.emit()\">\n <button [attr.id]=\"idBtnDefault\"\n [attr.name]=\"idBtnDefault\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(true)\"\n role=\"button\"\n (click)=\"handleClick($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\">\n {{ label ? label : '' }}\n </button>\n <button [attr.id]=\"idBtnMenu\"\n [attr.name]=\"idBtnMenu\"\n [attr.type]=\"type\"\n [attr.aria-label]=\"ariaLabel ? ariaLabel : label\"\n [attr.title]=\"title ? title : label\"\n [disabled]=\"disabled || loading\"\n [ngClass]=\"getInternalButtonClass(false)\"\n role=\"button\"\n (click)=\"handleClickBtnMenu($event)\">\n <mat-icon [@indicatorRotate]=\"popoverTrigger?.popoverOpen ? 'opened': 'closed'\"> expand_more </mat-icon>\n </button>\n</div>\n\n<gipi-popover #btnPopover=\"gipiPopover\"\n [popoverOverlapTrigger]=\"false\"\n [popoverCloseOnClick]=\"false\"\n [popoverArrowWidth]=\"0\"\n [popoverOffsetY]=\"3\">\n <div class=\"btn-popover-content\">\n <button class=\"btn-split-option\"\n *ngFor=\"let option of splitOptions\"\n [disabled]=\"option?.disabled\"\n (click)=\"handleClickBtnSplitOption(option)\">\n {{ option.label }}\n </button>\n </div>\n</gipi-popover>",
|
25027
|
+
providers: [
|
25028
|
+
{
|
25029
|
+
provide: forms.NG_VALUE_ACCESSOR,
|
25030
|
+
useExisting: core.forwardRef(function () { return GIPISplitButtonComponent_1; }),
|
25031
|
+
multi: true
|
25032
|
+
}
|
25033
|
+
],
|
25034
|
+
host: {
|
25035
|
+
'class': 'gipi-split-button',
|
25036
|
+
'[attr.id]': 'id',
|
25037
|
+
'[attr.name]': 'name',
|
25038
|
+
},
|
25039
|
+
animations: [
|
25040
|
+
animations.trigger('indicatorRotate', [
|
25041
|
+
animations.state('closed', animations.style({ transform: 'rotate(0deg)' })),
|
25042
|
+
animations.state('opened', animations.style({ transform: 'rotate(-180deg)' })),
|
25043
|
+
animations.transition('opened <=> closed', animations.animate('225ms cubic-bezier(0.4,0.0,0.2,1)')),
|
25044
|
+
])
|
25045
|
+
],
|
25046
|
+
styles: [".button-base{display:flex;flex-direction:row;justify-content:center;border-radius:4px;font-weight:600;font-size:1.4rem;line-height:1.6rem;cursor:pointer;outline:0;white-space:nowrap;text-decoration:none;vertical-align:middle;text-align:center;box-shadow:1px 1px 5px 0 rgba(0,0,0,.1);transition:.2s;width:100%;max-height:4rem;border:1px solid transparent;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.button-base.disabled{cursor:not-allowed!important;box-shadow:none}.button-base>button{display:flex;align-items:center;justify-content:center;border:none;outline:0;box-shadow:none;width:100%;height:40px;padding:12px 16px;overflow:hidden;border-radius:inherit;cursor:inherit;font-size:inherit;font-weight:inherit;white-space:nowrap;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative}.button-base>button:not(.disabled):active{opacity:.8}.button-base .button-default{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.button-base .button-menu{max-width:-webkit-fit-content;max-width:-moz-fit-content;max-width:fit-content;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.button-primary:not(:disabled),.button-primary:not(:disabled)>mat-icon{background-color:#e0313e;color:#fff;fill:#fff}.button-primary:not(:disabled).button-default,.button-primary:not(:disabled)>mat-icon.button-default{border-right:1px solid #9f232c}.button-primary:not(:disabled) svg,.button-primary:not(:disabled) svg g path,.button-primary:not(:disabled) svg path,.button-primary:not(:disabled)>mat-icon svg,.button-primary:not(:disabled)>mat-icon svg g path,.button-primary:not(:disabled)>mat-icon svg path{color:#fff;fill:#fff}.button-primary:disabled,.button-primary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-primary:disabled.button-default,.button-primary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-primary:disabled svg,.button-primary:disabled svg g path,.button-primary:disabled svg path,.button-primary:disabled>mat-icon svg,.button-primary:disabled>mat-icon svg g path,.button-primary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-primary:not(:disabled):hover,.button-primary:not(:disabled):hover>mat-icon{background-color:#cc2d38;color:#fff;fill:#fff}.button-primary:not(:disabled):hover svg,.button-primary:not(:disabled):hover svg g path,.button-primary:not(:disabled):hover svg path,.button-primary:not(:disabled):hover>mat-icon svg,.button-primary:not(:disabled):hover>mat-icon svg g path,.button-primary:not(:disabled):hover>mat-icon svg path{color:#fff;fill:#fff}.button-secondary{background-color:transparent}.button-secondary:not(:disabled),.button-secondary:not(:disabled)>mat-icon{border-color:#595959;color:#595959;fill:#595959}.button-secondary:not(:disabled).button-default,.button-secondary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-secondary:not(:disabled) svg,.button-secondary:not(:disabled) svg g path,.button-secondary:not(:disabled) svg path,.button-secondary:not(:disabled)>mat-icon svg,.button-secondary:not(:disabled)>mat-icon svg g path,.button-secondary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-secondary:disabled,.button-secondary:disabled>mat-icon{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-secondary:disabled.button-default,.button-secondary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-secondary:disabled svg,.button-secondary:disabled svg g path,.button-secondary:disabled svg path,.button-secondary:disabled>mat-icon svg,.button-secondary:disabled>mat-icon svg g path,.button-secondary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-secondary:not(:disabled):hover,.button-secondary:not(:disabled):hover>mat-icon{border-color:#595959;background-color:#e0e1e2;color:#595959;fill:#595959}.button-secondary:not(:disabled):hover svg,.button-secondary:not(:disabled):hover svg g path,.button-secondary:not(:disabled):hover svg path,.button-secondary:not(:disabled):hover>mat-icon svg,.button-secondary:not(:disabled):hover>mat-icon svg g path,.button-secondary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary{background-color:#e7ebee;box-shadow:none}.button-tertiary:not(:disabled),.button-tertiary:not(:disabled)>mat-icon{color:#595959;fill:#595959}.button-tertiary:not(:disabled).button-default,.button-tertiary:not(:disabled)>mat-icon.button-default{border-right:1px solid #595959}.button-tertiary:not(:disabled) svg,.button-tertiary:not(:disabled) svg g path,.button-tertiary:not(:disabled) svg path,.button-tertiary:not(:disabled)>mat-icon svg,.button-tertiary:not(:disabled)>mat-icon svg g path,.button-tertiary:not(:disabled)>mat-icon svg path{color:#595959;fill:#595959}.button-tertiary:disabled,.button-tertiary:disabled>mat-icon{background-color:#d1d2d4;color:#9a9da2;fill:#9a9da2}.button-tertiary:disabled.button-default,.button-tertiary:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-tertiary:disabled svg,.button-tertiary:disabled svg g path,.button-tertiary:disabled svg path,.button-tertiary:disabled>mat-icon svg,.button-tertiary:disabled>mat-icon svg g path,.button-tertiary:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-tertiary:not(:disabled):hover,.button-tertiary:not(:disabled):hover>mat-icon{background-color:#e0e1e2;color:#595959;fill:#595959}.button-tertiary:not(:disabled):hover svg,.button-tertiary:not(:disabled):hover svg g path,.button-tertiary:not(:disabled):hover svg path,.button-tertiary:not(:disabled):hover>mat-icon svg,.button-tertiary:not(:disabled):hover>mat-icon svg g path,.button-tertiary:not(:disabled):hover>mat-icon svg path{color:#595959;fill:#595959}.button-action{background-color:transparent;box-shadow:none;display:flex;justify-content:flex-start!important}.button-action:not(:disabled),.button-action:not(:disabled)>mat-icon{color:#262626;fill:#262626}.button-action:not(:disabled).button-default,.button-action:not(:disabled)>mat-icon.button-default{border-right:1px solid #262626}.button-action:not(:disabled) svg,.button-action:not(:disabled) svg g path,.button-action:not(:disabled) svg path,.button-action:not(:disabled)>mat-icon svg,.button-action:not(:disabled)>mat-icon svg g path,.button-action:not(:disabled)>mat-icon svg path{color:#262626;fill:#262626}.button-action:disabled,.button-action:disabled>mat-icon{color:#9a9da2;fill:#9a9da2}.button-action:disabled.button-default,.button-action:disabled>mat-icon.button-default{border-right:1px solid #9a9da2}.button-action:disabled svg,.button-action:disabled svg g path,.button-action:disabled svg path,.button-action:disabled>mat-icon svg,.button-action:disabled>mat-icon svg g path,.button-action:disabled>mat-icon svg path{color:#9a9da2;fill:#9a9da2}.button-action:not(:disabled):hover,.button-action:not(:disabled):hover>mat-icon{background-color:#f5f5f6;color:#262626;fill:#262626}.button-action:not(:disabled):hover svg,.button-action:not(:disabled):hover svg g path,.button-action:not(:disabled):hover svg path,.button-action:not(:disabled):hover>mat-icon svg,.button-action:not(:disabled):hover>mat-icon svg g path,.button-action:not(:disabled):hover>mat-icon svg path{color:#262626;fill:#262626}.disabled,:disabled{pointer-events:none!important}.btn-popover-content{display:flex;flex-direction:column;gap:.8rem;background-color:#fff;border-radius:4px;box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);padding:8px}.btn-split-option{width:100%;padding:.8rem;border-radius:.4rem;border:1px solid transparent;text-align:left;outline:0;background-color:transparent;cursor:pointer}.btn-split-option:not(:disabled){color:#595959}.btn-split-option:disabled{border-color:#d1d2d4;background-color:#d1d2d4;color:#9a9da2;cursor:not-allowed}.btn-split-option:not(:disabled):hover{border-color:#595959;background-color:#e0e1e2;color:#595959}"]
|
25047
|
+
}),
|
25048
|
+
__metadata("design:paramtypes", [core.ElementRef])
|
25049
|
+
], GIPISplitButtonComponent);
|
25050
|
+
return GIPISplitButtonComponent;
|
25051
|
+
}());
|
25052
|
+
|
25053
|
+
var nextUniqueId$n = 0;
|
24766
25054
|
var GIPITextareaComponent = /** @class */ (function () {
|
24767
25055
|
function GIPITextareaComponent(elementRef, _changeDetectorRef) {
|
24768
25056
|
this.elementRef = elementRef;
|
24769
25057
|
this._changeDetectorRef = _changeDetectorRef;
|
24770
|
-
this._name = "gipi-textarea-" + nextUniqueId$
|
25058
|
+
this._name = "gipi-textarea-" + nextUniqueId$n++;
|
24771
25059
|
this.id = this._name;
|
24772
25060
|
this.name = this._name;
|
24773
25061
|
this.label = '';
|
@@ -25154,6 +25442,7 @@
|
|
25154
25442
|
GIPIEmptyStateComponent,
|
25155
25443
|
GIPICardComponent,
|
25156
25444
|
GIPITextareaComponent,
|
25445
|
+
GIPISplitButtonComponent,
|
25157
25446
|
// Tabs
|
25158
25447
|
GIPITabGroupComponent,
|
25159
25448
|
GIPITabComponent,
|
@@ -28742,6 +29031,7 @@
|
|
28742
29031
|
exports.GIPISidenavContainerComponent = GIPISidenavContainerComponent;
|
28743
29032
|
exports.GIPISlideToggleComponent = GIPISlideToggleComponent;
|
28744
29033
|
exports.GIPISortModel = GIPISortModel;
|
29034
|
+
exports.GIPISplitButtonComponent = GIPISplitButtonComponent;
|
28745
29035
|
exports.GIPIStepperComponent = GIPIStepperComponent;
|
28746
29036
|
exports.GIPITabComponent = GIPITabComponent;
|
28747
29037
|
exports.GIPITabGroupComponent = GIPITabGroupComponent;
|