Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 67 additions & 20 deletions live-editing/configs/ButtonConfigGenerator.ts
Original file line number Diff line number Diff line change
@@ -1,48 +1,95 @@
import { IgxButtonGroupModule } from 'igniteui-angular/button-group';
import { IgxButtonModule, IgxRippleModule } from 'igniteui-angular/directives';
import { IgxIconModule } from 'igniteui-angular/icon';
import { AppModuleConfig, Config, IConfigGenerator } from 'igniteui-live-editing'
import { Config, IConfigGenerator } from 'igniteui-live-editing'
import { BaseAppConfig } from './BaseConfig';
import { ButtonsRoundnessComponent } from '../../src/app/data-entries/buttons/buttons-roundness-sample/buttons-roundness-sample';
export class ButtonConfigGenerator implements IConfigGenerator {


public generateConfigs(): Config[] {
const configs = new Array<Config>();

// buttons sample 1
// button overview
configs.push(new Config({
component: 'ButtonsSample1Component',
component: 'ButtonOverviewComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/buttons/"
shortenComponentPathBy: "/data-entries/button/"
}));

// buttons roundness
// flat button
configs.push(new Config({
component: 'ButtonsDisabledComponent',
component: 'ButtonFlatComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/buttons/"
shortenComponentPathBy: "/data-entries/button/"
}));

// buttons display density
// button interaction states
configs.push(new Config({
component: 'ButtonsDisplayDensityComponent',
component: 'ButtonInteractionStatesComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/buttons/"
shortenComponentPathBy: "/data-entries/button/"
}));

// button layout
configs.push(new Config({
component: 'ButtonsRoundnessComponent',
component: 'ButtonLayoutComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/buttons/"
shortenComponentPathBy: "/data-entries/button/"
}));

// button style
// contained button
configs.push(new Config({
component: 'ButtonsStyleComponent',
additionalFiles: ["/src/app/data-entries/buttons/buttons-style/layout.scss"],
component: 'ButtonContainedComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/buttons/"
shortenComponentPathBy: "/data-entries/button/"
}));

// floating action button
configs.push(new Config({
component: 'ButtonFabComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// outlined button
configs.push(new Config({
component: 'ButtonOutlinedComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// button states
configs.push(new Config({
component: 'ButtonStatesComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// button size
configs.push(new Config({
component: 'ButtonSizeComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// download button
configs.push(new Config({
component: 'ButtonDownloadComponent',
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// button styling
configs.push(new Config({
component: 'ButtonStylingComponent',
additionalFiles: ["/src/app/data-entries/button/button-styling/layout.scss"],
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

// button tailwind styling
configs.push(new Config({
component: 'ButtonTailwindStylingComponent',
additionalFiles: ["/src/app/data-entries/button/button-tailwind-styling/layout.scss"],
appConfig: BaseAppConfig,
shortenComponentPathBy: "/data-entries/button/"
}));

return configs;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div class="button-sample">
<button igxButton="contained">
<igx-icon family="material">notifications</igx-icon>
Contained
<igx-icon family="material">notifications</igx-icon>
</button>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.button-sample {
display: flex;
padding: 2.5rem;
}

.button-sample button {
width: 46%;
margin: auto;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-button-contained',
styleUrls: ['./button-contained.component.scss'],
templateUrl: './button-contained.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonContainedComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<div class="button-sample">
<a igxButton="contained" href="" download="url" target="_blank">Download</a>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.button-sample {
display: flex;
padding: 2.5rem;
}

.button-sample a {
width: 46%;
margin: auto;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';

@Component({
selector: 'app-button-download',
styleUrls: ['./button-download.component.scss'],
templateUrl: './button-download.component.html',
imports: [IgxButtonDirective]
})
export class ButtonDownloadComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div class="button-sample">
<button igxButton="fab">
<igx-icon family="material">add</igx-icon>
Floating Action
<igx-icon family="material">add</igx-icon>
</button>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.button-sample {
display: flex;
padding: 2rem;
}

.button-sample button {
width: 44%;
margin: auto;
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-buttons-sample-6',
styleUrls: ['./buttons-sample-6.component.scss'],
templateUrl: './buttons-sample-6.component.html',
selector: 'app-button-fab',
styleUrls: ['./button-fab.component.scss'],
templateUrl: './button-fab.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonsSample6Component { }
export class ButtonFabComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div class="button-sample">
<button igxButton="flat">
<igx-icon family="material">notifications</igx-icon>
Flat
<igx-icon family="material">notifications</igx-icon>
</button>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.button-sample {
display: flex;
padding: 2.5rem;
}

.button-sample button {
width: 46%;
margin: auto;
}
11 changes: 11 additions & 0 deletions src/app/data-entries/button/button-flat/button-flat.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-button-flat',
styleUrls: ['./button-flat.component.scss'],
templateUrl: './button-flat.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonFlatComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<div class="button-container">
@for (state of states; track state.value) {
<div class="button-item">
<span class="button-label">{{ state.label }}</span>
<button igxButton="contained" [class]="state.value">
<igx-icon family="material">notifications</igx-icon>
Contained
<igx-icon family="material">notifications</igx-icon>
</button>
</div>
}
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
@use "igniteui-angular/theming" as *;

.button-container {
display: flex;
justify-content: center;
align-items: center;
gap: 2rem;
padding: 1rem;
}

.button-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
}

.button-label {
color: #556c86;
font-family: "Aktiv Grotesk", sans-serif;
font-size: 13px;
font-weight: 400;
font-style: normal;
line-height: 20px;
letter-spacing: 0.3px;
}

.button-item button.state-hover,
.button-item button.state-focused-hover {
background: color($color: 'secondary', $variant: 400);
color: contrast-color($color: 'secondary', $variant: 400);
}

.button-item button.state-focused {
background: color($color: 'secondary', $variant: 300);
color: contrast-color($color: 'secondary', $variant: 300);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-button-interaction-states',
styleUrls: ['./button-interaction-states.component.scss'],
templateUrl: './button-interaction-states.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonInteractionStatesComponent {
public states = [
{ label: 'Idle', value: 'idle' },
{ label: 'Hover', value: 'state-hover' },
{ label: 'Focused', value: 'state-focused' },
{ label: 'Focused & Hover', value: 'state-focused-hover' }
];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="button-container">
<div class="button-item"><button igxButton="outlined"><igx-icon family="material">add</igx-icon>Add</button></div>
<div class="button-item"><button igxButton="outlined">Buy Now</button></div>
<div class="button-item"><button igxButton="outlined">Add<igx-icon family="material">add</igx-icon></button></div>
<div class="button-item"><button igxButton="outlined"><igx-icon family="material">add</igx-icon>Floating Action</button></div>
<div class="button-item"><button igxButton="outlined"><igx-icon family="material">add</igx-icon></button></div>
<div class="button-item"><button igxButton="outlined">Floating Action</button></div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
.button-container {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
width: 100%;
box-sizing: border-box;
padding: 2.5rem;
}

.button-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
}

.button-container button {
--ig-font-family: 'Titillium Web', sans-serif;
--ig-button-text-transform: uppercase;

font-size: 0.85rem;
letter-spacing: 1px;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-button-layout',
styleUrls: ['./button-layout.component.scss'],
templateUrl: './button-layout.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonLayoutComponent {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<div class="button-sample">
<button igxButton="outlined">
<igx-icon family="material">notifications</igx-icon>
Outlined
<igx-icon family="material">notifications</igx-icon>
</button>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.button-sample {
display: flex;
padding: 2.5rem;
}

.button-sample button {
width: 46%;
margin: auto;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Component } from '@angular/core';
import { IgxButtonDirective } from 'igniteui-angular/directives';
import { IgxIconComponent } from 'igniteui-angular/icon';

@Component({
selector: 'app-button-outlined',
styleUrls: ['./button-outlined.component.scss'],
templateUrl: './button-outlined.component.html',
imports: [IgxButtonDirective, IgxIconComponent]
})
export class ButtonOutlinedComponent { }
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<div class="form">
<igx-avatar shape="circle" src="https://dl.infragistics.com/x/img/avatars/14.jpg" alt="profile picture"></igx-avatar>
<div class="fields">
<igx-input-group>
<input igxInput type="text" placeholder="First Name" />
</igx-input-group>
<igx-input-group>
<input igxInput type="text" placeholder="Last Name" />
</igx-input-group>
<div class="actions">
<button igxButton="flat">Cancel</button>
<button igxButton="contained">Save</button>
</div>
</div>
</div>
Loading