@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.
Files changed (147) hide show
  1. package/esm2022/form/combobox/combobox-mobile/combobox/combobox-mobile.component.mjs +6 -8
  2. package/esm2022/form/combobox/commons/base-combobox.mjs +6 -5
  3. package/esm2022/form/form-generator/form-generator/form-generator.component.mjs +8 -8
  4. package/esm2022/form/form-generator/form-generator.service.mjs +8 -13
  5. package/esm2022/form/form-group/form-field/form-field.component.mjs +27 -29
  6. package/esm2022/form/form-group/form-group.component.mjs +37 -40
  7. package/esm2022/form/multi-combobox/commons/base-multi-combobox.mjs +9 -8
  8. package/esm2022/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +3 -3
  9. package/esm2022/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.mjs +10 -13
  10. package/esm2022/form/multi-combobox/multi-combobox.interface.mjs +1 -1
  11. package/esm2022/form/multi-input/base-multi-input.mjs +5 -4
  12. package/esm2022/form/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +4 -7
  13. package/esm2022/form/radio-group/radio-group.component.mjs +23 -24
  14. package/esm2022/form/select/commons/base-select.mjs +3 -3
  15. package/esm2022/form/step-input/base.step-input.mjs +25 -35
  16. package/esm2022/form/step-input/number/number-step-input.component.mjs +3 -3
  17. package/esm2022/form/step-input/step-input-action-button.mjs +6 -10
  18. package/esm2022/icon-tab-bar/components/icon-tab-bar-base.class.mjs +6 -8
  19. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.mjs +10 -19
  20. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.mjs +7 -9
  21. package/esm2022/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.mjs +7 -8
  22. package/esm2022/icon-tab-bar/icon-tab-bar.component.mjs +9 -20
  23. package/esm2022/list/list.component.mjs +7 -8
  24. package/esm2022/menu/menu.component.mjs +3 -4
  25. package/esm2022/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.mjs +8 -11
  26. package/esm2022/message-popover/message-popover.component.mjs +52 -53
  27. package/esm2022/message-popover/models/message-popover-wrapper.interface.mjs +1 -1
  28. package/esm2022/search-field/search-field-mobile/search-field/search-field-mobile.component.mjs +3 -7
  29. package/esm2022/search-field/search-field.component.mjs +20 -21
  30. package/esm2022/settings-generator/settings-generator.service.mjs +9 -10
  31. package/esm2022/shared/form/base.input.mjs +7 -8
  32. package/esm2022/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.mjs +10 -15
  33. package/esm2022/split-menu-button/split-menu-button.component.mjs +7 -18
  34. package/esm2022/table/components/reset-button/reset-button.component.mjs +5 -6
  35. package/esm2022/table/components/table-cell-header-popover/table-cell-header-popover.component.mjs +6 -7
  36. package/esm2022/table/components/table-column-resizer/table-column-resizer.component.mjs +6 -8
  37. package/esm2022/table/components/table-group-row/table-group-row.component.mjs +3 -7
  38. package/esm2022/table/components/table-header-cell-content/table-header-cell-content.component.mjs +29 -13
  39. package/esm2022/table/components/table-header-row/table-header-row.component.mjs +7 -11
  40. package/esm2022/table/components/table-p13-dialog/columns/columns.component.mjs +5 -7
  41. package/esm2022/table/components/table-p13-dialog/filtering/filtering.component.mjs +5 -8
  42. package/esm2022/table/components/table-p13-dialog/grouping/grouping.component.mjs +5 -8
  43. package/esm2022/table/components/table-p13-dialog/sorting/sorting.component.mjs +5 -8
  44. package/esm2022/table/components/table-popping-row/table-popping-row.component.mjs +4 -5
  45. package/esm2022/table/components/table-row/table-row.component.mjs +6 -13
  46. package/esm2022/table/components/table-toolbar/table-toolbar.component.mjs +34 -21
  47. package/esm2022/table/components/table-view-settings-dialog/filtering/filters.component.mjs +5 -8
  48. package/esm2022/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +6 -9
  49. package/esm2022/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +6 -9
  50. package/esm2022/table/table.component.mjs +39 -49
  51. package/esm2022/table-helpers/directives/table-cell-header-popover.directive.mjs +1 -1
  52. package/esm2022/table-helpers/directives/table-cell-resizable.directive.mjs +8 -10
  53. package/esm2022/table-helpers/directives/table-data-source.directive.mjs +6 -6
  54. package/esm2022/table-helpers/services/table-column-resize.service.mjs +14 -17
  55. package/esm2022/table-helpers/services/table-responsive.service.mjs +6 -11
  56. package/esm2022/table-helpers/services/table.service.mjs +20 -18
  57. package/esm2022/value-help-dialog/value-help-dialog/value-help-dialog.component.mjs +10 -18
  58. package/esm2022/wizard-generator/base-wizard-generator.mjs +12 -19
  59. package/esm2022/wizard-generator/components/dialog-wizard-generator/dialog-wizard-generator.component.mjs +5 -4
  60. package/esm2022/wizard-generator/components/wizard-body/wizard-body.component.mjs +7 -13
  61. package/esm2022/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.mjs +8 -7
  62. package/fesm2022/fundamental-ngx-platform-form.mjs +137 -174
  63. package/fesm2022/fundamental-ngx-platform-form.mjs.map +1 -1
  64. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs +24 -46
  65. package/fesm2022/fundamental-ngx-platform-icon-tab-bar.mjs.map +1 -1
  66. package/fesm2022/fundamental-ngx-platform-list.mjs +6 -7
  67. package/fesm2022/fundamental-ngx-platform-list.mjs.map +1 -1
  68. package/fesm2022/fundamental-ngx-platform-menu.mjs +3 -3
  69. package/fesm2022/fundamental-ngx-platform-menu.mjs.map +1 -1
  70. package/fesm2022/fundamental-ngx-platform-message-popover.mjs +57 -60
  71. package/fesm2022/fundamental-ngx-platform-message-popover.mjs.map +1 -1
  72. package/fesm2022/fundamental-ngx-platform-search-field.mjs +21 -38
  73. package/fesm2022/fundamental-ngx-platform-search-field.mjs.map +1 -1
  74. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs +6 -8
  75. package/fesm2022/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
  76. package/fesm2022/fundamental-ngx-platform-shared.mjs +6 -7
  77. package/fesm2022/fundamental-ngx-platform-shared.mjs.map +1 -1
  78. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs +9 -15
  79. package/fesm2022/fundamental-ngx-platform-smart-filter-bar.mjs.map +1 -1
  80. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs +6 -17
  81. package/fesm2022/fundamental-ngx-platform-split-menu-button.mjs.map +1 -1
  82. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs +42 -52
  83. package/fesm2022/fundamental-ngx-platform-table-helpers.mjs.map +1 -1
  84. package/fesm2022/fundamental-ngx-platform-table.mjs +145 -157
  85. package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
  86. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs +9 -17
  87. package/fesm2022/fundamental-ngx-platform-value-help-dialog.mjs.map +1 -1
  88. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs +20 -33
  89. package/fesm2022/fundamental-ngx-platform-wizard-generator.mjs.map +1 -1
  90. package/form/combobox/combobox-mobile/combobox/combobox-mobile.component.d.ts +2 -4
  91. package/form/form-generator/form-generator/form-generator.component.d.ts +1 -1
  92. package/form/form-generator/form-generator.service.d.ts +3 -7
  93. package/form/form-group/form-field/form-field.component.d.ts +12 -12
  94. package/form/form-group/form-group.component.d.ts +35 -31
  95. package/form/multi-combobox/commons/base-multi-combobox.d.ts +2 -2
  96. package/form/multi-combobox/multi-combobox-mobile/multi-combobox/multi-combobox-mobile.component.d.ts +3 -5
  97. package/form/multi-combobox/multi-combobox.interface.d.ts +3 -3
  98. package/form/multi-input/multi-input-mobile/multi-input-mobile.component.d.ts +2 -4
  99. package/form/radio-group/radio-group.component.d.ts +3 -3
  100. package/form/step-input/base.step-input.d.ts +5 -6
  101. package/form/step-input/step-input-action-button.d.ts +4 -7
  102. package/fundamental-ngx-platform-v0.48.0-rc.23.tgz +0 -0
  103. package/icon-tab-bar/components/icon-tab-bar-base.class.d.ts +1 -1
  104. package/icon-tab-bar/directives/dnd/icon-bar-dnd-container.directive.d.ts +5 -8
  105. package/icon-tab-bar/directives/dnd/icon-bar-dnd-item.directive.d.ts +1 -1
  106. package/icon-tab-bar/directives/dnd/icon-bar-dnd-list.directive.d.ts +1 -1
  107. package/icon-tab-bar/icon-tab-bar.component.d.ts +4 -6
  108. package/list/list.component.d.ts +1 -3
  109. package/message-popover/components/message-popover-form-wrapper/message-popover-form-wrapper.component.d.ts +2 -4
  110. package/message-popover/message-popover.component.d.ts +13 -20
  111. package/message-popover/models/message-popover-wrapper.interface.d.ts +2 -2
  112. package/package.json +4 -4
  113. package/search-field/search-field-mobile/search-field/search-field-mobile.component.d.ts +4 -6
  114. package/search-field/search-field.component.d.ts +6 -4
  115. package/settings-generator/settings-generator.service.d.ts +1 -1
  116. package/shared/form/base.input.d.ts +2 -2
  117. package/smart-filter-bar/components/smart-filter-bar-settings-dialog/smart-filter-bar-settings-dialog.component.d.ts +4 -8
  118. package/split-menu-button/split-menu-button.component.d.ts +3 -8
  119. package/table/components/reset-button/reset-button.component.d.ts +2 -3
  120. package/table/components/table-cell-header-popover/table-cell-header-popover.component.d.ts +1 -2
  121. package/table/components/table-column-resizer/table-column-resizer.component.d.ts +1 -1
  122. package/table/components/table-group-row/table-group-row.component.d.ts +2 -5
  123. package/table/components/table-header-cell-content/table-header-cell-content.component.d.ts +11 -6
  124. package/table/components/table-header-row/table-header-row.component.d.ts +1 -1
  125. package/table/components/table-p13-dialog/columns/columns.component.d.ts +2 -4
  126. package/table/components/table-p13-dialog/filtering/filtering.component.d.ts +1 -4
  127. package/table/components/table-p13-dialog/grouping/grouping.component.d.ts +1 -4
  128. package/table/components/table-p13-dialog/sorting/sorting.component.d.ts +1 -4
  129. package/table/components/table-row/table-row.component.d.ts +2 -2
  130. package/table/components/table-toolbar/table-toolbar.component.d.ts +20 -7
  131. package/table/components/table-view-settings-dialog/filtering/filters.component.d.ts +1 -4
  132. package/table/components/table-view-settings-dialog/grouping/grouping.component.d.ts +1 -4
  133. package/table/components/table-view-settings-dialog/sorting/sorting.component.d.ts +1 -4
  134. package/table/table.component.d.ts +4 -18
  135. package/table-helpers/directives/table-cell-header-popover.directive.d.ts +2 -3
  136. package/table-helpers/directives/table-cell-resizable.directive.d.ts +1 -1
  137. package/table-helpers/directives/table-data-source.directive.d.ts +1 -1
  138. package/table-helpers/services/table-column-resize.service.d.ts +2 -2
  139. package/table-helpers/services/table-responsive.service.d.ts +3 -5
  140. package/table-helpers/services/table.service.d.ts +12 -10
  141. package/value-help-dialog/value-help-dialog/value-help-dialog.component.d.ts +2 -1
  142. package/wizard-generator/base-wizard-generator.d.ts +4 -8
  143. package/wizard-generator/components/wizard-body/wizard-body.component.d.ts +3 -7
  144. package/wizard-generator/components/wizard-generator-step/wizard-generator-step.component.d.ts +1 -1
  145. package/esm2022/search-field/search-field-mobile/search-field-mobile.module.mjs +0 -16
  146. package/fundamental-ngx-platform-v0.48.0-rc.21.tgz +0 -0
  147. 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._rtlChangeSubscription = Subscription.EMPTY;
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":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, InjectionToken, Injectable, Inject, Directive, Optional, Input, inject, HostListener, Output, NgZone, ChangeDetectorRef, forwardRef, HostBinding, DestroyRef, ElementRef, Pipe, NgModule } from '@angular/core';
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$ = new BehaviorSubject('');
75
+ this._semanticHighlighting$ = signal('');
76
76
  /** @hidden */
77
- this._isFilteringFromHeaderDisabled$ = new BehaviorSubject(false);
77
+ this._isFilteringFromHeaderDisabled$ = signal(false);
78
78
  /** @hidden */
79
- this._isShownNavigationColumn$ = new BehaviorSubject(false);
79
+ this._isShownNavigationColumn$ = signal(false);
80
80
  /** @hidden */
81
- this._semanticHighlightingColumnWidth$ = new BehaviorSubject(0);
81
+ this._semanticHighlightingColumnWidth$ = signal(0);
82
82
  /** Visible columns stream. */
83
- this.visibleColumns$ = new BehaviorSubject([]);
83
+ this.visibleColumns$ = signal([]);
84
84
  /** Visible columns length. */
85
- this.visibleColumnsLength = 0;
85
+ this.visibleColumnsLength = computed(() => this.visibleColumns$().length);
86
86
  /** Popping columns stream. */
87
- this.poppingColumns$ = new BehaviorSubject([]);
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$ = new BehaviorSubject(new Map());
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$ = new BehaviorSubject(new Map());
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.groupRules$ = new BehaviorSubject(new Map());
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$.next(columns);
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$.next(columns);
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.groupRules$.next(groupMap);
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$.next(new Map(state.sortBy.filter((rule) => rule.field).map((rule) => [rule.field, rule])));
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$.next(state.filterBy.reduce((hash, rule) => {
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._onDestroy$ = new Subject();
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), takeUntil(this._onDestroy$))
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 = new Subject();
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$ = new BehaviorSubject(false);
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(takeUntil(this._destroyed))
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 computed = window.getComputedStyle(resizedElement);
858
- const padding = parseInt(computed.paddingLeft, 10) + parseInt(computed.paddingRight, 10);
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._isRtl
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._isRtl
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._isRtl
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._isRtl
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$ = new BehaviorSubject(0);
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$.next(value);
1968
+ this.totalItems$.set(value);
1979
1969
  }
1980
1970
  get totalItems() {
1981
- return this.totalItems$.value;
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$.next(dataSourceStream.dataProvider.totalItems);
2033
+ this.totalItems$.set(dataSourceStream.dataProvider.totalItems);
2044
2034
  this.items$.next(items);
2045
2035
  }));
2046
2036
  this._tableDsSubscription.add(dataSourceStream.onDataRequested().subscribe(() => {