Skip to content

Commit 39cfdd4

Browse files
authored
feat(design): automatically add anchor link and copy URL button to article headings (#4260)
1 parent 8fdf638 commit 39cfdd4

28 files changed

Lines changed: 521 additions & 119 deletions

apps/daffio/src/app/docs/api/components/fragments/base/base.component.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<div class="daffio-docs-api-base-fragment__title">
22
@if (child()) {
33
<h3 daffioDocsTocHeader [id]="doc().slug" [content]="doc().name" level="3">
4-
<daffio-docs-heading-link [fragment]="doc().slug">
54
{{doc().name}}
6-
</daffio-docs-heading-link>
75
</h3>
86
} @else {
97
<h1 [attr.id]="doc().slug">{{doc().name}}</h1>

apps/daffio/src/app/docs/api/components/fragments/base/base.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {
1616

1717
import { DaffioSafeHtmlPipe } from '../../../../../core/html-sanitizer/safe.pipe';
1818
import { DaffioInterceptNavigationDirective } from '../../../../../core/router/intercept-navigation.directive';
19-
import { DaffioDocsHeadingLinkComponent } from '../../../../components/heading-link/heading-link.component';
2019
import { DaffioDocsTocHeaderDirective } from '../../../../toc/header.directive';
2120
import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fragment.type';
2221
import { DaffioDocsApiItemLabelComponent } from '../../api-item-label/api-item-label.component';
@@ -32,7 +31,6 @@ import { DaffioDocsApiItemLabelComponent } from '../../api-item-label/api-item-l
3231
DaffioDocsApiItemLabelComponent,
3332
DaffioInterceptNavigationDirective,
3433
DaffioDocsTocHeaderDirective,
35-
DaffioDocsHeadingLinkComponent,
3634
],
3735
})
3836
export class DaffioDocsApiBaseFragmentComponent implements DaffioDocsApiDynamicContentFragment<DaffApiDocBase> {

apps/daffio/src/app/docs/api/components/fragments/examples/examples.component.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
@if (!child()) {
22
@if (doc().examples.length > 0) {
33
<h2 daffioDocsTocHeader id="examples" content="Examples" level="2">
4-
<daffio-docs-heading-link [fragment]="'examples'">
54
Examples
6-
</daffio-docs-heading-link>
75
</h2>
86
}
97
@for (example of doc().examples; track example.id) {

apps/daffio/src/app/docs/api/components/fragments/examples/examples.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import {
1515

1616
import { DaffioSafeHtmlPipe } from '../../../../../core/html-sanitizer/safe.pipe';
1717
import { DaffioInterceptNavigationDirective } from '../../../../../core/router/intercept-navigation.directive';
18-
import { DaffioDocsHeadingLinkComponent } from '../../../../components/heading-link/heading-link.component';
1918
import { DaffioDocsTocHeaderDirective } from '../../../../toc/header.directive';
2019
import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fragment.type';
2120

@@ -27,7 +26,6 @@ import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fr
2726
DaffioSafeHtmlPipe,
2827
DaffioInterceptNavigationDirective,
2928
DaffioDocsTocHeaderDirective,
30-
DaffioDocsHeadingLinkComponent,
3129
],
3230
})
3331
export class DaffioDocsApiExamplesFragmentComponent implements DaffioDocsApiDynamicContentFragment<DaffApiDocBase> {

apps/daffio/src/app/docs/api/components/fragments/inputs/inputs.component.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
@if (doc().inputs.length > 0) {
22
@if (child()) {
33
<h4 daffioDocsTocHeader content="Inputs" id="{{doc().slug}}-inputs" level="4" class="daffio-docs-api-inputs-fragment__heading">
4-
<daffio-docs-heading-link [fragment]="`${doc().slug}-inputs`">
54
<fa-icon [icon]="faChevronRight" class="daffio-docs-api-inputs-fragment__input-icon"></fa-icon> Inputs
6-
</daffio-docs-heading-link>
75
</h4>
86
} @else {
97
<h2 daffioDocsTocHeader id="inputs" content="Inputs" level="2" class="daffio-docs-api-inputs-fragment__heading">
10-
<daffio-docs-heading-link [fragment]="'inputs'">
118
<fa-icon [icon]="faChevronRight" class="daffio-docs-api-inputs-fragment__input-icon"></fa-icon> Inputs
12-
</daffio-docs-heading-link>
139
</h2>
1410
}
1511
<div class="daffio-docs-api-inputs-fragment__member-grid">

apps/daffio/src/app/docs/api/components/fragments/inputs/inputs.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import {
1818
DaffDocTableOfContents,
1919
} from '@daffodil/docs-utils';
2020

21-
import { DaffioDocsHeadingLinkComponent } from '../../../../components/heading-link/heading-link.component';
2221
import { DaffioDocsTocHeaderDirective } from '../../../../toc/header.directive';
2322
import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fragment.type';
2423
import { DaffioDocsApiPropertyBlockComponent } from '../../property-block/property-block.component';
@@ -32,7 +31,6 @@ import { DaffioDocsApiPropertyBlockComponent } from '../../property-block/proper
3231
FaIconComponent,
3332
DaffioDocsApiPropertyBlockComponent,
3433
DaffioDocsTocHeaderDirective,
35-
DaffioDocsHeadingLinkComponent,
3634
],
3735
})
3836
export class DaffioDocsApiInputsFragmentComponent implements DaffioDocsApiDynamicContentFragment<DaffApiDirective> {

apps/daffio/src/app/docs/api/components/fragments/methods/methods.component.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
@if (doc().methods.length > 0) {
22
@if (child()) {
33
<h4 daffioDocsTocHeader id="{{doc().slug}}-methods" content="Methods" level="4" class="daffio-docs-api-methods-fragment__heading">
4-
<daffio-docs-heading-link [fragment]="`${doc().slug}-methods`">
54
<span class="daffio-docs-api-methods-fragment__method-icon">()</span> Methods
6-
</daffio-docs-heading-link>
75
</h4>
86
} @else {
97
<h2 daffioDocsTocHeader id="methods" content="Methods" level="2" class="daffio-docs-api-methods-fragment__heading">
10-
<daffio-docs-heading-link [fragment]="'methods'">
118
<span class="daffio-docs-api-methods-fragment__method-icon">()</span> Methods
12-
</daffio-docs-heading-link>
139
</h2>
1410
}
1511
<div class="daffio-docs-api-methods-fragment__member-grid">

apps/daffio/src/app/docs/api/components/fragments/methods/methods.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import {
1313
DaffDocTableOfContents,
1414
} from '@daffodil/docs-utils';
1515

16-
import { DaffioDocsHeadingLinkComponent } from '../../../../components/heading-link/heading-link.component';
1716
import { DaffioDocsTocHeaderDirective } from '../../../../toc/header.directive';
1817
import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fragment.type';
1918
import { DaffioDocsApiMethodBlockComponent } from '../../method-block/method-block.component';
@@ -26,7 +25,6 @@ import { DaffioDocsApiMethodBlockComponent } from '../../method-block/method-blo
2625
imports: [
2726
DaffioDocsApiMethodBlockComponent,
2827
DaffioDocsTocHeaderDirective,
29-
DaffioDocsHeadingLinkComponent,
3028
],
3129
})
3230
export class DaffioDocsApiMethodsFragmentComponent implements DaffioDocsApiDynamicContentFragment<DaffApiType> {

apps/daffio/src/app/docs/api/components/fragments/outputs/outputs.component.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
@if (doc().outputs.length > 0) {
22
@if (child()) {
33
<h4 daffioDocsTocHeader id="{{doc().slug}}-outputs" content="Outputs" level="4" class="daffio-docs-api-outputs-fragment__heading">
4-
<daffio-docs-heading-link [fragment]="`${doc().slug}-outputs`">
54
<fa-icon [icon]="faChevronLeft" class="daffio-docs-api-outputs-fragment__output-icon"></fa-icon> Outputs
6-
</daffio-docs-heading-link>
75
</h4>
86
} @else {
97
<h2 daffioDocsTocHeader id="outputs" content="Outputs" level="2" class="daffio-docs-api-outputs-fragment__heading">
10-
<daffio-docs-heading-link [fragment]="'outputs'">
118
<fa-icon [icon]="faChevronLeft" class="daffio-docs-api-outputs-fragment__output-icon"></fa-icon> Outputs
12-
</daffio-docs-heading-link>
139
</h2>
1410
}
1511
<div class="daffio-docs-api-outputs-fragment__member-grid">

apps/daffio/src/app/docs/api/components/fragments/outputs/outputs.component.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import {
1818
DaffDocTableOfContents,
1919
} from '@daffodil/docs-utils';
2020

21-
import { DaffioDocsHeadingLinkComponent } from '../../../../components/heading-link/heading-link.component';
2221
import { DaffioDocsTocHeaderDirective } from '../../../../toc/header.directive';
2322
import { DaffioDocsApiDynamicContentFragment } from '../../../dynamic-content/fragment.type';
2423
import { DaffioDocsApiPropertyBlockComponent } from '../../property-block/property-block.component';
@@ -32,7 +31,6 @@ import { DaffioDocsApiPropertyBlockComponent } from '../../property-block/proper
3231
FaIconComponent,
3332
DaffioDocsApiPropertyBlockComponent,
3433
DaffioDocsTocHeaderDirective,
35-
DaffioDocsHeadingLinkComponent,
3634
],
3735
})
3836
export class DaffioDocsApiOutputsFragmentComponent implements DaffioDocsApiDynamicContentFragment<DaffApiDirective> {

0 commit comments

Comments
 (0)