@fundamental-ngx/platform 0.48.0-rc.21 → 0.48.0-rc.23
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/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +6 -8
- package/esm2022/form/combobox/commons/base-combobox.mjs +6 -5
- package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +8 -8
- package/esm2022/form/form-generator/form-generator.service.mjs +8 -13
- package/esm2022/form/form-group/form-field/form-field.component.mjs +27 -29
- package/esm2022/form/form-group/form-group.component.mjs +37 -40
- package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +9 -8
- package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +3 -3
- package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +10 -13
- package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
- package/esm2022/form/multi-input/base-multi-input.mjs +5 -4
- package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -7
- package/esm2022/form/radio-group/radio-group.component.mjs +23 -24
- package/esm2022/form/select/commons/base-select.mjs +3 -3
- package/esm2022/form/step-input/base.step-input.mjs +25 -35
- package/esm2022/form/step-input/number/number-step-input.component.mjs +3 -3
- package/esm2022/form/step-input/step-input-action-button.mjs +6 -10
- package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -8
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +10 -19
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +7 -9
- package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +7 -8
- package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +9 -20
- package/esm2022/list/list.component.mjs +7 -8
- package/esm2022/menu/menu.component.mjs +3 -4
- package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +8 -11
- package/esm2022/message-popover/message-popover.component.mjs +52 -53
- package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
- package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +3 -7
- package/esm2022/search-field/search-field.component.mjs +20 -21
- package/esm2022/settings-generator/settings-generator.service.mjs +9 -10
- package/esm2022/shared/form/base.input.mjs +7 -8
- package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +10 -15
- package/esm2022/split-menu-button/split-menu-button.component.mjs +7 -18
- package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -6
- package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -7
- package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -8
- package/esm2022/table/components/table-group-row/table-group-row.component.mjs +3 -7
- package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +29 -13
- package/esm2022/table/components/table-header-row/table-header-row.component.mjs +7 -11
- package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +5 -7
- package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +5 -8
- package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +5 -8
- package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +5 -8
- package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +4 -5
- package/esm2022/table/components/table-row/table-row.component.mjs +6 -13
- package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +34 -21
- package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +5 -8
- package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -9
- package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
- package/esm2022/table/table.component.mjs +39 -49
- package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
- package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +8 -10
- package/esm2022/table-helpers/directives/table-data-source.directive.mjs +6 -6
- package/esm2022/table-helpers/services/table-column-resize.service.mjs +14 -17
- package/esm2022/table-helpers/services/table-responsive.service.mjs +6 -11
- package/esm2022/table-helpers/services/table.service.mjs +20 -18
- package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +10 -18
- package/esm2022/wizard-generator/base-wizard-generator.mjs +12 -19
- package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +5 -4
- package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -13
- package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +8 -7
- package/fesm2022/fundamental-ngx-platform-form.mjs +137 -174
- package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +24 -46
- package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-list.mjs +6 -7
- package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
- package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs +57 -60
- package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-search-field.mjs +21 -38
- package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +6 -8
- package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-shared.mjs +6 -7
- package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +9 -15
- package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +6 -17
- package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +42 -52
- package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +145 -157
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +9 -17
- package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +20 -33
- package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
- package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -4
- package/form/form-generator/form-generator/form-generator.component.d.ts +1 -1
- package/form/form-generator/form-generator.service.d.ts +3 -7
- package/form/form-group/form-field/form-field.component.d.ts +12 -12
- package/form/form-group/form-group.component.d.ts +35 -31
- package/form/multi-combobox/commons/base-multi-combobox.d.ts +2 -2
- package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +3 -5
- package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
- package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -4
- package/form/radio-group/radio-group.component.d.ts +3 -3
- package/form/step-input/base.step-input.d.ts +5 -6
- package/form/step-input/step-input-action-button.d.ts +4 -7
- package/fundamental-ngx-platform-v0.48.0-rc.23.tgz +0 -0
- package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
- package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
- package/icon-tab-bar/icon-tab-bar.component.d.ts +4 -6
- package/list/list.component.d.ts +1 -3
- package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
- package/message-popover/message-popover.component.d.ts +13 -20
- package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
- package/package.json +4 -4
- package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +4 -6
- package/search-field/search-field.component.d.ts +6 -4
- package/settings-generator/settings-generator.service.d.ts +1 -1
- package/shared/form/base.input.d.ts +2 -2
- package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
- package/split-menu-button/split-menu-button.component.d.ts +3 -8
- package/table/components/reset-button/reset-button.component.d.ts +2 -3
- package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +1 -2
- package/table/components/table-column-resizer/table-column-resizer.component.d.ts +1 -1
- package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
- package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
- package/table/components/table-header-row/table-header-row.component.d.ts +1 -1
- package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
- package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
- package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/components/table-row/table-row.component.d.ts +2 -2
- package/table/components/table-toolbar/table-toolbar.component.d.ts +20 -7
- package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
- package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
- package/table/table.component.d.ts +4 -18
- package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
- package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -1
- package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
- package/table-helpers/services/table-column-resize.service.d.ts +2 -2
- package/table-helpers/services/table-responsive.service.d.ts +3 -5
- package/table-helpers/services/table.service.d.ts +12 -10
- package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +2 -1
- package/wizard-generator/base-wizard-generator.d.ts +4 -8
- package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
- package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
- package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
- package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
- package/search-field/search-field-mobile/search-field-mobile.module.d.ts +0 -7
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Optional, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
|
-
import { Subscription } from 'rxjs';
|
|
2
|
+
import { EventEmitter, computed, ElementRef, Component, ChangeDetectionStrategy, Optional, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
4
3
|
import * as i1 from '@fundamental-ngx/cdk/utils';
|
|
5
4
|
import { ButtonComponent } from '@fundamental-ngx/core/button';
|
|
6
5
|
import { FD_DEFAULT_ICON_FONT_FAMILY } from '@fundamental-ngx/core/icon';
|
|
@@ -34,11 +33,11 @@ class SplitMenuButtonComponent extends BaseComponent {
|
|
|
34
33
|
this.iconFont = FD_DEFAULT_ICON_FONT_FAMILY;
|
|
35
34
|
/** Event sent when split-menu-button primary button is clicked */
|
|
36
35
|
this.primaryButtonClick = new EventEmitter();
|
|
37
|
-
/** Defined max width of Split menu button */
|
|
38
|
-
this.splitButtonMaxWidth = '12rem';
|
|
39
36
|
/** handles rtl service
|
|
40
37
|
* @hidden */
|
|
41
|
-
this.
|
|
38
|
+
this.dir$ = computed(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'));
|
|
39
|
+
/** Defined max width of Split menu button */
|
|
40
|
+
this.splitButtonMaxWidth = '12rem';
|
|
42
41
|
}
|
|
43
42
|
/** Tabindex for button. */
|
|
44
43
|
get tabindex() {
|
|
@@ -49,12 +48,6 @@ class SplitMenuButtonComponent extends BaseComponent {
|
|
|
49
48
|
this.secondaryId = 'secondary-' + this.id;
|
|
50
49
|
// if no title provided.
|
|
51
50
|
this.title = this.title || this.buttonLabel;
|
|
52
|
-
if (this._rtlService) {
|
|
53
|
-
this._rtlChangeSubscription = this._rtlService.rtl.subscribe((isRtl) => {
|
|
54
|
-
this.dir = isRtl ? 'rtl' : 'ltr';
|
|
55
|
-
this._cd.detectChanges();
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
51
|
}
|
|
59
52
|
/** @hidden */
|
|
60
53
|
ngAfterViewInit() {
|
|
@@ -62,10 +55,6 @@ class SplitMenuButtonComponent extends BaseComponent {
|
|
|
62
55
|
this._setPrimaryButtonWidth();
|
|
63
56
|
}
|
|
64
57
|
}
|
|
65
|
-
/** @hidden */
|
|
66
|
-
ngOnDestroy() {
|
|
67
|
-
this._rtlChangeSubscription.unsubscribe();
|
|
68
|
-
}
|
|
69
58
|
/**
|
|
70
59
|
* Handles split-menu-button button click
|
|
71
60
|
*/
|
|
@@ -80,11 +69,11 @@ class SplitMenuButtonComponent extends BaseComponent {
|
|
|
80
69
|
}
|
|
81
70
|
}
|
|
82
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SplitMenuButtonComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: SplitMenuButtonComponent, isStandalone: true, selector: "fdp-split-menu-button", inputs: { fixedWidth: "fixedWidth", title: "title", menuTitle: "menuTitle", buttonLabel: "buttonLabel", menu: "menu", icon: "icon", iconFont: "iconFont", type: "type" }, outputs: { primaryButtonClick: "primaryButtonClick" }, viewQueries: [{ propertyName: "primaryBtn", first: true, predicate: ["primaryBtn"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: SplitMenuButtonComponent, isStandalone: true, selector: "fdp-split-menu-button", inputs: { fixedWidth: "fixedWidth", title: "title", menuTitle: "menuTitle", buttonLabel: "buttonLabel", menu: "menu", icon: "icon", iconFont: "iconFont", type: "type" }, outputs: { primaryButtonClick: "primaryButtonClick" }, viewQueries: [{ propertyName: "primaryBtn", first: true, predicate: ["primaryBtn"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: MenuTriggerDirective, selector: "[fdpMenuTriggerFor]", inputs: ["fdpMenuTriggerFor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
84
73
|
}
|
|
85
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: SplitMenuButtonComponent, decorators: [{
|
|
86
75
|
type: Component,
|
|
87
|
-
args: [{ selector: 'fdp-split-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MenuTriggerDirective], template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"] }]
|
|
76
|
+
args: [{ selector: 'fdp-split-menu-button', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, MenuTriggerDirective], template: "<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-button-split{--fdButtonSplit_Separator_Offset:2.125rem;-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative;vertical-align:middle}.fd-button-split:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Default_Shadow_Color)}.fd-button-split:after,.fd-button-split:before{box-sizing:inherit;font-size:inherit}.fd-button-split:before{-webkit-box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));background:var(--sapButton_Background);border-radius:var(--sapButton_BorderCornerRadius);box-shadow:inset 0 0 0 var(--sapButton_BorderWidth) var(--fdButtonPrioritizedBorderColor, var(--sapButton_BorderColor));content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split.is-hover:after,.fd-button-split:hover:after{display:none}.fd-button-split[dir=rtl]:after,[dir=rtl] .fd-button-split:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split>button{--fdButtonPrioritizedBorderColor:var(--fdButton_Split_Border_Color);--fdButtonPrioritizedBackgroundColor:var(--fdButton_Split_Background_Color);margin:0}.fd-button-split>button:first-of-type{-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:start;-ms-flex-pack:start;align-items:center;border-radius:var(--fdButton_Border_Radius_Left);display:flex;justify-content:flex-start;margin-right:var(--fdButton_Menu_Offset)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{margin-left:var(--fdButton_Menu_Offset);margin-right:0}.fd-button-split>button:first-of-type.is-focus,.fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type.is-focus:after,.fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left)}.fd-button-split>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split>button:first-of-type{border-radius:var(--fdButton_Border_Radius_Left_RTL)}.fd-button-split>button:first-of-type[dir=rtl].is-focus,.fd-button-split>button:first-of-type[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:first-of-type.is-focus,[dir=rtl] .fd-button-split>button:first-of-type:focus{z-index:5}.fd-button-split>button:first-of-type[dir=rtl].is-focus:after,.fd-button-split>button:first-of-type[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:first-of-type.is-focus:after,[dir=rtl] .fd-button-split>button:first-of-type:focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Left_RTL)}.fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right)}.fd-button-split>button:nth-of-type(2).is-focus,.fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2).is-focus:after,.fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right)}.fd-button-split>button:nth-of-type(2)[dir=rtl],[dir=rtl] .fd-button-split>button:nth-of-type(2){border-radius:var(--fdButton_Border_Radius_Right_RTL)}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus{z-index:5}.fd-button-split>button:nth-of-type(2)[dir=rtl].is-focus:after,.fd-button-split>button:nth-of-type(2)[dir=rtl]:focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2).is-focus:after,[dir=rtl] .fd-button-split>button:nth-of-type(2):focus:after{border-radius:var(--fdButton_Border_Radius_Outline_Right_RTL)}.fd-button-split>button.is-hover,.fd-button-split>button:hover{box-shadow:none;z-index:1}.fd-button-split--emphasized{position:relative}.fd-button-split--emphasized:before{background:var(--sapButton_Emphasized_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--emphasized:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Emphasized_TextColor);content:\"\";display:var(--fdButton_Menu_Emphasized_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--emphasized.is-hover:after,.fd-button-split--emphasized:hover:after{display:var(--fdButton_Menu_Emphasized_Hover_Separator_Display)}.fd-button-split--emphasized[dir=rtl]:after,[dir=rtl] .fd-button-split--emphasized:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--emphasized:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Emphasized_Shadow_Color)}.fd-button-split--transparent{position:relative}.fd-button-split--transparent:before{background:var(--sapButton_Lite_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--transparent:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Lite_TextColor);content:\"\";display:var(--fdButton_Menu_Transparent_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--transparent[dir=rtl]:after,[dir=rtl] .fd-button-split--transparent:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--transparent:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--ghost{position:relative}.fd-button-split--ghost:before{background:var(--fdButton_Ghost_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--ghost:after{-webkit-transform:translateY(-50%);background:var(--sapButton_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--ghost[dir=rtl]:after,[dir=rtl] .fd-button-split--ghost:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--ghost:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Transparent_Border_Color)}.fd-button-split--positive{position:relative}.fd-button-split--positive:before{background:var(--sapButton_Accept_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--positive:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Accept_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--positive[dir=rtl]:after,[dir=rtl] .fd-button-split--positive:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--positive:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Positive_Shadow_Color)}.fd-button-split--negative{position:relative}.fd-button-split--negative:before{background:var(--sapButton_Reject_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--negative:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Reject_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--negative[dir=rtl]:after,[dir=rtl] .fd-button-split--negative:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--negative:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Negative_Shadow_Color)}.fd-button-split--attention{position:relative}.fd-button-split--attention:before{background:var(--sapButton_Attention_Background);border-radius:var(--sapButton_BorderCornerRadius);content:\"\";height:100%;left:0;position:absolute;top:0;width:100%}.fd-button-split--attention:after{-webkit-transform:translateY(-50%);background:var(--sapButton_Attention_TextColor);content:\"\";display:var(--fdButton_Menu_Separator_Display);height:var(--fdButton_Menu_Transparent_Separator_Height);margin:0 .125rem;position:absolute;right:var(--fdButtonSplit_Separator_Offset);top:50%;transform:translateY(-50%);width:var(--sapButton_BorderWidth);z-index:10}.fd-button-split--attention[dir=rtl]:after,[dir=rtl] .fd-button-split--attention:after{left:var(--fdButtonSplit_Separator_Offset);right:auto}.fd-button-split--attention:before{--fdButtonPrioritizedBorderColor:var(--fdButton_Menu_Attention_Shadow_Color)}.fd-button-split .fd-button-split__text{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:inherit;display:block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:var(--fdButtonSplit_Text_Max_Width, 8.5rem);overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-button-split .fd-button-split__text:after,.fd-button-split .fd-button-split__text:before{box-sizing:inherit;font-size:inherit}.fd-button-split--emphasized>button:first-of-type{margin-right:var(--fdButton_Menu_Emphasized_Margin)}.fd-button-split--emphasized>button:first-of-type[dir=rtl],[dir=rtl] .fd-button-split--emphasized>button:first-of-type{margin-left:var(--fdButton_Menu_Emphasized_Margin);margin-right:0}.fd-button-split--emphasized .fd-button-split__text{font-weight:var(--sapButton_Emphasized_FontWeight)}.fd-button-split[class*=-compact],.fd-button-split[class*=-condensed],[class*=-compact] .fd-button-split:not([class*=-cozy]),[class*=-condensed] .fd-button-split:not([class*=-cozy]){--fdButtonSplit_Text_Max_Width:9rem;--fdButtonSplit_Separator_Offset:1.875rem}:host{display:inline-block}\n"] }]
|
|
88
77
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.RtlService, decorators: [{
|
|
89
78
|
type: Optional
|
|
90
79
|
}] }], propDecorators: { fixedWidth: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-split-menu-button.mjs","sources":["../../../../libs/platform/split-menu-button/split-menu-button.component.ts","../../../../libs/platform/split-menu-button/split-menu-button.component.html","../../../../libs/platform/split-menu-button/split-menu-button.module.ts","../../../../libs/platform/split-menu-button/fundamental-ngx-platform-split-menu-button.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewChild\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, ButtonType } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { MenuComponent, MenuTriggerDirective } from '@fundamental-ngx/platform/menu';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\n\n/**\n * <fdp-split-menu-button [menu]=\"menu\" [buttonLabel]=\"Default button\" (primaryButtonClick)=\"onPrimaryButtonClick1()\">\n * </fdp-split-menu-button>\n *\n * <fdp-menu #menu xPosition=\"after|before\">\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 1')\">Option 1</fdp-menu-item>\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 2')\">Option 2</fdp-menu-item>\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 3')\">Option 3</fdp-menu-item>\n * </fdp-menu>\n */\n@Component({\n selector: 'fdp-split-menu-button',\n templateUrl: './split-menu-button.component.html',\n styleUrl: 'split-menu-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, MenuTriggerDirective]\n})\nexport class SplitMenuButtonComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n /** Whether or not the element should keep a fixed width. The width could change if the text changes length. */\n @Input()\n fixedWidth = true;\n\n /** text for tooltip */\n @Input()\n title: string;\n\n /** text for tooltip */\n @Input()\n menuTitle: string;\n\n /** Label for the first Button */\n @Input()\n buttonLabel: string;\n\n /** reference to menu which will be controlled by split button */\n @Input()\n menu: MenuComponent;\n\n /** The icon to include in the menu-button */\n @Input()\n icon: string;\n\n /** Glyph font family */\n @Input()\n iconFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** The type of the button.\n * 'Emphasized', 'Ghost', 'standard', 'positive', 'negative', 'transparent'\n * Leave empty for default.'*/\n @Input()\n type: ButtonType;\n\n /** Event sent when split-menu-button primary button is clicked */\n @Output()\n primaryButtonClick: EventEmitter<any> = new EventEmitter();\n\n /** @hidden */\n @ViewChild('primaryBtn', { read: ElementRef })\n primaryBtn: ElementRef;\n\n /** used as id for Menu Button\n * @hidden\n */\n public secondaryId: string;\n\n /** handles rtl service\n * @hidden */\n public dir: string;\n\n /** @hidden */\n primaryButtonWidth: string;\n /** Defined max width of Split menu button */\n splitButtonMaxWidth = '12rem';\n /** handles rtl service\n * @hidden */\n private _rtlChangeSubscription = Subscription.EMPTY;\n\n /** @hidden */\n get typeClass(): string {\n return this.type ? `fd-button-split--${this.type}` : '';\n }\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService\n ) {\n super(_cd);\n }\n\n /** Tabindex for button. */\n get tabindex(): number {\n return this.disabled ? -1 : 0;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.secondaryId = 'secondary-' + this.id;\n // if no title provided.\n this.title = this.title || this.buttonLabel;\n if (this._rtlService) {\n this._rtlChangeSubscription = this._rtlService.rtl.subscribe((isRtl: boolean) => {\n this.dir = isRtl ? 'rtl' : 'ltr';\n this._cd.detectChanges();\n });\n }\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.fixedWidth) {\n this._setPrimaryButtonWidth();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._rtlChangeSubscription.unsubscribe();\n }\n\n /**\n * Handles split-menu-button button click\n */\n public primaryButtonClicked(event: any): void {\n event.stopPropagation();\n this.primaryButtonClick.emit();\n }\n\n /** @hidden */\n private _setPrimaryButtonWidth(): void {\n if (this.primaryBtn && this.primaryBtn.nativeElement) {\n this.primaryButtonWidth = this.primaryBtn.nativeElement.getBoundingClientRect().width + 'px';\n }\n }\n}\n","<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { SplitMenuButtonComponent } from './split-menu-button.component';\n\n@NgModule({\n imports: [SplitMenuButtonComponent, ContentDensityModule],\n exports: [SplitMenuButtonComponent, ContentDensityModule]\n})\nexport class PlatformSplitMenuButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-split-menu-button.mjs","sources":["../../../../libs/platform/split-menu-button/split-menu-button.component.ts","../../../../libs/platform/split-menu-button/split-menu-button.component.html","../../../../libs/platform/split-menu-button/split-menu-button.module.ts","../../../../libs/platform/split-menu-button/fundamental-ngx-platform-split-menu-button.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Optional,\n Output,\n ViewChild,\n computed\n} from '@angular/core';\n\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, ButtonType } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { MenuComponent, MenuTriggerDirective } from '@fundamental-ngx/platform/menu';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\n\n/**\n * <fdp-split-menu-button [menu]=\"menu\" [buttonLabel]=\"Default button\" (primaryButtonClick)=\"onPrimaryButtonClick1()\">\n * </fdp-split-menu-button>\n *\n * <fdp-menu #menu xPosition=\"after|before\">\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 1')\">Option 1</fdp-menu-item>\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 2')\">Option 2</fdp-menu-item>\n * <fdp-menu-item (itemSelect)=\"onItemSelect1('Option 3')\">Option 3</fdp-menu-item>\n * </fdp-menu>\n */\n@Component({\n selector: 'fdp-split-menu-button',\n templateUrl: './split-menu-button.component.html',\n styleUrl: 'split-menu-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ButtonComponent, MenuTriggerDirective]\n})\nexport class SplitMenuButtonComponent extends BaseComponent implements OnInit, AfterViewInit {\n /** Whether or not the element should keep a fixed width. The width could change if the text changes length. */\n @Input()\n fixedWidth = true;\n\n /** text for tooltip */\n @Input()\n title: string;\n\n /** text for tooltip */\n @Input()\n menuTitle: string;\n\n /** Label for the first Button */\n @Input()\n buttonLabel: string;\n\n /** reference to menu which will be controlled by split button */\n @Input()\n menu: MenuComponent;\n\n /** The icon to include in the menu-button */\n @Input()\n icon: string;\n\n /** Glyph font family */\n @Input()\n iconFont: IconFont = FD_DEFAULT_ICON_FONT_FAMILY;\n\n /** The type of the button.\n * 'Emphasized', 'Ghost', 'standard', 'positive', 'negative', 'transparent'\n * Leave empty for default.'*/\n @Input()\n type: ButtonType;\n\n /** Event sent when split-menu-button primary button is clicked */\n @Output()\n primaryButtonClick: EventEmitter<any> = new EventEmitter();\n\n /** @hidden */\n @ViewChild('primaryBtn', { read: ElementRef })\n primaryBtn: ElementRef;\n\n /** used as id for Menu Button\n * @hidden\n */\n public secondaryId: string;\n\n /** handles rtl service\n * @hidden */\n readonly dir$ = computed<'ltr' | 'rtl'>(() => (this._rtlService?.rtlSignal() ? 'rtl' : 'ltr'));\n\n /** @hidden */\n primaryButtonWidth: string;\n /** Defined max width of Split menu button */\n splitButtonMaxWidth = '12rem';\n /** @hidden */\n get typeClass(): string {\n return this.type ? `fd-button-split--${this.type}` : '';\n }\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService\n ) {\n super(_cd);\n }\n\n /** Tabindex for button. */\n get tabindex(): number {\n return this.disabled ? -1 : 0;\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.secondaryId = 'secondary-' + this.id;\n // if no title provided.\n this.title = this.title || this.buttonLabel;\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n if (this.fixedWidth) {\n this._setPrimaryButtonWidth();\n }\n }\n\n /**\n * Handles split-menu-button button click\n */\n public primaryButtonClicked(event: any): void {\n event.stopPropagation();\n this.primaryButtonClick.emit();\n }\n\n /** @hidden */\n private _setPrimaryButtonWidth(): void {\n if (this.primaryBtn && this.primaryBtn.nativeElement) {\n this.primaryButtonWidth = this.primaryBtn.nativeElement.getBoundingClientRect().width + 'px';\n }\n }\n}\n","<div\n class=\"fd-button-split\"\n [class]=\"typeClass\"\n role=\"group\"\n aria-label=\"split-button\"\n [attr.dir]=\"dir$()\"\n [style.max-width]=\"splitButtonMaxWidth\"\n>\n <button\n fd-button\n #primaryBtn\n [label]=\"buttonLabel\"\n [style.width]=\"primaryButtonWidth\"\n [style.overflow]=\"'hidden'\"\n [attr.id]=\"id\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.aria-label]=\"buttonLabel\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [glyph]=\"icon\"\n [glyphFont]=\"iconFont\"\n [attr.tabindex]=\"tabindex\"\n (click)=\"primaryButtonClicked($event)\"\n ></button>\n <button\n fd-button\n [attr.id]=\"secondaryId\"\n [attr.name]=\"name\"\n [attr.title]=\"menuTitle\"\n [attr.aria-label]=\"menuTitle\"\n glyph=\"slim-arrow-down\"\n [disabled]=\"disabled\"\n [fdType]=\"type\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-haspopup]=\"true\"\n [fdpMenuTriggerFor]=\"menu\"\n ></button>\n</div>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { SplitMenuButtonComponent } from './split-menu-button.component';\n\n@NgModule({\n imports: [SplitMenuButtonComponent, ContentDensityModule],\n exports: [SplitMenuButtonComponent, ContentDensityModule]\n})\nexport class PlatformSplitMenuButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAqBA;;;;;;;;;AASG;AASG,MAAO,wBAAyB,SAAQ,aAAa,CAAA;;AAyDvD,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,IAAI,GAAG,CAAA,iBAAA,EAAoB,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,EAAE,CAAC;KAC3D;;IAGD,WACc,CAAA,GAAsB,EACZ,WAAuB,EAAA;QAE3C,KAAK,CAAC,GAAG,CAAC,CAAC;QAHD,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACZ,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;;QA7D/C,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;;QAwBlB,IAAQ,CAAA,QAAA,GAAa,2BAA2B,CAAC;;AAUjD,QAAA,IAAA,CAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAW3D;AACa;QACJ,IAAI,CAAA,IAAA,GAAG,QAAQ,CAAgB,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;;QAK/F,IAAmB,CAAA,mBAAA,GAAG,OAAO,CAAC;KAY7B;;AAGD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACjC;;IAGD,QAAQ,GAAA;QACJ,IAAI,CAAC,WAAW,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;;QAE1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC;KAC/C;;IAGD,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACjC,SAAA;KACJ;AAED;;AAEG;AACI,IAAA,oBAAoB,CAAC,KAAU,EAAA;QAClC,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;KAClC;;IAGO,sBAAsB,GAAA;QAC1B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE;AAClD,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;AAChG,SAAA;KACJ;8GArGQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,uYAwCA,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC/E/C,0mCAuCA,EDFc,MAAA,EAAA,CAAA,85VAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,eAAe,wHAAE,oBAAoB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAEtC,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBARpC,SAAS;+BACI,uBAAuB,EAAA,eAAA,EAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,eAAe,EAAE,oBAAoB,CAAC,EAAA,QAAA,EAAA,0mCAAA,EAAA,MAAA,EAAA,CAAA,85VAAA,CAAA,EAAA,CAAA;;0BAkE3C,QAAQ;yCA7Db,UAAU,EAAA,CAAA;sBADT,KAAK;gBAKN,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAKN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAKN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAON,IAAI,EAAA,CAAA;sBADH,KAAK;gBAKN,kBAAkB,EAAA,CAAA;sBADjB,MAAM;gBAKP,UAAU,EAAA,CAAA;sBADT,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;;;MEtEpC,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YAH5B,wBAAwB,EAAE,oBAAoB,CAC9C,EAAA,OAAA,EAAA,CAAA,wBAAwB,EAAE,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;AAE/C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,EAH5B,OAAA,EAAA,CAAA,wBAAwB,EAAE,oBAAoB,EACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE/C,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;AACzD,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,CAAC;AAC5D,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, InjectionToken, Injectable, Inject, Directive, Optional, Input,
|
|
2
|
+
import { EventEmitter, InjectionToken, signal, computed, Injectable, DestroyRef, inject, Inject, Directive, Optional, Input, HostListener, Output, NgZone, ChangeDetectorRef, forwardRef, HostBinding, ElementRef, Pipe, NgModule } from '@angular/core';
|
|
3
3
|
import equal from 'fast-deep-equal';
|
|
4
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
5
|
import * as i2 from '@fundamental-ngx/cdk/utils';
|
|
5
6
|
import { resizeObservable, RtlService, FDK_FOCUSABLE_ITEM_DIRECTIVE, FocusableItemDirective, KeyUtil, isString, dfs } from '@fundamental-ngx/cdk/utils';
|
|
7
|
+
import { skip, debounceTime, filter, map, distinctUntilChanged, takeUntil, take, startWith, share, tap } from 'rxjs/operators';
|
|
6
8
|
import { BehaviorSubject, Subject, Subscription, fromEvent, isObservable, Observable, filter as filter$1 } from 'rxjs';
|
|
7
|
-
import { skip, debounceTime, takeUntil, filter, map, distinctUntilChanged, take, startWith, share, tap } from 'rxjs/operators';
|
|
8
9
|
import { ContentDensityMode } from '@fundamental-ngx/core/content-density';
|
|
9
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
10
10
|
import { TableCellDirective } from '@fundamental-ngx/core/table';
|
|
11
11
|
import { SPACE, LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
|
|
12
12
|
import * as i1 from '@angular/forms';
|
|
@@ -72,19 +72,19 @@ class TableService {
|
|
|
72
72
|
/** Table state stream. */
|
|
73
73
|
this.tableState$ = new BehaviorSubject(DEFAULT_TABLE_STATE);
|
|
74
74
|
/** @hidden */
|
|
75
|
-
this._semanticHighlighting$ =
|
|
75
|
+
this._semanticHighlighting$ = signal('');
|
|
76
76
|
/** @hidden */
|
|
77
|
-
this._isFilteringFromHeaderDisabled$ =
|
|
77
|
+
this._isFilteringFromHeaderDisabled$ = signal(false);
|
|
78
78
|
/** @hidden */
|
|
79
|
-
this._isShownNavigationColumn$ =
|
|
79
|
+
this._isShownNavigationColumn$ = signal(false);
|
|
80
80
|
/** @hidden */
|
|
81
|
-
this._semanticHighlightingColumnWidth$ =
|
|
81
|
+
this._semanticHighlightingColumnWidth$ = signal(0);
|
|
82
82
|
/** Visible columns stream. */
|
|
83
|
-
this.visibleColumns$ =
|
|
83
|
+
this.visibleColumns$ = signal([]);
|
|
84
84
|
/** Visible columns length. */
|
|
85
|
-
this.visibleColumnsLength =
|
|
85
|
+
this.visibleColumnsLength = computed(() => this.visibleColumns$().length);
|
|
86
86
|
/** Popping columns stream. */
|
|
87
|
-
this.poppingColumns$ =
|
|
87
|
+
this.poppingColumns$ = signal([]);
|
|
88
88
|
/** Popping columns length. */
|
|
89
89
|
this._poppingColumnsLength = 0;
|
|
90
90
|
/** Table columns stream. */
|
|
@@ -116,16 +116,18 @@ class TableService {
|
|
|
116
116
|
/** Listen for immediate changes in table subcomponents (mostly table column) */
|
|
117
117
|
this.detectChanges$ = new Subject();
|
|
118
118
|
/** Sort rules stream. */
|
|
119
|
-
this.sortRules$ =
|
|
119
|
+
this.sortRules$ = signal(new Map());
|
|
120
120
|
/**
|
|
121
121
|
* Filter Rules Map stream. Where key is column key, and value is the associated filter rules.
|
|
122
122
|
* Many filters can be applied to one column.
|
|
123
123
|
*/
|
|
124
|
-
this.filterRules$ =
|
|
124
|
+
this.filterRules$ = signal(new Map());
|
|
125
125
|
/**
|
|
126
126
|
* Group Rules Map stream. Where key is column key and value is associated group rule
|
|
127
127
|
*/
|
|
128
|
-
this.
|
|
128
|
+
this.groupRulesSubject = new BehaviorSubject(new Map());
|
|
129
|
+
/** Group Rules Map signal. */
|
|
130
|
+
this.groupRules$ = toSignal(this.groupRulesSubject);
|
|
129
131
|
}
|
|
130
132
|
/** Get current state/settings of the Table. */
|
|
131
133
|
getTableState() {
|
|
@@ -339,15 +341,14 @@ class TableService {
|
|
|
339
341
|
* @param columns Visible columns to share.
|
|
340
342
|
*/
|
|
341
343
|
setVisibleColumns(columns) {
|
|
342
|
-
this.visibleColumns$.
|
|
343
|
-
this.visibleColumnsLength = columns.length;
|
|
344
|
+
this.visibleColumns$.set(columns);
|
|
344
345
|
}
|
|
345
346
|
/**
|
|
346
347
|
* Shares popping columns array across listeners.
|
|
347
348
|
* @param columns Popping columns to share.
|
|
348
349
|
*/
|
|
349
350
|
setPoppingColumns(columns) {
|
|
350
|
-
this.poppingColumns$.
|
|
351
|
+
this.poppingColumns$.set(columns);
|
|
351
352
|
this._poppingColumnsLength = columns.length;
|
|
352
353
|
}
|
|
353
354
|
/**
|
|
@@ -356,21 +357,21 @@ class TableService {
|
|
|
356
357
|
*/
|
|
357
358
|
buildGroupRulesMap(state = this.getTableState()) {
|
|
358
359
|
const groupMap = new Map(state.groupBy.map((rule) => [rule.field, rule]));
|
|
359
|
-
this.
|
|
360
|
+
this.groupRulesSubject.next(groupMap);
|
|
360
361
|
}
|
|
361
362
|
/**
|
|
362
363
|
* Constructs sorting rules based on the table state.
|
|
363
364
|
* @param state Table state
|
|
364
365
|
*/
|
|
365
366
|
buildSortRulesMap(state = this.getTableState()) {
|
|
366
|
-
this.sortRules$.
|
|
367
|
+
this.sortRules$.set(new Map(state.sortBy.filter((rule) => rule.field).map((rule) => [rule.field, rule])));
|
|
367
368
|
}
|
|
368
369
|
/**
|
|
369
370
|
* Constructs filter rules based on the table state.
|
|
370
371
|
* @param state Table state.
|
|
371
372
|
*/
|
|
372
373
|
buildFilterRulesMap(state = this.getTableState()) {
|
|
373
|
-
this.filterRules$.
|
|
374
|
+
this.filterRules$.set(state.filterBy.reduce((hash, rule) => {
|
|
374
375
|
const key = rule.field;
|
|
375
376
|
if (!hash.has(key)) {
|
|
376
377
|
hash.set(key, []);
|
|
@@ -407,7 +408,7 @@ class TableResponsiveService {
|
|
|
407
408
|
/** @hidden */
|
|
408
409
|
this._responsiveBreakpoints = new Map();
|
|
409
410
|
/** @hidden */
|
|
410
|
-
this.
|
|
411
|
+
this._destroyRef = inject(DestroyRef);
|
|
411
412
|
}
|
|
412
413
|
/**
|
|
413
414
|
* Registers responsive column with it's breakpoint configuration.
|
|
@@ -418,11 +419,6 @@ class TableResponsiveService {
|
|
|
418
419
|
this._responsiveBreakpoints.set(column, this._normalizeBreakpoints(breakpoints));
|
|
419
420
|
this._listenToTableResize();
|
|
420
421
|
}
|
|
421
|
-
/** @hidden */
|
|
422
|
-
ngOnDestroy() {
|
|
423
|
-
this._onDestroy$.next();
|
|
424
|
-
this._onDestroy$.complete();
|
|
425
|
-
}
|
|
426
422
|
/**
|
|
427
423
|
* @hidden
|
|
428
424
|
* Transforms plain breakpoints into a list with minimal/maximal element width with it's visibility state.
|
|
@@ -448,7 +444,7 @@ class TableResponsiveService {
|
|
|
448
444
|
_listenToTableResize() {
|
|
449
445
|
this._resizeSubscription?.unsubscribe();
|
|
450
446
|
this._resizeSubscription = resizeObservable(this._elmRef.nativeElement)
|
|
451
|
-
.pipe(debounceTime(20),
|
|
447
|
+
.pipe(debounceTime(20), takeUntilDestroyed(this._destroyRef))
|
|
452
448
|
.subscribe(() => {
|
|
453
449
|
this._processResponsiveColumns();
|
|
454
450
|
});
|
|
@@ -628,10 +624,6 @@ class TableColumnResizeService {
|
|
|
628
624
|
return this._fixedColumnsWidthMap.size === this._visibleColumnNames.length;
|
|
629
625
|
}
|
|
630
626
|
/** @hidden */
|
|
631
|
-
get _rtl() {
|
|
632
|
-
return this._rtlService?.rtl.getValue();
|
|
633
|
-
}
|
|
634
|
-
/** @hidden */
|
|
635
627
|
constructor(_tableScrollDispatcherService, _rtlService) {
|
|
636
628
|
this._tableScrollDispatcherService = _tableScrollDispatcherService;
|
|
637
629
|
this._rtlService = _rtlService;
|
|
@@ -662,26 +654,26 @@ class TableColumnResizeService {
|
|
|
662
654
|
/** @hidden */
|
|
663
655
|
this._markForCheck = new Subject();
|
|
664
656
|
/** @hidden */
|
|
665
|
-
this._destroyed =
|
|
657
|
+
this._destroyed = inject(DestroyRef);
|
|
666
658
|
/** @hidden */
|
|
667
659
|
this._resizerMoveSubscription = new Subscription();
|
|
668
660
|
/** Resize progress stream. */
|
|
669
661
|
this.resizeInProgress$ = new BehaviorSubject(this._resizeInProgress);
|
|
670
662
|
/** Whether cell mock should be visible. */
|
|
671
|
-
this.cellMockVisible$ =
|
|
663
|
+
this.cellMockVisible$ = signal(false);
|
|
672
664
|
/** Resizer position stream. */
|
|
673
665
|
this.resizerPosition$ = new BehaviorSubject(0);
|
|
666
|
+
/** @hidden */
|
|
667
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
674
668
|
this._tableScrollDispatcherService
|
|
675
669
|
?.horizontallyScrolled()
|
|
676
|
-
.pipe(
|
|
670
|
+
.pipe(takeUntilDestroyed(this._destroyed))
|
|
677
671
|
.subscribe((scrollable) => (this._scrollLeft = scrollable.getScrollLeft()));
|
|
678
672
|
}
|
|
679
673
|
/** @hidden */
|
|
680
674
|
ngOnDestroy() {
|
|
681
675
|
this._resizeInProgress = false;
|
|
682
676
|
this.resizeInProgress$.next(false);
|
|
683
|
-
this._destroyed.next();
|
|
684
|
-
this._destroyed.complete();
|
|
685
677
|
this._resizerMoveSubscription.unsubscribe();
|
|
686
678
|
}
|
|
687
679
|
/** @hidden */
|
|
@@ -776,7 +768,7 @@ class TableColumnResizeService {
|
|
|
776
768
|
this._resizerPosition = null;
|
|
777
769
|
this.resizerPosition$.next(this.resizerPosition);
|
|
778
770
|
if (resizerPosition != null) {
|
|
779
|
-
const scrollLeftOffset = this._scrollLeft * (this._rtl ? 1 : -1);
|
|
771
|
+
const scrollLeftOffset = this._scrollLeft * (this._rtl$() ? 1 : -1);
|
|
780
772
|
this._resizerPosition = resizerPosition - TABLE_RESIZER_BORDER_WIDTH + scrollLeftOffset;
|
|
781
773
|
this.resizerPosition$.next(this.resizerPosition);
|
|
782
774
|
}
|
|
@@ -808,7 +800,7 @@ class TableColumnResizeService {
|
|
|
808
800
|
this.resizerPosition$.next(this.resizerPosition);
|
|
809
801
|
if (this._startX != null) {
|
|
810
802
|
const clientStartX = this._clientStartX ?? 0;
|
|
811
|
-
const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
803
|
+
const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
812
804
|
this._processResize(diffX);
|
|
813
805
|
}
|
|
814
806
|
this._startX = null;
|
|
@@ -854,8 +846,8 @@ class TableColumnResizeService {
|
|
|
854
846
|
const updatedWidth = columnWidth + diffX;
|
|
855
847
|
this._fixedColumnsWidthMap.set(this._resizedColumn, updatedWidth + 'px');
|
|
856
848
|
this.updateFrozenColumnsWidthAfterResize(this._resizedColumn, diffX);
|
|
857
|
-
const
|
|
858
|
-
const padding = parseInt(
|
|
849
|
+
const computedStyles = window.getComputedStyle(resizedElement);
|
|
850
|
+
const padding = parseInt(computedStyles.paddingLeft, 10) + parseInt(computedStyles.paddingRight, 10);
|
|
859
851
|
this._updateHeaderOverflowState(updatedWidth - padding);
|
|
860
852
|
this._markForCheck.next();
|
|
861
853
|
}
|
|
@@ -865,7 +857,7 @@ class TableColumnResizeService {
|
|
|
865
857
|
.pipe(debounceTime(10))
|
|
866
858
|
.subscribe((event) => {
|
|
867
859
|
const clientStartX = this._clientStartX ?? 0;
|
|
868
|
-
const diffX = this._rtl ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
860
|
+
const diffX = this._rtl$() ? clientStartX - event.clientX : event.clientX - clientStartX;
|
|
869
861
|
this._resizerPosition = (this._startX ?? 0) + diffX;
|
|
870
862
|
this.resizerPosition$.next(this.resizerPosition);
|
|
871
863
|
this._markForCheck.next();
|
|
@@ -909,15 +901,13 @@ class PlatformTableCellResizableDirective extends TableCellDirective {
|
|
|
909
901
|
this._resizableSide = value;
|
|
910
902
|
}
|
|
911
903
|
/** @hidden */
|
|
912
|
-
get _isRtl() {
|
|
913
|
-
return this._rtlService?.rtl.getValue() ?? false;
|
|
914
|
-
}
|
|
915
|
-
/** @hidden */
|
|
916
904
|
constructor() {
|
|
917
905
|
super();
|
|
918
906
|
/** @hidden */
|
|
919
907
|
this._resizableSide = 'both';
|
|
920
908
|
/** @hidden */
|
|
909
|
+
this._rtl$ = computed(() => !!this._rtlService?.rtlSignal());
|
|
910
|
+
/** @hidden */
|
|
921
911
|
this._tableColumnResizeService = inject(TableColumnResizeService);
|
|
922
912
|
/** @hidden */
|
|
923
913
|
this._rtlService = inject(RtlService, {
|
|
@@ -956,20 +946,20 @@ class PlatformTableCellResizableDirective extends TableCellDirective {
|
|
|
956
946
|
const elPosition = el.getBoundingClientRect();
|
|
957
947
|
let resizerPosition;
|
|
958
948
|
let resizedColumn;
|
|
959
|
-
const pointerOnLeft = this.
|
|
949
|
+
const pointerOnLeft = this._rtl$()
|
|
960
950
|
? elPosition.right - event.clientX < TABLE_CELL_RESIZABLE_THRESHOLD_PX
|
|
961
951
|
: event.clientX - elPosition.left < TABLE_CELL_RESIZABLE_THRESHOLD_PX;
|
|
962
952
|
if (pointerOnLeft && this._resizableSide !== 'end') {
|
|
963
|
-
resizerPosition = this.
|
|
953
|
+
resizerPosition = this._rtl$()
|
|
964
954
|
? el.parentElement.offsetWidth - (el.offsetLeft + el.offsetWidth)
|
|
965
955
|
: el.offsetLeft;
|
|
966
956
|
resizedColumn = this._tableColumnResizeService.getPreviousColumnName(this.columnName);
|
|
967
957
|
}
|
|
968
|
-
const pointerOnRight = this.
|
|
958
|
+
const pointerOnRight = this._rtl$()
|
|
969
959
|
? event.clientX - elPosition.left < TABLE_CELL_RESIZABLE_THRESHOLD_PX
|
|
970
960
|
: elPosition.right - event.clientX < TABLE_CELL_RESIZABLE_THRESHOLD_PX;
|
|
971
961
|
if (pointerOnRight && this._resizableSide !== 'start') {
|
|
972
|
-
resizerPosition = this.
|
|
962
|
+
resizerPosition = this._rtl$()
|
|
973
963
|
? el.parentElement.offsetWidth - el.offsetLeft
|
|
974
964
|
: el.offsetLeft + el.offsetWidth;
|
|
975
965
|
resizedColumn = this.columnName;
|
|
@@ -1941,7 +1931,7 @@ class TableDataSourceDirective extends DataSourceDirective {
|
|
|
1941
1931
|
/** Event emitted when data loading is finished. */
|
|
1942
1932
|
this.onDataReceived = new EventEmitter();
|
|
1943
1933
|
/** Total items count stream. */
|
|
1944
|
-
this.totalItems$ =
|
|
1934
|
+
this.totalItems$ = signal(0);
|
|
1945
1935
|
/** Items stream. */
|
|
1946
1936
|
this.items$ = new BehaviorSubject([]);
|
|
1947
1937
|
/** Child items stream. */
|
|
@@ -1975,10 +1965,10 @@ class TableDataSourceDirective extends DataSourceDirective {
|
|
|
1975
1965
|
}
|
|
1976
1966
|
/** @hidden */
|
|
1977
1967
|
set totalItems(value) {
|
|
1978
|
-
this.totalItems$.
|
|
1968
|
+
this.totalItems$.set(value);
|
|
1979
1969
|
}
|
|
1980
1970
|
get totalItems() {
|
|
1981
|
-
return this.totalItems
|
|
1971
|
+
return this.totalItems$();
|
|
1982
1972
|
}
|
|
1983
1973
|
/** @hidden */
|
|
1984
1974
|
initializeDataSource() {
|
|
@@ -2040,7 +2030,7 @@ class TableDataSourceDirective extends DataSourceDirective {
|
|
|
2040
2030
|
throw new Error(`[TableDataSource] source did not match an Array, Observable, nor DataSource`);
|
|
2041
2031
|
}
|
|
2042
2032
|
this._tableDsSubscription.add(this.dataChanged$.subscribe((items) => {
|
|
2043
|
-
this.totalItems$.
|
|
2033
|
+
this.totalItems$.set(dataSourceStream.dataProvider.totalItems);
|
|
2044
2034
|
this.items$.next(items);
|
|
2045
2035
|
}));
|
|
2046
2036
|
this._tableDsSubscription.add(dataSourceStream.onDataRequested().subscribe(() => {
|