Skip to content

Commit 4a14372

Browse files
authored
feat(design): create DaffSpinnerComponent to replace DaffLoadingIconComponent (#4316)
1 parent 3704da8 commit 4a14372

27 files changed

+666
-2
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"$schema": "../../../node_modules/ng-packagr/ng-entrypoint.schema.json",
3+
"lib": {
4+
"entryFile": "src/index.ts",
5+
"styleIncludePaths": ["../../src/scss"]
6+
}
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { SpinnerColorsExampleComponent } from './spinner-colors/spinner-colors.component';
2+
import { SpinnerSizesExampleComponent } from './spinner-sizes/spinner-sizes.component';
3+
import { SpinnerWithLabelExampleComponent } from './spinner-with-label/spinner-with-label.component';
4+
5+
export const SPINNER_EXAMPLES = [
6+
SpinnerColorsExampleComponent,
7+
SpinnerSizesExampleComponent,
8+
SpinnerWithLabelExampleComponent,
9+
];
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './public_api';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export { SPINNER_EXAMPLES } from './examples';
2+
export { SpinnerColorsExampleComponent } from './spinner-colors/spinner-colors.component';
3+
export { SpinnerSizesExampleComponent } from './spinner-sizes/spinner-sizes.component';
4+
export { SpinnerWithLabelExampleComponent } from './spinner-with-label/spinner-with-label.component';
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<daff-spinner [color]="colorControl.value"></daff-spinner>
2+
3+
<select [formControl]="colorControl">
4+
<option value="">Default</option>
5+
<option value="primary">Primary</option>
6+
<option value="secondary">Secondary</option>
7+
<option value="tertiary">Tertiary</option>
8+
<option value="theme">Theme</option>
9+
<option value="theme-contrast">Theme Contrast</option>
10+
<option value="light">Light</option>
11+
<option value="dark">Dark</option>
12+
</select>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import {
2+
ChangeDetectionStrategy,
3+
Component,
4+
} from '@angular/core';
5+
import {
6+
FormControl,
7+
ReactiveFormsModule,
8+
} from '@angular/forms';
9+
10+
import { DaffPalette } from '@daffodil/design';
11+
import { DAFF_SPINNER_COMPONENTS } from '@daffodil/design/spinner';
12+
13+
@Component({
14+
selector: 'spinner-colors-example',
15+
templateUrl: './spinner-colors.component.html',
16+
styles: [`
17+
:host {
18+
display: flex;
19+
flex-direction: column;
20+
align-items: flex-start;
21+
gap: 1rem;
22+
}`],
23+
changeDetection: ChangeDetectionStrategy.OnPush,
24+
imports: [
25+
DAFF_SPINNER_COMPONENTS,
26+
ReactiveFormsModule,
27+
],
28+
})
29+
export class SpinnerColorsExampleComponent {
30+
color: DaffPalette = 'primary';
31+
32+
colorControl: FormControl = new FormControl('');
33+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<daff-spinner [size]="sizeControl.value"></daff-spinner>
2+
3+
<select [formControl]="sizeControl">
4+
<option value="">Default</option>
5+
<option value="xs">Extra small</option>
6+
<option value="sm">Small</option>
7+
<option value="md">Medium</option>
8+
<option value="lg">Large</option>
9+
<option value="xl">Extra large</option>
10+
</select>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import {
2+
ChangeDetectionStrategy,
3+
Component,
4+
} from '@angular/core';
5+
import {
6+
FormControl,
7+
ReactiveFormsModule,
8+
} from '@angular/forms';
9+
10+
import { DAFF_SPINNER_COMPONENTS } from '@daffodil/design/spinner';
11+
12+
@Component({
13+
selector: 'spinner-sizes-example',
14+
templateUrl: './spinner-sizes.component.html',
15+
styles: [`
16+
:host {
17+
display: flex;
18+
flex-direction: column;
19+
align-items: flex-start;
20+
gap: 1rem;
21+
}`],
22+
changeDetection: ChangeDetectionStrategy.OnPush,
23+
imports: [
24+
DAFF_SPINNER_COMPONENTS,
25+
ReactiveFormsModule,
26+
],
27+
})
28+
export class SpinnerSizesExampleComponent {
29+
sizeControl: FormControl = new FormControl('');
30+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
<daff-spinner>
2+
<daff-spinner-label>Test</daff-spinner-label>
3+
</daff-spinner>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import {
2+
ChangeDetectionStrategy,
3+
Component,
4+
} from '@angular/core';
5+
import { ReactiveFormsModule } from '@angular/forms';
6+
7+
import { DAFF_SPINNER_COMPONENTS } from '@daffodil/design/spinner';
8+
9+
@Component({
10+
selector: 'spinner-with-label-example',
11+
templateUrl: './spinner-with-label.component.html',
12+
changeDetection: ChangeDetectionStrategy.OnPush,
13+
imports: [
14+
DAFF_SPINNER_COMPONENTS,
15+
ReactiveFormsModule,
16+
],
17+
})
18+
export class SpinnerWithLabelExampleComponent {}

0 commit comments

Comments
 (0)