Skip to content

Commit 4c07f15

Browse files
committed
feat: move all components to standalone components
1 parent 3106622 commit 4c07f15

File tree

389 files changed

+2279
-1592
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

389 files changed

+2279
-1592
lines changed

src/accordion/accordion-item.component.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ import {
77
EventEmitter,
88
ChangeDetectionStrategy
99
} from "@angular/core";
10+
import { NgTemplateOutlet, NgClass } from "@angular/common";
11+
import { IconDirective, IconService, ICON_SERVICE_PROVIDER } from "carbon-components-angular/icon";
12+
import ChevronDown16 from "@carbon/icons/es/chevron--down/16";
1013

1114
@Component({
1215
selector: "cds-accordion-item, ibm-accordion-item",
@@ -48,7 +51,10 @@ import {
4851
display: list-item;
4952
}
5053
`],
51-
changeDetection: ChangeDetectionStrategy.OnPush
54+
changeDetection: ChangeDetectionStrategy.OnPush,
55+
standalone: true,
56+
providers: [ICON_SERVICE_PROVIDER],
57+
imports: [IconDirective, NgTemplateOutlet, NgClass]
5258
})
5359
export class AccordionItem {
5460
static accordionItemCount = 0;
@@ -63,6 +69,10 @@ export class AccordionItem {
6369
@HostBinding("class.cds--accordion__item--disabled") @Input() disabled = false;
6470
@HostBinding("attr.role") role = "listitem";
6571

72+
constructor(private iconService: IconService) {
73+
this.iconService.registerAll([ChevronDown16]);
74+
}
75+
6676
public toggleExpanded() {
6777
if (!this.skeleton) {
6878
this.expanded = !this.expanded;

src/accordion/accordion.component.spec.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { TestBed } from "@angular/core/testing";
22
import { FormsModule } from "@angular/forms";
33
import { By } from "@angular/platform-browser";
44
import { Component } from "@angular/core";
5-
import { IconModule } from "../icon/index";
5+
import { IconDirective } from "../icon/index";
66
import { AccordionItem } from "./accordion-item.component";
77
import { Accordion } from "./accordion.component";
88

@@ -15,7 +15,12 @@ import { Accordion } from "./accordion.component";
1515
[skeleton]="skeleton">
1616
test-content
1717
</cds-accordion-item>
18-
<cds-accordion>`
18+
<cds-accordion>`,
19+
standalone: true,
20+
imports: [
21+
Accordion,
22+
AccordionItem
23+
]
1924
})
2025
class AccordionTest {
2126
disabled = false;
@@ -28,14 +33,8 @@ describe("Accordion", () => {
2833
let fixture, wrapper, debugElement;
2934
beforeEach(() => {
3035
TestBed.configureTestingModule({
31-
declarations: [
32-
Accordion,
33-
AccordionItem,
34-
AccordionTest
35-
],
3636
imports: [
37-
FormsModule,
38-
IconModule
37+
AccordionTest
3938
]
4039
});
4140
});

src/accordion/accordion.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ import {
77
ChangeDetectionStrategy
88
} from "@angular/core";
99
import { AccordionItem } from "./accordion-item.component";
10+
import { NgClass } from "@angular/common";
1011

1112
/**
1213
* Get started with importing the module:
1314
*
1415
* ```typescript
15-
* import { AccordionModule } from 'carbon-components-angular';
16+
* import { Accordion, AccordionItem } from 'carbon-components-angular';
1617
* ```
1718
*
1819
* [See demo](../../?path=/story/components-accordion--basic)
@@ -35,7 +36,9 @@ import { AccordionItem } from "./accordion-item.component";
3536
<ng-content />
3637
</div>
3738
`,
38-
changeDetection: ChangeDetectionStrategy.OnPush
39+
changeDetection: ChangeDetectionStrategy.OnPush,
40+
standalone: true,
41+
imports: [NgClass]
3942
})
4043
export class Accordion implements AfterContentInit {
4144
/**

src/accordion/accordion.module.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,15 @@ import { AccordionItem } from "./accordion-item.component";
66
import { IconModule } from "carbon-components-angular/icon";
77

88
@NgModule({
9-
declarations: [
10-
Accordion,
11-
AccordionItem
12-
],
139
exports: [
1410
Accordion,
1511
AccordionItem
1612
],
1713
imports: [
1814
CommonModule,
19-
IconModule
15+
IconModule,
16+
Accordion,
17+
AccordionItem
2018
]
2119
})
2220
export class AccordionModule { }

src/accordion/accordion.stories.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { moduleMetadata, Meta } from "@storybook/angular";
2-
import { DocumentationModule } from "../documentation-component/documentation.module";
3-
import { AccordionModule, Accordion } from "./";
2+
import { Documentation } from "../documentation-component/documentation.component";
3+
import { Accordion, AccordionItem } from "./";
44

55
export default {
66
title: "Components/Accordion",
77
decorators: [
88
moduleMetadata({
9-
imports: [AccordionModule, DocumentationModule]
9+
imports: [Accordion, Documentation, AccordionItem]
1010
})
1111
],
1212
component: Accordion

src/breadcrumb/breadcrumb-item.component.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ import {
99
} from "@angular/core";
1010
import { DomSanitizer } from "@angular/platform-browser";
1111
import { Router } from "@angular/router";
12+
import { PlaceholderService } from "carbon-components-angular/placeholder";
13+
import { NgTemplateOutlet } from "@angular/common";
1214

1315
@Component({
1416
selector: "cds-breadcrumb-item, ibm-breadcrumb-item",
1517
template: `
1618
<ng-template #content>
17-
<ng-content />
19+
<ng-content />
1820
</ng-template>
1921
2022
@if (useTemplate()) {
@@ -29,7 +31,10 @@ import { Router } from "@angular/router";
2931
<ng-container *ngTemplateOutlet="content" />
3032
}
3133
`,
32-
changeDetection: ChangeDetectionStrategy.OnPush
34+
changeDetection: ChangeDetectionStrategy.OnPush,
35+
standalone: true,
36+
imports: [NgTemplateOutlet],
37+
providers: [PlaceholderService]
3338
})
3439
export class BreadcrumbItemComponent {
3540
@Input() set href(v: string) {

src/breadcrumb/breadcrumb.component.spec.ts

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
11
import { Component } from "@angular/core";
22
import { CUSTOM_ELEMENTS_SCHEMA } from "@angular/core";
33
import { ComponentFixture, TestBed, waitForAsync } from "@angular/core/testing";
4-
import { FormsModule } from "@angular/forms";
5-
import { I18nModule } from "../i18n/index";
64
import { By } from "@angular/platform-browser";
75
import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from "@angular/platform-browser-dynamic/testing";
86

97
import { Breadcrumb } from "./breadcrumb.component";
108
import { BreadcrumbItemComponent } from "./breadcrumb-item.component";
11-
import { BreadcrumbItem } from "./breadcrumb-item.interface";
12-
import { OverflowMenu } from "carbon-components-angular/dialog";
9+
import { OverflowMenu } from "../dialog";
1310

1411
@Component({
1512
selector: "test-breadcrumb",
@@ -30,7 +27,12 @@ import { OverflowMenu } from "carbon-components-angular/dialog";
3027
<cds-breadcrumb-item href="#">
3128
Breadcrumb 5
3229
</cds-breadcrumb-item>
33-
</cds-breadcrumb>`
30+
</cds-breadcrumb>`,
31+
standalone: true,
32+
imports: [
33+
Breadcrumb,
34+
BreadcrumbItemComponent
35+
]
3436
})
3537
class TestBreadcrumb {
3638
noTrailingSlash = true;
@@ -43,7 +45,11 @@ class TestBreadcrumb {
4345
[noTrailingSlash]="noTrailingSlash"
4446
[threshold]="threshold"
4547
[items]="items">
46-
</cds-breadcrumb>`
48+
</cds-breadcrumb>`,
49+
standalone: true,
50+
imports: [
51+
Breadcrumb
52+
]
4753
})
4854
class TestBreadcrumbModel {
4955
noTrailingSlash = true;
@@ -63,16 +69,10 @@ describe("Breadcrumb", () => {
6369

6470
TestBed.configureTestingModule({
6571
imports: [
66-
FormsModule,
67-
I18nModule
68-
],
69-
schemas: [CUSTOM_ELEMENTS_SCHEMA],
70-
declarations: [
71-
Breadcrumb,
72-
BreadcrumbItemComponent,
7372
TestBreadcrumb,
7473
TestBreadcrumbModel
75-
]
74+
],
75+
schemas: [CUSTOM_ELEMENTS_SCHEMA]
7676
}).compileComponents();
7777
}));
7878

src/breadcrumb/breadcrumb.component.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,19 @@ import {
1414
import { BreadcrumbItem } from "./breadcrumb-item.interface";
1515
import { BreadcrumbItemComponent } from "./breadcrumb-item.component";
1616
import { Router } from "@angular/router";
17-
import { I18n } from "carbon-components-angular/i18n";
17+
import { I18N_SERVICE_PROVIDER, I18n } from "carbon-components-angular/i18n";
18+
import { NgClass, NgTemplateOutlet } from "@angular/common";
19+
import { IconDirective } from "carbon-components-angular/icon";
20+
import { OverflowMenu } from "carbon-components-angular/dialog";
21+
import { DOCUMENT_SERVICE_PROVIDER, EventService } from "carbon-components-angular/utils";
1822

1923
const MINIMUM_OVERFLOW_THRESHOLD = 4;
2024

2125
/**
2226
* Get started with importing the module:
2327
*
2428
* ```typescript
25-
* import { BreadcrumbModule } from 'carbon-components-angular';
29+
* import { Breadcrumb } from 'carbon-components-angular';
2630
* ```
2731
*
2832
* [See demo](../../?path=/story/components-breadcrumb--basic)
@@ -123,7 +127,10 @@ const MINIMUM_OVERFLOW_THRESHOLD = 4;
123127
}
124128
</nav>
125129
`,
126-
changeDetection: ChangeDetectionStrategy.OnPush
130+
changeDetection: ChangeDetectionStrategy.OnPush,
131+
standalone: true,
132+
providers: [I18N_SERVICE_PROVIDER, EventService, DOCUMENT_SERVICE_PROVIDER],
133+
imports: [NgClass, BreadcrumbItemComponent, NgTemplateOutlet, IconDirective, OverflowMenu]
127134
})
128135
export class Breadcrumb implements AfterContentInit {
129136
@ContentChildren(BreadcrumbItemComponent) children: QueryList<BreadcrumbItemComponent>;

src/breadcrumb/breadcrumb.module.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,13 @@ import { ButtonModule } from "carbon-components-angular/button";
1010
import { IconModule } from "carbon-components-angular/icon";
1111

1212
@NgModule({
13-
declarations: [
14-
Breadcrumb,
15-
BreadcrumbItemComponent
16-
],
1713
exports: [
1814
Breadcrumb,
1915
BreadcrumbItemComponent
2016
],
2117
imports: [
18+
Breadcrumb,
19+
BreadcrumbItemComponent,
2220
CommonModule,
2321
ButtonModule,
2422
DialogModule,

src/breadcrumb/breadcrumb.stories.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { moduleMetadata, Meta } from "@storybook/angular";
22
import {
3-
BreadcrumbModule,
43
Breadcrumb,
54
BreadcrumbItemComponent,
65
BreadcrumbItem
76
} from "./";
7+
import { I18N_SERVICE_PROVIDER } from "../i18n";
88

99
let breadcrumbItems;
1010

@@ -25,7 +25,11 @@ export default {
2525
title: "Components/Breadcrumb",
2626
decorators: [
2727
moduleMetadata({
28-
imports: [BreadcrumbModule]
28+
imports: [
29+
Breadcrumb,
30+
BreadcrumbItemComponent
31+
],
32+
providers: [I18N_SERVICE_PROVIDER]
2933
})
3034
],
3135
args: {
@@ -41,8 +45,7 @@ export default {
4145
control: false
4246
}
4347
},
44-
component: Breadcrumb,
45-
subcomponents: { BreadcrumbItemComponent }
48+
component: Breadcrumb
4649
} as Meta;
4750

4851
const Template = (args) => ({
@@ -149,4 +152,3 @@ Skeleton.parameters = {
149152
disable: true
150153
}
151154
};
152-

0 commit comments

Comments
 (0)