diff --git a/live-editing/configs/AccordionConfigGenerator.ts b/live-editing/configs/AccordionConfigGenerator.ts
index 58d7c2bca..d35dece3e 100644
--- a/live-editing/configs/AccordionConfigGenerator.ts
+++ b/live-editing/configs/AccordionConfigGenerator.ts
@@ -31,6 +31,12 @@ export class AccordionConfigGenerator implements IConfigGenerator {
shortenComponentPathBy: '/layouts/accordion/'
}));
+ configs.push(new Config({
+ component: 'AccordionProgrammaticExpansionComponent',
+ appConfig: BaseAppConfig,
+ shortenComponentPathBy: '/layouts/accordion/'
+ }));
+
configs.push(new Config({
component: 'AccordionStyleComponent',
additionalFiles: ["/src/app/layouts/accordion/accordion-style/layout.scss"],
diff --git a/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.html b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.html
new file mode 100644
index 000000000..4dbdf3786
--- /dev/null
+++ b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+ Title Panel 1
+
+
+ Content Panel 1
+
+
+
+
+
+ Title Panel 2
+
+
+ Content Panel 2
+
+
+
+
diff --git a/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.scss b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.scss
new file mode 100644
index 000000000..8a98da23b
--- /dev/null
+++ b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.scss
@@ -0,0 +1,17 @@
+$ep-sample-border: 1px solid rgba(174, 174, 174, 0.25);
+
+.button-group {
+ display: flex;
+ gap: 8px;
+ padding: 16px;
+}
+
+.sample-wrapper {
+ overflow-y: auto;
+ max-height: 380px;
+ margin: 8px;
+}
+
+igx-expansion-panel {
+ border: $ep-sample-border;
+}
diff --git a/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.ts b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.ts
new file mode 100644
index 000000000..dbb99d419
--- /dev/null
+++ b/src/app/layouts/accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component.ts
@@ -0,0 +1,14 @@
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { IgxAccordionComponent } from 'igniteui-angular/accordion';
+import { IgxButtonDirective, IgxRippleDirective } from 'igniteui-angular/directives';
+import { IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelTitleDirective } from 'igniteui-angular/expansion-panel';
+
+@Component({
+ selector: 'app-accordion-programmatic-expansion',
+ styleUrls: ['./accordion-programmatic-expansion.component.scss'],
+ templateUrl: './accordion-programmatic-expansion.component.html',
+ changeDetection: ChangeDetectionStrategy.Eager,
+ imports: [IgxButtonDirective, IgxRippleDirective, IgxAccordionComponent, IgxExpansionPanelComponent, IgxExpansionPanelHeaderComponent, IgxExpansionPanelTitleDirective, IgxExpansionPanelBodyComponent]
+})
+export class AccordionProgrammaticExpansionComponent {
+}
diff --git a/src/app/layouts/layouts-routes-data.ts b/src/app/layouts/layouts-routes-data.ts
index 984fe9348..26893a814 100644
--- a/src/app/layouts/layouts-routes-data.ts
+++ b/src/app/layouts/layouts-routes-data.ts
@@ -4,6 +4,7 @@ export const layoutsRoutesData = {
'accordion-sample-1': { displayName: 'Accordion 1', parentName: 'Accordion' },
'accordion-sample-2': { displayName: 'Accordion 2', parentName: 'Accordion' },
'accordion-sample-3': { displayName: 'Accordion 3', parentName: 'Accordion' },
+ 'accordion-programmatic-expansion': { displayName: 'Accordion Programmatic Expansion', parentName: 'Accordion' },
'accordion-style': { displayName: 'Accordion Styling', parentName: 'Accordion' },
'avatar-sample-1': { displayName: 'Avatar with Initials', parentName: 'Avatar' },
'avatar-sample-2': { displayName: 'Avatar with Image', parentName: 'Avatar' },
diff --git a/src/app/layouts/layouts.routes.ts b/src/app/layouts/layouts.routes.ts
index a8f23171c..b1823c4ac 100644
--- a/src/app/layouts/layouts.routes.ts
+++ b/src/app/layouts/layouts.routes.ts
@@ -80,6 +80,7 @@ import { View3Component } from './tabs/views/view3/view3.component';
import { AccordionSample1Component } from './accordion/accordion-sample-1/accordion-sample-1.component';
import { AccordionSample2Component } from './accordion/accordion-sample-2/accordion-sample-2.component';
import { AccordionSample3Component } from './accordion/accordion-sample-3/accordion-sample-3.component';
+import { AccordionProgrammaticExpansionComponent } from './accordion/accordion-programmatic-expansion/accordion-programmatic-expansion.component';
import { AccordionStyleComponent } from './accordion/accordion-style/accordion-style.component';
import {StepperLabelPositionAndOrientationSampleComponent
} from './stepper/stepper-label-position-and-orientation-sample/stepper-label-position-and-orientation-sample.component';
@@ -107,6 +108,11 @@ export const LayoutsRoutes: Routes = [
data: layoutsRoutesData['accordion-sample-3'],
path: 'accordion-sample-3'
},
+ {
+ component: AccordionProgrammaticExpansionComponent,
+ data: layoutsRoutesData['accordion-programmatic-expansion'],
+ path: 'accordion-programmatic-expansion'
+ },
{
component: AccordionStyleComponent,
data: layoutsRoutesData['accordion-style'],