@fundamental-ngx/platform 0.62.0-rc.26 → 0.62.0-rc.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-platform-button.mjs +12 -2
- package/fesm2022/fundamental-ngx-platform-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-platform-table.mjs +11 -2
- package/fesm2022/fundamental-ngx-platform-table.mjs.map +1 -1
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/types/fundamental-ngx-platform-button.d.ts +10 -0
- package/types/fundamental-ngx-platform-table.d.ts +2 -0
|
@@ -80,6 +80,16 @@ class ButtonComponent {
|
|
|
80
80
|
this._effectiveFdType = computed(() => this.buttonType() || this.fdType(), ...(ngDevMode ? [{ debugName: "_effectiveFdType" }] : []));
|
|
81
81
|
/** @hidden Computed to determine effective toggled state */
|
|
82
82
|
this._effectiveToggled = computed(() => this.toggled() || this.ariaPressed() || this.ariaSelected(), ...(ngDevMode ? [{ debugName: "_effectiveToggled" }] : []));
|
|
83
|
+
/**
|
|
84
|
+
* Computed accessible name for the button.
|
|
85
|
+
* Follows ARIA accessible name computation priority:
|
|
86
|
+
* 1. aria-label input
|
|
87
|
+
* 2. title input (commonly used for icon-only buttons)
|
|
88
|
+
* 3. label input (visible text)
|
|
89
|
+
* 4. glyph name as fallback (e.g., "decline" -> "decline")
|
|
90
|
+
* @hidden
|
|
91
|
+
*/
|
|
92
|
+
this.accessibleName = computed(() => this.ariaLabel() || this.title() || this.label() || this.glyph() || null, ...(ngDevMode ? [{ debugName: "accessibleName" }] : []));
|
|
83
93
|
warnOnce("Platform's ButtonComponent is deprecated and will be removed in the next major release. Consider using Core's ButtonComponent instead.");
|
|
84
94
|
// Warn about deprecated inputs
|
|
85
95
|
effect(() => {
|
|
@@ -143,7 +153,7 @@ class ButtonComponent {
|
|
|
143
153
|
provide: FDP_BUTTON,
|
|
144
154
|
useExisting: ButtonComponent
|
|
145
155
|
}
|
|
146
|
-
], ngImport: i0, template: "<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"
|
|
156
|
+
], ngImport: i0, template: "<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"accessibleName()\"\n [attr.aria-controls]=\"ariaControlsId()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-disabled]=\"ariaDisabled()\"\n [attr.title]=\"!!glyph() && !label() ? title() : null\"\n [attr.value]=\"value()\"\n [glyphPosition]=\"glyphPosition()\"\n [label]=\"label()\"\n [type]=\"type()\"\n [toggled]=\"_effectiveToggled()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n [disabled]=\"disabled()\"\n [fdType]=\"_effectiveFdType()\"\n class=\"fd-ellipsis\"\n [class.is-disabled]=\"ariaDisabled()\"\n [style.width]=\"width()\"\n (click)=\"onBtnClick($event)\"\n></button>\n", styles: [":host{display:inline-block}:host(:focus){outline:none}.fd-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\n"], dependencies: [{ kind: "component", type: ButtonComponent$1, selector: "button[fd-button], a[fd-button], span[fd-button]", inputs: ["id"], exportAs: ["fd-button"] }] }); }
|
|
147
157
|
}
|
|
148
158
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
149
159
|
type: Component,
|
|
@@ -155,7 +165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
155
165
|
], imports: [ButtonComponent$1], host: {
|
|
156
166
|
role: 'button',
|
|
157
167
|
'[attr.tabindex]': '-1'
|
|
158
|
-
}, template: "<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"
|
|
168
|
+
}, template: "<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"accessibleName()\"\n [attr.aria-controls]=\"ariaControlsId()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-disabled]=\"ariaDisabled()\"\n [attr.title]=\"!!glyph() && !label() ? title() : null\"\n [attr.value]=\"value()\"\n [glyphPosition]=\"glyphPosition()\"\n [label]=\"label()\"\n [type]=\"type()\"\n [toggled]=\"_effectiveToggled()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n [disabled]=\"disabled()\"\n [fdType]=\"_effectiveFdType()\"\n class=\"fd-ellipsis\"\n [class.is-disabled]=\"ariaDisabled()\"\n [style.width]=\"width()\"\n (click)=\"onBtnClick($event)\"\n></button>\n", styles: [":host{display:inline-block}:host(:focus){outline:none}.fd-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}\n"] }]
|
|
159
169
|
}], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }], glyphPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "glyphPosition", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], glyph: [{ type: i0.Input, args: [{ isSignal: true, alias: "glyph", required: false }] }], glyphFont: [{ type: i0.Input, args: [{ isSignal: true, alias: "glyphFont", required: false }] }], fdType: [{ type: i0.Input, args: [{ isSignal: true, alias: "fdType", required: false }] }], buttonType: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonType", required: false }] }], toggled: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggled", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], ariaSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaSelected", required: false }] }], ariaDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDisabled", required: false }] }], ariaExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaExpanded", required: false }] }], ariaControlsId: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaControlsId", required: false }] }], ariaPressed: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaPressed", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], buttonClicked: [{ type: i0.Output, args: ["buttonClicked"] }] } });
|
|
160
170
|
class DeprecatedButtonAriaSelected {
|
|
161
171
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-platform-button.mjs","sources":["../../../../libs/platform/button/tokens.ts","../../../../libs/platform/button/button.component.ts","../../../../libs/platform/button/button.component.html","../../../../libs/platform/button/button.module.ts","../../../../libs/platform/button/fundamental-ngx-platform-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FDP_BUTTON = new InjectionToken('FdpButtonComponent');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, booleanAttribute, computed, effect, input, output } from '@angular/core';\n\nimport { ModuleDeprecation, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { ButtonType, ButtonComponent as CoreButtonComponent, GlyphPosition } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { ButtonModel } from './button.model';\nimport { FDP_BUTTON } from './tokens';\n\nlet platformButtonId = 0;\n\n/**\n * @deprecated\n * Button component is deprecated. Use `fd-button` from `@fundamental-ngx/core` instead.\n */\n@Component({\n selector: 'fdp-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n providers: [\n {\n provide: FDP_BUTTON,\n useExisting: ButtonComponent\n }\n ],\n imports: [CoreButtonComponent],\n host: {\n role: 'button',\n '[attr.tabindex]': '-1'\n }\n})\nexport class ButtonComponent implements ButtonModel {\n /** Button ID - default value is provided if not set */\n readonly id = input(`fdp-button-${++platformButtonId}`);\n\n /** Name for the element */\n readonly name = input<string>();\n\n /** Width of the element */\n readonly width = input<string>();\n\n /** Disabled status of the element */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Sets the `aria-label` attribute to the element */\n readonly ariaLabel = input<string>();\n\n /** Sets the `aria-labelledby` attribute to the element */\n readonly ariaLabelledBy = input<string>();\n\n /** Sets the `aria-describedby` attribute to the element */\n readonly ariaDescribedBy = input<string>();\n\n /** Position of glyph related to text */\n readonly glyphPosition = input<GlyphPosition>('before');\n\n /** Text rendered inside button component */\n readonly label = input<string>();\n\n /** The icon to include in the button. See the icon page for the list of icons */\n readonly glyph = input<string>();\n\n /** Glyph font family */\n readonly glyphFont = input<IconFont>(FD_DEFAULT_ICON_FONT_FAMILY);\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).\n * Default value is set to 'standard'\n */\n readonly fdType = input<ButtonType>('standard');\n\n /**\n * @deprecated\n * Use `fdType` property.\n * The buttonType of the button. Types includes\n * 'standard','positive', 'negative', 'attention', 'ghost',\n * 'transparent', 'emphasized','menu'.\n * Leave empty for default (standard button).\n */\n readonly buttonType = input<ButtonType>();\n\n /** Whether button is in toggled state */\n readonly toggled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** arialabel, tooltip for button, intended to be used when the button only contains an icon */\n readonly title = input<string>();\n\n /** @deprecated use toggled input property instead\n * aria-selected for accessibility to the native HTML button\n */\n readonly ariaSelected = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** aria-disabled for accessibility to the native HTML button */\n readonly ariaDisabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** propagate aria-expanded for accessibility to the native HTML button */\n readonly ariaExpanded = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** propagate aria-controls for accessibility to the native HTML button */\n readonly ariaControlsId = input<string>();\n\n /** @deprecated use toggled input property instead\n * propagate aria-pressed for accessibility to the native HTML button\n */\n readonly ariaPressed = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Specifies the type to the native HTML button */\n readonly type = input<string>();\n\n /** Specifies an initial value to the native HTML button */\n readonly value = input<string>();\n\n /** Event sent when button is clicked */\n readonly buttonClicked = output<any>();\n\n /** @hidden Computed to determine effective fdType (buttonType overrides fdType if provided) */\n protected readonly _effectiveFdType = computed(() => this.buttonType() || this.fdType());\n\n /** @hidden Computed to determine effective toggled state */\n protected readonly _effectiveToggled = computed(() => this.toggled() || this.ariaPressed() || this.ariaSelected());\n\n /** @hidden */\n constructor() {\n warnOnce(\n \"Platform's ButtonComponent is deprecated and will be removed in the next major release. Consider using Core's ButtonComponent instead.\"\n );\n\n // Warn about deprecated inputs\n effect(() => {\n if (this.ariaSelected()) {\n warnOnce('Property ariaSelected is deprecated. Use `toggled` input property instead.');\n }\n });\n\n effect(() => {\n if (this.ariaPressed()) {\n warnOnce('Property ariaPressed is deprecated. Use `toggled` input property instead.');\n }\n });\n }\n\n /**\n * Programmatically set the disabled state.\n * Implements ButtonModel interface.\n * Note: Cannot directly set signal inputs. This method exists for interface compatibility.\n */\n setDisabled(_value: boolean): void {\n console.warn('setDisabled() cannot modify signal input. Use template binding [disabled]=\"value\" instead.');\n }\n\n /**\n * Get the current disabled state.\n * Implements ButtonModel interface.\n */\n isDisabled(): boolean {\n return this.disabled();\n }\n\n /**\n * Programmatically set the button type.\n * Implements ButtonModel interface.\n * Note: Cannot directly set signal inputs. This method exists for interface compatibility.\n */\n setFdType(_value: ButtonType): void {\n console.warn('setFdType() cannot modify signal input. Use template binding [fdType]=\"value\" instead.');\n }\n\n /**\n * Get the current button type.\n * Implements ButtonModel interface.\n */\n getFdType(): ButtonType {\n return this._effectiveFdType();\n }\n\n /**\n * No-op method for interface compatibility.\n * Implements ButtonModel interface.\n * Signal-based components don't need manual change detection.\n */\n markForCheck(): void {\n // No-op: signals automatically trigger change detection\n }\n\n /**\n * Handles button click\n */\n protected onBtnClick($event: any): void {\n this.buttonClicked.emit($event);\n }\n}\n\nexport class DeprecatedButtonAriaSelected implements ModuleDeprecation {\n /** @hidden */\n message = 'ariaSelected input property is deprecated.';\n\n /** @hidden */\n alternative = {\n name: 'Use [toggled] input property instead',\n link: ['/platform', 'button'],\n fragment: 'state'\n };\n}\n\nexport class DeprecatedButtonAriaPressed implements ModuleDeprecation {\n /** @hidden */\n message = 'ariaPressed input property is deprecated.';\n\n /** @hidden */\n alternative = {\n name: 'Use [toggled] input property instead',\n link: ['/platform', 'button'],\n fragment: 'state'\n };\n}\n","<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"ariaLabel()\"\n [attr.aria-controls]=\"ariaControlsId()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-disabled]=\"ariaDisabled()\"\n [attr.title]=\"!!glyph() && !label() ? title() : null\"\n [attr.value]=\"value()\"\n [glyphPosition]=\"glyphPosition()\"\n [label]=\"label()\"\n [type]=\"type()\"\n [toggled]=\"_effectiveToggled()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n [disabled]=\"disabled()\"\n [fdType]=\"_effectiveFdType()\"\n class=\"fd-ellipsis\"\n [class.is-disabled]=\"ariaDisabled()\"\n [style.width]=\"width()\"\n (click)=\"onBtnClick($event)\"\n></button>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ButtonComponent } from './button.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ButtonComponent, ContentDensityModule],\n exports: [ButtonComponent, ContentDensityModule]\n})\nexport class PlatformButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CoreButtonComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-platform-button.mjs","sources":["../../../../libs/platform/button/tokens.ts","../../../../libs/platform/button/button.component.ts","../../../../libs/platform/button/button.component.html","../../../../libs/platform/button/button.module.ts","../../../../libs/platform/button/fundamental-ngx-platform-button.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FDP_BUTTON = new InjectionToken('FdpButtonComponent');\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, booleanAttribute, computed, effect, input, output } from '@angular/core';\n\nimport { ModuleDeprecation, warnOnce } from '@fundamental-ngx/cdk/utils';\nimport { ButtonType, ButtonComponent as CoreButtonComponent, GlyphPosition } from '@fundamental-ngx/core/button';\nimport { FD_DEFAULT_ICON_FONT_FAMILY, IconFont } from '@fundamental-ngx/core/icon';\nimport { ButtonModel } from './button.model';\nimport { FDP_BUTTON } from './tokens';\n\nlet platformButtonId = 0;\n\n/**\n * @deprecated\n * Button component is deprecated. Use `fd-button` from `@fundamental-ngx/core` instead.\n */\n@Component({\n selector: 'fdp-button',\n templateUrl: './button.component.html',\n styleUrl: './button.component.scss',\n providers: [\n {\n provide: FDP_BUTTON,\n useExisting: ButtonComponent\n }\n ],\n imports: [CoreButtonComponent],\n host: {\n role: 'button',\n '[attr.tabindex]': '-1'\n }\n})\nexport class ButtonComponent implements ButtonModel {\n /** Button ID - default value is provided if not set */\n readonly id = input(`fdp-button-${++platformButtonId}`);\n\n /** Name for the element */\n readonly name = input<string>();\n\n /** Width of the element */\n readonly width = input<string>();\n\n /** Disabled status of the element */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Sets the `aria-label` attribute to the element */\n readonly ariaLabel = input<string>();\n\n /** Sets the `aria-labelledby` attribute to the element */\n readonly ariaLabelledBy = input<string>();\n\n /** Sets the `aria-describedby` attribute to the element */\n readonly ariaDescribedBy = input<string>();\n\n /** Position of glyph related to text */\n readonly glyphPosition = input<GlyphPosition>('before');\n\n /** Text rendered inside button component */\n readonly label = input<string>();\n\n /** The icon to include in the button. See the icon page for the list of icons */\n readonly glyph = input<string>();\n\n /** Glyph font family */\n readonly glyphFont = input<IconFont>(FD_DEFAULT_ICON_FONT_FAMILY);\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).\n * Default value is set to 'standard'\n */\n readonly fdType = input<ButtonType>('standard');\n\n /**\n * @deprecated\n * Use `fdType` property.\n * The buttonType of the button. Types includes\n * 'standard','positive', 'negative', 'attention', 'ghost',\n * 'transparent', 'emphasized','menu'.\n * Leave empty for default (standard button).\n */\n readonly buttonType = input<ButtonType>();\n\n /** Whether button is in toggled state */\n readonly toggled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** arialabel, tooltip for button, intended to be used when the button only contains an icon */\n readonly title = input<string>();\n\n /** @deprecated use toggled input property instead\n * aria-selected for accessibility to the native HTML button\n */\n readonly ariaSelected = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** aria-disabled for accessibility to the native HTML button */\n readonly ariaDisabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** propagate aria-expanded for accessibility to the native HTML button */\n readonly ariaExpanded = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** propagate aria-controls for accessibility to the native HTML button */\n readonly ariaControlsId = input<string>();\n\n /** @deprecated use toggled input property instead\n * propagate aria-pressed for accessibility to the native HTML button\n */\n readonly ariaPressed = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /** Specifies the type to the native HTML button */\n readonly type = input<string>();\n\n /** Specifies an initial value to the native HTML button */\n readonly value = input<string>();\n\n /** Event sent when button is clicked */\n readonly buttonClicked = output<any>();\n\n /** @hidden Computed to determine effective fdType (buttonType overrides fdType if provided) */\n protected readonly _effectiveFdType = computed(() => this.buttonType() || this.fdType());\n\n /** @hidden Computed to determine effective toggled state */\n protected readonly _effectiveToggled = computed(() => this.toggled() || this.ariaPressed() || this.ariaSelected());\n\n /**\n * Computed accessible name for the button.\n * Follows ARIA accessible name computation priority:\n * 1. aria-label input\n * 2. title input (commonly used for icon-only buttons)\n * 3. label input (visible text)\n * 4. glyph name as fallback (e.g., \"decline\" -> \"decline\")\n * @hidden\n */\n protected readonly accessibleName = computed(\n () => this.ariaLabel() || this.title() || this.label() || this.glyph() || null\n );\n\n /** @hidden */\n constructor() {\n warnOnce(\n \"Platform's ButtonComponent is deprecated and will be removed in the next major release. Consider using Core's ButtonComponent instead.\"\n );\n\n // Warn about deprecated inputs\n effect(() => {\n if (this.ariaSelected()) {\n warnOnce('Property ariaSelected is deprecated. Use `toggled` input property instead.');\n }\n });\n\n effect(() => {\n if (this.ariaPressed()) {\n warnOnce('Property ariaPressed is deprecated. Use `toggled` input property instead.');\n }\n });\n }\n\n /**\n * Programmatically set the disabled state.\n * Implements ButtonModel interface.\n * Note: Cannot directly set signal inputs. This method exists for interface compatibility.\n */\n setDisabled(_value: boolean): void {\n console.warn('setDisabled() cannot modify signal input. Use template binding [disabled]=\"value\" instead.');\n }\n\n /**\n * Get the current disabled state.\n * Implements ButtonModel interface.\n */\n isDisabled(): boolean {\n return this.disabled();\n }\n\n /**\n * Programmatically set the button type.\n * Implements ButtonModel interface.\n * Note: Cannot directly set signal inputs. This method exists for interface compatibility.\n */\n setFdType(_value: ButtonType): void {\n console.warn('setFdType() cannot modify signal input. Use template binding [fdType]=\"value\" instead.');\n }\n\n /**\n * Get the current button type.\n * Implements ButtonModel interface.\n */\n getFdType(): ButtonType {\n return this._effectiveFdType();\n }\n\n /**\n * No-op method for interface compatibility.\n * Implements ButtonModel interface.\n * Signal-based components don't need manual change detection.\n */\n markForCheck(): void {\n // No-op: signals automatically trigger change detection\n }\n\n /**\n * Handles button click\n */\n protected onBtnClick($event: any): void {\n this.buttonClicked.emit($event);\n }\n}\n\nexport class DeprecatedButtonAriaSelected implements ModuleDeprecation {\n /** @hidden */\n message = 'ariaSelected input property is deprecated.';\n\n /** @hidden */\n alternative = {\n name: 'Use [toggled] input property instead',\n link: ['/platform', 'button'],\n fragment: 'state'\n };\n}\n\nexport class DeprecatedButtonAriaPressed implements ModuleDeprecation {\n /** @hidden */\n message = 'ariaPressed input property is deprecated.';\n\n /** @hidden */\n alternative = {\n name: 'Use [toggled] input property instead',\n link: ['/platform', 'button'],\n fragment: 'state'\n };\n}\n","<button\n #fdButton\n fd-button\n [attr.id]=\"id()\"\n [attr.name]=\"name()\"\n [ariaLabel]=\"accessibleName()\"\n [attr.aria-controls]=\"ariaControlsId()\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n [attr.aria-disabled]=\"ariaDisabled()\"\n [attr.title]=\"!!glyph() && !label() ? title() : null\"\n [attr.value]=\"value()\"\n [glyphPosition]=\"glyphPosition()\"\n [label]=\"label()\"\n [type]=\"type()\"\n [toggled]=\"_effectiveToggled()\"\n [glyph]=\"glyph()\"\n [glyphFont]=\"glyphFont()\"\n [disabled]=\"disabled()\"\n [fdType]=\"_effectiveFdType()\"\n class=\"fd-ellipsis\"\n [class.is-disabled]=\"ariaDisabled()\"\n [style.width]=\"width()\"\n (click)=\"onBtnClick($event)\"\n></button>\n","import { NgModule } from '@angular/core';\n\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { ButtonComponent } from './button.component';\n\n/**\n * @deprecated\n * Use direct imports of components and directives.\n */\n@NgModule({\n imports: [ButtonComponent, ContentDensityModule],\n exports: [ButtonComponent, ContentDensityModule]\n})\nexport class PlatformButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CoreButtonComponent"],"mappings":"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"}
|
|
@@ -3294,7 +3294,7 @@ class TableHeaderRowComponent extends TableRowDirective {
|
|
|
3294
3294
|
provide: FDK_FOCUSABLE_LIST_DIRECTIVE,
|
|
3295
3295
|
useExisting: TableHeaderRowComponent
|
|
3296
3296
|
}
|
|
3297
|
-
], viewQueries: [{ propertyName: "_focusableCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (_fdpTableService._semanticHighlighting$()) {\n <th\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n ></th>\n}\n\n@if (isShownSelectionColumn) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver.contentDensity$()\n | selectionCellStyles: isRtl() : _fdpTableService._semanticHighlightingColumnWidth$()\n \"\n (keydown.enter)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState)\n \"\n (keydown.space)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState);\n $event.preventDefault()\n \"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.title]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)()\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)()\n \"\n [attr.aria-description]=\"\n checkedState\n ? ('platformTable.deselectAllCheckboxLongLabel' | fdTranslate)()\n : checkedState === null\n ? ('platformTable.selectAllCheckboxMixedLongLabel' | fdTranslate)()\n : ('platformTable.selectAllCheckboxLongLabel' | fdTranslate)()\n \"\n >\n @if (selectionMode === SELECTION_MODE.MULTIPLE) {\n <fd-checkbox\n tabIndexValue=\"-1\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength() === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n }\n </th>\n}\n\n@for (column of _fdpTableService.visibleColumns$(); track column.name) {\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n $index\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength()\n : _fdpTableService._isShownNavigationColumn$()\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"$index\"\n [attr.aria-sort]=\"_fdpTableService.sortRules$().get(column.key) | fdpTableColumnSortingDirection\"\n [class.fd-table__cell--non-interactive]=\"column.nonInteractive\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n $last && !_fdpTableService._isShownNavigationColumn$() ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : isRtl()\n : _fdpTableService._semanticHighlightingColumnWidth$()\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n : noBorders\n : noHorizontalBorders\n : noVerticalBorders\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content [id]=\"rowId\" [column]=\"column\" [attr.title]=\"column.label\">\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [columnIndex]=\"$index\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$()\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n}\n\n@if (_fdpTableService._isShownNavigationColumn$()) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n
|
|
3297
|
+
], viewQueries: [{ propertyName: "_focusableCellItems", predicate: FDK_FOCUSABLE_ITEM_DIRECTIVE, descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (_fdpTableService._semanticHighlighting$()) {\n <th\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n ></th>\n}\n\n@if (isShownSelectionColumn) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver.contentDensity$()\n | selectionCellStyles: isRtl() : _fdpTableService._semanticHighlightingColumnWidth$()\n \"\n (keydown.enter)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState)\n \"\n (keydown.space)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState);\n $event.preventDefault()\n \"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.title]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)()\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)()\n \"\n [attr.aria-description]=\"\n checkedState\n ? ('platformTable.deselectAllCheckboxLongLabel' | fdTranslate)()\n : checkedState === null\n ? ('platformTable.selectAllCheckboxMixedLongLabel' | fdTranslate)()\n : ('platformTable.selectAllCheckboxLongLabel' | fdTranslate)()\n \"\n >\n @if (selectionMode === SELECTION_MODE.MULTIPLE) {\n <fd-checkbox\n tabIndexValue=\"-1\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength() === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n }\n </th>\n}\n\n@for (column of _fdpTableService.visibleColumns$(); track column.name) {\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n $index\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength()\n : _fdpTableService._isShownNavigationColumn$()\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"$index\"\n [attr.aria-sort]=\"_fdpTableService.sortRules$().get(column.key) | fdpTableColumnSortingDirection\"\n [class.fd-table__cell--non-interactive]=\"column.nonInteractive\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n $last && !_fdpTableService._isShownNavigationColumn$() ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : isRtl()\n : _fdpTableService._semanticHighlightingColumnWidth$()\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n : noBorders\n : noHorizontalBorders\n : noVerticalBorders\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content [id]=\"rowId\" [column]=\"column\" [attr.title]=\"column.label\">\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [columnIndex]=\"$index\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$()\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n}\n\n@if (_fdpTableService._isShownNavigationColumn$()) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n >\n <span class=\"fd-table__sr-only\">\n {{ ('platformTable.navigationColumnTitle' | fdTranslate)() }}\n </span>\n </th>\n}\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"!_tableColumnResizeService.cellMockVisible$()\"\n fdkDisabled\n></th>\n", styles: [".fd-table__sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;border:0;margin:-1px;padding:0;overflow:hidden;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => TableCellDirective), selector: "[fdTableCell], [fd-table-cell]", inputs: ["noBorderX", "noBorderY", "activable", "focusable", "hoverable", "fitContent", "noPadding", "noData", "nonInteractive", "key"] }, { kind: "directive", type: i0.forwardRef(() => TableStatusIndicatorDirective), selector: "[fdTableStatusIndicator], [fd-table-status-indicator]", inputs: ["status"] }, { kind: "directive", type: i0.forwardRef(() => DisabledBehaviorDirective), selector: "[fdkDisabled]", inputs: ["fdkDisabled", "addDisabledClass", "disabledClass"] }, { kind: "component", type: i0.forwardRef(() => CheckboxComponent), selector: "fd-checkbox", inputs: ["wrapLabel", "valignLabel", "ariaLabel", "role", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "readonly", "tristate", "tristateSelectable", "labelClass", "required", "displayOnly", "values", "standalone"], outputs: ["focusChange"] }, { kind: "ngmodule", type: i0.forwardRef(() => FormsModule) }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgControlStatus), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(() => i1$2.NgModel), selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i0.forwardRef(() => PlatformTableCellResizableDirective), selector: "[fdpTableCellResizable]", inputs: ["fdpTableCellResizable", "columnName"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i0.forwardRef(() => PopoverTriggerDirective), selector: "[fdPopoverTrigger], [fd-popover-trigger]", inputs: ["fdPopoverTrigger"] }, { kind: "component", type: i0.forwardRef(() => TableHeaderCellContentComponent), selector: "fdp-table-header-cell-content", inputs: ["id", "column"] }, { kind: "component", type: i0.forwardRef(() => TableCellHeaderPopoverComponent), selector: "fdp-table-cell-header-popover", inputs: ["column", "popoverTemplate", "disabled", "columnFrozen", "filteringFromHeaderDisabled", "columnIndex"] }, { kind: "pipe", type: i0.forwardRef(() => FdTranslatePipe), name: "fdTranslate" }, { kind: "pipe", type: i0.forwardRef(() => SelectionCellStylesPipe), name: "selectionCellStyles" }, { kind: "pipe", type: i0.forwardRef(() => TableCellStylesPipe), name: "tableCellStyles" }, { kind: "pipe", type: i0.forwardRef(() => ColumnResizableSidePipe), name: "columnResizableSide" }, { kind: "pipe", type: i0.forwardRef(() => TableColumnSortingDirectionPipe), name: "fdpTableColumnSortingDirection" }, { kind: "pipe", type: i0.forwardRef(() => IsColumnHasHeaderMenuPipe), name: "isColumnHasHeaderMenu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3298
3298
|
}
|
|
3299
3299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TableHeaderRowComponent, decorators: [{
|
|
3300
3300
|
type: Component,
|
|
@@ -3323,7 +3323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
3323
3323
|
ColumnResizableSidePipe,
|
|
3324
3324
|
TableColumnSortingDirectionPipe,
|
|
3325
3325
|
forwardRef(() => IsColumnHasHeaderMenuPipe)
|
|
3326
|
-
], template: "@if (_fdpTableService._semanticHighlighting$()) {\n <th\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n ></th>\n}\n\n@if (isShownSelectionColumn) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver.contentDensity$()\n | selectionCellStyles: isRtl() : _fdpTableService._semanticHighlightingColumnWidth$()\n \"\n (keydown.enter)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState)\n \"\n (keydown.space)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState);\n $event.preventDefault()\n \"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.title]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)()\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)()\n \"\n [attr.aria-description]=\"\n checkedState\n ? ('platformTable.deselectAllCheckboxLongLabel' | fdTranslate)()\n : checkedState === null\n ? ('platformTable.selectAllCheckboxMixedLongLabel' | fdTranslate)()\n : ('platformTable.selectAllCheckboxLongLabel' | fdTranslate)()\n \"\n >\n @if (selectionMode === SELECTION_MODE.MULTIPLE) {\n <fd-checkbox\n tabIndexValue=\"-1\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength() === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n }\n </th>\n}\n\n@for (column of _fdpTableService.visibleColumns$(); track column.name) {\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n $index\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength()\n : _fdpTableService._isShownNavigationColumn$()\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"$index\"\n [attr.aria-sort]=\"_fdpTableService.sortRules$().get(column.key) | fdpTableColumnSortingDirection\"\n [class.fd-table__cell--non-interactive]=\"column.nonInteractive\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n $last && !_fdpTableService._isShownNavigationColumn$() ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : isRtl()\n : _fdpTableService._semanticHighlightingColumnWidth$()\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n : noBorders\n : noHorizontalBorders\n : noVerticalBorders\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content [id]=\"rowId\" [column]=\"column\" [attr.title]=\"column.label\">\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [columnIndex]=\"$index\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$()\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n}\n\n@if (_fdpTableService._isShownNavigationColumn$()) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n
|
|
3326
|
+
], template: "@if (_fdpTableService._semanticHighlighting$()) {\n <th\n [class.fd-table__cell--fixed]=\"fixed\"\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n fd-table-status-indicator\n fdkDisabled\n [style.min-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n [style.max-width]=\"_fdpTableService._semanticHighlightingColumnWidth$()\"\n ></th>\n}\n\n@if (isShownSelectionColumn) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n [focusable]=\"true\"\n [class.fd-table__cell--fixed]=\"fixed\"\n class=\"fd-table__cell--checkbox\"\n [style]=\"\n _contentDensityObserver.contentDensity$()\n | selectionCellStyles: isRtl() : _fdpTableService._semanticHighlightingColumnWidth$()\n \"\n (keydown.enter)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState)\n \"\n (keydown.space)=\"\n selectionMode === SELECTION_MODE.MULTIPLE && _tableRowService.toggleAllSelectableRows(!checkedState);\n $event.preventDefault()\n \"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n [attr.title]=\"\n !checkedState\n ? ('platformTable.selectAllCheckboxLabel' | fdTranslate)()\n : ('platformTable.deselectAllCheckboxLabel' | fdTranslate)()\n \"\n [attr.aria-description]=\"\n checkedState\n ? ('platformTable.deselectAllCheckboxLongLabel' | fdTranslate)()\n : checkedState === null\n ? ('platformTable.selectAllCheckboxMixedLongLabel' | fdTranslate)()\n : ('platformTable.selectAllCheckboxLongLabel' | fdTranslate)()\n \"\n >\n @if (selectionMode === SELECTION_MODE.MULTIPLE) {\n <fd-checkbox\n tabIndexValue=\"-1\"\n labelClass=\"fd-table__checkbox-label\"\n [fdkDisabled]=\"_fdpTableService.visibleColumnsLength() === 0 || disableSelectionCheckbox\"\n [tristate]=\"true\"\n [tristateSelectable]=\"false\"\n [ngModel]=\"checkedState\"\n (ngModelChange)=\"_tableRowService.toggleAllSelectableRows($event)\"\n ></fd-checkbox>\n }\n </th>\n}\n\n@for (column of _fdpTableService.visibleColumns$(); track column.name) {\n <th\n [focusable]=\"true\"\n role=\"columnheader\"\n [fdpTableCellResizable]=\"\n $index\n | columnResizableSide\n : _fdpTableService.visibleColumnsLength()\n : _fdpTableService._isShownNavigationColumn$()\n \"\n [columnName]=\"column.name\"\n [id]=\"rowId + '__' + column.name\"\n [attr.aria-colindex]=\"$index\"\n [attr.aria-sort]=\"_fdpTableService.sortRules$().get(column.key) | fdpTableColumnSortingDirection\"\n [class.fd-table__cell--non-interactive]=\"column.nonInteractive\"\n [ngClass]=\"[\n 'fdp-table__col--' + column.name,\n column._freezed ? 'fd-table__cell--fixed' : '',\n column.name === freezeColumnsTo ? 'fd-table__cell--fixed-last' : '',\n column._endFreezed ? 'fd-table__cell--fixed-end' : '',\n column.name === freezeEndColumnsTo ? 'fd-table__cell--fixed-end-last' : '',\n $last && !_fdpTableService._isShownNavigationColumn$() ? 'is-last-child' : '',\n (column | isColumnHasHeaderMenu) ? 'fd-table__item--clickable' : ''\n ]\"\n [ngStyle]=\"\n column\n | tableCellStyles\n : isRtl()\n : _fdpTableService._semanticHighlightingColumnWidth$()\n : selectionColumnWidth\n : column._freezed\n : column._endFreezed\n : _tableColumnResizeService.getPrevColumnsWidth(column.name)\n : _tableColumnResizeService.getColumnWidthStyle(column.name)\n : _tableColumnResizeService.getNextColumnsWidth(column.name)\n : noBorders\n : noHorizontalBorders\n : noVerticalBorders\n \"\n [fdPopoverTrigger]=\"(column | isColumnHasHeaderMenu) ? tablePopover.popover : null\"\n (cellFocused)=\"_tableRowService.cellFocused($event)\"\n (keydown.arrowLeft)=\"_tableRowService.scrollToOverlappedCell()\"\n (keydown.arrowRight)=\"_tableRowService.scrollToOverlappedCell()\"\n >\n <fdp-table-header-cell-content [id]=\"rowId\" [column]=\"column\" [attr.title]=\"column.label\">\n <!-- Header menu -->\n <fdp-table-cell-header-popover\n #tablePopover\n [disabled]=\"!(column | isColumnHasHeaderMenu)\"\n [columnFrozen]=\"column._freezed || column._endFreezed\"\n [column]=\"column\"\n [columnIndex]=\"$index\"\n [popoverTemplate]=\"(column | isColumnHasHeaderMenu) ? column.headerCellPopoverTemplate : null\"\n [filteringFromHeaderDisabled]=\"_fdpTableService._isFilteringFromHeaderDisabled$()\"\n ></fdp-table-cell-header-popover>\n </fdp-table-header-cell-content>\n </th>\n}\n\n@if (_fdpTableService._isShownNavigationColumn$()) {\n <th\n fd-table-cell\n [ngClass]=\"{\n 'fd-table__cell--no-horizontal-border': noHorizontalBorders || noBorders,\n 'fd-table__cell--no-vertical-border': noVerticalBorders || noBorders\n }\"\n class=\"fdp-table__cell--navigation is-last-child\"\n role=\"columnheader\"\n >\n <span class=\"fd-table__sr-only\">\n {{ ('platformTable.navigationColumnTitle' | fdTranslate)() }}\n </span>\n </th>\n}\n\n<th\n aria-hidden=\"true\"\n class=\"fd-table__cell fd-table__cell--mock\"\n [class.fd-table__cell--mock-borderless]=\"!_tableColumnResizeService.cellMockVisible$()\"\n fdkDisabled\n></th>\n", styles: [".fd-table__sr-only{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;border:0;margin:-1px;padding:0;overflow:hidden;white-space:nowrap}\n"] }]
|
|
3327
3327
|
}], propDecorators: { rowId: [{
|
|
3328
3328
|
type: Input
|
|
3329
3329
|
}], fixed: [{
|
|
@@ -3647,6 +3647,11 @@ class TableRowComponent extends TableRowDirective {
|
|
|
3647
3647
|
this._announceEmptyCell.set(false);
|
|
3648
3648
|
return;
|
|
3649
3649
|
}
|
|
3650
|
+
// If cell contains elements with explicit accessible names, don't announce as empty
|
|
3651
|
+
if (this._hasAccessibleContent(tableTextContainer)) {
|
|
3652
|
+
this._announceEmptyCell.set(false);
|
|
3653
|
+
return;
|
|
3654
|
+
}
|
|
3650
3655
|
let value;
|
|
3651
3656
|
// For non-column templates (data-driven), always check for empty content.
|
|
3652
3657
|
const isCellEmptyInNonColumnTemplate = !column.columnCellTemplate &&
|
|
@@ -3656,6 +3661,10 @@ class TableRowComponent extends TableRowDirective {
|
|
|
3656
3661
|
const isCellEmptyInColumnTemplate = column.columnCellTemplate && column.announceEmptyCell() && tableTextContainer?.innerText?.trim() === '';
|
|
3657
3662
|
this._announceEmptyCell.set(isCellEmptyInColumnTemplate || isCellEmptyInNonColumnTemplate);
|
|
3658
3663
|
}
|
|
3664
|
+
/** @hidden Checks if container has elements with explicit accessible names (aria-label, aria-labelledby) */
|
|
3665
|
+
_hasAccessibleContent(container) {
|
|
3666
|
+
return !!container?.querySelector('[aria-label], [aria-labelledby]');
|
|
3667
|
+
}
|
|
3659
3668
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3660
3669
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.0", type: TableRowComponent, isStandalone: true, selector: "[fdp-table-row]", inputs: { rowId: "rowId", row: "row", index: "index", selectionMode: "selectionMode", selectableKey: "selectableKey", enableTristateMode: "enableTristateMode", fixed: "fixed", selectionColumnWidth: "selectionColumnWidth", freezeColumnsTo: "freezeColumnsTo", freezeEndColumnsTo: "freezeEndColumnsTo" }, outputs: { keyboardDrag: "keyboardDrag" }, host: { attributes: { "role": "row" }, properties: { "attr.aria-expanded": "_isTreeRow(row) ? row.expanded : null", "attr.aria-selected": "this._ariaSelected" } }, providers: [
|
|
3661
3670
|
{
|