This repository has been archived by the owner on Dec 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 401
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: show deprecated related information in
material/tooltip
previously we weren't showing any other information other than `breaking-change` for deprecated fields, this commit adds a component that protrays information regarding deprecation in tooltips rather than `title` attribute closes angular/components#29839
- Loading branch information
Showing
4 changed files
with
89 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import {Component, Input} from '@angular/core'; | ||
import {MatTooltipModule} from '@angular/material/tooltip'; | ||
|
||
/** | ||
* This component is responsible for showing the | ||
* deprecated fields throughout API from material repo, | ||
* | ||
* When deprecated docs content is generated like: | ||
* | ||
* <div class="docs-api-class-deprecated-marker" | ||
* title="Will be removed in v21.0.0 or later"> | ||
* Deprecated | ||
* </div> | ||
* | ||
* It uses `title` attribute to show information regarding | ||
* depreciation and other information regarding depreciation | ||
* isnt shown either. | ||
* | ||
* We are gonna use this component to show deprecation | ||
* information using the `material/tooltip`, the information | ||
* would contain when the field is being deprecated and what | ||
* are the alternatives to it which both are extracted from | ||
* `deprecated` and `breaking-change`. | ||
*/ | ||
@Component({ | ||
selector: 'deprecated-field', | ||
template: `<div class="deprecated-content" | ||
[attr.aria-label]="message" | ||
[matTooltip]="message"> | ||
{{ htmlContent }} | ||
</div>`, | ||
standalone: true, | ||
imports: [MatTooltipModule], | ||
}) | ||
export class DeprecatedFieldComponent { | ||
/** Message regarding the deprecation */ | ||
@Input() message!: string; | ||
/** Inner content for our element, it could be either | ||
* `Deprecated` which is shown mostly in most of the case | ||
* but we can not show class names with just `Deprecated` label | ||
* so otherwise the value is going to be name of whatever | ||
* is being deprecated, so we can show the deprecation alternative | ||
* description on hover */ | ||
@Input() htmlContent!: string; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters