Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(demos): add compared to WC section with samples to compare components #14813

Merged
merged 108 commits into from
Jan 17, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
07b602f
feat(sample): add compared to WC section with samples to compare comp…
didimmova Sep 24, 2024
ce7524f
feat(demos): clear out samples a bit more
didimmova Sep 24, 2024
cc79985
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Sep 24, 2024
f8959c2
feat(demos): update wc slider and igc fab button
didimmova Sep 24, 2024
9e0dcbb
fix(demos): revert igc fab button
didimmova Sep 24, 2024
d940c96
feat(demos): make igc components have igc components slotted in them
didimmova Sep 25, 2024
90c5434
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Sep 26, 2024
cba8da9
feat(demos): slot igc items directly in chip demo
didimmova Oct 1, 2024
192d5da
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Oct 1, 2024
8575910
demos(properties-panel): add initial spec file
simeonoff Oct 1, 2024
6a48e03
feat(properties-panel): add properties panel component
didimmova Oct 3, 2024
dc1e77d
feat(properties-panel): update template and ts file
didimmova Oct 8, 2024
5af8767
feat(properties-panel): make propertyChangeService and wrap the panel…
didimmova Oct 9, 2024
1f23f84
feat(property-panel): create service for event handling, use navdrawe…
didimmova Oct 11, 2024
f751d25
Merge pull request #14908 from IgniteUI/didimmova/property-panel
didimmova Oct 11, 2024
3a0411f
gc -m "feat(property-panel): enable adding custom controls"
didimmova Oct 16, 2024
48d4934
Merge pull request #14898 from IgniteUI/didimmova/property-panel-navd…
didimmova Oct 16, 2024
4d11622
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Oct 16, 2024
9cfe510
feat(demos): update mapping values and pageHeading
didimmova Oct 16, 2024
3e0f621
fix(badge): update badge sample
didimmova Oct 16, 2024
345d06a
feat(demos): add properties panel to carousel and chips demos
didimmova Oct 16, 2024
9612434
feat(dialog/dropdown/exp-panel): add properties panel
didimmova Oct 17, 2024
e5d89ce
feat(demos): separate inputs sample and add properties panel
didimmova Oct 17, 2024
5922fe2
feat(slider): add properties panel to slider sample
didimmova Oct 17, 2024
eff6286
feat(demos): update properties panel and add it to other components
didimmova Oct 22, 2024
1d14db4
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Oct 22, 2024
b5cdda3
feat(input-group): remove unnecessary imports from sample
didimmova Oct 22, 2024
88340b4
feat(progressbars): add progressbars samples
didimmova Oct 22, 2024
2651a1e
fix(button-group-demo): reverse ang vs wc selection functions
didimmova Oct 23, 2024
652ef7f
feat(demos): finish properties panel integration to samples
didimmova Oct 25, 2024
2e769fd
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Oct 25, 2024
ba46162
feat(properties-panel): use async pipe
didimmova Oct 28, 2024
0603944
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Oct 28, 2024
899d683
demos(properties-panel): fix NG0100 errors
simeonoff Oct 28, 2024
0767094
feat(demos): update getting properties and setting the config in cons…
didimmova Oct 29, 2024
4b1b0da
feat(demos): add aditional demos
didimmova Oct 31, 2024
abf38f4
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 4, 2024
5b42c59
feat(samples): add new samples
didimmova Nov 4, 2024
8c9f380
feat(demos): add additional samples
didimmova Nov 11, 2024
ee092b9
demos(list): update list demo
didimmova Nov 11, 2024
cfd4675
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 11, 2024
18c2023
fix(demos): remove nav closing tag
didimmova Nov 11, 2024
8bcd511
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Nov 12, 2024
aae4661
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 13, 2024
26911f7
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 15, 2024
655f08d
feat(samples): update samples
didimmova Nov 15, 2024
0a9364d
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Nov 18, 2024
e1fa470
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 21, 2024
665911d
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 26, 2024
601d8ad
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 26, 2024
869f97d
chore(demos): revert pallette and update imports
didimmova Nov 26, 2024
c9a524e
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Nov 28, 2024
19e974f
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Dec 2, 2024
77ce1c6
docs(replace samples)
didimmova Dec 3, 2024
a1170a5
refactor(samples): input-group showcase
desig9stein Dec 5, 2024
b9c01e0
refactor(samples): slider showcase
desig9stein Dec 5, 2024
54bc6ea
refactor(samples): toast showcase
desig9stein Dec 5, 2024
90ec88c
refactor(samples): routing
desig9stein Dec 5, 2024
2debd4c
refactor(samples): input-group - use reactive from for validation
desig9stein Dec 5, 2024
a0bc557
sample(card): add updated card sample
didimmova Dec 5, 2024
befe892
sample(card): improve card sample
didimmova Dec 5, 2024
d72e268
sample(dialog): replace dialog sample
didimmova Dec 6, 2024
507d5dc
refactor(samples): cleanup and add combo to input group showcase sample
desig9stein Dec 6, 2024
03ed034
refactor(samples): Add direction toggle inside the header for all sam…
desig9stein Dec 6, 2024
68e1145
refactor(samples): remove select showcase
desig9stein Dec 6, 2024
d58eae4
refactor(samples): update input-group-showcase
desig9stein Dec 6, 2024
c607c36
feat(demos): update card and dropdown samples
didimmova Dec 9, 2024
c17dff8
refactor(samples): fix rtl order
desig9stein Dec 9, 2024
8052fea
refactor(samples): fix input sample dir
desig9stein Dec 9, 2024
e4ba27a
feat(demos): unite input controls in one sample
didimmova Dec 9, 2024
60db5c2
fix(demos): align columns content to center in input-controls demo
didimmova Dec 9, 2024
529d5bd
demos(dropdown): replace dropdown sample
didimmova Dec 9, 2024
4539815
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Dec 9, 2024
3d04d0b
refactor(samples): cleanup code and fix tabs showcase
desig9stein Dec 9, 2024
48b14f1
fix(demos): fix chips sample and add labelAlign property to linear pr…
didimmova Dec 9, 2024
2f4db0e
demos(list): replace list sample
didimmova Dec 9, 2024
db6d03e
refactor(samples): cleanup code and fix stepper showcase
desig9stein Dec 10, 2024
a203dbe
chore(demos): remove 'Compared to WC' section in navdrawer
didimmova Dec 11, 2024
cf2c795
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Dec 18, 2024
d33ea7d
refactor(stepper): fix icon and step states
desig9stein Dec 18, 2024
fa5e477
refactor(stepper): fix orientation layout for easy visual debuting
desig9stein Dec 18, 2024
c4bc1c3
refactor(stepper): remove prev button form the first step since it is…
desig9stein Dec 18, 2024
580ebb4
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Jan 6, 2025
b3e8c2f
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Jan 6, 2025
8121be5
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Jan 8, 2025
5d46ecc
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Jan 13, 2025
65b84e5
fix(rtl, stepper, combo): fix console errors, update the rtl function…
desig9stein Jan 13, 2025
9e4282f
fix(samples): fix imports, indentation, destroy reference, etc.
didimmova Jan 13, 2025
fe3627f
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Jan 14, 2025
157bdfd
chore(samples): export positioning option values in vars
didimmova Jan 14, 2025
74743ae
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Jan 14, 2025
be5ea0a
fix(carousel): add templates for carousel indicators
desig9stein Jan 14, 2025
a2704f0
fix(stepper): rename stepper sample
desig9stein Jan 14, 2025
09cb115
chore(samples): remove ig-size directive module
didimmova Jan 14, 2025
658030e
fix(stepper): fix directives import
desig9stein Jan 14, 2025
e9cbd10
fix(combo-sample): use BEM mixins
desig9stein Jan 16, 2025
52648c6
fix(direction): Replaced the local `dirMode` management in `PageHeade…
desig9stein Jan 16, 2025
c25d83a
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Jan 17, 2025
7bebfc7
style(demos): update some samples with better formatting
simeonoff Jan 17, 2025
30c0f60
fix(demos): fix comments and formatting
didimmova Jan 17, 2025
8b604f1
Merge branch 'master' into didimmova/angular-v-wc-samples
didimmova Jan 17, 2025
378f988
chore(directive): add accessibility modifier
didimmova Jan 17, 2025
17301aa
chore(ig-size-directive): set size property to be public
didimmova Jan 17, 2025
371f8ed
chore(test): remove fdescribe
didimmova Jan 17, 2025
67a8f02
Merge branch 'master' into didimmova/angular-v-wc-samples
simeonoff Jan 17, 2025
2cbe10e
build(igniteui-webcomponents): update to latest version
desig9stein Jan 17, 2025
ddd06bb
fix(progressbar-sample): remove the old sample
desig9stein Jan 17, 2025
be04eda
chore(demos): rewrite directive
didimmova Jan 17, 2025
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
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@
"ig-typedoc-theme": "^6.0.0",
"igniteui-dockmanager": "^1.15.2",
"igniteui-sassdoc-theme": "^1.2.3",
"igniteui-webcomponents": "5.1.2",
"igniteui-webcomponents": "5.2.0",
"jasmine": "^5.4.0",
"jasmine-core": "~5.4.0",
"karma": "^6.4.4",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { ComponentFixture, TestBed, waitForAsync } from "@angular/core/testing";
import { By } from "@angular/platform-browser";
import { UIInteractions } from "../../test-utils/ui-interactions.spec";
import { CalendarDay } from "../common/model";
import { DateRangeDescriptor, DateRangeType } from "igniteui-webcomponents";
import { DateRangeDescriptor, DateRangeType } from 'igniteui-webcomponents';
import { ScrollDirection } from "../calendar";

const TODAY = new Date(2024, 6, 12);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import { Component } from '@angular/core';
import { IgSizeDirective } from './ig-size.directive';
import { TestBed, ComponentFixture } from '@angular/core/testing';

@Component({
template: `<div [igSize]="size">Test Element</div>`,
imports: [IgSizeDirective],
})
class TestComponent {
public size: 'small' | 'medium' | 'large';
}

describe('IgSizeDirective', () => {
let fixture: ComponentFixture<TestComponent>;
let testComponent: TestComponent;
let divElement: HTMLElement;

beforeEach(() => {
TestBed.configureTestingModule({
imports: [TestComponent],
});

fixture = TestBed.createComponent(TestComponent);
testComponent = fixture.componentInstance;
divElement = fixture.nativeElement.querySelector('div');
fixture.detectChanges();
});

it('should apply the correct --ig-size inline style for each size', () => {
const sizeMap = {
small: 'var(--ig-size-small)',
medium: 'var(--ig-size-medium)',
large: 'var(--ig-size-large)',
};

// Loop through each size and verify the inline style
for (const size in sizeMap) {
testComponent.size = size as 'small' | 'medium' | 'large';
fixture.detectChanges();

// Check if the --ig-size style is applied correctly
expect(divElement.style.getPropertyValue('--ig-size')).toBe(sizeMap[size]);
}
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { Directive, HostBinding, Input } from '@angular/core';

@Directive({
selector: '[igSize]',
})
export class IgSizeDirective {
private _size: string;

@Input()
@HostBinding('style.--ig-size')
public get igSize(): string {
return this._size;
}

public set igSize(value: 'small' | 'medium' | 'large') {
this._size = `var(--ig-size-${value})`;
}
}
1 change: 1 addition & 0 deletions projects/igniteui-angular/src/public_api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ export * from './lib/directives/mask/mask.directive';
export * from './lib/directives/radio/public_api';
export * from './lib/directives/ripple/ripple.directive';
export * from './lib/directives/scroll-inertia/scroll_inertia.directive';
export * from './lib/directives/size/ig-size.directive';
export * from './lib/directives/text-highlight/text-highlight.directive';
export * from './lib/directives/text-selection/text-selection.directive';
export * from './lib/directives/template-outlet/template_outlet.directive';
Expand Down
88 changes: 63 additions & 25 deletions src/app/accordion/accordion.sample.html
Original file line number Diff line number Diff line change
@@ -1,53 +1,48 @@
<igx-switch [(ngModel)]="singleBranchExpand">Single Branch Expand</igx-switch>
<button igxButton (buttonClick)="accordion.expandAll()">Expand All</button>
<button igxButton (buttonClick)="accordion.collapseAll()">Collapse All</button>
<button igxButton (buttonClick)="accordion.panels[1].header.disabled = !accordion.panels[1].header.disabled">Disable
second</button>
<igx-accordion #accordion [singleBranchExpand]="singleBranchExpand" (panelExpanding)="panelExpanding($event)"
(panelExpanded)="panelExpanded($event)">
<igx-expansion-panel class="my-expansion-panel" id="html5" [collapsed]="false">
<igx-expansion-panel-header [disabled]="false">
<h3 class="sample-title">Angular Accordion</h3>
<igx-accordion #accordion [singleBranchExpand]="properties.singleExpand">
<igx-expansion-panel>
<igx-expansion-panel-header>
<igx-expansion-panel-title>HTML5</igx-expansion-panel-title>
</igx-expansion-panel-header>
<igx-expansion-panel-body>
<igx-accordion>
<igx-expansion-panel>
<igx-expansion-panel-header [disabled]="false">
<igx-expansion-panel-title>First</igx-expansion-panel-title>
<igx-expansion-panel-header>
<igx-expansion-panel-title
>First</igx-expansion-panel-title
>
</igx-expansion-panel-header>
<igx-expansion-panel-body>
<div>
Content1
</div>
<div>Content1</div>
</igx-expansion-panel-body>
</igx-expansion-panel>
<igx-expansion-panel>
<igx-expansion-panel-header [disabled]="false">
<igx-expansion-panel-title>Second</igx-expansion-panel-title>
<igx-expansion-panel-header>
<igx-expansion-panel-title
>Second</igx-expansion-panel-title
>
</igx-expansion-panel-header>
<igx-expansion-panel-body>
<div>
Content2
</div>
<div>Content2</div>
</igx-expansion-panel-body>
</igx-expansion-panel>
</igx-accordion>
</igx-expansion-panel-body>
</igx-expansion-panel>
<igx-expansion-panel class="my-expansion-panel" id="css" [collapsed]="true">
<igx-expansion-panel-header [disabled]="false">
<igx-expansion-panel>
<igx-expansion-panel-header>
<igx-expansion-panel-title>CSS3</igx-expansion-panel-title>
</igx-expansion-panel-header>
<igx-expansion-panel-body>
<div class="example-content">
Cascading Style Sheets (CSS) is a style sheet language used for
describing the presentation of a document written in a markup language
like HTML
describing the presentation of a document written in a markup
language like HTML
</div>
</igx-expansion-panel-body>
</igx-expansion-panel>
<igx-expansion-panel class="my-expansion-panel" class="my-expansion-panel" id="scss" [collapsed]="false">
<igx-expansion-panel-header [disabled]="false">
<igx-expansion-panel>
<igx-expansion-panel-header>
<igx-expansion-panel-title>SASS/SCSS</igx-expansion-panel-title>
</igx-expansion-panel-header>
<igx-expansion-panel-body>
Expand All @@ -58,3 +53,46 @@
</igx-expansion-panel-body>
</igx-expansion-panel>
</igx-accordion>

<h3 class="sample-title">WC Accordion</h3>
<igc-accordion #accordion [singleExpand]="properties.singleExpand">
<igc-expansion-panel
class="my-expansion-panel"
id="html5"
[collapsed]="false"
>
<span slot="title">HTML5</span>
<div>
<igc-accordion>
<igc-expansion-panel>
<span slot="title">First</span>
<div>Content1</div>
</igc-expansion-panel>
<igc-expansion-panel>
<span slot="title">Second</span>
<div>Content2</div>
</igc-expansion-panel>
</igc-accordion>
</div>
</igc-expansion-panel>
<igc-expansion-panel class="my-expansion-panel" id="css" [collapsed]="true">
<span slot="title">CSS3</span>
<div class="example-content">
Cascading Style Sheets (CSS) is a style sheet language used for
describing the presentation of a document written in a markup
language like HTML
</div>
</igc-expansion-panel>
<igc-expansion-panel
class="my-expansion-panel"
class="my-expansion-panel"
id="scss"
[collapsed]="false"
>
<span slot="title">SASS/SCSS</span>
<div class="example-content">
Sass is a preprocessor scripting language that is interpreted or
compiled into Cascading Style Sheets (CSS).
</div>
</igc-expansion-panel>
</igc-accordion>
3 changes: 3 additions & 0 deletions src/app/accordion/accordion.sample.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
igx-accordion {
margin-bottom: 42px;
}
55 changes: 40 additions & 15 deletions src/app/accordion/accordion.sample.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,52 @@
import { Component, ViewChild } from '@angular/core';
import { Component, DestroyRef, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { IGX_ACCORDION_DIRECTIVES, IgxAccordionComponent, IgxButtonDirective, IgxSwitchComponent } from 'igniteui-angular';
import { slideInLeft, slideOutRight } from 'igniteui-angular/animations';
import { IGX_ACCORDION_DIRECTIVES } from 'igniteui-angular';
import {
IgcAccordionComponent,
IgcExpansionPanelComponent,
defineComponents
} from 'igniteui-webcomponents';
import {
Properties,
PropertyChangeService,
PropertyPanelConfig
} from '../properties-panel/property-change.service';

defineComponents(IgcAccordionComponent, IgcExpansionPanelComponent);

@Component({
selector: 'app-accordion-sample',
templateUrl: 'accordion.sample.html',
styleUrls: ['accordion.sample.scss'],
imports: [IgxSwitchComponent, FormsModule, IgxButtonDirective, IGX_ACCORDION_DIRECTIVES]
schemas: [CUSTOM_ELEMENTS_SCHEMA],
imports: [FormsModule, IGX_ACCORDION_DIRECTIVES]
})
export class AccordionSampleComponent {
@ViewChild('accordion', { static: true }) public accordion: IgxAccordionComponent;
public animationSettingsCustom = {
closeAnimation: slideOutRight,
openAnimation: slideInLeft
};
public panelConfig: PropertyPanelConfig = {
singleExpand: {
label: 'Single Branch Expand',
control: {
type: 'boolean',
defaultValue: false
}
},
}

public singleBranchExpand = false;
public properties: Properties;

public panelExpanding(event) {
console.log(event);
}
public panelExpanded(event) {
console.log(event);
constructor(
private propertyChangeService: PropertyChangeService,
private destroyRef: DestroyRef
) {
this.propertyChangeService.setPanelConfig(this.panelConfig);

const { unsubscribe } =
this.propertyChangeService.propertyChanges.subscribe(
(properties) => {
this.properties = properties;
}
);

this.destroyRef.onDestroy(() => unsubscribe);
}
}
22 changes: 20 additions & 2 deletions src/app/app.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,27 @@
</ng-template>
</igx-nav-drawer>

@let config = (propertyChangeService.panelConfig | async | keyvalue)?.length > 0;

@if(config) {
<igx-nav-drawer
#paneldrawer
[pin]="true"
position="right"
[isOpen]="config"
id="paneldrawer">
<ng-template igxDrawer>
<app-properties-panel></app-properties-panel>
</ng-template>
</igx-nav-drawer>
}

<div [style.paddingLeft]="drawerState.miniVariant && !drawerState.pin ? '60px' : null" class="content">
<app-page-header [title]="urlString"></app-page-header>
<div class="sample-wrapper">
<app-page-header
[title]="urlString"
(toggleDirection)="onDirectionToggle($event)"
></app-page-header>
<div #dirTarget class="sample-wrapper" [attr.dir]="dirMode()">
<router-outlet></router-outlet>
</div>
</div>
Expand Down
4 changes: 4 additions & 0 deletions src/app/app.component.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.test {
color: red;
}

#paneldrawer {
--igx-nav-drawer-size: 27rem;
}
Loading
Loading