@@ -121,12 +121,12 @@ export class FrozenRowsDoc {
{{customer.company}}
{{customer.representative.name}}
-
@@ -140,13 +140,13 @@ export class FrozenRowsDoc {
{{customer.company}}
{{customer.representative.name}}
- = 2"
- (click)="toggleLock(customer,false,index)"
+ = 2"
+ (click)="toggleLock(customer,false,index)"
size="small"
text>
@@ -155,11 +155,11 @@ export class FrozenRowsDoc {
`,
html: `
-
@@ -177,12 +177,12 @@ export class FrozenRowsDoc {
{{customer.company}}
{{customer.representative.name}}
-
@@ -196,13 +196,13 @@ export class FrozenRowsDoc {
{{customer.company}}
{{customer.representative.name}}
- = 2"
- (click)="toggleLock(customer,false,index)"
+ = 2"
+ (click)="toggleLock(customer,false,index)"
size="small"
text>
@@ -212,8 +212,8 @@ export class FrozenRowsDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { ButtonModule } from 'primeng/button';
import { RippleModule } from 'primeng/ripple';
diff --git a/apps/showcase/doc/table/gridlinesdoc.ts b/apps/showcase/doc/table/gridlinesdoc.ts
new file mode 100644
index 00000000000..a5c5ce2842a
--- /dev/null
+++ b/apps/showcase/doc/table/gridlinesdoc.ts
@@ -0,0 +1,154 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+@Component({
+ selector: 'gridlines-doc',
+ template: `
+ Enabling showGridlines displays borders between cells.
+
+
+
+
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class GridlinesDoc {
+ products!: Product[];
+
+ constructor(
+ private productService: ProductService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ this.cd.markForCheck();
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+ `,
+ html: `
+
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { TableModule } from 'primeng/table';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'table-gridlines-demo',
+ templateUrl: 'table-gridlines-demo.html',
+ standalone: true,
+ imports: [TableModule, CommonModule],
+ providers: [ProductService]
+})
+export class TableGridlinesDemo {
+ products!: Product[];
+
+ constructor(private productService: ProductService) {}
+
+ ngOnInit() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ });
+ }
+}`,
+ data: `{
+ id: '1000',
+ code: 'f230fh0g3',
+ name: 'Bamboo Watch',
+ description: 'Product Description',
+ image: 'bamboo-watch.jpg',
+ price: 65,
+ category: 'Accessories',
+ quantity: 24,
+ inventoryStatus: 'INSTOCK',
+ rating: 5
+},
+...`,
+ service: ['ProductService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/product.ts',
+ content: `
+export interface Product {
+ id?: string;
+ code?: string;
+ name?: string;
+ description?: string;
+ price?: number;
+ quantity?: number;
+ inventoryStatus?: string;
+ category?: string;
+ image?: string;
+ rating?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/horizontalscrolldoc.ts b/apps/showcase/doc/table/horizontalscrolldoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/horizontalscrolldoc.ts
rename to apps/showcase/doc/table/horizontalscrolldoc.ts
index 6cb90e2805e..195cf5dd671 100644
--- a/apps/showcase/src/app/showcase/doc/table/horizontalscrolldoc.ts
+++ b/apps/showcase/doc/table/horizontalscrolldoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'horizontal-scroll-doc',
@@ -161,8 +161,8 @@ export class HorizontalScrollDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { Table } from 'primeng/table';
import { HttpClientModule } from '@angular/common/http';
diff --git a/apps/showcase/doc/table/importdoc.ts b/apps/showcase/doc/table/importdoc.ts
new file mode 100644
index 00000000000..fff670abd37
--- /dev/null
+++ b/apps/showcase/doc/table/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'table-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { TableModule } from 'primeng/table';`
+ };
+}
diff --git a/apps/showcase/doc/table/lazyloaddoc.ts b/apps/showcase/doc/table/lazyloaddoc.ts
new file mode 100644
index 00000000000..e1b3b676b79
--- /dev/null
+++ b/apps/showcase/doc/table/lazyloaddoc.ts
@@ -0,0 +1,426 @@
+import { Code } from '@/domain/code';
+import { Customer, Representative } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { LazyLoadEvent } from 'primeng/api';
+
+@Component({
+ selector: 'lazy-load-doc',
+ template: `
+
+ Lazy mode is handy to deal with large datasets, instead of loading the entire data, small chunks of data is loaded by invoking onLazyLoad callback everytime paging , sorting and filtering happens. Sample here loads
+ the data from remote datasource efficiently using lazy loading. Also, the implementation of checkbox selection in lazy tables is left entirely to the user. Since the table component does not know what will happen to the data on
+ the next page or whether there are instant data changes, the selection array can be implemented in several ways. One of them is as in the example below.
+
+
+
+
+
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ option.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class LazyLoadDoc implements OnInit {
+ customers!: Customer[];
+
+ totalRecords!: number;
+
+ loading: boolean = false;
+
+ representatives!: Representative[];
+
+ selectAll: boolean = false;
+
+ selectedCustomers!: Customer[];
+
+ constructor(
+ private customerService: CustomerService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ ngOnInit() {
+ this.loading = true;
+ }
+
+ loadDemoData() {
+ this.representatives = [
+ { name: 'Amy Elsner', image: 'amyelsner.png' },
+ { name: 'Anna Fali', image: 'annafali.png' },
+ { name: 'Asiya Javayant', image: 'asiyajavayant.png' },
+ { name: 'Bernardo Dominic', image: 'bernardodominic.png' },
+ { name: 'Elwin Sharvill', image: 'elwinsharvill.png' },
+ { name: 'Ioni Bowcher', image: 'ionibowcher.png' },
+ { name: 'Ivan Magalhaes', image: 'ivanmagalhaes.png' },
+ { name: 'Onyama Limba', image: 'onyamalimba.png' },
+ { name: 'Stephen Shaw', image: 'stephenshaw.png' },
+ { name: 'Xuxue Feng', image: 'xuxuefeng.png' }
+ ];
+ }
+
+ loadCustomers(event: LazyLoadEvent) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.customerService.getCustomers({ lazyEvent: JSON.stringify(event) }).then((res) => {
+ this.customers = res.customers;
+ this.totalRecords = res.totalRecords;
+ this.loading = false;
+ this.cd.markForCheck();
+ });
+ }, 1000);
+ }
+
+ onSelectionChange(value = []) {
+ this.selectAll = value.length === this.totalRecords;
+ this.selectedCustomers = value;
+ }
+
+ onSelectAllChange(event: any) {
+ const checked = event.checked;
+
+ if (checked) {
+ this.customerService.getCustomers().then((res) => {
+ this.selectedCustomers = res.customers;
+ this.selectAll = true;
+ });
+ } else {
+ this.selectedCustomers = [];
+ this.selectAll = false;
+ }
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+ Name
+
+
+ Country
+
+
+ Company
+
+
+ Representative
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ option.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+ `,
+ html: `
+
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ option.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
`,
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { LazyLoadEvent } from 'primeng/api';
+import { Customer, Representative } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+import { TableModule } from 'primeng/table';
+import { MultiSelectModule } from 'primeng/multiselect';
+import { HttpClientModule } from '@angular/common/http';
+
+@Component({
+ selector: 'table-lazy-load-demo',
+ templateUrl: 'table-lazy-load-demo.html',
+ standalone: true,
+ imports: [TableModule, MultiSelectModule, HttpClientModule],
+ providers:Â [CustomerService]
+})
+export class TableLazyLoadDemo implements OnInit{
+ customers!: Customer[];
+
+ totalRecords!: number;
+
+ loading: boolean = false;
+
+ representatives!: Representative[];
+
+ selectAll: boolean = false;
+
+ selectedCustomers!: Customer[];
+
+ constructor(private customerService: CustomerService) {}
+
+ ngOnInit() {
+ this.representatives = [
+ { name: 'Amy Elsner', image: 'amyelsner.png' },
+ { name: 'Anna Fali', image: 'annafali.png' },
+ { name: 'Asiya Javayant', image: 'asiyajavayant.png' },
+ { name: 'Bernardo Dominic', image: 'bernardodominic.png' },
+ { name: 'Elwin Sharvill', image: 'elwinsharvill.png' },
+ { name: 'Ioni Bowcher', image: 'ionibowcher.png' },
+ { name: 'Ivan Magalhaes', image: 'ivanmagalhaes.png' },
+ { name: 'Onyama Limba', image: 'onyamalimba.png' },
+ { name: 'Stephen Shaw', image: 'stephenshaw.png' },
+ { name: 'Xuxue Feng', image: 'xuxuefeng.png' }
+ ];
+
+ this.loading = true;
+ }
+
+ loadCustomers(event: LazyLoadEvent) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.customerService.getCustomers({ lazyEvent: JSON.stringify(event) }).then((res) => {
+ this.customers = res.customers;
+ this.totalRecords = res.totalRecords;
+ this.loading = false;
+ });
+ }, 1000);
+ }
+
+ onSelectionChange(value = []) {
+ this.selectAll = value.length === this.totalRecords;
+ this.selectedCustomers = value;
+ }
+
+ onSelectAllChange(event: any) {
+ const checked = event.checked;
+
+ if (checked) {
+ this.customerService.getCustomers().then((res) => {
+ this.selectedCustomers = res.customers;
+ this.selectAll = true;
+ });
+ } else {
+ this.selectedCustomers = [];
+ this.selectAll = false;
+ }
+ }
+}`,
+ data: `{
+ id: 1000,
+ name: 'James Butt',
+ country: {
+ name: 'Algeria',
+ code: 'dz'
+ },
+ company: 'Benton, John B Jr',
+ date: '2015-09-13',
+ status: 'unqualified',
+ verified: true,
+ activity: 17,
+ representative: {
+ name: 'Ioni Bowcher',
+ image: 'ionibowcher.png'
+ },
+ balance: 70663
+},
+...`,
+ service: ['CustomerService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/customer.ts',
+ content: `
+export interface Country {
+ name?: string;
+ code?: string;
+}
+
+export interface Representative {
+ name?: string;
+ image?: string;
+}
+
+export interface Customer {
+ id?: number;
+ name?: string;
+ country?: Country;
+ company?: string;
+ date?: string | Date;
+ status?: string;
+ activity?: number;
+ representative?: Representative;
+ verified?: boolean;
+ balance?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/multiplecolumnssortdoc.ts b/apps/showcase/doc/table/multiplecolumnssortdoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/multiplecolumnssortdoc.ts
rename to apps/showcase/doc/table/multiplecolumnssortdoc.ts
index 98aea734808..050089dce66 100644
--- a/apps/showcase/src/app/showcase/doc/table/multiplecolumnssortdoc.ts
+++ b/apps/showcase/doc/table/multiplecolumnssortdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'multiple-columns-sort-doc',
@@ -118,8 +118,8 @@ export class MultipleColumnsSortDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/multipleselectiondoc.ts b/apps/showcase/doc/table/multipleselectiondoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/multipleselectiondoc.ts
rename to apps/showcase/doc/table/multipleselectiondoc.ts
index 02a222c09e0..f4a56e9e1b5 100644
--- a/apps/showcase/src/app/showcase/doc/table/multipleselectiondoc.ts
+++ b/apps/showcase/doc/table/multipleselectiondoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'multiple-selection-doc',
@@ -120,8 +120,8 @@ export class MultipleSelectionDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/pageonlyselectiondoc.ts b/apps/showcase/doc/table/pageonlyselectiondoc.ts
similarity index 93%
rename from apps/showcase/src/app/showcase/doc/table/pageonlyselectiondoc.ts
rename to apps/showcase/doc/table/pageonlyselectiondoc.ts
index 66a94762656..b66a9b64902 100644
--- a/apps/showcase/src/app/showcase/doc/table/pageonlyselectiondoc.ts
+++ b/apps/showcase/doc/table/pageonlyselectiondoc.ts
@@ -1,7 +1,7 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
@Component({
selector: 'page-only-selection-doc',
@@ -107,8 +107,8 @@ export class PageOnlySelectionDoc {
`,
typescript: `
import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
@Component({
selector: 'table-page-only-selection-demo',
@@ -125,7 +125,7 @@ export class TablePageOnlySelectionDemo implements OnInit{
this.productService.getProductsMini().then((data) => {
this.products = data;
});
- }
+ }
}`,
data: `{
id: '1000',
diff --git a/apps/showcase/doc/table/paginatorbasicdoc.ts b/apps/showcase/doc/table/paginatorbasicdoc.ts
new file mode 100644
index 00000000000..ebed9a61ee6
--- /dev/null
+++ b/apps/showcase/doc/table/paginatorbasicdoc.ts
@@ -0,0 +1,177 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+@Component({
+ selector: 'paginator-basic-doc',
+ template: `
+
+ Pagination is enabled by setting paginator property to true and defining a rows property to specify the number of rows per page. For server side pagination, see the lazy loading
+ example.
+
+
+
+
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class PaginatorBasicDoc {
+ customers!: Customer[];
+
+ constructor(
+ private customerService: CustomerService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.customerService.getCustomersLarge().then((customers) => {
+ this.customers = customers;
+ this.cd.markForCheck();
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+ `,
+ html: `
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+import { TableModule } from 'primeng/table';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'table-paginator-basic-demo',
+ templateUrl: 'table-paginator-basic-demo.html',
+ standalone: true,
+ imports: [TableModule, CommonModule],
+ providers: [ProductService]
+})
+export class TablePaginatorBasicDemo {
+ customers!: Customer[];
+
+ constructor(private customerService: CustomerService) {}
+
+ ngOnInit() {
+ this.customerService.getCustomersLarge().then((customers) => (this.customers = customers));
+ }
+}`,
+ data: `{
+ id: 1000,
+ name: 'James Butt',
+ country: {
+ name: 'Algeria',
+ code: 'dz'
+ },
+ company: 'Benton, John B Jr',
+ date: '2015-09-13',
+ status: 'unqualified',
+ verified: true,
+ activity: 17,
+ representative: {
+ name: 'Ioni Bowcher',
+ image: 'ionibowcher.png'
+ },
+ balance: 70663
+},
+...`,
+ service: ['CustomerService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/customer.ts',
+ content: `
+export interface Country {
+ name?: string;
+ code?: string;
+}
+
+export interface Representative {
+ name?: string;
+ image?: string;
+}
+
+export interface Customer {
+ id?: number;
+ name?: string;
+ country?: Country;
+ company?: string;
+ date?: string | Date;
+ status?: string;
+ activity?: number;
+ representative?: Representative;
+ verified?: boolean;
+ balance?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/doc/table/paginatorlocaledoc.ts b/apps/showcase/doc/table/paginatorlocaledoc.ts
new file mode 100644
index 00000000000..d65980b26f4
--- /dev/null
+++ b/apps/showcase/doc/table/paginatorlocaledoc.ts
@@ -0,0 +1,207 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+@Component({
+ selector: 'paginator-locale-doc',
+ template: `
+
+ paginator localization information such as page numbers and rows per page options are defined with the
+ paginatorLocale property which defaults to the user locale.
+
+
+
+
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class PaginatorLocaleDoc {
+ customers!: Customer[];
+
+ constructor(
+ private customerService: CustomerService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.customerService.getCustomersLarge().then((customers) => {
+ this.customers = customers;
+ this.cd.markForCheck();
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
+
+
+
+
+ `,
+ html: `
+
+
+
+
+ Name
+ Country
+ Company
+ Representative
+
+
+
+
+ {{ customer.name }}
+ {{ customer.country.name }}
+ {{ customer.company }}
+ {{ customer.representative.name }}
+
+
+
+
+
+
+
+
+
+
`,
+ typescript: `
+import { Component } from '@angular/core';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
+
+@Component({
+ selector: 'table-paginator-locale-demo',
+ templateUrl: 'table-paginator-locale-demo.html'
+})
+export class TablePaginatorLocaleDemo {
+ customers!: Customer[];
+
+ constructor(private customerService: CustomerService) {}
+
+ ngOnInit() {
+ this.customerService.getCustomersLarge().then((customers) => (this.customers = customers));
+ }
+}`,
+ data: `{
+ id: 1000,
+ name: 'James Butt',
+ country: {
+ name: 'Algeria',
+ code: 'dz'
+ },
+ company: 'Benton, John B Jr',
+ date: '2015-09-13',
+ status: 'unqualified',
+ verified: true,
+ activity: 17,
+ representative: {
+ name: 'Ioni Bowcher',
+ image: 'ionibowcher.png'
+ },
+ balance: 70663
+},
+...`,
+ service: ['CustomerService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/customer.ts',
+ content: `
+export interface Country {
+ name?: string;
+ code?: string;
+}
+
+export interface Representative {
+ name?: string;
+ image?: string;
+}
+
+export interface Customer {
+ id?: number;
+ name?: string;
+ country?: Country;
+ company?: string;
+ date?: string | Date;
+ status?: string;
+ activity?: number;
+ representative?: Representative;
+ verified?: boolean;
+ balance?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/paginatorprogrammaticdoc.ts b/apps/showcase/doc/table/paginatorprogrammaticdoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/table/paginatorprogrammaticdoc.ts
rename to apps/showcase/doc/table/paginatorprogrammaticdoc.ts
index b3c7941c67d..9a5ff9e3022 100644
--- a/apps/showcase/src/app/showcase/doc/table/paginatorprogrammaticdoc.ts
+++ b/apps/showcase/doc/table/paginatorprogrammaticdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'paginator-programmatic-doc',
@@ -176,8 +176,8 @@ export class PaginatorProgrammaticDoc {
`,
typescript: `import { Component } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
import { ButtonModule } from 'primeng/button';
diff --git a/apps/showcase/src/app/showcase/doc/table/presortdoc.ts b/apps/showcase/doc/table/presortdoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/presortdoc.ts
rename to apps/showcase/doc/table/presortdoc.ts
index 2a2b953d655..097d0436c90 100644
--- a/apps/showcase/src/app/showcase/doc/table/presortdoc.ts
+++ b/apps/showcase/doc/table/presortdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'presort-doc',
@@ -132,8 +132,8 @@ export class PreSortDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/productsdoc.ts b/apps/showcase/doc/table/productsdoc.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/doc/table/productsdoc.ts
rename to apps/showcase/doc/table/productsdoc.ts
index 1bbe53f6da2..d978b7f69d7 100644
--- a/apps/showcase/src/app/showcase/doc/table/productsdoc.ts
+++ b/apps/showcase/doc/table/productsdoc.ts
@@ -1,8 +1,8 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'products-doc',
@@ -614,8 +614,8 @@ export class ProductsDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
import { ConfirmationService, MessageService } from 'primeng/api';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { Dialog } from 'primeng/dialog';
import { Ripple } from 'primeng/ripple';
diff --git a/apps/showcase/src/app/showcase/doc/table/radiobuttonselectiondoc.ts b/apps/showcase/doc/table/radiobuttonselectiondoc.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/doc/table/radiobuttonselectiondoc.ts
rename to apps/showcase/doc/table/radiobuttonselectiondoc.ts
index 48a775e09d5..685725c04ac 100644
--- a/apps/showcase/src/app/showcase/doc/table/radiobuttonselectiondoc.ts
+++ b/apps/showcase/doc/table/radiobuttonselectiondoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'radio-button-selection-doc',
@@ -110,8 +110,8 @@ export class RadioButtonSelectionDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/removablesortdoc.ts b/apps/showcase/doc/table/removablesortdoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/table/removablesortdoc.ts
rename to apps/showcase/doc/table/removablesortdoc.ts
index e88ff3d666e..f746305b8fb 100644
--- a/apps/showcase/src/app/showcase/doc/table/removablesortdoc.ts
+++ b/apps/showcase/doc/table/removablesortdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
import { SortEvent } from 'primeng/api';
import { Table } from 'primeng/table';
@@ -151,8 +151,8 @@ export class RemovableSortDoc {
`,
typescript: `import { Component, OnInit, ViewChild } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
import { TableModule } from 'primeng/table';
diff --git a/apps/showcase/doc/table/reorderdoc.ts b/apps/showcase/doc/table/reorderdoc.ts
new file mode 100644
index 00000000000..09455f74642
--- /dev/null
+++ b/apps/showcase/doc/table/reorderdoc.ts
@@ -0,0 +1,203 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'reorder-doc',
+ template: `
+
+ Order of the columns and rows can be changed using drag and drop. Column reordering is configured by adding
+ reorderableColumns property.
+
+
+ Similarly, adding reorderableRows property enables draggable rows. For the drag handle a column needs to have rowReorder property and onRowReorder callback is required to control the state of the rows after
+ reorder completes.
+
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ReorderDoc {
+ products!: Product[];
+
+ cols!: Column[];
+
+ constructor(
+ private productService: ProductService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ this.cd.markForCheck();
+ });
+
+ this.cols = [
+ { field: 'code', header: 'Code' },
+ { field: 'name', header: 'Name' },
+ { field: 'category', header: 'Category' },
+ { field: 'quantity', header: 'Quantity' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+ {{col.header}}
+
+
+
+
+
+
+
+
+
+ {{rowData[col.field]}}
+
+
+
+ `,
+ html: `
+
+
+
+
+
+ {{col.header}}
+
+
+
+
+
+
+
+
+
+ {{rowData[col.field]}}
+
+
+
+
+
`,
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { TableModule } from 'primeng/table';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'table-reorder-demo',
+ templateUrl: 'table-reorder-demo.html',
+ standalone: true,
+ imports: [TableModule, CommonModule],
+ providers: [ProductService]
+})
+export class TableReorderDemo implements OnInit{
+ products!: Product[];
+
+ cols!: Column[];
+
+ constructor(private productService: ProductService) {}
+
+ ngOnInit() {
+ this.productService.getProductsMini().then((data) => (this.products = data));
+
+ this.cols = [
+ { field: 'code', header: 'Code' },
+ { field: 'name', header: 'Name' },
+ { field: 'category', header: 'Category' },
+ { field: 'quantity', header: 'Quantity' }
+ ];
+ }
+}`,
+ data: `{
+ id: '1000',
+ code: 'f230fh0g3',
+ name: 'Bamboo Watch',
+ description: 'Product Description',
+ image: 'bamboo-watch.jpg',
+ price: 65,
+ category: 'Accessories',
+ quantity: 24,
+ inventoryStatus: 'INSTOCK',
+ rating: 5
+},
+...`,
+ service: ['ProductService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/product.ts',
+ content: `
+export interface Product {
+ id?: string;
+ code?: string;
+ name?: string;
+ description?: string;
+ price?: number;
+ quantity?: number;
+ inventoryStatus?: string;
+ category?: string;
+ image?: string;
+ rating?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/roweditdoc.ts b/apps/showcase/doc/table/roweditdoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/table/roweditdoc.ts
rename to apps/showcase/doc/table/roweditdoc.ts
index ff30781cae6..14d1323e555 100644
--- a/apps/showcase/src/app/showcase/doc/table/roweditdoc.ts
+++ b/apps/showcase/doc/table/roweditdoc.ts
@@ -1,8 +1,8 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
import { MessageService, SelectItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'row-edit-doc',
@@ -361,8 +361,8 @@ export class RowEditDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
import { MessageService, SelectItem } from 'primeng/api';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { ToastModule } from 'primeng/toast';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/rowexpansiondoc.ts b/apps/showcase/doc/table/rowexpansiondoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/table/rowexpansiondoc.ts
rename to apps/showcase/doc/table/rowexpansiondoc.ts
index f1ddfc10dfb..029e60fbc76 100644
--- a/apps/showcase/src/app/showcase/doc/table/rowexpansiondoc.ts
+++ b/apps/showcase/doc/table/rowexpansiondoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
import { MessageService } from 'primeng/api';
import { TableRowCollapseEvent, TableRowExpandEvent } from 'primeng/table';
@@ -334,12 +334,12 @@ export class RowExpansionDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
import { TableModule } from 'primeng/table';
-import { Product } from '@domain/product';
+import { Product } from '@/domain/product';
import { Tag } from 'primeng/tag';
import { Rating } from 'primeng/rating';
import { CommonModule } from '@angular/common';
import { ButtonModule } from 'primeng/button';
-import { ProductService } from '@service/productservice';
+import { ProductService } from '@/service/productservice';
import { MessageService } from 'primeng/api';
import { ToastModule } from 'primeng/toast';
import { TableRowCollapseEvent, TableRowExpandEvent } from 'primeng/table';
diff --git a/apps/showcase/src/app/showcase/doc/table/rowspangroupingdoc.ts b/apps/showcase/doc/table/rowspangroupingdoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/table/rowspangroupingdoc.ts
rename to apps/showcase/doc/table/rowspangroupingdoc.ts
index 458afd86fd0..0a0acb07364 100644
--- a/apps/showcase/src/app/showcase/doc/table/rowspangroupingdoc.ts
+++ b/apps/showcase/doc/table/rowspangroupingdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'rowspan-grouping-doc',
@@ -216,8 +216,8 @@ export class RowspanGroupingDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { HttpClientModule } from '@angular/common/http';
import { Tag } from 'primeng/tag';
diff --git a/apps/showcase/src/app/showcase/doc/table/selectioneventsdoc.ts b/apps/showcase/doc/table/selectioneventsdoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/selectioneventsdoc.ts
rename to apps/showcase/doc/table/selectioneventsdoc.ts
index 6eac5999d68..a2c1e95d7fe 100644
--- a/apps/showcase/src/app/showcase/doc/table/selectioneventsdoc.ts
+++ b/apps/showcase/doc/table/selectioneventsdoc.ts
@@ -1,8 +1,8 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'selection-events-doc',
@@ -119,8 +119,8 @@ export class SelectionEventsDoc {
`,
typescript: `import { Component, Input, OnInit } from '@angular/core';
import { MessageService } from 'primeng/api';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { ToastModule } from 'primeng/toast';
diff --git a/apps/showcase/src/app/showcase/doc/table/singlecolumnsortdoc.ts b/apps/showcase/doc/table/singlecolumnsortdoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/singlecolumnsortdoc.ts
rename to apps/showcase/doc/table/singlecolumnsortdoc.ts
index 464a569be46..777abe18638 100644
--- a/apps/showcase/src/app/showcase/doc/table/singlecolumnsortdoc.ts
+++ b/apps/showcase/doc/table/singlecolumnsortdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'single-column-sort-doc',
@@ -123,8 +123,8 @@ export class SingleColumnSortDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/singleselectiondoc.ts b/apps/showcase/doc/table/singleselectiondoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/table/singleselectiondoc.ts
rename to apps/showcase/doc/table/singleselectiondoc.ts
index 7eb27878208..29842f9680a 100644
--- a/apps/showcase/src/app/showcase/doc/table/singleselectiondoc.ts
+++ b/apps/showcase/doc/table/singleselectiondoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'single-selection-doc',
@@ -114,8 +114,8 @@ export class SingleSelectionDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { FormsModule } from '@angular/forms';
diff --git a/apps/showcase/doc/table/sizedoc.ts b/apps/showcase/doc/table/sizedoc.ts
new file mode 100644
index 00000000000..281b3f7e639
--- /dev/null
+++ b/apps/showcase/doc/table/sizedoc.ts
@@ -0,0 +1,188 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+@Component({
+ selector: 'size-doc',
+ template: `
+ In addition to a regular table, alternatives with alternative sizes are available.
+
+
+
+
+
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class SizeDoc {
+ products!: Product[];
+
+ sizes!: any[];
+
+ selectedSize: any = undefined;
+
+ constructor(
+ private productService: ProductService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ this.cd.markForCheck();
+ });
+
+ this.sizes = [
+ { name: 'Small', value: 'small' },
+ { name: 'Normal', value: undefined },
+ { name: 'Large', value: 'large' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+ `,
+ html: `
+
+
+
+
+ Code
+ Name
+ Category
+ Quantity
+
+
+
+
+ {{ product.code }}
+ {{ product.name }}
+ {{ product.category }}
+ {{ product.quantity }}
+
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { TableModule } from 'primeng/table';
+import { SelectButton } from 'primeng/selectbutton';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'table-size-demo',
+ templateUrl: 'table-size-demo.html',
+ standalone: true,
+ imports: [TableModule, SelectButton, CommonModule],
+ providers: [ProductService]
+})
+export class TableSizeDemo {
+ products!: Product[];
+
+ sizes!: any[];
+
+ selectedSize: any = '';
+
+ constructor(private productService: ProductService) {}
+
+ ngOnInit() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ });
+
+ this.sizes = [
+ { name: 'Small', class: 'p-datatable-sm' },
+ { name: 'Normal', class: '' },
+ { name: 'Large', class: 'p-datatable-lg' }
+ ];
+ }
+}`,
+ data: `{
+ id: '1000',
+ code: 'f230fh0g3',
+ name: 'Bamboo Watch',
+ description: 'Product Description',
+ image: 'bamboo-watch.jpg',
+ price: 65,
+ category: 'Accessories',
+ quantity: 24,
+ inventoryStatus: 'INSTOCK',
+ rating: 5
+},
+...`,
+ service: ['ProductService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/product.ts',
+ content: `
+export interface Product {
+ id?: string;
+ code?: string;
+ name?: string;
+ description?: string;
+ price?: number;
+ quantity?: number;
+ inventoryStatus?: string;
+ category?: string;
+ image?: string;
+ rating?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/statefuldoc.ts b/apps/showcase/doc/table/statefuldoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/table/statefuldoc.ts
rename to apps/showcase/doc/table/statefuldoc.ts
index d47f7909c31..881cf2b00c1 100644
--- a/apps/showcase/src/app/showcase/doc/table/statefuldoc.ts
+++ b/apps/showcase/doc/table/statefuldoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'stateful-doc',
@@ -323,8 +323,8 @@ export class StatefulDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { HttpClientModule } from '@angular/common/http';
import { InputTextModule } from 'primeng/inputtext';
diff --git a/apps/showcase/src/app/showcase/doc/table/stripeddoc.ts b/apps/showcase/doc/table/stripeddoc.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/doc/table/stripeddoc.ts
rename to apps/showcase/doc/table/stripeddoc.ts
index ab7f80098fc..c0b9a86c7a6 100644
--- a/apps/showcase/src/app/showcase/doc/table/stripeddoc.ts
+++ b/apps/showcase/doc/table/stripeddoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'striped-doc',
@@ -94,8 +94,8 @@ export class StripedDoc {
`,
typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/table/styledoc.ts b/apps/showcase/doc/table/styledoc.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/doc/table/styledoc.ts
rename to apps/showcase/doc/table/styledoc.ts
index be0b9617d64..6a9b6b69b3c 100644
--- a/apps/showcase/src/app/showcase/doc/table/styledoc.ts
+++ b/apps/showcase/doc/table/styledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
@Component({
selector: 'table-style-doc',
@@ -87,8 +87,8 @@ export class StyleDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
import { TableModule } from 'primeng/table';
import { CommonModule } from '@angular/common';
import { BadgeModule } from 'primeng/badge';
diff --git a/apps/showcase/src/app/showcase/doc/table/stylingdoc.ts b/apps/showcase/doc/table/stylingdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/table/stylingdoc.ts
rename to apps/showcase/doc/table/stylingdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/table/subheadergroupingdoc.ts b/apps/showcase/doc/table/subheadergroupingdoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/table/subheadergroupingdoc.ts
rename to apps/showcase/doc/table/subheadergroupingdoc.ts
index ec49b7c07b3..c65df4217a5 100644
--- a/apps/showcase/src/app/showcase/doc/table/subheadergroupingdoc.ts
+++ b/apps/showcase/doc/table/subheadergroupingdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'subheader-grouping-doc',
@@ -236,8 +236,8 @@ export class SubheaderGroupingDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { HttpClientModule } from '@angular/common/http';
import { Tag } from 'primeng/tag';
diff --git a/apps/showcase/src/app/showcase/doc/table/tabledoc.module.ts b/apps/showcase/doc/table/tabledoc.module.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/table/tabledoc.module.ts
rename to apps/showcase/doc/table/tabledoc.module.ts
index fa51de911c8..6e40c50759b 100644
--- a/apps/showcase/src/app/showcase/doc/table/tabledoc.module.ts
+++ b/apps/showcase/doc/table/tabledoc.module.ts
@@ -1,9 +1,10 @@
+import { DeferredDemo } from '@/components/demo/deferreddemo';
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { AppDocModule } from '@layout/doc/app.doc.module';
import { BadgeModule } from 'primeng/badge';
import { ButtonModule } from 'primeng/button';
import { CalendarModule } from 'primeng/calendar';
@@ -32,7 +33,6 @@ import { ToggleButtonModule } from 'primeng/togglebutton';
import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { ToolbarModule } from 'primeng/toolbar';
import { TooltipModule } from 'primeng/tooltip';
-import { DeferredDemo } from '../../demo/deferreddemo';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { CellEditDoc } from './celleditdoc';
diff --git a/apps/showcase/doc/table/templatedoc.ts b/apps/showcase/doc/table/templatedoc.ts
new file mode 100644
index 00000000000..d16c2d38282
--- /dev/null
+++ b/apps/showcase/doc/table/templatedoc.ts
@@ -0,0 +1,240 @@
+import { Code } from '@/domain/code';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'template-doc',
+ template: `
+ Custom content at header , body and footer sections are supported via templating.
+
+
+
+
+
+
+
+
+
+ Name
+ Image
+ Price
+ Category
+ Reviews
+ Status
+
+
+
+
+ {{ product.name }}
+
+
+
+ {{ product.price | currency: 'USD' }}
+ {{ product.category }}
+
+
+
+
+
+
+ In total there are {{ products ? products.length : 0 }} products.
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class TemplateDoc {
+ products!: Product[];
+
+ cols!: Column[];
+
+ constructor(
+ private productService: ProductService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ this.cd.markForCheck();
+ });
+
+ this.cols = [
+ { field: 'code', header: 'Code' },
+ { field: 'name', header: 'Name' },
+ { field: 'category', header: 'Category' },
+ { field: 'quantity', header: 'Quantity' }
+ ];
+ }
+
+ getSeverity(status: string) {
+ switch (status) {
+ case 'INSTOCK':
+ return 'success';
+ case 'LOWSTOCK':
+ return 'warn';
+ case 'OUTOFSTOCK':
+ return 'danger';
+ }
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+ Name
+ Image
+ Price
+ Category
+ Reviews
+ Status
+
+
+
+
+ {{ product.name }}
+
+
+
+ {{ product.price | currency: 'USD' }}
+ {{ product.category }}
+
+
+
+
+
+
+ In total there are {{ products ? products.length : 0 }} products.
+ `,
+ html: `
+
+
+
+
+
+
+ Name
+ Image
+ Price
+ Category
+ Reviews
+ Status
+
+
+
+
+ {{ product.name }}
+
+
+
+ {{ product.price | currency: 'USD' }}
+ {{ product.category }}
+
+
+
+
+
+
+ In total there are {{ products ? products.length : 0 }} products.
+
+
`,
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { Product } from '@/domain/product';
+import { ProductService } from '@/service/productservice';
+import { TableModule } from 'primeng/table';
+import { TagModule } from 'primeng/tag';
+import { RatingModule } from 'primeng/rating';
+import { CommonModule } from '@angular/common';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'table-template-demo',
+ templateUrl: 'table-template-demo.html',
+ standalone: true,
+ imports: [TableModule, TagModule, RatingModule, ButtonModule, CommonModule],
+ providers: [ProductService]
+})
+export class TableTemplateDemo implements OnInit {
+ products!: Product[];
+
+ constructor(private productService: ProductService) {}
+
+ ngOnInit() {
+ this.productService.getProductsMini().then((data) => {
+ this.products = data;
+ });
+ }
+
+ getSeverity(status: string) {
+ switch (status) {
+ case 'INSTOCK':
+ return 'success';
+ case 'LOWSTOCK':
+ return 'warn';
+ case 'OUTOFSTOCK':
+ return 'danger';
+ }
+ }
+}`,
+ data: `{
+ id: '1000',
+ code: 'f230fh0g3',
+ name: 'Bamboo Watch',
+ description: 'Product Description',
+ image: 'bamboo-watch.jpg',
+ price: 65,
+ category: 'Accessories',
+ quantity: 24,
+ inventoryStatus: 'INSTOCK',
+ rating: 5
+},
+...`,
+ service: ['ProductService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/product.ts',
+ content: `
+export interface Product {
+ id?: string;
+ code?: string;
+ name?: string;
+ description?: string;
+ price?: number;
+ quantity?: number;
+ inventoryStatus?: string;
+ category?: string;
+ image?: string;
+ rating?: number;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/table/verticalscrolldoc.ts b/apps/showcase/doc/table/verticalscrolldoc.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/doc/table/verticalscrolldoc.ts
rename to apps/showcase/doc/table/verticalscrolldoc.ts
index 4de2f4b3258..1850a6fb94d 100644
--- a/apps/showcase/src/app/showcase/doc/table/verticalscrolldoc.ts
+++ b/apps/showcase/doc/table/verticalscrolldoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
@Component({
selector: 'vertical-scroll-doc',
@@ -96,8 +96,8 @@ export class VerticalScrollDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
+import { Customer } from '@/domain/customer';
+import { CustomerService } from '@/service/customerservice';
import { TableModule } from 'primeng/table';
import { HttpClientModule } from '@angular/common/http';
diff --git a/apps/showcase/doc/table/virtualscrolldoc.ts b/apps/showcase/doc/table/virtualscrolldoc.ts
new file mode 100644
index 00000000000..0f181787347
--- /dev/null
+++ b/apps/showcase/doc/table/virtualscrolldoc.ts
@@ -0,0 +1,177 @@
+import { Car } from '@/domain/car';
+import { Code } from '@/domain/code';
+import { CarService } from '@/service/carservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'virtual-scroll-doc',
+ template: `
+
+ VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality. It is also
+ suggested to use the same virtualScrollItemSize value on the tr element inside the body template.
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class VirtualScrollDoc {
+ cars!: Car[];
+
+ virtualCars!: Car[];
+
+ cols!: Column[];
+
+ constructor(private carService: CarService) {}
+
+ loadDemoData() {
+ this.cols = [
+ { field: 'id', header: 'Id' },
+ { field: 'vin', header: 'Vin' },
+ { field: 'year', header: 'Year' },
+ { field: 'brand', header: 'Brand' },
+ { field: 'color', header: 'Color' }
+ ];
+
+ this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
+ this.virtualCars = Array.from({ length: 10000 });
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+ html: `
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { Car } from '@/domain/car';
+import { CarService } from '@/service/carservice';
+import { TableModule } from 'primeng/table';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'table-virtual-scroll-demo',
+ templateUrl: 'table-virtual-scroll-demo.html',
+ standalone: true,
+ imports: [TableModule, CommonModule],
+ providers: [CarService]
+})
+export class TableVirtualScrollDemo implements OnInit{
+ cars!: Car[];
+
+ virtualCars!: Car[];
+
+ cols!: Column[];
+
+ constructor(private carService: CarService) {}
+
+ ngOnInit() {
+ this.cols = [
+ { field: 'id', header: 'Id' },
+ { field: 'vin', header: 'Vin' },
+ { field: 'year', header: 'Year' },
+ { field: 'brand', header: 'Brand' },
+ { field: 'color', header: 'Color' }
+ ];
+
+ this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
+ this.virtualCars = Array.from({ length: 10000 });
+ }
+}`,
+ data: `{
+ id: 1
+ vin: tvACo,
+ brand: Norma,
+ color: Black,
+ year: 2002
+}
+...`,
+ service: ['CarService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/car.ts',
+ content: `
+export interface Car {
+ id?;
+ vin?;
+ year?;
+ brand?;
+ color?;
+ price?;
+ saleDate?;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/doc/table/virtualscrolllazydoc.ts b/apps/showcase/doc/table/virtualscrolllazydoc.ts
new file mode 100644
index 00000000000..3b6ac942af5
--- /dev/null
+++ b/apps/showcase/doc/table/virtualscrolllazydoc.ts
@@ -0,0 +1,237 @@
+import { Car } from '@/domain/car';
+import { Code } from '@/domain/code';
+import { CarService } from '@/service/carservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { LazyLoadEvent } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'virtual-scroll-lazy-doc',
+ template: `
+
+ VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality. It is also
+ suggested to use the same virtualScrollItemSize value on the tr element inside the body template.
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class VirtualScrollLazyDoc {
+ cars!: Car[];
+
+ virtualCars!: Car[];
+
+ cols!: Column[];
+
+ constructor(private carService: CarService) {}
+
+ loadDemoData() {
+ this.cols = [
+ { field: 'id', header: 'Id' },
+ { field: 'vin', header: 'Vin' },
+ { field: 'year', header: 'Year' },
+ { field: 'brand', header: 'Brand' },
+ { field: 'color', header: 'Color' }
+ ];
+
+ this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
+ this.virtualCars = Array.from({ length: 10000 });
+ }
+
+ loadCarsLazy(event: LazyLoadEvent) {
+ //simulate remote connection with a timeout
+ setTimeout(
+ () => {
+ //load data of required page
+ let loadedCars = this.cars.slice(event.first, event.first + event.rows);
+
+ //populate page of virtual cars
+ Array.prototype.splice.apply(this.virtualCars, [...[event.first, event.rows], ...loadedCars]);
+
+ //trigger change detection
+ event.forceUpdate();
+ },
+ Math.random() * 1000 + 250
+ );
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{col.header}}
+
+
+
+
+
+
+ {{rowData[col.field]}}
+
+
+
+
+
+
+
+
+
+
+ `,
+ html: `
+
+
+
+
+ {{col.header}}
+
+
+
+
+
+
+ {{rowData[col.field]}}
+
+
+
+
+
+
+
+
+
+
+
+
`,
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { LazyLoadEvent } from 'primeng/api';
+import { Car } from '@/domain/car';
+import { CarService } from '@/service/carservice';
+import { TableModule } from 'primeng/table';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'table-virtual-scroll-lazy-demo',
+ templateUrl: 'table-virtual-scroll-lazy-demo.html',
+ standalone: true,
+ imports: [TableModule, CommonModule],
+ providers: [CarService]
+})
+export class TableVirtualScrollLazyDemo implements OnInit{
+ cars!: Car[];
+
+ virtualCars!: Car[];
+
+ cols!: Column[];
+
+ constructor(private carService: CarService) {}
+
+ ngOnInit() {
+ this.cols = [
+ { field: 'id', header: 'Id' },
+ { field: 'vin', header: 'Vin' },
+ { field: 'year', header: 'Year' },
+ { field: 'brand', header: 'Brand' },
+ { field: 'color', header: 'Color' }
+ ];
+
+ this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
+ this.virtualCars = Array.from({ length: 10000 });
+ }
+
+ loadCarsLazy(event: LazyLoadEvent) {
+ //simulate remote connection with a timeout
+ setTimeout(() => {
+ //load data of required page
+ let loadedCars = this.cars.slice(event.first, event.first + event.rows);
+
+ //populate page of virtual cars
+ Array.prototype.splice.apply(this.virtualCars, [...[event.first, event.rows], ...loadedCars]);
+
+ //trigger change detection
+ event.forceUpdate();
+ }, Math.random() * 1000 + 250);
+ }
+}`,
+ data: `{
+ id: 1
+ vin: tvACo,
+ brand: Norma,
+ color: Black,
+ year: 2002
+}
+...`,
+ service: ['CarService']
+ };
+
+ extFiles = [
+ {
+ path: 'src/domain/car.ts',
+ content: `
+export interface Car {
+ id?;
+ vin?;
+ year?;
+ brand?;
+ color?;
+ price?;
+ saleDate?;
+}`
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/accessibilitydoc.ts b/apps/showcase/doc/tabs/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tabs/accessibilitydoc.ts
rename to apps/showcase/doc/tabs/accessibilitydoc.ts
diff --git a/apps/showcase/doc/tabs/basicdoc.ts b/apps/showcase/doc/tabs/basicdoc.ts
new file mode 100644
index 00000000000..2d6dce5b300
--- /dev/null
+++ b/apps/showcase/doc/tabs/basicdoc.ts
@@ -0,0 +1,133 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Tabs is defined using TabList , Tab , TabPanels and TabPanel components. Tab and TabPanel components are associated with their value properties
+
+
+
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
+ laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
+ enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
+ culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
+
+
+
+
+
+
+ `
+})
+export class BasicDoc {
+ code: Code = {
+ basic: `
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
+ anim id est laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
+ Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
+ dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
+ modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
+ atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
+ sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
+ facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
+ impedit quo minus.
+
+
+
+ `,
+
+ html: `
+
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
+ anim id est laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
+ Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
+ dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
+ modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
+ atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
+ sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
+ facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
+ impedit quo minus.
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { TabsModule } from 'primeng/tabs';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'tabs-basic-demo',
+ templateUrl: './tabs-basic-demo.html',
+ standalone: true,
+ imports: [CommonModule, TabsModule]
+})
+export class TabsBasicDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tabs/controlleddoc.ts b/apps/showcase/doc/tabs/controlleddoc.ts
new file mode 100644
index 00000000000..c48d96c15e7
--- /dev/null
+++ b/apps/showcase/doc/tabs/controlleddoc.ts
@@ -0,0 +1,148 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'controlled-doc',
+ template: `
+
+ Tabs can be controlled programmatically using value property as a model.
+
+
+
+
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
+ laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
+ enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
+ culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
+
+
+
+
+
+
+ `
+})
+export class ControlledDoc {
+ value: number = 0;
+
+ code: Code = {
+ basic: `
+
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
+ laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
+ enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
+ qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
+ corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
+ culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
+ expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
+
+
+
+ `,
+
+ html: `
+
+
+
+ Header I
+ Header II
+ Header III
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
+ laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
+ enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
+ qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
+ corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
+ culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
+ expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { ButtonModule } from 'primeng/button';
+import { TabsModule } from 'primeng/tabs';
+
+@Component({
+ selector: 'tabs-controlled-demo',
+ templateUrl: './tabs-controlled-demo.html',
+ standalone: true,
+ imports: [ButtonModule, TabsModule, FormsModule]
+})
+export class TabsControlledDemo {
+ value: number = 0;
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/customtemplatedoc.ts b/apps/showcase/doc/tabs/customtemplatedoc.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/doc/tabs/customtemplatedoc.ts
rename to apps/showcase/doc/tabs/customtemplatedoc.ts
index e09b4ec1110..be357acd759 100644
--- a/apps/showcase/src/app/showcase/doc/tabs/customtemplatedoc.ts
+++ b/apps/showcase/doc/tabs/customtemplatedoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'template-doc',
diff --git a/apps/showcase/doc/tabs/disableddoc.ts b/apps/showcase/doc/tabs/disableddoc.ts
new file mode 100644
index 00000000000..a87aabc9694
--- /dev/null
+++ b/apps/showcase/doc/tabs/disableddoc.ts
@@ -0,0 +1,136 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'disabled-doc',
+ template: `
+
+ Enabling disabled property of a Tab prevents user interaction.
+
+
+
+
+ Header I
+ Header II
+ Header III
+ Header IV
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
+ laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
+ enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
+ culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
+
+
+
+
+
+
+ `
+})
+export class DisabledDoc {
+ code: Code = {
+ basic: `
+
+ Header I
+ Header II
+ Header III
+ Header IV
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
+ anim id est laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
+ Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
+ dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
+ modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
+ atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
+ sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
+ facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
+ impedit quo minus.
+
+
+
+ `,
+
+ html: `
+
+
+ Header I
+ Header II
+ Header III
+ Header IV
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
+ dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
+ ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
+ nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
+ anim id est laborum.
+
+
+
+
+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
+ aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
+ Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
+ dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
+ modi.
+
+
+
+
+ At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
+ atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
+ sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
+ facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
+ impedit quo minus.
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { TabsModule } from 'primeng/tabs';
+
+@Component({
+ selector: 'tabs-disabled-demo',
+ templateUrl: './tabs-disabled-demo.html',
+ standalone: true,
+ imports: [CommonModule, TabsModule]
+})
+export class TabsDisabledDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tabs/dynamicdoc.ts b/apps/showcase/doc/tabs/dynamicdoc.ts
new file mode 100644
index 00000000000..1fec1d10de8
--- /dev/null
+++ b/apps/showcase/doc/tabs/dynamicdoc.ts
@@ -0,0 +1,94 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'dynamic-doc',
+ template: `
+
+ Tabs can be generated dynamically using the standard @for block.
+
+
+
+
+ @for (tab of tabs; track tab.value) {
+ {{ tab.title }}
+ }
+
+
+ @for (tab of tabs; track tab.value) {
+
+ {{ tab.content }}
+
+ }
+
+
+
+
+ `
+})
+export class DynamicDoc implements OnInit {
+ tabs: { title: string; value: string; content: string }[] = [];
+ code: Code = {
+ basic: `
+
+ @for (tab of tabs; track tab.value) {
+ {{ tab.title }}
+ }
+
+
+ @for (tab of tabs; track tab.value) {
+
+ {{ tab.content }}
+
+ }
+
+ `,
+
+ html: `
+
+
+ @for (tab of tabs; track tab.value) {
+ {{ tab.title }}
+ }
+
+
+ @for (tab of tabs; track tab.value) {
+
+ {{ tab.content }}
+
+ }
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TabsModule } from 'primeng/tabs';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'tabs-dynamic-demo',
+ templateUrl: './tabs-dynamic-demo.html',
+ standalone: true,
+ imports: [TabsModule, CommonModule]
+})
+export class TabsDynamicDemo implements OnInit {
+ tabs: { title: string; value: number; content: string }[] = [];
+
+ ngOnInit() {
+ this.tabs = [
+ { title: 'Tab 1', value: 0, content: 'Tab 1 Content' },
+ { title: 'Tab 2', value: 1, content: 'Tab 2 Content' },
+ { title: 'Tab 3', value: 2, content: 'Tab 3 Content' },
+ ];
+ }
+}`
+ };
+
+ ngOnInit() {
+ this.tabs = [
+ { title: 'Tab 1', value: '0', content: 'Tab 1 Content' },
+ { title: 'Tab 2', value: '1', content: 'Tab 2 Content' },
+ { title: 'Tab 3', value: '2', content: 'Tab 3 Content' }
+ ];
+ }
+}
diff --git a/apps/showcase/doc/tabs/importdoc.ts b/apps/showcase/doc/tabs/importdoc.ts
new file mode 100644
index 00000000000..7f7b14e256c
--- /dev/null
+++ b/apps/showcase/doc/tabs/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tabs-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { TabsModule } from 'primeng/tabs';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/scrollabledoc.ts b/apps/showcase/doc/tabs/scrollabledoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/tabs/scrollabledoc.ts
rename to apps/showcase/doc/tabs/scrollabledoc.ts
index 97579a7b5bd..25f548db519 100644
--- a/apps/showcase/src/app/showcase/doc/tabs/scrollabledoc.ts
+++ b/apps/showcase/doc/tabs/scrollabledoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'scrollable-doc',
diff --git a/apps/showcase/src/app/showcase/doc/tabs/tabmenudoc.ts b/apps/showcase/doc/tabs/tabmenudoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/tabs/tabmenudoc.ts
rename to apps/showcase/doc/tabs/tabmenudoc.ts
index b45983546ee..cc9178afac7 100644
--- a/apps/showcase/src/app/showcase/doc/tabs/tabmenudoc.ts
+++ b/apps/showcase/doc/tabs/tabmenudoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'tabmenu-doc',
diff --git a/apps/showcase/src/app/showcase/doc/tabs/tabsdoc.module.ts b/apps/showcase/doc/tabs/tabsdoc.module.ts
similarity index 88%
rename from apps/showcase/src/app/showcase/doc/tabs/tabsdoc.module.ts
rename to apps/showcase/doc/tabs/tabsdoc.module.ts
index 9bfe118dcf8..6386c790e2d 100644
--- a/apps/showcase/src/app/showcase/doc/tabs/tabsdoc.module.ts
+++ b/apps/showcase/doc/tabs/tabsdoc.module.ts
@@ -1,21 +1,21 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
+import { AvatarModule } from 'primeng/avatar';
+import { BadgeModule } from 'primeng/badge';
import { ButtonModule } from 'primeng/button';
import { TabsModule } from 'primeng/tabs';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
+import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { ControlledDoc } from './controlleddoc';
-import { DynamicDoc } from './dynamicdoc';
-import { DisabledDoc } from './disableddoc';
import { TemplateDoc } from './customtemplatedoc';
+import { DisabledDoc } from './disableddoc';
+import { DynamicDoc } from './dynamicdoc';
import { ImportDoc } from './importdoc';
import { ScrollableDoc } from './scrollabledoc';
import { TabmenuDoc } from './tabmenudoc';
-import { AccessibilityDoc } from './accessibilitydoc';
-import { AvatarModule } from 'primeng/avatar';
-import { BadgeModule } from 'primeng/badge';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, TabsModule, RouterModule, ButtonModule, AvatarModule, BadgeModule],
diff --git a/apps/showcase/src/app/showcase/doc/tag/accessibilitydoc.ts b/apps/showcase/doc/tag/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tag/accessibilitydoc.ts
rename to apps/showcase/doc/tag/accessibilitydoc.ts
diff --git a/apps/showcase/doc/tag/basicdoc.ts b/apps/showcase/doc/tag/basicdoc.ts
new file mode 100644
index 00000000000..7e98b4a233f
--- /dev/null
+++ b/apps/showcase/doc/tag/basicdoc.ts
@@ -0,0 +1,33 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Label of the tag is defined with the value property.
+
+
+
+ `
+})
+export class BasicDoc {
+ code: Code = {
+ basic: ` `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { Tag } from 'primeng/tag';
+
+@Component({
+ selector: 'tag-basic-demo',
+ templateUrl: './tag-basic-demo.html',
+ standalone: true,
+ imports: [Tag]
+})
+export class TagBasicDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tag/icondoc.ts b/apps/showcase/doc/tag/icondoc.ts
new file mode 100644
index 00000000000..b9912b1f054
--- /dev/null
+++ b/apps/showcase/doc/tag/icondoc.ts
@@ -0,0 +1,52 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'icon-doc',
+ template: `
+
+ A font icon next to the value can be displayed with the icon property.
+
+
+
+ `
+})
+export class IconDoc {
+ code: Code = {
+ basic: `
+
+
+
+
+
+ `,
+
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { Tag } from 'primeng/tag';
+
+@Component({
+ selector: 'tag-icon-demo',
+ templateUrl: './tag-icon-demo.html',
+ standalone: true,
+ imports: [Tag]
+})
+export class TagIconDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tag/importdoc.ts b/apps/showcase/doc/tag/importdoc.ts
new file mode 100644
index 00000000000..45fa5a0a596
--- /dev/null
+++ b/apps/showcase/doc/tag/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tag-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Tag } from 'primeng/tag';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tag/pilldoc.ts b/apps/showcase/doc/tag/pilldoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/tag/pilldoc.ts
rename to apps/showcase/doc/tag/pilldoc.ts
index 60b422818d0..8eda0571500 100644
--- a/apps/showcase/src/app/showcase/doc/tag/pilldoc.ts
+++ b/apps/showcase/doc/tag/pilldoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'pill-doc',
diff --git a/apps/showcase/doc/tag/severitydoc.ts b/apps/showcase/doc/tag/severitydoc.ts
new file mode 100644
index 00000000000..755f8352648
--- /dev/null
+++ b/apps/showcase/doc/tag/severitydoc.ts
@@ -0,0 +1,51 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'severity-doc',
+ template: `
+
+ Severity defines the color of the tag, possible values are success , info , warn and danger in addition to the default theme color.
+
+
+
+ `
+})
+export class SeverityDoc {
+ code: Code = {
+ basic: `
+
+
+
+
+
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { Tag } from 'primeng/tag';
+
+@Component({
+ selector: 'tag-severity-demo',
+ templateUrl: './tag-severity-demo.html',
+ standalone: true,
+ imports: [Tag]
+})
+export class TagSeverityDemo {}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tag/styledoc.ts b/apps/showcase/doc/tag/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tag/styledoc.ts
rename to apps/showcase/doc/tag/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tag/tagdoc.module.ts b/apps/showcase/doc/tag/tagdoc.module.ts
similarity index 86%
rename from apps/showcase/src/app/showcase/doc/tag/tagdoc.module.ts
rename to apps/showcase/doc/tag/tagdoc.module.ts
index e6ad63c5c21..17daa19bf5d 100644
--- a/apps/showcase/src/app/showcase/doc/tag/tagdoc.module.ts
+++ b/apps/showcase/doc/tag/tagdoc.module.ts
@@ -1,18 +1,18 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { ButtonModule } from 'primeng/button';
import { Tag } from 'primeng/tag';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { StyleDoc } from './styledoc';
+import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { IconDoc } from './icondoc';
import { ImportDoc } from './importdoc';
import { PillDoc } from './pilldoc';
-import { TemplateDoc } from './templatedoc';
import { SeverityDoc } from './severitydoc';
-import { AccessibilityDoc } from './accessibilitydoc';
+import { StyleDoc } from './styledoc';
+import { TemplateDoc } from './templatedoc';
@NgModule({
imports: [CommonModule, RouterModule, AppCodeModule, AppDocModule, Tag, ButtonModule],
diff --git a/apps/showcase/doc/tag/templatedoc.ts b/apps/showcase/doc/tag/templatedoc.ts
new file mode 100644
index 00000000000..c3459bf4ab1
--- /dev/null
+++ b/apps/showcase/doc/tag/templatedoc.ts
@@ -0,0 +1,52 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tag-template-demo',
+ template: `
+
+ Children of the component are passed as the content for templating.
+
+
+
+
+
+
Italy
+
+
+
+
+ `
+})
+export class TemplateDoc {
+ code: Code = {
+ basic: `
+
+
+
+ Italy
+
+
+ `,
+ html: `
+
+
+
+
+ Italy
+
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { Tag } from 'primeng/tag';
+
+@Component({
+ selector: 'tag-template-demo',
+ templateUrl: './tag-template-demo.html',
+ standalone: true,
+ imports: [Tag]
+})
+export class TagTemplateDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tailwind/animationsdoc.ts b/apps/showcase/doc/tailwind/animationsdoc.ts
new file mode 100644
index 00000000000..19f6454d96f
--- /dev/null
+++ b/apps/showcase/doc/tailwind/animationsdoc.ts
@@ -0,0 +1,434 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'animations-doc',
+ template: `
+
+ The plugin also adds extended animation utilities that can be used with the styleclass and animateonscroll directives.
+
+
+
+ Animations
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-fadein
+ fadein 0.15s linear
+
+
+ animate-fadeout
+ fadeout 0.15s linear
+
+
+ animate-slidedown
+ slidedown 0.45s ease-in-out
+
+
+ animate-slideup
+ slideup 0.45s cubic-bezier(0, 1, 0, 1)
+
+
+ animate-scalein
+ scalein 0.15s linear
+
+
+ animate-fadeinleft
+ fadeinleft 0.15s linear
+
+
+ animate-fadeoutleft
+ fadeoutleft 0.15s linear
+
+
+ animate-fadeinright
+ fadeinright 0.15s linear
+
+
+ animate-fadeoutright
+ fadeoutright 0.15s linear
+
+
+ animate-fadeinup
+ fadeinup 0.15s linear
+
+
+ animate-fadeoutup
+ fadeoutup 0.15s linear
+
+
+ animate-fadeindown
+ fadeindown 0.15s linear
+
+
+ animate-fadeoutup
+ fadeoutup 0.15s linear
+
+
+ animate-width
+ width 0.15s linear
+
+
+ animate-flip
+ flip 0.15s linear
+
+
+ animate-flipup
+ flipup 0.15s linear
+
+
+ animate-flipleft
+ fadein 0.15s linear
+
+
+ animate-flipright
+ flipright 0.15s linear
+
+
+ animate-zoomin
+ zoomin 0.15s linear
+
+
+ animate-zoomindown
+ zoomindown 0.15s linear
+
+
+ animate-zoominleft
+ zoominleft 0.15s linear
+
+
+ animate-zoominright
+ zoominright 0.15s linear
+
+
+ animate-zoominup
+ zoominup 0.15s linear
+
+
+
+
+
+ Animation Duration
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-duration-0
+ animation-duration: 0s
+
+
+ animate-duration-75
+ animation-duration: 75ms
+
+
+ animate-duration-100
+ animation-duration: 100ms
+
+
+ animate-duration-200
+ animation-duration: 200ms
+
+
+ animate-duration-300
+ animation-duration: 300ms
+
+
+ animate-duration-400
+ animation-duration: 400ms
+
+
+ animate-duration-500
+ animation-duration: 500ms
+
+
+ animate-duration-700
+ animation-duration: 700ms
+
+
+ animate-duration-1000
+ animation-duration: 1000ms
+
+
+ animate-duration-2000
+ animation-duration: 2000ms
+
+
+ animate-duration-3000
+ animation-duration: 300ms
+
+
+
+
+
+ Animation Delay
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-delay-none
+ animation-duration: 0s
+
+
+ animate-delay-75
+ animation-delay: 75ms
+
+
+ animate-delay-100
+ animation-delay: 100ms
+
+
+ animate-delay-150
+ animation-delay: 150ms
+
+
+ animate-delay-200
+ animation-delay: 200ms
+
+
+ animate-delay-300
+ animation-delay: 300ms
+
+
+ animate-delay-400
+ animation-delay: 400ms
+
+
+ animate-delay-500
+ animation-delay: 500ms
+
+
+ animate-delay-700
+ animation-delay: 700ms
+
+
+ animate-delay-1000
+ animation-delay: 1000ms
+
+
+
+
+
+ Iteration Count
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-infinite
+ animation-iteration-count: infinite
+
+
+ animate-once
+ animation-iteration-count: 1
+
+
+ animate-twice
+ animation-iteration-count: 2
+
+
+
+
+
+ Direction
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-normal
+ animation-direction: normal
+
+
+ animate-reverse
+ animation-direction: reverse
+
+
+ animate-alternate
+ animation-direction: alternate
+
+
+ animate-alternate-reverse
+ animation-direction: alternate-reverse
+
+
+
+
+
+ Timing Function
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-ease-linear
+ animation-timing-function: linear
+
+
+ animate-ease-in
+ animation-timing-function: cubic-bezier(0.4, 0, 1, 1)
+
+
+ animate-ease-out
+ animation-timing-function: cubic-bezier(0, 0, 0.2, 1)
+
+
+ animate-ease-in-out
+ animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
+
+
+
+
+
+ Fill Mode
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-fill-none
+ animation-fill-mode: normal
+
+
+ animate-fill-forwards
+ animation-fill-mode: forwards
+
+
+ animate-fill-backwards
+ animation-fill-mode: backwards
+
+
+ animate-fill-both
+ animation-fill-mode: both
+
+
+
+
+
+ Play State
+
+
+
+
+ Class
+ Property
+
+
+
+
+ animate-running
+ animation-play-state: running
+
+
+ animate-paused
+ animation-play-state: paused
+
+
+
+
+
+ Backface Visibility State
+
+
+
+
+ Class
+ Property
+
+
+
+
+ backface-visible
+ backface-visibility: visible
+
+
+ backface-hidden
+ backface-visibility: hidden
+
+
+
+
+ `
+})
+export class AnimationsDoc {
+ animation = null;
+ animations;
+
+ get dynamicAnimationClasses(): string[] {
+ return ['rounded-border', 'bg-primary', 'w-16', 'h-16', 'mx-auto', `animate-${this.animation}`, 'animate-once', 'animate-duration-1000'];
+ }
+
+ ngOnInit() {
+ this.animations = [
+ 'fadein',
+ 'fadeout',
+ 'slideup',
+ 'scalein',
+ 'fadeinleft',
+ 'fadeoutleft',
+ 'fadeinright',
+ 'fadeoutright',
+ 'fadeinup',
+ 'fadeoutup',
+ 'width',
+ 'flipup',
+ 'flipleft',
+ 'flipright',
+ 'zoomin',
+ 'zoomindown',
+ 'zoominleft',
+ 'zoominright',
+ 'zoominup'
+ ];
+ }
+
+ code: Code = {
+ basic: `
+`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/colorpalettedoc.ts b/apps/showcase/doc/tailwind/colorpalettedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tailwind/colorpalettedoc.ts
rename to apps/showcase/doc/tailwind/colorpalettedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/extensionsdoc.ts b/apps/showcase/doc/tailwind/extensionsdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tailwind/extensionsdoc.ts
rename to apps/showcase/doc/tailwind/extensionsdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/formdoc.ts b/apps/showcase/doc/tailwind/formdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tailwind/formdoc.ts
rename to apps/showcase/doc/tailwind/formdoc.ts
diff --git a/apps/showcase/doc/tailwind/headlessdoc.ts b/apps/showcase/doc/tailwind/headlessdoc.ts
new file mode 100644
index 00000000000..16d3cfd5224
--- /dev/null
+++ b/apps/showcase/doc/tailwind/headlessdoc.ts
@@ -0,0 +1,181 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'headless-doc',
+ template: `
+
+ A headless PrimeNG dialog with a custom UI.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Username
+
+
+
+ Password
+
+
+
+
+
+
+
+
+ `
+})
+export class HeadlessDoc {
+ visible: boolean = false;
+
+ showDialog() {
+ this.visible = true;
+ }
+
+ closeDialog() {
+ this.visible = false;
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Username
+
+
+
+ Password
+
+
+
+
+
+ `
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/overridedoc.ts b/apps/showcase/doc/tailwind/overridedoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/tailwind/overridedoc.ts
rename to apps/showcase/doc/tailwind/overridedoc.ts
index 519b3266f3e..942ab055198 100644
--- a/apps/showcase/src/app/showcase/doc/tailwind/overridedoc.ts
+++ b/apps/showcase/doc/tailwind/overridedoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'override-doc',
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/overviewdoc.ts b/apps/showcase/doc/tailwind/overviewdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tailwind/overviewdoc.ts
rename to apps/showcase/doc/tailwind/overviewdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/plugindoc.ts b/apps/showcase/doc/tailwind/plugindoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/tailwind/plugindoc.ts
rename to apps/showcase/doc/tailwind/plugindoc.ts
index dd1cf4e7de4..b5732475fb8 100644
--- a/apps/showcase/src/app/showcase/doc/tailwind/plugindoc.ts
+++ b/apps/showcase/doc/tailwind/plugindoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'plugin-doc',
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/tailwinddoc.module.ts b/apps/showcase/doc/tailwind/tailwinddoc.module.ts
similarity index 90%
rename from apps/showcase/src/app/showcase/doc/tailwind/tailwinddoc.module.ts
rename to apps/showcase/doc/tailwind/tailwinddoc.module.ts
index fd59c8c8d21..96483d5486f 100644
--- a/apps/showcase/src/app/showcase/doc/tailwind/tailwinddoc.module.ts
+++ b/apps/showcase/doc/tailwind/tailwinddoc.module.ts
@@ -1,24 +1,24 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
+import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { Button } from 'primeng/button';
-import { Tag } from 'primeng/tag';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { OverviewDoc } from './overviewdoc';
-import { PluginDoc } from './plugindoc';
-import { ExtensionsDoc } from './extensionsdoc';
-import { OverrideDoc } from './overridedoc';
-import { ColorPaletteDoc } from './colorpalettedoc';
-import { FormDoc } from './formdoc';
+import { DatePicker } from 'primeng/datepicker';
+import { Dialog } from 'primeng/dialog';
import { InputText } from 'primeng/inputtext';
import { Select } from 'primeng/select';
-import { DatePicker } from 'primeng/datepicker';
-import { FormsModule } from '@angular/forms';
+import { Tag } from 'primeng/tag';
import { Textarea } from 'primeng/textarea';
-import { HeadlessDoc } from './headlessdoc';
-import { Dialog } from 'primeng/dialog';
import { AnimationsDoc } from './animationsdoc';
+import { ColorPaletteDoc } from './colorpalettedoc';
+import { ExtensionsDoc } from './extensionsdoc';
+import { FormDoc } from './formdoc';
+import { HeadlessDoc } from './headlessdoc';
+import { OverrideDoc } from './overridedoc';
+import { OverviewDoc } from './overviewdoc';
+import { PluginDoc } from './plugindoc';
@NgModule({
imports: [CommonModule, RouterModule, AppCodeModule, AppDocModule, Tag, Button, InputText, Textarea, Select, DatePicker, FormsModule, Dialog],
diff --git a/apps/showcase/src/app/showcase/doc/terminal/accessibilitydoc.ts b/apps/showcase/doc/terminal/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/terminal/accessibilitydoc.ts
rename to apps/showcase/doc/terminal/accessibilitydoc.ts
diff --git a/apps/showcase/doc/terminal/basicdoc.ts b/apps/showcase/doc/terminal/basicdoc.ts
new file mode 100644
index 00000000000..53c8bcda0c7
--- /dev/null
+++ b/apps/showcase/doc/terminal/basicdoc.ts
@@ -0,0 +1,76 @@
+import { Code } from '@/domain/code';
+import { Component, OnDestroy } from '@angular/core';
+import { TerminalService } from 'primeng/terminal';
+import { Subscription } from 'rxjs';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Commands are processed using observables via the TerminalService . Import this service into your component and subscribe to commandHandler to process commands by sending replies with sendResponse function.
+
+
+
Enter "date " to display the current date, "greet {0} " for a message and "random " to get a random number.
+
+
+
+ `,
+ providers: [TerminalService]
+})
+export class BasicDoc implements OnDestroy {
+ subscription: Subscription;
+
+ constructor(private terminalService: TerminalService) {
+ this.subscription = this.terminalService.commandHandler.subscribe((command) => {
+ let response = command === 'date' ? new Date().toDateString() : 'Unknown command: ' + command;
+ this.terminalService.sendResponse(response);
+ });
+ }
+
+ ngOnDestroy() {
+ if (this.subscription) {
+ this.subscription.unsubscribe();
+ }
+ }
+
+ code: Code = {
+ basic: `Enter "date " to display the current date,
+"greet {0} " for a message and "random "
+to get a random number.
+ `,
+ html: `
+
Enter "date " to display the current date,
+ "greet {0} " for a message and "random "
+ to get a random number.
+
+
`,
+ typescript: `import { Component, OnDestroy } from '@angular/core';
+import { TerminalService } from 'primeng/terminal';
+import { Terminal } from 'primeng/terminal';
+import { Subscription } from 'rxjs';
+
+@Component({
+ selector: 'terminal-basic-demo',
+ templateUrl: './terminal-basic-demo.html',
+ standalone: true,
+ imports: [Terminal],
+ providers: [TerminalService]
+})
+export class TerminalBasicDemo implements OnDestroy {
+ subscription: Subscription;
+
+ constructor(private terminalService: TerminalService) {
+ this.subscription = this.terminalService.commandHandler.subscribe((command) => {
+ let response = command === 'date' ? new Date().toDateString() : 'Unknown command: ' + command;
+ this.terminalService.sendResponse(response);
+ });
+ }
+
+ ngOnDestroy() {
+ if (this.subscription) {
+ this.subscription.unsubscribe();
+ }
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/terminal/importdoc.ts b/apps/showcase/doc/terminal/importdoc.ts
new file mode 100644
index 00000000000..3d04c882267
--- /dev/null
+++ b/apps/showcase/doc/terminal/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'terminal-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Terminal } from 'primeng/terminal';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/terminal/styledoc.ts b/apps/showcase/doc/terminal/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/terminal/styledoc.ts
rename to apps/showcase/doc/terminal/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/terminal/terminaldoc.module.ts b/apps/showcase/doc/terminal/terminaldoc.module.ts
similarity index 81%
rename from apps/showcase/src/app/showcase/doc/terminal/terminaldoc.module.ts
rename to apps/showcase/doc/terminal/terminaldoc.module.ts
index e9f5639f898..359b80a5c15 100644
--- a/apps/showcase/src/app/showcase/doc/terminal/terminaldoc.module.ts
+++ b/apps/showcase/doc/terminal/terminaldoc.module.ts
@@ -1,9 +1,9 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { Terminal } from 'primeng/terminal';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { ImportDoc } from './importdoc';
diff --git a/apps/showcase/doc/textarea/accessibilitydoc.ts b/apps/showcase/doc/textarea/accessibilitydoc.ts
new file mode 100644
index 00000000000..6a3c6859f63
--- /dev/null
+++ b/apps/showcase/doc/textarea/accessibilitydoc.ts
@@ -0,0 +1,48 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'text-area-accessibility-doc',
+ template: `
+
+ Screen Reader
+
+ Textarea component renders a native textarea element that implicitly includes any passed prop. Value to describe the component can either be provided via label tag combined with id prop or using aria-labelledby ,
+ aria-label props.
+
+
+
+
+
+
Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ tab
+
+ Moves focus to the input.
+
+
+
+
+
`
+})
+export class AccessibilityDoc {
+ code: Code = {
+ basic: `Address 1
+
+
+Address 2
+
+
+`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/autoresizedoc.ts b/apps/showcase/doc/textarea/autoresizedoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/textarea/autoresizedoc.ts
rename to apps/showcase/doc/textarea/autoresizedoc.ts
index 2a6f0ac4a51..31f88bd6d08 100644
--- a/apps/showcase/src/app/showcase/doc/textarea/autoresizedoc.ts
+++ b/apps/showcase/doc/textarea/autoresizedoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'autoresize-doc',
diff --git a/apps/showcase/doc/textarea/basicdoc.ts b/apps/showcase/doc/textarea/basicdoc.ts
new file mode 100644
index 00000000000..a005145c10e
--- /dev/null
+++ b/apps/showcase/doc/textarea/basicdoc.ts
@@ -0,0 +1,41 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Textarea is applied to an input field with pTextarea directive.
+
+
+
+
+
+ `
+})
+export class BasicDoc {
+ value!: string;
+
+ code: Code = {
+ basic: ``,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'input-textarea-basic-demo',
+ templateUrl: './input-textarea-basic-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+
+export class InputTextareaBasicDemo {
+ value!: string;
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/disableddoc.ts b/apps/showcase/doc/textarea/disableddoc.ts
new file mode 100644
index 00000000000..b14a97807a3
--- /dev/null
+++ b/apps/showcase/doc/textarea/disableddoc.ts
@@ -0,0 +1,37 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'disabled-doc',
+ template: `
+
+ When disabled is present, the element cannot be edited and focused.
+
+
+
+
+
+ `
+})
+export class DisabledDoc {
+ code: Code = {
+ basic: ``,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'input-textarea-disabled-demo',
+ templateUrl: './input-textarea-disabled-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+export class InputTextareaDisabledDemo {
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/filleddoc.ts b/apps/showcase/doc/textarea/filleddoc.ts
new file mode 100644
index 00000000000..a801088c0ed
--- /dev/null
+++ b/apps/showcase/doc/textarea/filleddoc.ts
@@ -0,0 +1,41 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'filled-doc',
+ template: `
+
+ Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
+
+
+
+
+
+ `
+})
+export class FilledDoc {
+ value!: string;
+
+ code: Code = {
+ basic: ``,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'input-textarea-filled-demo',
+ templateUrl: './input-textarea-filled-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+
+export class InputTextareaFilledDemo {
+ value!: string;
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/floatlabeldoc.ts b/apps/showcase/doc/textarea/floatlabeldoc.ts
new file mode 100644
index 00000000000..2b1a9b9f68a
--- /dev/null
+++ b/apps/showcase/doc/textarea/floatlabeldoc.ts
@@ -0,0 +1,91 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'floatlabel-doc',
+ template: `
+
+
+ A floating label appears on top of the input field when focused. Visit
+ FloatLabel documentation for more information.
+
+
+
+
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+
+
+
+ `
+})
+export class FloatlabelDoc {
+ value1: string = '';
+
+ value2: string = '';
+
+ value3: string = '';
+
+ code: Code = {
+ basic: `
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+ `,
+
+ html: `
+
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+import { FloatLabel } from 'primeng/floatlabel';
+
+@Component({
+ selector: ': 'input-textarea-floatlabel-demo',
+ templateUrl: './: 'input-textarea-floatlabel-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea, FloatLabel]
+})
+export class TextareaFloatlabelDemo {
+ value1: string = '';
+
+ value2: string = '';
+
+ value3: string = '';
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/iftalabeldoc.ts b/apps/showcase/doc/textarea/iftalabeldoc.ts
new file mode 100644
index 00000000000..9dc45acce91
--- /dev/null
+++ b/apps/showcase/doc/textarea/iftalabeldoc.ts
@@ -0,0 +1,50 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'iftalabel-doc',
+ template: `
+
+ IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
+
+
+
+ `
+})
+export class IftaLabelDoc {
+ value: string = '';
+
+ code: Code = {
+ basic: `
+
+ Description
+ `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { InputTextareaModule } from 'primeng/inputtextarea';
+import { FormsModule } from '@angular/forms';
+import { IftaLabelModule } from 'primeng/iftalabel';
+
+@Component({
+ selector: ': 'input-textarea-iftalabel-demo',
+ templateUrl: './: 'input-textarea-iftalabel-demo.html',
+ standalone: true,
+ imports: [FormsModule, InputTextareaModule, IftaLabelModule]
+})
+export class TextareaIftaLabelDemo {
+ value: string = '';
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/importdoc.ts b/apps/showcase/doc/textarea/importdoc.ts
new file mode 100644
index 00000000000..ce363c56b7b
--- /dev/null
+++ b/apps/showcase/doc/textarea/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'text-area-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Textarea } from 'primeng/textearea';;`
+ };
+}
diff --git a/apps/showcase/doc/textarea/invaliddoc.ts b/apps/showcase/doc/textarea/invaliddoc.ts
new file mode 100644
index 00000000000..5240b1bd8dd
--- /dev/null
+++ b/apps/showcase/doc/textarea/invaliddoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'invalid-doc',
+ template: `
+
+ Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
+
+
+
+
+
+ `
+})
+export class InvalidDoc {
+ value!: string;
+
+ code: Code = {
+ basic: ``,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'input-textarea-invalid-demo',
+ templateUrl: './input-textarea-invalid-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+export class InputTextareaInvalidDemo {
+ value!: string;
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/keyfilterdoc.ts b/apps/showcase/doc/textarea/keyfilterdoc.ts
new file mode 100644
index 00000000000..7016900f015
--- /dev/null
+++ b/apps/showcase/doc/textarea/keyfilterdoc.ts
@@ -0,0 +1,47 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'key-filter-doc',
+ template: `
+
+ InputText has built-in key filtering support to block certain keys, refer to keyfilter page for more information.
+
+
+
+
+
+ `
+})
+export class KeyfilterDoc {
+ code: Code = {
+ basic: ``,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector:'input-textarea-key-filter-demo',
+ templateUrl: './input-textarea-key-filter-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+export class InputTextareaKeyFilterDemo {
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/reactiveformsdoc.ts b/apps/showcase/doc/textarea/reactiveformsdoc.ts
new file mode 100644
index 00000000000..57bc5510913
--- /dev/null
+++ b/apps/showcase/doc/textarea/reactiveformsdoc.ts
@@ -0,0 +1,59 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup } from '@angular/forms';
+
+@Component({
+ selector: 'reactive-forms-doc',
+ template: `
+
+ Textarea can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
+
+
+
+
+
+ `
+})
+export class ReactiveFormsDoc implements OnInit {
+ formGroup!: FormGroup;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ text: new FormControl(null)
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: `
+
+
+
+`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
+import { Textarea } from 'primeng/textearea';;
+
+@Component({
+ selector: 'input-textarea-reactive-forms-demo',
+ templateUrl: './input-textarea-reactive-forms-demo.html',
+ standalone: true,
+ imports: [ReactiveFormsModule, Textarea],
+})
+export class InputTextareaReactiveFormsDemo implements OnInit {
+ formGroup!: FormGroup;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ text: new FormControl(null)
+ });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/textarea/sizesdoc.ts b/apps/showcase/doc/textarea/sizesdoc.ts
new file mode 100644
index 00000000000..d08a8c97ee0
--- /dev/null
+++ b/apps/showcase/doc/textarea/sizesdoc.ts
@@ -0,0 +1,55 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'sizes-doc',
+ template: `
+
+ Textarea provides small and large sizes as alternatives to the base.
+
+
+
+
+
+
+
+ `
+})
+export class SizesDoc {
+ value1!: string;
+
+ value2!: string;
+
+ value3!: string;
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: `
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Textarea } from 'primeng/textearea';;
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'input-textarea-sizes-demo',
+ templateUrl: './input-textarea-sizes-demo.html',
+ standalone: true,
+ imports: [FormsModule, Textarea]
+})
+
+export class InputTextareaSizesDemo {
+ value1!: string;
+
+ value2!: string;
+
+ value3!: string;
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/styledoc.ts b/apps/showcase/doc/textarea/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/textarea/styledoc.ts
rename to apps/showcase/doc/textarea/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/textarea/texteareadoc.module.ts b/apps/showcase/doc/textarea/texteareadoc.module.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/textarea/texteareadoc.module.ts
rename to apps/showcase/doc/textarea/texteareadoc.module.ts
index 8280fd9c75c..c355f695e10 100644
--- a/apps/showcase/src/app/showcase/doc/textarea/texteareadoc.module.ts
+++ b/apps/showcase/doc/textarea/texteareadoc.module.ts
@@ -1,27 +1,27 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { RouterModule } from '@angular/router';
+import { FloatLabelModule } from 'primeng/floatlabel';
+import { IftaLabelModule } from 'primeng/iftalabel';
import { InputTextModule } from 'primeng/inputtext';
import { KeyFilterModule } from 'primeng/keyfilter';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
+import { TextareaModule } from 'primeng/textarea';
import { AccessibilityDoc } from './accessibilitydoc';
import { AutoResizeDoc } from './autoresizedoc';
import { BasicDoc } from './basicdoc';
import { DisabledDoc } from './disableddoc';
+import { FilledDoc } from './filleddoc';
import { FloatlabelDoc } from './floatlabeldoc';
-import { InvalidDoc } from './invaliddoc';
+import { IftaLabelDoc } from './iftalabeldoc';
import { ImportDoc } from './importdoc';
+import { InvalidDoc } from './invaliddoc';
import { KeyfilterDoc } from './keyfilterdoc';
import { ReactiveFormsDoc } from './reactiveformsdoc';
-import { StyleDoc } from './styledoc';
-import { FilledDoc } from './filleddoc';
-import { FloatLabelModule } from 'primeng/floatlabel';
-import { RouterModule } from '@angular/router';
-import { TextareaModule } from 'primeng/textarea';
-import { IftaLabelModule } from 'primeng/iftalabel';
-import { IftaLabelDoc } from './iftalabeldoc';
import { SizesDoc } from './sizesdoc';
+import { StyleDoc } from './styledoc';
@NgModule({
imports: [CommonModule, AppCodeModule, InputTextModule, FormsModule, ReactiveFormsModule, TextareaModule, AppDocModule, KeyFilterModule, FloatLabelModule, RouterModule, IftaLabelModule],
diff --git a/apps/showcase/src/app/showcase/doc/theming/architecturedoc.ts b/apps/showcase/doc/theming/architecturedoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/theming/architecturedoc.ts
rename to apps/showcase/doc/theming/architecturedoc.ts
index 0d0efeef87f..800d70dd42f 100644
--- a/apps/showcase/src/app/showcase/doc/theming/architecturedoc.ts
+++ b/apps/showcase/doc/theming/architecturedoc.ts
@@ -1,5 +1,4 @@
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'architecture-doc',
diff --git a/apps/showcase/src/app/showcase/doc/theming/bootstrapdoc.ts b/apps/showcase/doc/theming/bootstrapdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/bootstrapdoc.ts
rename to apps/showcase/doc/theming/bootstrapdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/casedoc.ts b/apps/showcase/doc/theming/casedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/casedoc.ts
rename to apps/showcase/doc/theming/casedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/colorsdoc.ts b/apps/showcase/doc/theming/colorsdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/colorsdoc.ts
rename to apps/showcase/doc/theming/colorsdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/componentdoc.ts b/apps/showcase/doc/theming/componentdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/componentdoc.ts
rename to apps/showcase/doc/theming/componentdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/darkmodedoc.ts b/apps/showcase/doc/theming/darkmodedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/darkmodedoc.ts
rename to apps/showcase/doc/theming/darkmodedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/definepresetdoc.ts b/apps/showcase/doc/theming/definepresetdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/definepresetdoc.ts
rename to apps/showcase/doc/theming/definepresetdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/dtdoc.ts b/apps/showcase/doc/theming/dtdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/dtdoc.ts
rename to apps/showcase/doc/theming/dtdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/focusringdoc.ts b/apps/showcase/doc/theming/focusringdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/focusringdoc.ts
rename to apps/showcase/doc/theming/focusringdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/fontdoc.ts b/apps/showcase/doc/theming/fontdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/fontdoc.ts
rename to apps/showcase/doc/theming/fontdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/formsdoc.ts b/apps/showcase/doc/theming/formsdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/formsdoc.ts
rename to apps/showcase/doc/theming/formsdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/librariesdoc.ts b/apps/showcase/doc/theming/librariesdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/librariesdoc.ts
rename to apps/showcase/doc/theming/librariesdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/noirdoc.ts b/apps/showcase/doc/theming/noirdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/noirdoc.ts
rename to apps/showcase/doc/theming/noirdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/optionsdoc.ts b/apps/showcase/doc/theming/optionsdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/optionsdoc.ts
rename to apps/showcase/doc/theming/optionsdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/palettedoc.ts b/apps/showcase/doc/theming/palettedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/palettedoc.ts
rename to apps/showcase/doc/theming/palettedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/presetsdoc.ts b/apps/showcase/doc/theming/presetsdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/presetsdoc.ts
rename to apps/showcase/doc/theming/presetsdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/primarydoc.ts b/apps/showcase/doc/theming/primarydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/primarydoc.ts
rename to apps/showcase/doc/theming/primarydoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/resetdoc.ts b/apps/showcase/doc/theming/resetdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/resetdoc.ts
rename to apps/showcase/doc/theming/resetdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/reversedkeysdoc.ts b/apps/showcase/doc/theming/reversedkeysdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/reversedkeysdoc.ts
rename to apps/showcase/doc/theming/reversedkeysdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/scaledoc.ts b/apps/showcase/doc/theming/scaledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/scaledoc.ts
rename to apps/showcase/doc/theming/scaledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/scopedtokensdoc.ts b/apps/showcase/doc/theming/scopedtokensdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/scopedtokensdoc.ts
rename to apps/showcase/doc/theming/scopedtokensdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/specifitydoc.ts b/apps/showcase/doc/theming/specifitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/specifitydoc.ts
rename to apps/showcase/doc/theming/specifitydoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/surfacedoc.ts b/apps/showcase/doc/theming/surfacedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/surfacedoc.ts
rename to apps/showcase/doc/theming/surfacedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/tailwinddoc.ts b/apps/showcase/doc/theming/tailwinddoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/tailwinddoc.ts
rename to apps/showcase/doc/theming/tailwinddoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/themedoc.ts b/apps/showcase/doc/theming/themedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/themedoc.ts
rename to apps/showcase/doc/theming/themedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/themingdoc.module.ts b/apps/showcase/doc/theming/themingdoc.module.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/theming/themingdoc.module.ts
rename to apps/showcase/doc/theming/themingdoc.module.ts
index 8b746d99d76..14c80229eef 100644
--- a/apps/showcase/src/app/showcase/doc/theming/themingdoc.module.ts
+++ b/apps/showcase/doc/theming/themingdoc.module.ts
@@ -1,14 +1,14 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
+import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { ButtonModule } from 'primeng/button';
import { PanelModule } from 'primeng/panel';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { ArchitectureDoc } from './architecturedoc';
import { TabsModule } from 'primeng/tabs';
import { ToggleSwitch } from 'primeng/toggleswitch';
-import { FormsModule } from '@angular/forms';
+import { ArchitectureDoc } from './architecturedoc';
import { BootstrapDoc } from './bootstrapdoc';
import { CaseDoc } from './casedoc';
import { ColorsDoc } from './colorsdoc';
@@ -30,13 +30,13 @@ import { ReversedKeysDoc } from './reversedkeysdoc';
import { ScaleDoc } from './scaledoc';
import { ScopedTokensDoc } from './scopedtokensdoc';
import { SpecificityDoc } from './specifitydoc';
+import { SurfaceDoc } from './surfacedoc';
import { TailwindDoc } from './tailwinddoc';
import { ThemeDoc } from './themedoc';
import { UpdatePresetDoc } from './updatepresetdoc';
import { UpdatePrimaryPaletteDoc } from './updateprimarypalettedoc';
import { UpdateSurfacePaletteDoc } from './updatesurfacepalettedoc';
import { UsePresetDoc } from './usepresetdoc';
-import { SurfaceDoc } from './surfacedoc';
@NgModule({
imports: [CommonModule, RouterModule, TabsModule, AppCodeModule, AppDocModule, ButtonModule, PanelModule, ToggleSwitch, FormsModule],
diff --git a/apps/showcase/src/app/showcase/doc/theming/updatepresetdoc.ts b/apps/showcase/doc/theming/updatepresetdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/updatepresetdoc.ts
rename to apps/showcase/doc/theming/updatepresetdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/updateprimarypalettedoc.ts b/apps/showcase/doc/theming/updateprimarypalettedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/updateprimarypalettedoc.ts
rename to apps/showcase/doc/theming/updateprimarypalettedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/updatesurfacepalettedoc.ts b/apps/showcase/doc/theming/updatesurfacepalettedoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/updatesurfacepalettedoc.ts
rename to apps/showcase/doc/theming/updatesurfacepalettedoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/theming/usepresetdoc.ts b/apps/showcase/doc/theming/usepresetdoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/theming/usepresetdoc.ts
rename to apps/showcase/doc/theming/usepresetdoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/accessibilitydoc.ts b/apps/showcase/doc/tieredmenu/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tieredmenu/accessibilitydoc.ts
rename to apps/showcase/doc/tieredmenu/accessibilitydoc.ts
diff --git a/apps/showcase/doc/tieredmenu/basicdoc.ts b/apps/showcase/doc/tieredmenu/basicdoc.ts
new file mode 100644
index 00000000000..6d50fda7db5
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/basicdoc.ts
@@ -0,0 +1,185 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ TieredMenu requires a collection of menuitems as its model .
+
+
+
+ `
+})
+export class BasicDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp'
+ }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { TieredMenu } from 'primeng/tieredmenu';
+
+@Component({
+ selector: 'tiered-menu-basic-demo',
+ templateUrl: './tiered-menu-basic-demo.html',
+ standalone: true,
+ imports: [TieredMenu]
+})
+export class TieredMenuBasicDemo implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp'
+ }
+ ]
+ }
+ ]
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/tieredmenu/commanddoc.ts b/apps/showcase/doc/tieredmenu/commanddoc.ts
new file mode 100644
index 00000000000..59a3ce85690
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/commanddoc.ts
@@ -0,0 +1,167 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem, MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'command-doc',
+ template: `
+
+ The command property defines the callback to run when an item is activated by click or a key event.
+
+
+
+ `
+})
+export class CommandDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ constructor(private messageService: MessageService) {}
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ command: () => {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
+ }
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print',
+ command: () => {
+ this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
+ }
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search',
+ command: () => {
+ this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
+ }
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Sync',
+ icon: 'pi pi-cloud',
+ items: [
+ {
+ label: 'Import',
+ icon: 'pi pi-cloud-download',
+ command: () => {
+ this.messageService.add({
+ severity: 'info',
+ summary: 'Downloads',
+ detail: 'Downloaded from cloud',
+ life: 3000
+ });
+ }
+ },
+ {
+ label: 'Export',
+ icon: 'pi pi-cloud-upload',
+ command: () => {
+ this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
+ }
+ }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { MessageService } from 'primeng/api';
+import { TieredMenu } from 'primeng/tieredmenu';
+import { ToastModule } from 'primeng/toast';
+
+@Component({
+ selector: 'tiered-menu-command-demo',
+ templateUrl: './tiered-menu-command-demo.html',
+ standalone: true,
+ imports: [TieredMenu, ToastModule],
+ providers: [MessageService]
+})
+export class TieredMenuCommandDemo implements OnInit {
+
+ items: MenuItem[] | undefined;
+
+ constructor(private messageService: MessageService) {}
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ command: () => {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
+ }
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print',
+ command: () => {
+ this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
+ }
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search',
+ command: () => {
+ this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
+ }
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Sync',
+ icon: 'pi pi-cloud',
+ items: [
+ {
+ label: 'Import',
+ icon: 'pi pi-cloud-download',
+ command: () => {
+ this.messageService.add({ severity: 'info', summary: 'Downloads', detail: 'Downloaded from cloud', life: 3000 });
+ }
+ },
+ {
+ label: 'Export',
+ icon: 'pi pi-cloud-upload',
+ command: () => {
+ this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
+ }
+ }
+ ]
+ }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/tieredmenu/importdoc.ts b/apps/showcase/doc/tieredmenu/importdoc.ts
new file mode 100644
index 00000000000..e6db8239029
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tiered-menu-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { TieredMenu } from 'primeng/tieredmenu';`
+ };
+}
diff --git a/apps/showcase/doc/tieredmenu/popupdoc.ts b/apps/showcase/doc/tieredmenu/popupdoc.ts
new file mode 100644
index 00000000000..958815c4587
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/popupdoc.ts
@@ -0,0 +1,189 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+
+@Component({
+ selector: 'popup-doc',
+ template: `
+
+ Popup mode is enabled by adding popup property and calling toggle method with an event of the target.
+
+
+
+ `
+})
+export class PopupDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp'
+ }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { TieredMenu } from 'primeng/tieredmenu';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tiered-menu-popup-demo',
+ templateUrl: './tiered-menu-popup-demo.html',
+ standalone: true,
+ imports: [TieredMenu, ButtonModule]
+})
+export class TieredMenuPopupDemo implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp'
+ }
+ ]
+ }
+ ]
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/tieredmenu/routerdoc.ts b/apps/showcase/doc/tieredmenu/routerdoc.ts
new file mode 100644
index 00000000000..b08cf2208a4
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/routerdoc.ts
@@ -0,0 +1,206 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { Router } from '@angular/router';
+import { MenuItem } from 'primeng/api';
+
+@Component({
+ selector: 'router-doc',
+ template: `
+
+ Items with navigation are defined with templating to be able to use a router link component, an external link or programmatic navigation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `
+})
+export class RouterDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ constructor(private router: Router) {}
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'Router',
+ icon: 'pi pi-palette',
+ items: [
+ {
+ label: 'Theming',
+ route: '/theming'
+ },
+ {
+ label: 'Colors',
+ route: '/colors'
+ }
+ ]
+ },
+ {
+ label: 'Programmatic',
+ icon: 'pi pi-link',
+ command: () => {
+ this.router.navigate(['/installation']);
+ }
+ },
+ {
+ label: 'External',
+ icon: 'pi pi-home',
+ items: [
+ {
+ label: 'Angular',
+ url: 'https://angular.dev/'
+ },
+ {
+ label: 'Vite.js',
+ url: 'https://vitejs.dev/'
+ }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { Router } from '@angular/router';
+import { TieredMenu } from 'primeng/tieredmenu';
+import { CommonModule } from '@angular/common';
+
+@Component({
+ selector: 'tiered-menu-router-demo',
+ templateUrl: './tiered-menu-router-demo.html',
+ standalone: true,
+ imports: [TieredMenu, CommonModule]
+})
+export class TieredMenuRouterDemo implements OnInit {
+
+ items: MenuItem[] | undefined;
+
+ constructor(private router: Router) {}
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'Router',
+ icon: 'pi pi-palette',
+ items: [
+ {
+ label: 'Theming',
+ route: '/theming'
+ },
+ {
+ label: 'Colors',
+ route: '/colors'
+ }
+ ]
+ },
+ {
+ label: 'Programmatic',
+ icon: 'pi pi-link',
+ command: () => {
+ this.router.navigate(['/installation']);
+ }
+ },
+ {
+ label: 'External',
+ icon: 'pi pi-home',
+ items: [
+ {
+ label: 'Angular',
+ url: 'https://angular.dev/'
+ },
+ {
+ label: 'Vite.js',
+ url: 'https://vitejs.dev/'
+ }
+ ]
+ }
+ ];
+ }
+
+
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/styledoc.ts b/apps/showcase/doc/tieredmenu/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tieredmenu/styledoc.ts
rename to apps/showcase/doc/tieredmenu/styledoc.ts
diff --git a/apps/showcase/doc/tieredmenu/templatedoc.ts b/apps/showcase/doc/tieredmenu/templatedoc.ts
new file mode 100644
index 00000000000..433ae4fb25d
--- /dev/null
+++ b/apps/showcase/doc/tieredmenu/templatedoc.ts
@@ -0,0 +1,242 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ TieredMenu offers item customization with the item template that receives the menuitem instance from the model as a parameter.
+
+
+
+ `
+})
+export class TemplateDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file',
+ shortcut: '⌘+N'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image',
+ shortcut: '⌘+I'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video',
+ shortcut: '⌘+L'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open',
+ shortcut: '⌘+O'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print',
+ shortcut: '⌘+P'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy',
+ shortcut: '⌘+C'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times',
+ shortcut: '⌘+D'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search',
+ shortcut: '⌘+S'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack',
+ badge: '2'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp',
+ badge: '3'
+ }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { TieredMenu } from 'primeng/tieredmenu';
+import { BadgeModule } from 'primeng/badge';
+import { CommonModule } from '@angular/common';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'tiered-menu-template-demo',
+ templateUrl: './tiered-menu-template-demo.html',
+ standalone: true,
+ imports: [TieredMenu, BadgeModule, Ripple, CommonModule]
+})
+export class TieredMenuTemplateDemo implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'File',
+ icon: 'pi pi-file',
+ items: [
+ {
+ label: 'New',
+ icon: 'pi pi-plus',
+ items: [
+ {
+ label: 'Document',
+ icon: 'pi pi-file',
+ shortcut: '⌘+N'
+ },
+ {
+ label: 'Image',
+ icon: 'pi pi-image',
+ shortcut: '⌘+I'
+ },
+ {
+ label: 'Video',
+ icon: 'pi pi-video',
+ shortcut: '⌘+L'
+ }
+ ]
+ },
+ {
+ label: 'Open',
+ icon: 'pi pi-folder-open',
+ shortcut: '⌘+O'
+ },
+ {
+ label: 'Print',
+ icon: 'pi pi-print',
+ shortcut: '⌘+P'
+ }
+ ]
+ },
+ {
+ label: 'Edit',
+ icon: 'pi pi-file-edit',
+ items: [
+ {
+ label: 'Copy',
+ icon: 'pi pi-copy',
+ shortcut: '⌘+C'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times',
+ shortcut: '⌘+D'
+ }
+ ]
+ },
+ {
+ label: 'Search',
+ icon: 'pi pi-search',
+ shortcut: '⌘+S'
+ },
+ {
+ separator: true
+ },
+ {
+ label: 'Share',
+ icon: 'pi pi-share-alt',
+ items: [
+ {
+ label: 'Slack',
+ icon: 'pi pi-slack',
+ badge: '2'
+ },
+ {
+ label: 'Whatsapp',
+ icon: 'pi pi-whatsapp',
+ badge: '3'
+ }
+ ]
+ }
+ ]
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/tieredmenudoc.module.ts b/apps/showcase/doc/tieredmenu/tieredmenudoc.module.ts
similarity index 89%
rename from apps/showcase/src/app/showcase/doc/tieredmenu/tieredmenudoc.module.ts
rename to apps/showcase/doc/tieredmenu/tieredmenudoc.module.ts
index 23fc2120739..4b91b301d3a 100644
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/tieredmenudoc.module.ts
+++ b/apps/showcase/doc/tieredmenu/tieredmenudoc.module.ts
@@ -1,22 +1,22 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
-import { TieredMenu } from 'primeng/tieredmenu';
-import { ButtonModule } from 'primeng/button';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
+import { MessageService } from 'primeng/api';
import { BadgeModule } from 'primeng/badge';
+import { ButtonModule } from 'primeng/button';
+import { FloatLabel } from 'primeng/floatlabel';
+import { TieredMenu } from 'primeng/tieredmenu';
import { ToastModule } from 'primeng/toast';
+import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
+import { CommandDoc } from './commanddoc';
import { ImportDoc } from './importdoc';
import { PopupDoc } from './popupdoc';
-import { TemplateDoc } from './templatedoc';
-import { CommandDoc } from './commanddoc';
import { RouterDoc } from './routerdoc';
import { StyleDoc } from './styledoc';
-import { AccessibilityDoc } from './accessibilitydoc';
-import { MessageService } from 'primeng/api';
-import { FloatLabel } from 'primeng/floatlabel';
+import { TemplateDoc } from './templatedoc';
@NgModule({
imports: [CommonModule, AppCodeModule, RouterModule, TieredMenu, ButtonModule, AppDocModule, BadgeModule, ToastModule, FloatLabel],
diff --git a/apps/showcase/src/app/showcase/doc/timeline/accessibilitydoc.ts b/apps/showcase/doc/timeline/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/timeline/accessibilitydoc.ts
rename to apps/showcase/doc/timeline/accessibilitydoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/timeline/alignmentdoc.ts b/apps/showcase/doc/timeline/alignmentdoc.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/doc/timeline/alignmentdoc.ts
rename to apps/showcase/doc/timeline/alignmentdoc.ts
index 4a8d27a1d57..010cbfe23a1 100644
--- a/apps/showcase/src/app/showcase/doc/timeline/alignmentdoc.ts
+++ b/apps/showcase/doc/timeline/alignmentdoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
interface EventItem {
status?: string;
diff --git a/apps/showcase/doc/timeline/basicdoc.ts b/apps/showcase/doc/timeline/basicdoc.ts
new file mode 100644
index 00000000000..02c2e75f0d7
--- /dev/null
+++ b/apps/showcase/doc/timeline/basicdoc.ts
@@ -0,0 +1,72 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+
+ Timeline receives the events with the value property as a collection of arbitrary objects. In addition, content template is required to display the representation of an event. Example below is a sample events array that
+ is used throughout the documentation.
+
+
+
+
+
+ {{ event.status }}
+
+
+
+
+ `
+})
+export class BasicDoc {
+ events: any[];
+
+ constructor() {
+ this.events = [
+ { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
+ { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
+ { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
+ { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+ {{ event.status }}
+
+ `,
+
+ html: `
+
+
+ {{ event.status }}
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Timeline } from 'primeng/timeline';
+
+@Component({
+ selector: 'timeline-basic-demo',
+ templateUrl: './timeline-basic-demo.html',
+ standalone: true,
+ imports: [Timeline]
+})
+export class TimelineBasicDemo {
+ events: any[];
+
+ constructor() {
+ this.events = [
+ { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
+ { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
+ { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
+ { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/timeline/horizontaldoc.ts b/apps/showcase/doc/timeline/horizontaldoc.ts
new file mode 100644
index 00000000000..7894a0e3914
--- /dev/null
+++ b/apps/showcase/doc/timeline/horizontaldoc.ts
@@ -0,0 +1,100 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'horizontal-doc',
+ template: `
+
+ TimeLine orientation is controlled with the layout property, default is vertical having horizontal as the alternative.
+
+
+
+
+ {{ event }}
+
+
+
+
+ {{ event }}
+
+
+
+
+ {{ event }}
+
+
+
+
+
+ `
+})
+export class HorizontalDoc {
+ events: string[];
+
+ constructor() {
+ this.events = ['2020', '2021', '2022', '2023'];
+ }
+
+ code: Code = {
+ basic: `
+
+ {{ event }}
+
+
+
+
+
+ {{ event }}
+
+
+
+
+
+ {{ event }}
+
+
+
+
+ `,
+
+ html: `
+
+
+ {{ event }}
+
+
+
+
+ {{ event }}
+
+
+
+
+ {{ event }}
+
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Timeline } from 'primeng/timeline';
+
+@Component({
+ selector: 'timeline-horizontal-demo',
+ templateUrl: './timeline-horizontal-demo.html',
+ standalone: true,
+ imports: [Timeline]
+})
+export class TimelineHorizontalDemo {
+ events: string[];
+
+ constructor() {
+ this.events = [
+ "2020", "2021", "2022", "2023"
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/timeline/importdoc.ts b/apps/showcase/doc/timeline/importdoc.ts
new file mode 100644
index 00000000000..52dc70802b1
--- /dev/null
+++ b/apps/showcase/doc/timeline/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'timeline-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Timeline } from 'primeng/timeline';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/oppositedoc.ts b/apps/showcase/doc/timeline/oppositedoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/timeline/oppositedoc.ts
rename to apps/showcase/doc/timeline/oppositedoc.ts
index b356b421d96..371c6ec6e76 100644
--- a/apps/showcase/src/app/showcase/doc/timeline/oppositedoc.ts
+++ b/apps/showcase/doc/timeline/oppositedoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
interface EventItem {
status?: string;
diff --git a/apps/showcase/src/app/showcase/doc/timeline/styledoc.ts b/apps/showcase/doc/timeline/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/timeline/styledoc.ts
rename to apps/showcase/doc/timeline/styledoc.ts
diff --git a/apps/showcase/doc/timeline/templatedoc.ts b/apps/showcase/doc/timeline/templatedoc.ts
new file mode 100644
index 00000000000..16539a6de89
--- /dev/null
+++ b/apps/showcase/doc/timeline/templatedoc.ts
@@ -0,0 +1,137 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+interface EventItem {
+ status?: string;
+ date?: string;
+ icon?: string;
+ color?: string;
+ image?: string;
+}
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ Sample implementation with custom content and styled markers.
+
+
+
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
+ neque quas!
+
+
+
+
+
+
+
+ `
+})
+export class TemplateDoc {
+ events: EventItem[];
+
+ constructor() {
+ this.events = [
+ { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
+ { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
+ { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
+ { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
+ neque quas!
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+
+
+
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
+ neque quas!
+
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Timeline } from 'primeng/timeline';
+import { CardModule } from 'primeng/card';
+import { ButtonModule } from 'primeng/button';
+
+interface EventItem {
+ status?: string;
+ date?: string;
+ icon?: string;
+ color?: string;
+ image?: string;
+}
+
+@Component({
+ selector: 'timeline-template-demo',
+ templateUrl: './timeline-template-demo.html',
+ standalone: true,
+ imports: [Timeline, CardModule, ButtonModule]
+})
+export class TimelineTemplateDemo {
+ events: EventItem[];
+
+ constructor() {
+ this.events = [
+ { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
+ { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
+ { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
+ { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/timelinedoc.module.ts b/apps/showcase/doc/timeline/timelinedoc.module.ts
similarity index 87%
rename from apps/showcase/src/app/showcase/doc/timeline/timelinedoc.module.ts
rename to apps/showcase/doc/timeline/timelinedoc.module.ts
index d4acdd128f4..cfa14c00c36 100644
--- a/apps/showcase/src/app/showcase/doc/timeline/timelinedoc.module.ts
+++ b/apps/showcase/doc/timeline/timelinedoc.module.ts
@@ -1,19 +1,19 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
+import { RouterModule } from '@angular/router';
+import { ButtonModule } from 'primeng/button';
+import { CardModule } from 'primeng/card';
import { Timeline } from 'primeng/timeline';
-import { ImportDoc } from './importdoc';
-import { BasicDoc } from './basicdoc';
+import { AccessibilityDoc } from './accessibilitydoc';
import { AlignmentDoc } from './alignmentdoc';
-import { OppositeDoc } from './oppositedoc';
-import { TemplateDoc } from './templatedoc';
-import { CardModule } from 'primeng/card';
-import { ButtonModule } from 'primeng/button';
+import { BasicDoc } from './basicdoc';
import { HorizontalDoc } from './horizontaldoc';
+import { ImportDoc } from './importdoc';
+import { OppositeDoc } from './oppositedoc';
import { StyleDoc } from './styledoc';
-import { RouterModule } from '@angular/router';
-import { AccessibilityDoc } from './accessibilitydoc';
+import { TemplateDoc } from './templatedoc';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, Timeline, CardModule, ButtonModule, RouterModule],
diff --git a/apps/showcase/src/app/showcase/doc/toast/accessibilitydoc.ts b/apps/showcase/doc/toast/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/toast/accessibilitydoc.ts
rename to apps/showcase/doc/toast/accessibilitydoc.ts
diff --git a/apps/showcase/doc/toast/animationdoc.ts b/apps/showcase/doc/toast/animationdoc.ts
new file mode 100644
index 00000000000..fadb525d07f
--- /dev/null
+++ b/apps/showcase/doc/toast/animationdoc.ts
@@ -0,0 +1,54 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'animation-doc',
+ template: `
+
+ Transition of the animations can be customized using the showTransitionOptions , hideTransitionOptions , showTransformOptions and hideTransformOptions properties.
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class AnimationDoc {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+
+ code: Code = {
+ basic: `
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { ToastModule } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { RippleModule } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-animation-demo',
+ templateUrl: './toast-animation-demo.html',
+ standalone: true,
+ imports: [ToastModule, ButtonModule, RippleModule],
+ providers: [MessageService]
+})
+export class ToastAnimationDemo {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/basicdoc.ts b/apps/showcase/doc/toast/basicdoc.ts
new file mode 100644
index 00000000000..9fa3e9fe6a3
--- /dev/null
+++ b/apps/showcase/doc/toast/basicdoc.ts
@@ -0,0 +1,57 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+
+ Toasts are displayed by calling the add and addAll method provided by the messageService . A single toast is specified by the Message interface that defines various properties such as severity ,
+ summary and detail .
+
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class BasicDoc {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content', life: 3000 });
+ }
+
+ code: Code = {
+ basic: `
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-basic-demo',
+ templateUrl: './toast-basic-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple],
+ providers: [MessageService]
+})
+export class ToastBasicDemo {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content', life: 3000 });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toast/cleardoc.ts b/apps/showcase/doc/toast/cleardoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/toast/cleardoc.ts
rename to apps/showcase/doc/toast/cleardoc.ts
index 499724693b3..a6a321dc2df 100644
--- a/apps/showcase/src/app/showcase/doc/toast/cleardoc.ts
+++ b/apps/showcase/doc/toast/cleardoc.ts
@@ -1,6 +1,6 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
@Component({
selector: 'clear-doc',
diff --git a/apps/showcase/doc/toast/headlessdoc.ts b/apps/showcase/doc/toast/headlessdoc.ts
new file mode 100644
index 00000000000..cb5aeac334a
--- /dev/null
+++ b/apps/showcase/doc/toast/headlessdoc.ts
@@ -0,0 +1,202 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectorRef, Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'headless-doc',
+ template: `
+
+ Headless mode allows you to customize the entire user interface instead of the default elements.
+
+
+
+
+
+
+
+ {{ message.summary }}
+
+
+
+
{{ progress }}% uploaded
+
+
+
+
+
+
+
+
+ `,
+ styles: [
+ `
+ :host ::ng-deep {
+ .p-progressbar-value {
+ --tw-bg-opacity: 1 !important;
+ background-color: color-mix(in srgb, var(--p-primary-50) calc(100% * var(--tw-bg-opacity)), transparent) !important;
+ }
+ }
+ `
+ ],
+ providers: [MessageService]
+})
+export class HeadlessDoc {
+ visible: boolean = false;
+
+ progress: number = 0;
+
+ interval = null;
+
+ constructor(
+ private messageService: MessageService,
+ private cdr: ChangeDetectorRef
+ ) {}
+
+ showConfirm() {
+ if (!this.visible) {
+ this.messageService.add({
+ key: 'confirm',
+ sticky: true,
+ severity: 'custom',
+ summary: 'Uploading your files.',
+ styleClass: 'backdrop-blur-lg rounded-2xl'
+ });
+ this.visible = true;
+ this.progress = 0;
+
+ if (this.interval) {
+ clearInterval(this.interval);
+ }
+
+ this.interval = setInterval(() => {
+ if (this.progress <= 100) {
+ this.progress = this.progress + 20;
+ }
+
+ if (this.progress >= 100) {
+ this.progress = 100;
+ clearInterval(this.interval);
+ }
+ this.cdr.markForCheck();
+ }, 1000);
+ }
+ }
+
+ onClose() {
+ this.visible = false;
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+ {{ message.summary }}
+
+
+
+
{{ progress }}% uploaded
+
+
+
+
+
+ `,
+ html: `
+
+
+
+
+
+ {{ message.summary }}
+
+
+
+
{{ progress }}% uploaded
+
+
+
+
+
+
+
`,
+ typescript: `import { ChangeDetectorRef, Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+import { ProgressBar } from 'primeng/progressbar';
+
+@Component({
+ selector: 'toast-headless-demo',
+ templateUrl: './toast-headless-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple, ProgressBar],
+ providers: [MessageService]
+})
+export class ToastHeadlessDemo {
+
+ visible: boolean = false;
+
+ progress: number = 0;
+
+ interval = null;
+
+ constructor(private messageService: MessageService, private cdr: ChangeDetectorRef) {}
+
+ showConfirm() {
+ if (!this.visible) {
+ this.messageService.add({
+ key: 'confirm',
+ sticky: true,
+ severity: 'custom',
+ summary: 'Uploading your files.',
+ styleClass: 'backdrop-blur-lg rounded-2xl',
+ });
+ this.visible = true;
+ this.progress = 0;
+
+ if (this.interval) {
+ clearInterval(this.interval);
+ }
+
+ this.interval = setInterval(() => {
+ if (this.progress <= 100) {
+ this.progress = this.progress + 20;
+ }
+
+ if (this.progress >= 100) {
+ this.progress = 100;
+ clearInterval(this.interval);
+ }
+ this.cdr.markForCheck();
+ }, 1000);
+ }
+ }
+
+ onClose() {
+ this.visible = false;
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/importdoc.ts b/apps/showcase/doc/toast/importdoc.ts
new file mode 100644
index 00000000000..6783bc68433
--- /dev/null
+++ b/apps/showcase/doc/toast/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toast-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Toast } from 'primeng/toast';`
+ };
+}
diff --git a/apps/showcase/doc/toast/lifedoc.ts b/apps/showcase/doc/toast/lifedoc.ts
new file mode 100644
index 00000000000..4e6f8390694
--- /dev/null
+++ b/apps/showcase/doc/toast/lifedoc.ts
@@ -0,0 +1,71 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'life-doc',
+ template: `
+
+ A toast disappears after 3000ms by default, set the life option on either the message or toast to override this.
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class LifeDoc {
+ constructor(private messageService: MessageService) {}
+
+ showLife() {
+ this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 10000ms' });
+ }
+
+ showLifeLong() {
+ this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 20000ms', life: 20000 });
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-life-demo',
+ templateUrl: './toast-life-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple],
+ providers: [MessageService]
+})
+export class ToastLifeDemo {
+ constructor(private messageService: MessageService) {}
+
+ showLifeDefault() {
+ this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 10000ms' });
+ }
+
+ showLifeLong() {
+ this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 20000ms', life: 20000 });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/multipledoc.ts b/apps/showcase/doc/toast/multipledoc.ts
new file mode 100644
index 00000000000..1e50fecd1a7
--- /dev/null
+++ b/apps/showcase/doc/toast/multipledoc.ts
@@ -0,0 +1,64 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'toast-multiple-demo',
+ template: `
+
+ Multiple toasts are displayed by passing an array to the showAll method of the messageService .
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class MultipleDoc {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.addAll([
+ { severity: 'success', summary: 'Message 1', detail: 'Message Content' },
+ { severity: 'info', summary: 'Message 2', detail: 'Message Content' },
+ { severity: 'warn', summary: 'Message 3', detail: 'Message Content' },
+ { severity: 'error', summary: 'Message 4', detail: 'Message Content' }
+ ]);
+ }
+
+ code: Code = {
+ basic: `
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { ToastModule } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { RippleModule } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-multiple-demo',
+ templateUrl: './toast-multiple-demo.html',
+ standalone: true,
+ imports: [ToastModule, ButtonModule, RippleModule],
+ providers: [MessageService]
+})
+export class ToastMultipleDemo {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.addAll([
+ { severity: 'success', summary: 'Message 1', detail: 'Message Content' },
+ { severity: 'info', summary: 'Message 2', detail: 'Message Content' },
+ { severity: 'warn', summary: 'Message 3', detail: 'Message Content' },
+ { severity: 'error', summary: 'Message 4', detail: 'Message Content' }
+ ]);
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/positiondoc.ts b/apps/showcase/doc/toast/positiondoc.ts
new file mode 100644
index 00000000000..1fc09354bbe
--- /dev/null
+++ b/apps/showcase/doc/toast/positiondoc.ts
@@ -0,0 +1,106 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'position-doc',
+ template: `
+
+ Location of the toast is customized with the position property. Valid values are top-left , top-center , top-right , bottom-left , bottom-center , bottom-right and center .
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class PositionDoc {
+ constructor(private messageService: MessageService) {}
+
+ showTopLeft() {
+ this.messageService.add({
+ severity: 'info',
+ summary: 'Info Message',
+ detail: 'Message Content',
+ key: 'tl',
+ life: 3000
+ });
+ }
+
+ showBottomLeft() {
+ this.messageService.add({
+ severity: 'warn',
+ summary: 'Warn Message',
+ detail: 'Message Content',
+ key: 'bl',
+ life: 3000
+ });
+ }
+
+ showBottomRight() {
+ this.messageService.add({
+ severity: 'success',
+ summary: 'Success Message',
+ detail: 'Message Content',
+ key: 'br',
+ life: 3000
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { ToastModule } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { RippleModule } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-position-demo',
+ templateUrl: './toast-position-demo.html',
+ standalone: true,
+ imports: [ToastModule, ButtonModule, RippleModule],
+ providers: [MessageService]
+})
+export class ToastPositionDemo {
+ constructor(private messageService: MessageService) {}
+
+ showTopLeft() {
+ this.messageService.add({ severity: 'info', summary: 'Info Message', detail: 'Message Content', key: 'tl', life: 3000 });
+ }
+
+ showBottomLeft() {
+ this.messageService.add({ severity: 'warn', summary: 'Warn Message', detail: 'Message Content', key: 'bl', life: 3000 });
+ }
+
+ showBottomRight() {
+ this.messageService.add({ severity: 'success', summary: 'Success Message', detail: 'Message Content', key: 'br', life: 3000 });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/responsivedoc.ts b/apps/showcase/doc/toast/responsivedoc.ts
new file mode 100644
index 00000000000..80f2867bfb5
--- /dev/null
+++ b/apps/showcase/doc/toast/responsivedoc.ts
@@ -0,0 +1,57 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'responsive-doc',
+ template: `
+
+
+ Toast styling can be adjusted per screen size with the breakpoints option. The value of breakpoints
+ should be an object literal whose keys are the maximum screen sizes and values are the styles per screen. In example below, width of the toast messages cover the whole page on screens whose widths is smaller than 921px.
+
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class ResponsiveDoc {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+
+ code: Code = {
+ basic: `
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-responsive-demo',
+ templateUrl: './toast-responsive-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple],
+ providers: [MessageService]
+})
+export class ToastResponsiveDemo {
+ constructor(private messageService: MessageService) {}
+
+ show() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/severitydoc.ts b/apps/showcase/doc/toast/severitydoc.ts
new file mode 100644
index 00000000000..222d4089839
--- /dev/null
+++ b/apps/showcase/doc/toast/severitydoc.ts
@@ -0,0 +1,113 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'severity-doc',
+ template: `
+
+
+ The severity option specifies the type of the message. There are four types of messages: success , info , warn and error . The severity of the message is used to display the icon and the color of the
+ toast.
+
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class SeverityDoc {
+ constructor(private messageService: MessageService) {}
+
+ showSuccess() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+
+ showInfo() {
+ this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content' });
+ }
+
+ showWarn() {
+ this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Message Content' });
+ }
+
+ showError() {
+ this.messageService.add({ severity: 'error', summary: 'Error', detail: 'Message Content' });
+ }
+
+ showContrast() {
+ this.messageService.add({ severity: 'contrast', summary: 'Contrast', detail: 'Message Content' });
+ }
+
+ showSecondary() {
+ this.messageService.add({ severity: 'secondary', summary: 'Secondary', detail: 'Message Content' });
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+ `,
+
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-severity-demo',
+ templateUrl: './toast-severity-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple],
+ providers: [MessageService]
+})
+export class ToastSeverityDemo {
+ constructor(private messageService: MessageService) {}
+
+ showSuccess() {
+ this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
+ }
+
+ showInfo() {
+ this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content' });
+ }
+
+ showWarn() {
+ this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Message Content' });
+ }
+
+ showError() {
+ this.messageService.add({ severity: 'error', summary: 'Error', detail: 'Message Content' });
+ }
+
+ showContrast() {
+ this.messageService.add({ severity: 'contrast', summary: 'Error', detail: 'Message Content' });
+ }
+
+ showSecondary() {
+ this.messageService.add({ severity: 'secondary', summary: 'Secondary', detail: 'Message Content' });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toast/stickydoc.ts b/apps/showcase/doc/toast/stickydoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/toast/stickydoc.ts
rename to apps/showcase/doc/toast/stickydoc.ts
index 69e8fdd9fd1..0662171d214 100644
--- a/apps/showcase/src/app/showcase/doc/toast/stickydoc.ts
+++ b/apps/showcase/doc/toast/stickydoc.ts
@@ -1,6 +1,6 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
@Component({
selector: 'sticky-doc',
diff --git a/apps/showcase/src/app/showcase/doc/toast/styledoc.ts b/apps/showcase/doc/toast/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/toast/styledoc.ts
rename to apps/showcase/doc/toast/styledoc.ts
diff --git a/apps/showcase/doc/toast/targetdoc.ts b/apps/showcase/doc/toast/targetdoc.ts
new file mode 100644
index 00000000000..bc3fe0ef744
--- /dev/null
+++ b/apps/showcase/doc/toast/targetdoc.ts
@@ -0,0 +1,89 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'target-doc',
+ template: `
+
+
+ A page may have multiple toast components, in case you'd like to target a specific message to a particular toast, use the
+ key property so that toast and the message can match.
+
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class TargetDoc {
+ constructor(private messageService: MessageService) {}
+
+ showToast1() {
+ this.messageService.clear();
+ this.messageService.add({ key: 'toast1', severity: 'success', summary: 'Success', detail: 'key: toast1' });
+ }
+
+ showToast2() {
+ this.messageService.clear();
+ this.messageService.add({ key: 'toast2', severity: 'warn', summary: 'Warning', detail: 'key: toast2' });
+ }
+
+ code: Code = {
+ basic: `
+
+
+ `,
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+
+@Component({
+ selector: 'toast-target-demo',
+ templateUrl: './toast-target-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple],
+ providers: [MessageService]
+})
+export class ToastTargetDemo {
+ constructor(private messageService: MessageService) {}
+
+ showToast1() {
+ this.messageService.clear();
+ this.messageService.add({ key: 'toast1', severity: 'success', summary: 'Success', detail: 'key: toast1' });
+ }
+
+ showToast2() {
+ this.messageService.clear();
+ this.messageService.add({ key: 'toast2', severity: 'warn', summary: 'Warning', detail: 'key: toast2' });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toast/templatedoc.ts b/apps/showcase/doc/toast/templatedoc.ts
new file mode 100644
index 00000000000..b622b7728f3
--- /dev/null
+++ b/apps/showcase/doc/toast/templatedoc.ts
@@ -0,0 +1,143 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ Templating allows customizing the content where the message instance is available as the implicit variable.
+
+
+
+
+
+
+
{{ message.summary }}
+
+
+
+
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class TemplateDoc {
+ constructor(private messageService: MessageService) {}
+
+ visible: boolean = false;
+
+ code: Code = {
+ basic: `
+
+
+
+
+ {{ message.summary }}
+
+
+
+
+
+ `,
+ html: `
+
+
+
+
+
+ {{ message.summary }}
+
+
+
+
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Toast } from 'primeng/toast';
+import { ButtonModule } from 'primeng/button';
+import { Ripple } from 'primeng/ripple';
+import { AvatarModule } from 'primeng/avatar';
+
+@Component({
+ selector: 'toast-template-demo',
+ templateUrl: './toast-template-demo.html',
+ standalone: true,
+ imports: [Toast, ButtonModule, Ripple, AvatarModule],
+ providers: [MessageService]
+})
+export class ToastTemplateDemo {
+ constructor(private messageService: MessageService) {}
+
+ visible: boolean = false;
+
+ showConfirm() {
+ if (!this.visible) {
+ this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?' });
+ this.visible = true;
+ }
+ }
+
+ onConfirm() {
+ this.messageService.clear('confirm');
+ this.visible = false;
+ }
+
+ onReject() {
+ this.messageService.clear('confirm');
+ this.visible = false;
+ }
+}`
+ };
+
+ onConfirm() {
+ this.messageService.clear('confirm');
+ this.visible = false;
+ }
+
+ onReject() {
+ this.messageService.clear('confirm');
+ this.visible = false;
+ }
+
+ showConfirm() {
+ if (!this.visible) {
+ this.messageService.add({
+ key: 'confirm',
+ sticky: true,
+ severity: 'success',
+ summary: 'Can you send me the report?'
+ });
+ this.visible = true;
+ }
+ }
+}
diff --git a/apps/showcase/src/app/showcase/doc/toast/toastdoc.module.ts b/apps/showcase/doc/toast/toastdoc.module.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/toast/toastdoc.module.ts
rename to apps/showcase/doc/toast/toastdoc.module.ts
index 66c1d187c8b..a6044262a51 100644
--- a/apps/showcase/src/app/showcase/doc/toast/toastdoc.module.ts
+++ b/apps/showcase/doc/toast/toastdoc.module.ts
@@ -1,28 +1,28 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
+import { AvatarModule } from 'primeng/avatar';
import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
import { ProgressBar } from 'primeng/progressbar';
+import { Ripple } from 'primeng/ripple';
import { Toast } from 'primeng/toast';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { AvatarModule } from 'primeng/avatar';
-import { ImportDoc } from './importdoc';
+import { AccessibilityDoc } from './accessibilitydoc';
import { AnimationDoc } from './animationdoc';
import { BasicDoc } from './basicdoc';
+import { ClearDoc } from './cleardoc';
+import { HeadlessDoc } from './headlessdoc';
+import { ImportDoc } from './importdoc';
+import { LifeDoc } from './lifedoc';
import { MultipleDoc } from './multipledoc';
import { PositionDoc } from './positiondoc';
import { ResponsiveDoc } from './responsivedoc';
import { SeverityDoc } from './severitydoc';
-import { LifeDoc } from './lifedoc';
import { StickyDoc } from './stickydoc';
import { StyleDoc } from './styledoc';
import { TargetDoc } from './targetdoc';
import { TemplateDoc } from './templatedoc';
-import { ClearDoc } from './cleardoc';
-import { HeadlessDoc } from './headlessdoc';
-import { AccessibilityDoc } from './accessibilitydoc';
@NgModule({
imports: [CommonModule, RouterModule, AppCodeModule, AppDocModule, Toast, ButtonModule, Ripple, AvatarModule, ProgressBar],
diff --git a/apps/showcase/doc/togglebutton/accessibilitydoc.ts b/apps/showcase/doc/togglebutton/accessibilitydoc.ts
new file mode 100644
index 00000000000..4dca5055e4e
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/accessibilitydoc.ts
@@ -0,0 +1,52 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toggle-button-accessibility-doc',
+ template: `
+
+ Screen Reader
+
+ ToggleButton component uses an element with button role and updates aria-pressed state for screen readers. Value to describe the component can be defined with ariaLabelledBy or ariaLabel props, it is highly
+ suggested to use either of these props as the component changes the label displayed which will result in screen readers to read different labels when the component receives focus. To prevent this, always provide an aria label that
+ does not change related to state.
+
+
+
+
+
+
Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ tab
+
+ Moves focus to the button.
+
+
+
+ space
+
+ Toggles the checked state.
+
+
+
+
+
`
+})
+export class AccessibilityDoc {
+ code: Code = {
+ basic: `Remember Me
+
+
+ `
+ };
+}
diff --git a/apps/showcase/doc/togglebutton/basicdoc.ts b/apps/showcase/doc/togglebutton/basicdoc.ts
new file mode 100644
index 00000000000..a4b8cad9e89
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/basicdoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Two-way binding to a boolean property is defined using the standard ngModel directive.
+
+
+
+ `
+})
+export class BasicDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { ToggleButton } from 'primeng/togglebutton';
+
+@Component({
+ selector: 'toggle-button-basic-demo',
+ templateUrl: './toggle-button-basic-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleButton]
+})
+export class ToggleButtonBasicDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/customizeddoc.ts b/apps/showcase/doc/togglebutton/customizeddoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/togglebutton/customizeddoc.ts
rename to apps/showcase/doc/togglebutton/customizeddoc.ts
index e954a86ba72..506cbcb6169 100644
--- a/apps/showcase/src/app/showcase/doc/togglebutton/customizeddoc.ts
+++ b/apps/showcase/doc/togglebutton/customizeddoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'customized-doc',
diff --git a/apps/showcase/doc/togglebutton/disableddoc.ts b/apps/showcase/doc/togglebutton/disableddoc.ts
new file mode 100644
index 00000000000..81493342527
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/disableddoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'disabled-doc',
+ template: `
+
+ When disabled is present, the element cannot be edited and focused.
+
+
+
+ `
+})
+export class DisabledDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { ToggleButton } from 'primeng/togglebutton';
+
+@Component({
+ selector: 'toggle-button-disabled-demo',
+ templateUrl: './toggle-button-disabled-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleButton]
+})
+export class ToggleButtonDisabledDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/doc/togglebutton/importdoc.ts b/apps/showcase/doc/togglebutton/importdoc.ts
new file mode 100644
index 00000000000..9b739a50c3e
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toggle-button-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { ToggleButton } from 'primeng/togglebutton';`
+ };
+}
diff --git a/apps/showcase/doc/togglebutton/invaliddoc.ts b/apps/showcase/doc/togglebutton/invaliddoc.ts
new file mode 100644
index 00000000000..56606bd5285
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/invaliddoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'invalid-doc',
+ template: `
+
+ Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
+
+
+
+ `
+})
+export class InvalidDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { ToggleButtonModule } from 'primeng/togglebutton';
+
+@Component({
+ selector: 'toggle-button-invalid-demo',
+ templateUrl: './toggle-button-invalid-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleButtonModule]
+})
+export class ToggleButtonInvalidDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/doc/togglebutton/reactiveformsdoc.ts b/apps/showcase/doc/togglebutton/reactiveformsdoc.ts
new file mode 100644
index 00000000000..6cad794062d
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/reactiveformsdoc.ts
@@ -0,0 +1,59 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup } from '@angular/forms';
+
+@Component({
+ selector: 'reactive-forms-doc',
+ template: `
+
+ ToggleButton can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
+
+
+
+ `
+})
+export class ReactiveFormsDoc implements OnInit {
+ formGroup!: FormGroup;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ checked: new FormControl(false)
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
+import { ToggleButton } from 'primeng/togglebutton';
+
+@Component({
+ selector: 'toggle-button-reactive-forms-demo',
+ templateUrl: './toggle-button-reactive-forms-demo.html',
+ standalone: true,
+ imports: [ReactiveFormsModule, ToggleButton]
+})
+export class ToggleButtonReactiveFormsDemo implements OnInit {
+ formGroup!: FormGroup;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ checked: new FormControl(false)
+ });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/togglebutton/sizesdoc.ts b/apps/showcase/doc/togglebutton/sizesdoc.ts
new file mode 100644
index 00000000000..46a2a3317d1
--- /dev/null
+++ b/apps/showcase/doc/togglebutton/sizesdoc.ts
@@ -0,0 +1,54 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'sizes-doc',
+ template: `
+
+ ToggleButton provides small and large sizes as alternatives to the base.
+
+
+
+ `
+})
+export class SizesDoc {
+ value1: boolean = false;
+
+ value2: boolean = false;
+
+ value3: boolean = false;
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { ToggleButton } from 'primeng/togglebutton';
+
+@Component({
+ selector: 'toggle-button-sizes-demo',
+ templateUrl: './toggle-button-sizes-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleButton]
+})
+export class ToggleButtonSizesDemo {
+ value1: boolean = false;
+
+ value2: boolean = false;
+
+ value3: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/styledoc.ts b/apps/showcase/doc/togglebutton/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/togglebutton/styledoc.ts
rename to apps/showcase/doc/togglebutton/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/togglebuttondoc.module.ts b/apps/showcase/doc/togglebutton/togglebuttondoc.module.ts
similarity index 88%
rename from apps/showcase/src/app/showcase/doc/togglebutton/togglebuttondoc.module.ts
rename to apps/showcase/doc/togglebutton/togglebuttondoc.module.ts
index 86486342ec3..19472778b5a 100644
--- a/apps/showcase/src/app/showcase/doc/togglebutton/togglebuttondoc.module.ts
+++ b/apps/showcase/doc/togglebutton/togglebuttondoc.module.ts
@@ -1,19 +1,19 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { ToggleButton } from 'primeng/togglebutton';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { CustomizedDoc } from './customizeddoc';
-import { ImportDoc } from './importdoc';
import { DisabledDoc } from './disableddoc';
-import { ReactiveFormsDoc } from './reactiveformsdoc';
-import { StyleDoc } from './styledoc';
+import { ImportDoc } from './importdoc';
import { InvalidDoc } from './invaliddoc';
+import { ReactiveFormsDoc } from './reactiveformsdoc';
import { SizesDoc } from './sizesdoc';
+import { StyleDoc } from './styledoc';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, ToggleButton, FormsModule, ReactiveFormsModule, RouterModule],
diff --git a/apps/showcase/doc/toggleswitch/accessibilitydoc.ts b/apps/showcase/doc/toggleswitch/accessibilitydoc.ts
new file mode 100644
index 00000000000..1f76d94c0d7
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/accessibilitydoc.ts
@@ -0,0 +1,54 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toggle-switch-accessibility-doc',
+ template: `
+
+ Screen Reader
+
+ InputSwitch component uses a hidden native checkbox element with switch role internally that is only visible to screen readers. Value to describe the component can either be provided via label tag combined with
+ inputId prop or using ariaLabelledBy , ariaLabel props.
+
+
+
+
+
+
Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ tab
+
+ Moves focus to the switch.
+
+
+
+ space
+
+ Toggles the checked state.
+
+
+
+
+
`
+})
+export class AccessibilityDoc {
+ code: Code = {
+ basic: `Remember Me
+
+
+Remember Me
+
+
+ `
+ };
+}
diff --git a/apps/showcase/doc/toggleswitch/basicdoc.ts b/apps/showcase/doc/toggleswitch/basicdoc.ts
new file mode 100644
index 00000000000..7a5b21e4f4f
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/basicdoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Two-way value binding is defined using ngModel .
+
+
+
+ `
+})
+export class BasicDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { ToggleSwitch } from 'primeng/toggleswitch';
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'toggle-switch-basic-demo',
+ templateUrl: './toggle-switch-basic-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleSwitch]
+})
+export class ToggleSwitchBasicDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/doc/toggleswitch/disableddoc.ts b/apps/showcase/doc/toggleswitch/disableddoc.ts
new file mode 100644
index 00000000000..403278e226b
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/disableddoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'disabled-doc',
+ template: `
+
+ When disabled is present, the element cannot be edited and focused.
+
+
+
+ `
+})
+export class DisabledDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { ToggleSwitch } from 'primeng/toggleswitch';
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'toggle-switch-disabled-demo',
+ templateUrl: './toggle-switch-disabled-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleSwitch]
+})
+export class ToggleSwitchDisabledDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/doc/toggleswitch/importdoc.ts b/apps/showcase/doc/toggleswitch/importdoc.ts
new file mode 100644
index 00000000000..891b604eafc
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toggle-switch-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { ToggleSwitch } from 'primeng/toggleswitch';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/inputswitchdoc.module.ts b/apps/showcase/doc/toggleswitch/inputswitchdoc.module.ts
similarity index 87%
rename from apps/showcase/src/app/showcase/doc/toggleswitch/inputswitchdoc.module.ts
rename to apps/showcase/doc/toggleswitch/inputswitchdoc.module.ts
index e668a59c2b2..58f51bf6ab6 100644
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/inputswitchdoc.module.ts
+++ b/apps/showcase/doc/toggleswitch/inputswitchdoc.module.ts
@@ -1,18 +1,18 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
+import { ToggleSwitch } from 'primeng/toggleswitch';
+import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
-import { ImportDoc } from './importdoc';
import { DisabledDoc } from './disableddoc';
+import { ImportDoc } from './importdoc';
+import { InvalidDoc } from './invaliddoc';
import { PreselectionDoc } from './preselectiondoc';
-import { StyleDoc } from './styledoc';
-import { AccessibilityDoc } from './accessibilitydoc';
import { ReactiveFormsDoc } from './reactiveformsdoc';
-import { InvalidDoc } from './invaliddoc';
-import { ToggleSwitch } from 'primeng/toggleswitch';
+import { StyleDoc } from './styledoc';
@NgModule({
imports: [CommonModule, RouterModule, AppCodeModule, AppDocModule, FormsModule, ReactiveFormsModule, ToggleSwitch],
diff --git a/apps/showcase/doc/toggleswitch/invaliddoc.ts b/apps/showcase/doc/toggleswitch/invaliddoc.ts
new file mode 100644
index 00000000000..5626b40d366
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/invaliddoc.ts
@@ -0,0 +1,40 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'invalid-doc',
+ template: `
+
+ Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
+
+
+
+ `
+})
+export class InvalidDoc {
+ checked: boolean = false;
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { ToggleSwitch } from 'primeng/toggleswitch';
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'toggle-switch-invalid-demo',
+ templateUrl: './toggle-switch-invalid-demo.html',
+ standalone: true,
+ imports: [FormsModule, ToggleSwitch]
+})
+export class ToggleSwitchInvalidDemo {
+ checked: boolean = false;
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/preselectiondoc.ts b/apps/showcase/doc/toggleswitch/preselectiondoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/toggleswitch/preselectiondoc.ts
rename to apps/showcase/doc/toggleswitch/preselectiondoc.ts
index 606a1ccb8cf..8d21eee7aab 100644
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/preselectiondoc.ts
+++ b/apps/showcase/doc/toggleswitch/preselectiondoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'preselection-doc',
diff --git a/apps/showcase/doc/toggleswitch/reactiveformsdoc.ts b/apps/showcase/doc/toggleswitch/reactiveformsdoc.ts
new file mode 100644
index 00000000000..eb6ed8c3449
--- /dev/null
+++ b/apps/showcase/doc/toggleswitch/reactiveformsdoc.ts
@@ -0,0 +1,55 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup } from '@angular/forms';
+
+@Component({
+ selector: 'reactive-forms-doc',
+ template: `
+
+ ToggleSwitch can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
+
+
+
+ `
+})
+export class ReactiveFormsDoc implements OnInit {
+ formGroup: FormGroup | undefined;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ checked: new FormControl(false)
+ });
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
+import { ToggleSwitch } from 'primeng/toggleswitch';
+
+@Component({
+ selector: 'toggle-switch-reactive-forms-demo',
+ templateUrl: './toggle-switch-reactive-forms-demo.html',
+ standalone: true,
+ imports: [ReactiveFormsModule, ToggleSwitch]
+})
+export class ToggleSwitchReactiveFormsDemo implements OnInit {
+ formGroup: FormGroup | undefined;
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ checked: new FormControl(false)
+ });
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/styledoc.ts b/apps/showcase/doc/toggleswitch/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/toggleswitch/styledoc.ts
rename to apps/showcase/doc/toggleswitch/styledoc.ts
diff --git a/apps/showcase/doc/toolbar/accessibilitydoc.ts b/apps/showcase/doc/toolbar/accessibilitydoc.ts
new file mode 100644
index 00000000000..9b5c6cccf79
--- /dev/null
+++ b/apps/showcase/doc/toolbar/accessibilitydoc.ts
@@ -0,0 +1,25 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toolbar-accessibility-doc',
+ template: `
+
+ Screen Reader
+
+ Toolbar uses toolbar role for the root element, aria-orientation is not included as it defaults to horizontal . Any valid attribute is passed to the root element so you may add additional properties like
+ aria-labelledby and aria-labelled to define the element if required.
+
+
+ Keyboard Support
+ Component does not include any interactive elements. Arbitrary content can be placed with templating and elements like buttons inside should follow the page tab sequence.
+
+
`
+})
+export class AccessibilityDoc {
+ code: Code = {
+ html: `
+ Content
+ `
+ };
+}
diff --git a/apps/showcase/doc/toolbar/basicdoc.ts b/apps/showcase/doc/toolbar/basicdoc.ts
new file mode 100644
index 00000000000..a264b2be598
--- /dev/null
+++ b/apps/showcase/doc/toolbar/basicdoc.ts
@@ -0,0 +1,120 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+
+ Toolbar is a grouping component for buttons and other content. Its content can be placed inside the
+ start , center and end sections.
+
+
+
+
+ `
+})
+export class BasicDoc implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'Update',
+ icon: 'pi pi-refresh'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem } from 'primeng/api';
+import { Toolbar } from 'primeng/toolbar';
+import { ButtonModule } from 'primeng/button';
+import { SplitButton } from 'primeng/splitbutton';
+import { InputTextModule } from 'primeng/inputtext';
+import { IconField } from 'primeng/iconfield';
+import { InputIcon } from 'primeng/inputicon';
+
+@Component({
+ selector: 'toolbar-basic-demo',
+ templateUrl: './toolbar-basic-demo.html',
+ standalone: true,
+ imports: [Toolbar, ButtonModule, SplitButton, InputTextModule, IconField, InputIcon]
+})
+export class ToolbarBasicDemo implements OnInit {
+ items: MenuItem[] | undefined;
+
+ ngOnInit() {
+ this.items = [
+ {
+ label: 'Update',
+ icon: 'pi pi-refresh'
+ },
+ {
+ label: 'Delete',
+ icon: 'pi pi-times'
+ }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/toolbar/customdoc.ts b/apps/showcase/doc/toolbar/customdoc.ts
new file mode 100644
index 00000000000..b1b52e95a9c
--- /dev/null
+++ b/apps/showcase/doc/toolbar/customdoc.ts
@@ -0,0 +1,179 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'custom-doc',
+ template: `
+
+ Content can also be placed using the start , center and end templates.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `
+})
+export class CustomDoc {
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Toolbar } from 'primeng/toolbar';
+import { AvatarModule } from 'primeng/avatar';
+import { SharedModule } from 'primeng/api';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'toolbar-custom-demo',
+ templateUrl: './toolbar-custom-demo.html',
+ standalone: true,
+ imports: [Toolbar, AvatarModule, ButtonModule]
+})
+export class ToolbarCustomDemo {
+
+}`
+ };
+}
diff --git a/apps/showcase/doc/toolbar/importdoc.ts b/apps/showcase/doc/toolbar/importdoc.ts
new file mode 100644
index 00000000000..0fe5d5e936a
--- /dev/null
+++ b/apps/showcase/doc/toolbar/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'toolbar-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Toolbar } from 'primeng/toolbar';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/styledoc.ts b/apps/showcase/doc/toolbar/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/toolbar/styledoc.ts
rename to apps/showcase/doc/toolbar/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/toolbardoc.module.ts b/apps/showcase/doc/toolbar/toolbardoc.module.ts
similarity index 88%
rename from apps/showcase/src/app/showcase/doc/toolbar/toolbardoc.module.ts
rename to apps/showcase/doc/toolbar/toolbardoc.module.ts
index eaa2d02bff5..54cdf66488e 100644
--- a/apps/showcase/src/app/showcase/doc/toolbar/toolbardoc.module.ts
+++ b/apps/showcase/doc/toolbar/toolbardoc.module.ts
@@ -1,20 +1,20 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
+import { AvatarModule } from 'primeng/avatar';
import { ButtonModule } from 'primeng/button';
-import { SplitButtonModule } from 'primeng/splitbutton';
+import { IconFieldModule } from 'primeng/iconfield';
+import { InputIconModule } from 'primeng/inputicon';
import { InputTextModule } from 'primeng/inputtext';
-import { AvatarModule } from 'primeng/avatar';
+import { SplitButtonModule } from 'primeng/splitbutton';
import { ToolbarModule } from 'primeng/toolbar';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
+import { CustomDoc } from './customdoc';
import { ImportDoc } from './importdoc';
import { StyleDoc } from './styledoc';
-import { CustomDoc } from './customdoc';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputIconModule } from 'primeng/inputicon';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, ToolbarModule, RouterModule, ButtonModule, SplitButtonModule, InputTextModule, AvatarModule, IconFieldModule, InputIconModule],
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/accessibilitydoc.ts b/apps/showcase/doc/tooltip/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tooltip/accessibilitydoc.ts
rename to apps/showcase/doc/tooltip/accessibilitydoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/autohidedoc.ts b/apps/showcase/doc/tooltip/autohidedoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/tooltip/autohidedoc.ts
rename to apps/showcase/doc/tooltip/autohidedoc.ts
index 99593ee4888..c144964506c 100644
--- a/apps/showcase/src/app/showcase/doc/tooltip/autohidedoc.ts
+++ b/apps/showcase/doc/tooltip/autohidedoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'auto-hide-doc',
diff --git a/apps/showcase/doc/tooltip/customdoc.ts b/apps/showcase/doc/tooltip/customdoc.ts
new file mode 100644
index 00000000000..01dc11baefe
--- /dev/null
+++ b/apps/showcase/doc/tooltip/customdoc.ts
@@ -0,0 +1,149 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'custom-doc',
+ template: `
+
+ Tooltip can use either a string or a TemplateRef .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
PrimeNG rocks!
+
+
+
+
+ `
+})
+export class CustomDoc {
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
PrimeNG rocks!
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
PrimeNG rocks!
+
+
+
`,
+ typescript: `import { Component } from '@angular/core';
+import { Tooltip } from 'primeng/tooltip';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tooltip-custom-demo',
+ templateUrl: './tooltip-custom-demo.html',
+ standalone: true,
+ imports: [Tooltip, ButtonModule]
+})
+export class TooltipCustomDemo {
+
+}`
+ };
+}
diff --git a/apps/showcase/doc/tooltip/delaydoc.ts b/apps/showcase/doc/tooltip/delaydoc.ts
new file mode 100644
index 00000000000..b0634f72815
--- /dev/null
+++ b/apps/showcase/doc/tooltip/delaydoc.ts
@@ -0,0 +1,36 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'delay-doc',
+ template: `
+
+ Adding delays to the show and hide events are defined with showDelay and hideDelay options respectively.
+
+
+
+ `
+})
+export class DelayDoc {
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { Tooltip } from 'primeng/tooltip';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tooltip-delay-demo',
+ templateUrl: './tooltip-delay-demo.html',
+ standalone: true,
+ imports: [Tooltip, ButtonModule]
+})
+export class TooltipDelayDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tooltip/eventdoc.ts b/apps/showcase/doc/tooltip/eventdoc.ts
new file mode 100644
index 00000000000..46db3b389b3
--- /dev/null
+++ b/apps/showcase/doc/tooltip/eventdoc.ts
@@ -0,0 +1,36 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'event-doc',
+ template: `
+
+ Tooltip gets displayed on hover event of its target by default, other option is the focus event to display and blur to hide.
+
+
+
+
+
+ `
+})
+export class EventDoc {
+ code: Code = {
+ basic: ` `,
+
+ html: `
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Tooltip } from 'primeng/tooltip';
+import { InputTextModule } from 'primeng/inputtext';
+
+@Component({
+ selector: 'tooltip-event-demo',
+ templateUrl: './tooltip-event-demo.html',
+ standalone: true,
+ imports: [Tooltip, InputTextModule]
+})
+export class TooltipEventDemo {}`
+ };
+}
diff --git a/apps/showcase/doc/tooltip/importdoc.ts b/apps/showcase/doc/tooltip/importdoc.ts
new file mode 100644
index 00000000000..9885391aba2
--- /dev/null
+++ b/apps/showcase/doc/tooltip/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tooltip-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Tooltip } from 'primeng/tooltip';`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/optionsdoc.ts b/apps/showcase/doc/tooltip/optionsdoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/tooltip/optionsdoc.ts
rename to apps/showcase/doc/tooltip/optionsdoc.ts
index e68c80356b9..3388dd412c8 100644
--- a/apps/showcase/src/app/showcase/doc/tooltip/optionsdoc.ts
+++ b/apps/showcase/doc/tooltip/optionsdoc.ts
@@ -1,5 +1,5 @@
+import { Code } from '@/domain/code';
import { Component } from '@angular/core';
-import { Code } from '@domain/code';
@Component({
selector: 'options-doc',
diff --git a/apps/showcase/doc/tooltip/positiondoc.ts b/apps/showcase/doc/tooltip/positiondoc.ts
new file mode 100644
index 00000000000..e06bb813098
--- /dev/null
+++ b/apps/showcase/doc/tooltip/positiondoc.ts
@@ -0,0 +1,45 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'position-doc',
+ template: `
+
+ Position of the tooltip is specified using tooltipPosition attribute. Valid values are top , bottom , right and left . Default position of the tooltip is right .
+
+
+
+
+
+
+
+
+ `
+})
+export class PositionDoc {
+ code: Code = {
+ basic: `
+
+
+ `,
+
+ html: `
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { Tooltip } from 'primeng/tooltip';
+import { InputTextModule } from 'primeng/inputtext';
+
+@Component({
+ selector: 'tooltip-position-demo',
+ templateUrl: './tooltip-position-demo.html',
+ standalone: true,
+ imports: [Tooltip, InputTextModule]
+})
+export class TooltipPositionDemo {}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/styledoc.ts b/apps/showcase/doc/tooltip/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tooltip/styledoc.ts
rename to apps/showcase/doc/tooltip/styledoc.ts
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/tooltipdoc.module.ts b/apps/showcase/doc/tooltip/tooltipdoc.module.ts
similarity index 88%
rename from apps/showcase/src/app/showcase/doc/tooltip/tooltipdoc.module.ts
rename to apps/showcase/doc/tooltip/tooltipdoc.module.ts
index a7677afd1f7..0265b387ed2 100644
--- a/apps/showcase/src/app/showcase/doc/tooltip/tooltipdoc.module.ts
+++ b/apps/showcase/doc/tooltip/tooltipdoc.module.ts
@@ -1,20 +1,20 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
-import { Tooltip } from 'primeng/tooltip';
import { ButtonModule } from 'primeng/button';
import { InputTextModule } from 'primeng/inputtext';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { ImportDoc } from './importdoc';
-import { StyleDoc } from './styledoc';
-import { PositionDoc } from './positiondoc';
-import { EventDoc } from './eventdoc';
+import { Tooltip } from 'primeng/tooltip';
+import { AccessibilityDoc } from './accessibilitydoc';
import { AutoHideDoc } from './autohidedoc';
+import { CustomDoc } from './customdoc';
import { DelayDoc } from './delaydoc';
+import { EventDoc } from './eventdoc';
+import { ImportDoc } from './importdoc';
import { OptionsDoc } from './optionsdoc';
-import { AccessibilityDoc } from './accessibilitydoc';
-import { CustomDoc } from './customdoc';
+import { PositionDoc } from './positiondoc';
+import { StyleDoc } from './styledoc';
@NgModule({
imports: [CommonModule, AppCodeModule, RouterModule, Tooltip, ButtonModule, InputTextModule, AppDocModule],
diff --git a/apps/showcase/src/app/showcase/doc/tree/accessibilitydoc.ts b/apps/showcase/doc/tree/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/tree/accessibilitydoc.ts
rename to apps/showcase/doc/tree/accessibilitydoc.ts
diff --git a/apps/showcase/doc/tree/basicdoc.ts b/apps/showcase/doc/tree/basicdoc.ts
new file mode 100644
index 00000000000..18de02a4c0c
--- /dev/null
+++ b/apps/showcase/doc/tree/basicdoc.ts
@@ -0,0 +1,86 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ Tree component requires an array of TreeNode objects as its value .
+
+
+
+ `
+})
+export class BasicDoc implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-basic-demo',
+ templateUrl: './tree-basic-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [NodeService]
+})
+export class TreeBasicDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+}`,
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/checkboxdoc.ts b/apps/showcase/doc/tree/checkboxdoc.ts
new file mode 100644
index 00000000000..5e161382487
--- /dev/null
+++ b/apps/showcase/doc/tree/checkboxdoc.ts
@@ -0,0 +1,91 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'checkbox-doc',
+ template: `
+
+ Selection of multiple nodes via checkboxes is enabled by configuring selectionMode as checkbox .
+
+
+
+ `
+})
+export class CheckboxDoc implements OnInit {
+ files!: TreeNode[];
+
+ selectedFiles!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-checkbox-demo',
+ templateUrl: './tree-checkbox-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [NodeService]
+})
+export class TreeCheckboxDemo implements OnInit {
+ files!: TreeNode[];
+
+ selectedFiles!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/contextmenudoc.ts b/apps/showcase/doc/tree/contextmenudoc.ts
new file mode 100644
index 00000000000..3904d6e5d2f
--- /dev/null
+++ b/apps/showcase/doc/tree/contextmenudoc.ts
@@ -0,0 +1,133 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { MenuItem, MessageService, TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'context-menu-doc',
+ template: `
+
+ Tree requires a collection of TreeNode instances as a value.
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class ContextMenuDoc implements OnInit {
+ files!: TreeNode[];
+
+ selectedFile!: TreeNode | null;
+
+ items!: MenuItem[];
+
+ constructor(
+ private nodeService: NodeService,
+ private messageService: MessageService
+ ) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((files) => (this.files = files));
+
+ this.items = [
+ { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedFile) },
+ { label: 'Unselect', icon: 'pi pi-times', command: (event) => this.unselectFile() }
+ ];
+ }
+
+ viewFile(file: TreeNode) {
+ this.messageService.add({ severity: 'info', summary: 'Node Details', detail: file.label });
+ }
+
+ unselectFile() {
+ this.selectedFile = null;
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem, MessageService, TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+import { ContextMenuModule } from 'primeng/contextmenu';
+import { ToastModule } from 'primeng/toast';
+
+@Component({
+ selector: 'tree-context-menu-demo',
+ templateUrl: './tree-context-menu-demo.html',
+ standalone: true,
+ imports: [Tree, ContextMenuModule, ToastModule],
+ providers: [MessageService, NodeService]
+})
+export class TreeContextMenuDemo implements OnInit {
+ files!: TreeNode[];
+
+ selectedFile!: TreeNode | null;
+
+ items!: MenuItem[];
+
+ constructor(private nodeService: NodeService, private messageService: MessageService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((files) => (this.files = files));
+
+ this.items = [
+ { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedFile) },
+ { label: 'Unselect', icon: 'pi pi-times', command: (event) => this.unselectFile() }
+ ];
+ }
+
+ viewFile(file: TreeNode) {
+ this.messageService.add({ severity: 'info', summary: 'Node Details', detail: file.label });
+ }
+
+ unselectFile() {
+ this.selectedFile = null;
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/controlleddoc.ts b/apps/showcase/doc/tree/controlleddoc.ts
new file mode 100644
index 00000000000..2a6023d4811
--- /dev/null
+++ b/apps/showcase/doc/tree/controlleddoc.ts
@@ -0,0 +1,141 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'controlled-doc',
+ template: `
+
+ Tree requires a collection of TreeNode instances as a value .
+
+
+
+ `
+})
+export class ControlledDoc implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ expandAll() {
+ this.files.forEach((node) => {
+ this.expandRecursive(node, true);
+ });
+ }
+
+ collapseAll() {
+ this.files.forEach((node) => {
+ this.expandRecursive(node, false);
+ });
+ }
+
+ private expandRecursive(node: TreeNode, isExpand: boolean) {
+ node.expanded = isExpand;
+ if (node.children) {
+ node.children.forEach((childNode) => {
+ this.expandRecursive(childNode, isExpand);
+ });
+ }
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tree-controlled-demo',
+ templateUrl: './tree-controlled-demo.html',
+ standalone: true,
+ imports: [Tree, ButtonModule],
+ providers: [NodeService]
+})
+export class TreeControlledDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ expandAll() {
+ this.files.forEach((node) => {
+ this.expandRecursive(node, true);
+ });
+ }
+
+ collapseAll() {
+ this.files.forEach((node) => {
+ this.expandRecursive(node, false);
+ });
+ }
+
+ private expandRecursive(node: TreeNode, isExpand: boolean) {
+ node.expanded = isExpand;
+ if (node.children) {
+ node.children.forEach((childNode) => {
+ this.expandRecursive(childNode, isExpand);
+ });
+ }
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/dragdropdoc.ts b/apps/showcase/doc/tree/dragdropdoc.ts
new file mode 100644
index 00000000000..187007fbc1c
--- /dev/null
+++ b/apps/showcase/doc/tree/dragdropdoc.ts
@@ -0,0 +1,88 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeDragDropService, TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'drag-drop-doc',
+ template: `
+
+ Nodes can be reordered within the same tree and also can be transferred between other trees using drag&drop.
+
+
+
+ `,
+ providers: [TreeDragDropService]
+})
+export class DragDropDoc implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeDragDropService, TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-drag-drop-demo',
+ templateUrl: './tree-drag-drop-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [TreeDragDropService, NodeService]
+})
+export class TreeDragDropDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/eventdoc.ts b/apps/showcase/doc/tree/eventdoc.ts
new file mode 100644
index 00000000000..49b05965888
--- /dev/null
+++ b/apps/showcase/doc/tree/eventdoc.ts
@@ -0,0 +1,139 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { MessageService, TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'event-doc',
+ template: `
+
+ An event is provided for each type of user interaction such as expand, collapse and selection.
+
+
+
+ `,
+ providers: [MessageService]
+})
+export class EventDoc implements OnInit {
+ files!: TreeNode[];
+
+ selectedFile!: TreeNode;
+
+ constructor(
+ private nodeService: NodeService,
+ private messageService: MessageService
+ ) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ nodeExpand(event: any) {
+ this.messageService.add({ severity: 'success', summary: 'Node Expanded', detail: event.node.label });
+ }
+
+ nodeCollapse(event: any) {
+ this.messageService.add({ severity: 'warn', summary: 'Node Collapsed', detail: event.node.label });
+ }
+
+ nodeSelect(event: any) {
+ this.messageService.add({ severity: 'info', summary: 'Node Selected', detail: event.node.label });
+ }
+
+ nodeUnselect(event: any) {
+ this.messageService.add({ severity: 'info', summary: 'Node Unselected', detail: event.node.label });
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MessageService, TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+import { ToastModule } from 'primeng/toast';
+
+@Component({
+ selector: 'tree-events-demo',
+ templateUrl: './tree-events-demo.html',
+ standalone: true,
+ imports: [Tree, ToastModule],
+ providers: [MessageService, NodeService]
+})
+export class TreeEventsDemo implements OnInit {
+ files!: TreeNode[];
+
+ selectedFile!: TreeNode;
+
+ constructor(private nodeService: NodeService, private messageService: MessageService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ nodeExpand(event: any) {
+ this.messageService.add({ severity: 'success', summary: 'Node Expanded', detail: event.node.label });
+ }
+
+ nodeCollapse(event: any) {
+ this.messageService.add({ severity: 'warn', summary: 'Node Collapsed', detail: event.node.label });
+ }
+
+ nodeSelect(event: any) {
+ this.messageService.add({ severity: 'info', summary: 'Node Selected', detail: event.node.label });
+ }
+
+ nodeUnselect(event: any) {
+ this.messageService.add({ severity: 'info', summary: 'Node Unselected', detail: event.node.label });
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/filterdoc.ts b/apps/showcase/doc/tree/filterdoc.ts
new file mode 100644
index 00000000000..faeb9ac5c96
--- /dev/null
+++ b/apps/showcase/doc/tree/filterdoc.ts
@@ -0,0 +1,112 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'filter-doc',
+ template: `
+
+
+ Filtering is enabled by adding the filter property, by default label property of a node is used to compare against the value in the text field, in order to customize which field(s) should be used during search define
+ filterBy property. In addition filterMode specifies the filtering strategy. In lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included.
+ On the other hand, in strict mode when the query matches a node, filtering continues on all descendants.
+
+
+
+
+ `
+})
+export class FilterDoc implements OnInit {
+ files: TreeNode[];
+
+ files2: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => {
+ this.files = data;
+ this.files2 = data;
+ });
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-filter-demo',
+ templateUrl: './tree-filter-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [NodeService]
+})
+export class TreeFilterDemo implements OnInit {
+ files: TreeNode[];
+
+ files2: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => {
+ this.files = data;
+ this.files2 = data;
+ });
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/importdoc.ts b/apps/showcase/doc/tree/importdoc.ts
new file mode 100644
index 00000000000..1b0a680b5dd
--- /dev/null
+++ b/apps/showcase/doc/tree/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tree-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { Tree } from 'primeng/tree';`
+ };
+}
diff --git a/apps/showcase/doc/tree/lazydoc.ts b/apps/showcase/doc/tree/lazydoc.ts
new file mode 100644
index 00000000000..7987bf5ff03
--- /dev/null
+++ b/apps/showcase/doc/tree/lazydoc.ts
@@ -0,0 +1,278 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'lazy-demo',
+ template: `
+
+
+ Lazy loading is useful when dealing with huge datasets, in this example nodes are dynamically loaded on demand using
+ loading property and onNodeExpand method. Default value of loadingMode is mask and also icon is available.
+
+
+
+
+ `
+})
+export class LazyDoc implements OnInit {
+ loading: boolean = false;
+
+ nodes!: TreeNode[];
+
+ nodes2!: TreeNode[];
+
+ constructor(private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.loading = true;
+ this.nodes2 = this.initiateNodes2();
+
+ setTimeout(() => {
+ this.nodes = this.initiateNodes();
+ this.loading = false;
+ this.nodes2.map((node) => (node.loading = false));
+ this.cd.markForCheck();
+ }, 2000);
+ }
+
+ initiateNodes(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false
+ }
+ ];
+ }
+
+ initiateNodes2(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false,
+ loading: true
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false,
+ loading: true
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false,
+ loading: true
+ }
+ ];
+ }
+
+ onNodeExpand(event: any) {
+ if (!event.node.children) {
+ this.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 3; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ this.nodes[parseInt(event.node.key, 10)] = _node;
+
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+
+ onNodeExpand2(event: any) {
+ if (!event.node.children) {
+ event.node.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 3; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ const key = parseInt(_node.key, 10);
+ this.nodes2[key] = { ..._node, loading: false };
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-lazy-demo',
+ templateUrl: './tree-lazy-demo.html',
+ standalone: true,
+ imports: [Tree]
+})
+export class TreeLazyDemo implements OnInit {
+ loading: boolean = false;
+
+ nodes!: TreeNode[];
+
+ nodes2!: TreeNode[];
+
+ constructor(private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.loading = true;
+ this.nodes2 = this.initiateNodes2();
+
+ setTimeout(() => {
+ this.nodes = this.initiateNodes();
+ this.loading = false;
+ this.nodes2.map((node) => (node.loading = false));
+ this.cd.markForCheck();
+ }, 2000);
+ }
+
+ initiateNodes(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false
+ }
+ ];
+ }
+
+ initiateNodes2(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false,
+ loading: true
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false,
+ loading: true
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false,
+ loading: true
+ }
+ ];
+ }
+
+ onNodeExpand(event: any) {
+ if (!event.node.children) {
+ this.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 3; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ this.nodes[parseInt(event.node.key, 10)] = _node;
+
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+
+ onNodeExpand2(event: any) {
+ if (!event.node.children) {
+ event.node.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 3; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ const key = parseInt(_node.key, 10);
+ this.nodes2[key] = { ..._node, loading: false };
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+}`,
+
+ data: `{
+ key: '0',
+ label: 'Node 0',
+ leaf: false
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/multipledoc.ts b/apps/showcase/doc/tree/multipledoc.ts
new file mode 100644
index 00000000000..f380cf1e2d0
--- /dev/null
+++ b/apps/showcase/doc/tree/multipledoc.ts
@@ -0,0 +1,113 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'multiple-doc',
+ template: `
+
+
+ More than one node is selectable by setting selectionMode to multiple . By default in multiple selection mode, metaKey press (e.g. ⌘ ) is necessary to add to existing selections however this can be configured with
+ disabling the metaKeySelection property. Note that in touch enabled devices, Tree always ignores metaKey.
+
+ In multiple selection mode, value binding should be a key-value pair where key is the node key and value is a boolean to indicate selection.
+
+
+
+ `
+})
+export class MultipleDoc implements OnInit {
+ metaKeySelection: boolean = false;
+
+ files!: TreeNode[];
+
+ selectedFiles!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+
+ code: Code = {
+ basic: `
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+import { ToggleSwitchModule } from 'primeng/toggleswitch';
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'tree-multiple-demo',
+ templateUrl: './tree-multiple-demo.html',
+ standalone: true,
+ imports: [Tree, InputSwitchModule, ToggleSwitchModule],
+ providers: [NodeService]
+})
+export class TreeMultipleDemo implements OnInit {
+ metaKeySelection: boolean = false;
+
+ files!: TreeNode[];
+
+ selectedFiles!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => (this.files = data));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tree/singledoc.ts b/apps/showcase/doc/tree/singledoc.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/doc/tree/singledoc.ts
rename to apps/showcase/doc/tree/singledoc.ts
index 2f15eaefbae..af0a325c389 100644
--- a/apps/showcase/src/app/showcase/doc/tree/singledoc.ts
+++ b/apps/showcase/doc/tree/singledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
@Component({
selector: 'single-doc',
@@ -35,7 +35,7 @@ export class SingleDoc implements OnInit {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { Tree } from 'primeng/tree';
@Component({
@@ -49,7 +49,7 @@ export class TreeSingleDemo implements OnInit {
files!: TreeNode[];
selectedFile!: TreeNode;
-
+
constructor(private nodeService: NodeService) {}
ngOnInit() {
diff --git a/apps/showcase/doc/tree/templatedoc.ts b/apps/showcase/doc/tree/templatedoc.ts
new file mode 100644
index 00000000000..5a6ed8b0fd0
--- /dev/null
+++ b/apps/showcase/doc/tree/templatedoc.ts
@@ -0,0 +1,116 @@
+import { Code } from '@/domain/code';
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ Custom node content instead of a node label is defined with the pTemplate property.
+
+
+
+ `
+})
+export class TemplateDoc implements OnInit {
+ nodes!: TreeNode[];
+
+ ngOnInit() {
+ this.nodes = [
+ {
+ key: '0',
+ label: 'Introduction',
+ children: [
+ { key: '0-0', label: 'What is Angular', data: 'https://angular.io', type: 'url' },
+ { key: '0-1', label: 'Getting Started', data: 'https://angular.io/guide/setup-local', type: 'url' },
+ { key: '0-2', label: 'Learn and Explore', data: 'https://angular.io/guide/architecture', type: 'url' },
+ { key: '0-3', label: 'Take a Look', data: 'https://angular.io/start', type: 'url' }
+ ]
+ },
+ {
+ key: '1',
+ label: 'Components In-Depth',
+ children: [
+ { key: '1-0', label: 'Component Registration', data: 'https://angular.io/guide/component-interaction', type: 'url' },
+ { key: '1-1', label: 'User Input', data: 'https://angular.io/guide/user-input', type: 'url' },
+ { key: '1-2', label: 'Hooks', data: 'https://angular.io/guide/lifecycle-hooks', type: 'url' },
+ { key: '1-3', label: 'Attribute Directives', data: 'https://angular.io/guide/attribute-directives', type: 'url' }
+ ]
+ }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+ {{ node.label }}
+
+
+
+ {{ node.label }}
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { TreeModule } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-template-demo',
+ templateUrl: './tree-template-demo.html',
+ standalone: true,
+ imports: [TreeModule]
+})
+export class TreeTemplateDemo implements OnInit {
+ nodes!: TreeNode[];
+
+ ngOnInit() {
+ this.nodes = [
+ {
+ key: '0',
+ label: 'Introduction',
+ children: [
+ { key: '0-0', label: 'What is Angular', data: 'https://angular.io', type: 'url' },
+ { key: '0-1', label: 'Getting Started', data: 'https://angular.io/guide/setup-local', type: 'url' },
+ { key: '0-2', label: 'Learn and Explore', data: 'https://angular.io/guide/architecture', type: 'url' },
+ { key: '0-3', label: 'Take a Look', data: 'https://angular.io/start', type: 'url' }
+ ]
+ },
+ {
+ key: '1',
+ label: 'Components In-Depth',
+ children: [
+ { key: '1-0', label: 'Component Registration', data: 'https://angular.io/guide/component-interaction', type: 'url' },
+ { key: '1-1', label: 'User Input', data: 'https://angular.io/guide/user-input', type: 'url' },
+ { key: '1-2', label: 'Hooks', data: 'https://angular.io/guide/lifecycle-hooks', type: 'url' },
+ { key: '1-3', label: 'Attribute Directives', data: 'https://angular.io/guide/attribute-directives', type: 'url' }
+ ]
+ }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/tree/treedoc.module.ts b/apps/showcase/doc/tree/treedoc.module.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/tree/treedoc.module.ts
rename to apps/showcase/doc/tree/treedoc.module.ts
index 19a5c5cfa79..11638e888dd 100644
--- a/apps/showcase/src/app/showcase/doc/tree/treedoc.module.ts
+++ b/apps/showcase/doc/tree/treedoc.module.ts
@@ -1,12 +1,13 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { ButtonModule } from 'primeng/button';
import { ContextMenuModule } from 'primeng/contextmenu';
import { ToastModule } from 'primeng/toast';
+import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { TreeModule } from 'primeng/tree';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { CheckboxDoc } from './checkboxdoc';
@@ -22,7 +23,6 @@ import { SingleDoc } from './singledoc';
import { TemplateDoc } from './templatedoc';
import { VirtualScrollDoc } from './virtualscrolldoc';
import { LazyVirtualScrollDoc } from './virtualscrolllazydoc';
-import { ToggleSwitchModule } from 'primeng/toggleswitch';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, TreeModule, ButtonModule, FormsModule, ToastModule, ContextMenuModule, ToggleSwitchModule],
diff --git a/apps/showcase/doc/tree/virtualscrolldoc.ts b/apps/showcase/doc/tree/virtualscrolldoc.ts
new file mode 100644
index 00000000000..2c4e2c52a69
--- /dev/null
+++ b/apps/showcase/doc/tree/virtualscrolldoc.ts
@@ -0,0 +1,116 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'virtual-scroll-doc',
+ template: `
+
+ VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality.
+
+
+
+ `
+})
+export class VirtualScrollDoc implements OnInit {
+ loading: boolean = false;
+
+ files!: TreeNode[];
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => {
+ this.files = this.duplicateData(data, 50);
+ this.cd.markForCheck();
+ });
+ }
+
+ duplicateData(data: TreeNode[], count: number): TreeNode[] {
+ let duplicatedData: TreeNode[] = [];
+ for (let i = 0; i < count; i++) {
+ duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
+ }
+ return duplicatedData;
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-virtual-scroll-demo',
+ templateUrl: './tree-virtual-scroll-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [NodeService]
+})
+export class TreeVirtualScrollDemo implements OnInit {
+ loading: boolean = false;
+
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.nodeService.getFiles().then((data) => {
+ this.files = this.duplicateData(data, 50);
+ this.cd.markForCheck();
+ });
+ }
+
+ duplicateData(data: TreeNode[], count: number): TreeNode[] {
+ let duplicatedData: TreeNode[] = [];
+ for (let i = 0; i < count; i++) {
+ duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
+ }
+ return duplicatedData;
+ }
+
+}`,
+ service: ['NodeService'],
+
+ data: `
+/* NodeService */
+{
+key: '0',
+label: 'Documents',
+data: 'Documents Folder',
+icon: 'pi pi-fw pi-inbox',
+children: [
+{
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+},
+{
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+}
+]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/tree/virtualscrolllazydoc.ts b/apps/showcase/doc/tree/virtualscrolllazydoc.ts
new file mode 100644
index 00000000000..66518efce51
--- /dev/null
+++ b/apps/showcase/doc/tree/virtualscrolllazydoc.ts
@@ -0,0 +1,151 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'lazy-virtual-scroll-doc',
+ template: `
+
+ VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality.
+
+
+
+ `
+})
+export class LazyVirtualScrollDoc implements OnInit {
+ loading: boolean = false;
+
+ files!: TreeNode[];
+
+ virtualFiles!: TreeNode[];
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ ngOnInit() {
+ this.loading = true;
+ setTimeout(() => {
+ this.nodeService.getLazyFiles().then((files) => (this.files = this.duplicateData(files, 50)));
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 1000);
+ }
+
+ duplicateData(data: TreeNode[], count: number): TreeNode[] {
+ let duplicatedData: TreeNode[] = [];
+ for (let i = 0; i < count; i++) {
+ duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
+ }
+ return duplicatedData;
+ }
+
+ nodeExpand(event: any) {
+ if (event.node) {
+ this.loading = true;
+ setTimeout(() => {
+ this.nodeService.getLazyFiles().then((nodes) => {
+ event.node.children = nodes;
+ this.files = [...this.files, event.node.children];
+ });
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 200);
+ }
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { Tree } from 'primeng/tree';
+
+@Component({
+ selector: 'tree-virtual-scroll-lazy-demo',
+ templateUrl: './tree-virtual-scroll-lazy-demo.html',
+ standalone: true,
+ imports: [Tree],
+ providers: [NodeService]
+})
+export class TreeVirtualScrollLazyDemo implements OnInit {
+ loading: boolean = false;
+
+ files!: TreeNode[];
+
+ virtualFiles!: TreeNode[];
+
+ constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.loading = true;
+ setTimeout(() => {
+ this.nodeService.getLazyFiles().then((files) => (this.files = this.duplicateData(files, 50)));
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 1000);
+ }
+
+ duplicateData(data: TreeNode[], count: number): TreeNode[] {
+ let duplicatedData: TreeNode[] = [];
+ for (let i = 0; i < count; i++) {
+ duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
+ }
+ return duplicatedData;
+ }
+
+ nodeExpand(event: any) {
+ if (event.node) {
+ this.loading = true;
+ setTimeout(() => {
+ this.nodeService.getLazyFiles().then((nodes) => {
+ event.node.children = nodes;
+ this.files = [...this.files, event.node.children];
+ });
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 200);
+ }
+ }
+}`,
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/accessibilitydoc.ts b/apps/showcase/doc/treeselect/accessibilitydoc.ts
new file mode 100644
index 00000000000..3541ea75b7a
--- /dev/null
+++ b/apps/showcase/doc/treeselect/accessibilitydoc.ts
@@ -0,0 +1,189 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tree-select-accessibility-doc',
+ template: `
+
+ Screen Reader
+
+ Value to describe the component can either be provided with ariaLabelledby or ariaLabel props. The treeselect element has a combobox role in addition to aria-haspopup and aria-expanded attributes.
+ The relation between the combobox and the popup is created with aria-controls that refers to the id of the popup.
+
+
+ The popup list has an id that refers to the aria-controls attribute of the combobox element and uses tree as the role. Each list item has a treeitem role along with aria-label ,
+ aria-selected and aria-expanded attributes. In checkbox selection, aria-checked is used instead of aria-selected . Checkbox and toggle icons are hidden from screen readers as their parent element with
+ treeitem role and attributes are used instead for readers and keyboard support. The container element of a treenode has the group role. The aria-setsize , aria-posinset and aria-level attributes are
+ calculated implicitly and added to each treeitem.
+
+
+ If filtering is enabled, filterInputProps can be defined to give aria-* props to the filter input element.
+
+
+
+
+
Closed State Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ tab
+
+ Moves focus to the treeselect element.
+
+
+
+ space
+
+ Opens the popup and moves visual focus to the selected treenode, if there is none then first treenode receives the focus.
+
+
+
+ down arrow
+
+ Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
+
+
+
+
+
+
Popup Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ tab
+
+ Moves focus to the next focusable element in the popup, if there is none then first focusable element receives the focus.
+
+
+ shift + tab
+ Moves focus to the previous focusable element in the popup, if there is none then last focusable element receives the focus.
+
+
+
+ enter
+
+ Selects the focused option, closes the popup if selection mode is single.
+
+
+
+ space
+
+ Selects the focused option, closes the popup if selection mode is single.
+
+
+
+ escape
+
+ Closes the popup, moves focus to the treeselect element.
+
+
+
+ down arrow
+
+ Moves focus to the next treenode.
+
+
+
+ up arrow
+
+ Moves focus to the previous treenode.
+
+
+
+ right arrow
+
+ If node is closed, opens the node otherwise moves focus to the first child node.
+
+
+
+ left arrow
+
+ If node is open, closes the node otherwise moves focus to the parent node.
+
+
+
+
+
+
Filter Input Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ enter
+
+ Closes the popup and moves focus to the treeselect element.
+
+
+
+ escape
+
+ Closes the popup and moves focus to the treeselect element.
+
+
+
+
+
+
Close Button Keyboard Support
+
+
+
+
+ Key
+ Function
+
+
+
+
+
+ enter
+
+ Closes the popup and moves focus to the treeselect element.
+
+
+
+ space
+
+ Closes the popup and moves focus to the treeselect element.
+
+
+
+ escape
+
+ Closes the popup and moves focus to the treeselect element.
+
+
+
+
+
`
+})
+export class AccessibilityDoc {
+ code: Code = {
+ basic: `Options
+
+
+ `
+ };
+}
diff --git a/apps/showcase/doc/treeselect/basicdoc.ts b/apps/showcase/doc/treeselect/basicdoc.ts
new file mode 100644
index 00000000000..affdf2f73ce
--- /dev/null
+++ b/apps/showcase/doc/treeselect/basicdoc.ts
@@ -0,0 +1,87 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+
+ TreeSelect is used as a controlled component with ng-model directive along with an options collection. Internally Tree component is used so the options model is based on TreeNode API.
+ In single selection mode, value binding should be the key value of a node.
+
+
+
+ `
+})
+export class BasicDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-basic-demo',
+ templateUrl: './tree-select-basic-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+ })
+export class TreeSelectBasicDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/checkboxdoc.ts b/apps/showcase/doc/treeselect/checkboxdoc.ts
new file mode 100644
index 00000000000..917cc95f1c3
--- /dev/null
+++ b/apps/showcase/doc/treeselect/checkboxdoc.ts
@@ -0,0 +1,86 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'checkbox-doc',
+ template: `
+
+ Selection of multiple nodes via checkboxes is enabled by configuring selectionMode as checkbox .
+
+
+
+ `
+})
+export class CheckboxDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-checkbox-demo',
+ templateUrl: './tree-select-checkbox-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectCheckboxDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/disableddoc.ts b/apps/showcase/doc/treeselect/disableddoc.ts
new file mode 100644
index 00000000000..2fa26ac3126
--- /dev/null
+++ b/apps/showcase/doc/treeselect/disableddoc.ts
@@ -0,0 +1,86 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'disabled-doc',
+ template: `
+
+ When disabled is present, the element cannot be edited and focused.
+
+
+
+ `
+})
+export class DisabledDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-disabled-demo',
+ templateUrl: './tree-select-disabled-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectDisabledDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/filleddoc.ts b/apps/showcase/doc/treeselect/filleddoc.ts
new file mode 100644
index 00000000000..38f348f6edb
--- /dev/null
+++ b/apps/showcase/doc/treeselect/filleddoc.ts
@@ -0,0 +1,86 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'filled-doc',
+ template: `
+
+ Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
+
+
+
+ `
+})
+export class FilledDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-filled-demo',
+ templateUrl: './tree-select-filled-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+ })
+export class TreeSelectFilledDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/filterdoc.ts b/apps/showcase/doc/treeselect/filterdoc.ts
new file mode 100644
index 00000000000..d87cc9173ea
--- /dev/null
+++ b/apps/showcase/doc/treeselect/filterdoc.ts
@@ -0,0 +1,90 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'filter-doc',
+ template: `
+
+
+ Filtering is enabled by adding the filter property, by default label property of a node is used to compare against the value in the text field, in order to customize which field(s) should be used during search define
+ filterBy property. In addition filterMode specifies the filtering strategy. In lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included.
+ On the other hand, in strict mode when the query matches a node, filtering continues on all descendants.
+
+
+
+
+ `
+})
+export class FilterDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-filter-demo',
+ templateUrl: './tree-select-filter-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectFilterDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/floatlabeldoc.ts b/apps/showcase/doc/treeselect/floatlabeldoc.ts
new file mode 100644
index 00000000000..9044b199c07
--- /dev/null
+++ b/apps/showcase/doc/treeselect/floatlabeldoc.ts
@@ -0,0 +1,137 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'floatlabel-doc',
+ template: `
+
+
+ A floating label appears on top of the input field when focused. Visit
+ FloatLabel documentation for more information.
+
+
+
+
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+
+
+
+ `
+})
+export class FloatLabelDoc {
+ nodes!: any[];
+
+ value1: any;
+
+ value2: any;
+
+ value3: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: `
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+ `,
+
+ html: `
+
+
+ Over Label
+
+
+
+
+ In Label
+
+
+
+
+ On Label
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+import { FloatLabel } from 'primeng/floatlabel';
+
+@Component({
+ selector: 'tree-select-floatlabel-demo',
+ templateUrl: './tree-select-floatlabel-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect, FloatLabel],
+ providers: [NodeService]
+})
+export class TreeSelectFloatlabelDemo {
+ nodes!: any[];
+
+ value1: any;
+
+ value2: any;
+
+ value3: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/iftalabeldoc.ts b/apps/showcase/doc/treeselect/iftalabeldoc.ts
new file mode 100644
index 00000000000..b0db8b81f31
--- /dev/null
+++ b/apps/showcase/doc/treeselect/iftalabeldoc.ts
@@ -0,0 +1,95 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'iftalabel-doc',
+ template: `
+
+ IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
+
+
+
+ `
+})
+export class IftaLabelDoc {
+ nodes!: any[];
+
+ selectedValue: any;
+ code: Code = {
+ basic: `
+
+ File
+ `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelectModule } from 'primeng/treeselect';
+import { IftaLabelModule } from 'primeng/iftalabel';
+
+@Component({
+ selector: 'tree-select-iftalabel-demo',
+ templateUrl: './tree-select-iftalabel-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelectModule, IftaLabelModule],
+ providers: [NodeService]
+})
+export class TreeSelectIftaLabelDemo {
+ nodes!: any[];
+
+ selectedValue: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}
diff --git a/apps/showcase/doc/treeselect/importdoc.ts b/apps/showcase/doc/treeselect/importdoc.ts
new file mode 100644
index 00000000000..2a9750f5201
--- /dev/null
+++ b/apps/showcase/doc/treeselect/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tree-select-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { TreeSelect } from 'primeng/treeselect';`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/invaliddoc.ts b/apps/showcase/doc/treeselect/invaliddoc.ts
new file mode 100644
index 00000000000..77c3c0dff8e
--- /dev/null
+++ b/apps/showcase/doc/treeselect/invaliddoc.ts
@@ -0,0 +1,86 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'invalid-doc',
+ template: `
+
+ Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
+
+
+
+ `
+})
+export class InvalidDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-invalid-demo',
+ templateUrl: './tree-select-invalid-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectInvalidDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/lazydoc.ts b/apps/showcase/doc/treeselect/lazydoc.ts
new file mode 100644
index 00000000000..c032d78ab6b
--- /dev/null
+++ b/apps/showcase/doc/treeselect/lazydoc.ts
@@ -0,0 +1,206 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectorRef, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'lazy-doc',
+ template: `
+
+
+ Lazy loading is useful when dealing with huge datasets, in this example nodes are dynamically loaded on demand using
+ loading property and onNodeExpand method.
+
+
+
+
+ `
+})
+export class LazyDoc {
+ selectedNodes: TreeNode[] = [];
+
+ nodes!: TreeNode[];
+
+ loading: boolean = false;
+
+ constructor(private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.nodes = this.initiateNodes();
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 2000);
+ }
+
+ initiateNodes(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false
+ }
+ ];
+ }
+
+ onNodeExpand(event: any) {
+ if (!event.node.children) {
+ this.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 1500; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ this.nodes[parseInt(event.node.key, 10)] = _node;
+
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-lazy-demo',
+ templateUrl: './tree-select-lazy-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect]
+ })
+export class TreeSelectLazyDemo {
+ selectedNodes: TreeNode[] = [];
+
+ nodes!: TreeNode[];
+
+ loading: boolean = false;
+
+ constructor(private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.nodes = this.initiateNodes();
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 2000);
+ }
+
+ initiateNodes(): TreeNode[] {
+ return [
+ {
+ key: '0',
+ label: 'Node 0',
+ leaf: false
+ },
+ {
+ key: '1',
+ label: 'Node 1',
+ leaf: false
+ },
+ {
+ key: '2',
+ label: 'Node 2',
+ leaf: false
+ }
+ ];
+ }
+
+ onNodeExpand(event: any) {
+ if (!event.node.children) {
+ this.loading = true;
+
+ setTimeout(() => {
+ let _node = { ...event.node };
+ _node.children = [];
+
+ for (let i = 0; i < 150; i++) {
+ _node.children.push({
+ key: event.node.key + '-' + i,
+ label: 'Lazy ' + event.node.label + '-' + i
+ });
+ }
+
+ this.nodes[parseInt(event.node.key, 10)] = _node;
+
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 500);
+ }
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/multipledoc.ts b/apps/showcase/doc/treeselect/multipledoc.ts
new file mode 100644
index 00000000000..7880d5120d8
--- /dev/null
+++ b/apps/showcase/doc/treeselect/multipledoc.ts
@@ -0,0 +1,98 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'multiple-doc',
+ template: `
+
+
+ More than one node is selectable by setting selectionMode to multiple . By default in multiple selection mode, metaKey press (e.g. ⌘ ) is necessary to add to existing selections however this can be configured with
+ disabling the metaKeySelection property. Note that in touch enabled devices, TreeSelect always ignores metaKey.
+
+ In multiple selection mode, value binding should be a key-value pair where key is the node key and value is a boolean to indicate selection.
+
+
+
+
+ `
+})
+export class MultipleDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ exampleCode: Code = {
+ typescript: `{
+ '0-0': true,
+ '0-1-0': true
+}`
+ };
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-multiple-demo',
+ templateUrl: './tree-select-multiple-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectMultipleDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/reactiveformsdoc.ts b/apps/showcase/doc/treeselect/reactiveformsdoc.ts
new file mode 100644
index 00000000000..73075b58ce0
--- /dev/null
+++ b/apps/showcase/doc/treeselect/reactiveformsdoc.ts
@@ -0,0 +1,102 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup } from '@angular/forms';
+
+@Component({
+ selector: 'reactive-forms-doc',
+ template: `
+
+ TreeSelect can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
+
+
+
+ `
+})
+export class ReactiveFormsDoc implements OnInit {
+ nodes!: any[];
+
+ formGroup!: FormGroup;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ selectedNodes: new FormControl()
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
+import { NodeService } from '@/service/nodeservice';
+
+@Component({
+ selector: 'tree-select-reactive-forms-demo',
+ templateUrl: './tree-select-reactive-forms-demo.html',
+ standalone: true,
+ imports: [ReactiveFormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectReactiveFormsDemo implements OnInit {
+ nodes!: any[];
+
+ formGroup!: FormGroup;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ ngOnInit() {
+ this.formGroup = new FormGroup({
+ selectedNodes: new FormControl()
+ });
+ }
+}`,
+ service: ['NodeService'],
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/doc/treeselect/sizesdoc.ts b/apps/showcase/doc/treeselect/sizesdoc.ts
new file mode 100644
index 00000000000..da02ac3c79e
--- /dev/null
+++ b/apps/showcase/doc/treeselect/sizesdoc.ts
@@ -0,0 +1,100 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'sizes-doc',
+ template: `
+
+ TreeSelect provides small and large sizes as alternatives to the base.
+
+
+
+ `
+})
+export class SizesDoc {
+ nodes!: any[];
+
+ value1: any;
+
+ value2: any;
+
+ value3: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: `
+
+ `,
+
+ html: ``,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-sizes-demo',
+ templateUrl: './tree-select-sizes-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+ })
+export class TreeSelectSizesDemo {
+ nodes!: any[];
+
+ value1: any;
+
+ value2: any;
+
+ value3: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/styledoc.ts b/apps/showcase/doc/treeselect/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/treeselect/styledoc.ts
rename to apps/showcase/doc/treeselect/styledoc.ts
diff --git a/apps/showcase/doc/treeselect/templatedoc.ts b/apps/showcase/doc/treeselect/templatedoc.ts
new file mode 100644
index 00000000000..d398635ca1c
--- /dev/null
+++ b/apps/showcase/doc/treeselect/templatedoc.ts
@@ -0,0 +1,126 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ TreeSelect offers multiple templates for customization through templating.
+
+
+
+
+
+
+
+ Available Files
+
+
+
+
+
+
+
+ `
+})
+export class TemplateDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+ Available Files
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+ Available Files
+
+
+
+
+
+
`,
+
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tree-select-template-demo',
+ templateUrl: './tree-select-template-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect, ButtonModule],
+ providers: [NodeService]
+ })
+export class TreeSelectTemplateDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getFiles().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService'],
+
+ data: `
+ /* NodeService */
+{
+ key: '0',
+ label: 'Documents',
+ data: 'Documents Folder',
+ icon: 'pi pi-fw pi-inbox',
+ children: [
+ {
+ key: '0-0',
+ label: 'Work',
+ data: 'Work Folder',
+ icon: 'pi pi-fw pi-cog',
+ children: [
+ { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
+ { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
+ ]
+ },
+ {
+ key: '0-1',
+ label: 'Home',
+ data: 'Home Folder',
+ icon: 'pi pi-fw pi-home',
+ children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
+ }
+ ]
+},
+...`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/treeselectdoc.module.ts b/apps/showcase/doc/treeselect/treeselectdoc.module.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treeselect/treeselectdoc.module.ts
rename to apps/showcase/doc/treeselect/treeselectdoc.module.ts
index 926a74f5391..fd356a111cd 100644
--- a/apps/showcase/src/app/showcase/doc/treeselect/treeselectdoc.module.ts
+++ b/apps/showcase/doc/treeselect/treeselectdoc.module.ts
@@ -1,30 +1,30 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
+import { ButtonModule } from 'primeng/button';
+import { FloatLabelModule } from 'primeng/floatlabel';
+import { IftaLabelModule } from 'primeng/iftalabel';
import { TreeSelectModule } from 'primeng/treeselect';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
import { AccessibilityDoc } from './accessibilitydoc';
import { BasicDoc } from './basicdoc';
import { CheckboxDoc } from './checkboxdoc';
import { DisabledDoc } from './disableddoc';
+import { FilledDoc } from './filleddoc';
import { FilterDoc } from './filterdoc';
import { FloatLabelDoc } from './floatlabeldoc';
+import { IftaLabelDoc } from './iftalabeldoc';
import { ImportDoc } from './importdoc';
import { InvalidDoc } from './invaliddoc';
+import { LazyDoc } from './lazydoc';
import { MultipleDoc } from './multipledoc';
import { ReactiveFormsDoc } from './reactiveformsdoc';
+import { SizesDoc } from './sizesdoc';
import { StyleDoc } from './styledoc';
-import { VirtualScrollDoc } from './virtualscrolldoc';
-import { FloatLabelModule } from 'primeng/floatlabel';
-import { FilledDoc } from './filleddoc';
-import { LazyDoc } from './lazydoc';
-import { IftaLabelModule } from 'primeng/iftalabel';
-import { IftaLabelDoc } from './iftalabeldoc';
import { TemplateDoc } from './templatedoc';
-import { ButtonModule } from 'primeng/button';
-import { SizesDoc } from './sizesdoc';
+import { VirtualScrollDoc } from './virtualscrolldoc';
@NgModule({
imports: [CommonModule, AppCodeModule, AppDocModule, TreeSelectModule, FormsModule, ReactiveFormsModule, RouterModule, FloatLabelModule, IftaLabelModule, ButtonModule],
diff --git a/apps/showcase/doc/treeselect/virtualscrolldoc.ts b/apps/showcase/doc/treeselect/virtualscrolldoc.ts
new file mode 100644
index 00000000000..757ba745670
--- /dev/null
+++ b/apps/showcase/doc/treeselect/virtualscrolldoc.ts
@@ -0,0 +1,69 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'virtual-scroll-doc',
+ template: `
+
+ VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance
+ issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
+
+
+
+ `
+})
+export class VirtualScrollDoc {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getLargeTreeNodes().then((files) => (this.nodes = files));
+ }
+
+ code: Code = {
+ basic: ` `,
+
+ html: ``,
+ typescript: `import { Component } from '@angular/core';
+import { NodeService } from '@/service/nodeservice';
+import { FormsModule } from '@angular/forms';
+import { TreeSelect } from 'primeng/treeselect';
+
+@Component({
+ selector: 'tree-select-virtual-scroll-demo',
+ templateUrl: './tree-select-virtual-scroll-demo.html',
+ standalone: true,
+ imports: [FormsModule, TreeSelect],
+ providers: [NodeService]
+})
+export class TreeSelectVirtualScrollDemo {
+ nodes!: any[];
+
+ selectedNodes: any;
+
+ constructor(private nodeService: NodeService) {
+ this.nodeService.getLargeTreeNodes().then((files) => (this.nodes = files));
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/accessibilitydoc.ts b/apps/showcase/doc/treetable/accessibilitydoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/treetable/accessibilitydoc.ts
rename to apps/showcase/doc/treetable/accessibilitydoc.ts
diff --git a/apps/showcase/doc/treetable/basicdoc.ts b/apps/showcase/doc/treetable/basicdoc.ts
new file mode 100644
index 00000000000..99d4eafcb01
--- /dev/null
+++ b/apps/showcase/doc/treetable/basicdoc.ts
@@ -0,0 +1,119 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'basic-doc',
+ template: `
+ TreeTable requires a collection of TreeNode instances as a value components as children for the representation.
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class BasicDoc {
+ files!: TreeNode[];
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => {
+ this.files = files.slice(0, 5);
+ this.cd.markForCheck();
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+ `,
+
+ html: `
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+
+@Component({
+ selector: 'tree-table-basic-demo',
+ templateUrl: './tree-table-basic-demo.html',
+ standalone: true,
+ imports: [TreeTableModule],
+ providers: [NodeService]
+})
+export class TreeTableBasicDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/columngroupdoc.ts b/apps/showcase/doc/treetable/columngroupdoc.ts
new file mode 100644
index 00000000000..a1ebc6aa607
--- /dev/null
+++ b/apps/showcase/doc/treetable/columngroupdoc.ts
@@ -0,0 +1,526 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'column-group-doc',
+ template: `
+
+
+
+
+
+ Brand
+ Sale Rate
+
+
+ Sales
+ Profits
+
+
+ Last Year
+ This Year
+ Last Year
+ This Year
+
+
+
+
+
+
+ {{ rowData.brand }}
+
+ {{ rowData.lastYearSale }}
+ {{ rowData.thisYearSale }}
+ {{ rowData.lastYearProfit }}
+ {{ rowData.thisYearProfit }}
+
+
+
+
+ Totals
+ $3,283,772
+ $2,126,925
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ColumnGroupDoc {
+ sales!: TreeNode[];
+
+ loadDemoData() {
+ this.sales = [
+ {
+ data: { brand: 'Bliss', lastYearSale: '51%', thisYearSale: '40%', lastYearProfit: '$54,406.00', thisYearProfit: '$43,342' },
+ children: [
+ {
+ data: {
+ brand: 'Product A',
+ lastYearSale: '25%',
+ thisYearSale: '20%',
+ lastYearProfit: '$34,406.00',
+ thisYearProfit: '$23,342'
+ },
+ children: [
+ {
+ data: {
+ brand: 'Product A-1',
+ lastYearSale: '20%',
+ thisYearSale: '10%',
+ lastYearProfit: '$24,406.00',
+ thisYearProfit: '$13,342'
+ }
+ },
+ {
+ data: {
+ brand: 'Product A-2',
+ lastYearSale: '5%',
+ thisYearSale: '10%',
+ lastYearProfit: '$10,000.00',
+ thisYearProfit: '$10,000'
+ }
+ }
+ ]
+ },
+ {
+ data: {
+ brand: 'Product B',
+ lastYearSale: '26%',
+ thisYearSale: '20%',
+ lastYearProfit: '$24,000.00',
+ thisYearProfit: '$23,000'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Fate', lastYearSale: '83%', thisYearSale: '96%', lastYearProfit: '$423,132', thisYearProfit: '$312,122' },
+ children: [
+ {
+ data: {
+ brand: 'Product X',
+ lastYearSale: '50%',
+ thisYearSale: '40%',
+ lastYearProfit: '$223,132',
+ thisYearProfit: '$156,061'
+ }
+ },
+ {
+ data: {
+ brand: 'Product Y',
+ lastYearSale: '33%',
+ thisYearSale: '56%',
+ lastYearProfit: '$200,000',
+ thisYearProfit: '$156,061'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Ruby', lastYearSale: '38%', thisYearSale: '5%', lastYearProfit: '$12,321', thisYearProfit: '$8,500' },
+ children: [
+ {
+ data: {
+ brand: 'Product M',
+ lastYearSale: '18%',
+ thisYearSale: '2%',
+ lastYearProfit: '$10,300',
+ thisYearProfit: '$5,500'
+ }
+ },
+ {
+ data: {
+ brand: 'Product N',
+ lastYearSale: '20%',
+ thisYearSale: '3%',
+ lastYearProfit: '$2,021',
+ thisYearProfit: '$3,000'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Sky', lastYearSale: '49%', thisYearSale: '22%', lastYearProfit: '$745,232', thisYearProfit: '$650,323' },
+ children: [
+ {
+ data: {
+ brand: 'Product P',
+ lastYearSale: '20%',
+ thisYearSale: '16%',
+ lastYearProfit: '$345,232',
+ thisYearProfit: '$350,000'
+ }
+ },
+ {
+ data: {
+ brand: 'Product R',
+ lastYearSale: '29%',
+ thisYearSale: '6%',
+ lastYearProfit: '$400,009',
+ thisYearProfit: '$300,323'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Comfort', lastYearSale: '17%', thisYearSale: '79%', lastYearProfit: '$643,242', thisYearProfit: '500,332' },
+ children: [
+ {
+ data: {
+ brand: 'Product S',
+ lastYearSale: '10%',
+ thisYearSale: '40%',
+ lastYearProfit: '$243,242',
+ thisYearProfit: '$100,000'
+ }
+ },
+ {
+ data: {
+ brand: 'Product T',
+ lastYearSale: '7%',
+ thisYearSale: '39%',
+ lastYearProfit: '$400,00',
+ thisYearProfit: '$400,332'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Merit', lastYearSale: '52%', thisYearSale: ' 65%', lastYearProfit: '$421,132', thisYearProfit: '$150,005' },
+ children: [
+ {
+ data: {
+ brand: 'Product L',
+ lastYearSale: '20%',
+ thisYearSale: '40%',
+ lastYearProfit: '$121,132',
+ thisYearProfit: '$100,000'
+ }
+ },
+ {
+ data: {
+ brand: 'Product G',
+ lastYearSale: '32%',
+ thisYearSale: '25%',
+ lastYearProfit: '$300,000',
+ thisYearProfit: '$50,005'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Violet', lastYearSale: '82%', thisYearSale: '12%', lastYearProfit: '$131,211', thisYearProfit: '$100,214' },
+ children: [
+ {
+ data: {
+ brand: 'Product SH1',
+ lastYearSale: '30%',
+ thisYearSale: '6%',
+ lastYearProfit: '$101,211',
+ thisYearProfit: '$30,214'
+ }
+ },
+ {
+ data: {
+ brand: 'Product SH2',
+ lastYearSale: '52%',
+ thisYearSale: '6%',
+ lastYearProfit: '$30,000',
+ thisYearProfit: '$70,000'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Dulce', lastYearSale: '44%', thisYearSale: '45%', lastYearProfit: '$66,442', thisYearProfit: '$53,322' },
+ children: [
+ {
+ data: {
+ brand: 'Product PN1',
+ lastYearSale: '22%',
+ thisYearSale: '25%',
+ lastYearProfit: '$33,221',
+ thisYearProfit: '$20,000'
+ }
+ },
+ {
+ data: {
+ brand: 'Product PN2',
+ lastYearSale: '22%',
+ thisYearSale: '25%',
+ lastYearProfit: '$33,221',
+ thisYearProfit: '$33,322'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Solace', lastYearSale: '90%', thisYearSale: '56%', lastYearProfit: '$765,442', thisYearProfit: '$296,232' },
+ children: [
+ {
+ data: {
+ brand: 'Product HT1',
+ lastYearSale: '60%',
+ thisYearSale: '36%',
+ lastYearProfit: '$465,000',
+ thisYearProfit: '$150,653'
+ }
+ },
+ {
+ data: {
+ brand: 'Product HT2',
+ lastYearSale: '30%',
+ thisYearSale: '20%',
+ lastYearProfit: '$300,442',
+ thisYearProfit: '$145,579'
+ }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Essence', lastYearSale: '75%', thisYearSale: '54%', lastYearProfit: '$21,212', thisYearProfit: '$12,533' },
+ children: [
+ {
+ data: {
+ brand: 'Product TS1',
+ lastYearSale: '50%',
+ thisYearSale: '34%',
+ lastYearProfit: '$11,000',
+ thisYearProfit: '$8,562'
+ }
+ },
+ {
+ data: {
+ brand: 'Product TS2',
+ lastYearSale: '25%',
+ thisYearSale: '20%',
+ lastYearProfit: '$11,212',
+ thisYearProfit: '$3,971'
+ }
+ }
+ ]
+ }
+ ];
+ }
+ code: Code = {
+ basic: `
+
+
+ Brand
+ Sale Rate
+
+
+ Sales
+ Profits
+
+
+ Last Year
+ This Year
+ Last Year
+ This Year
+
+
+
+
+
+
+ {{ rowData.brand }}
+
+ {{ rowData.lastYearSale }}
+ {{ rowData.thisYearSale }}
+ {{ rowData.lastYearProfit }}
+ {{ rowData.thisYearProfit }}
+
+
+
+
+ Totals
+ $3,283,772
+ $2,126,925
+
+
+ `,
+
+ html: `
+
+
+
+ Brand
+ Sale Rate
+
+
+ Sales
+ Profits
+
+
+ Last Year
+ This Year
+ Last Year
+ This Year
+
+
+
+
+
+
+ {{ rowData.brand }}
+
+ {{ rowData.lastYearSale }}
+ {{ rowData.thisYearSale }}
+ {{ rowData.lastYearProfit }}
+ {{ rowData.thisYearProfit }}
+
+
+
+
+ Totals
+ $3,283,772
+ $2,126,925
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { TreeTableModule } from 'primeng/treetable';
+
+@Component({
+ selector: 'tree-table-column-group-demo',
+ templateUrl: './tree-table-column-group-demo.html',
+ standalone: true,
+ imports: [TreeTableModule]
+})
+export class TreeTableColumnGroupDemo implements OnInit {
+ sales!: TreeNode[];
+
+ ngOnInit() {
+ this.sales = [
+ {
+ data: { brand: 'Bliss', lastYearSale: '51%', thisYearSale: '40%', lastYearProfit: '$54,406.00', thisYearProfit: '$43,342' },
+ children: [
+ {
+ data: { brand: 'Product A', lastYearSale: '25%', thisYearSale: '20%', lastYearProfit: '$34,406.00', thisYearProfit: '$23,342' },
+ children: [
+ {
+ data: { brand: 'Product A-1', lastYearSale: '20%', thisYearSale: '10%', lastYearProfit: '$24,406.00', thisYearProfit: '$13,342' }
+ },
+ {
+ data: { brand: 'Product A-2', lastYearSale: '5%', thisYearSale: '10%', lastYearProfit: '$10,000.00', thisYearProfit: '$10,000' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Product B', lastYearSale: '26%', thisYearSale: '20%', lastYearProfit: '$24,000.00', thisYearProfit: '$23,000' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Fate', lastYearSale: '83%', thisYearSale: '96%', lastYearProfit: '$423,132', thisYearProfit: '$312,122' },
+ children: [
+ {
+ data: { brand: 'Product X', lastYearSale: '50%', thisYearSale: '40%', lastYearProfit: '$223,132', thisYearProfit: '$156,061' }
+ },
+ {
+ data: { brand: 'Product Y', lastYearSale: '33%', thisYearSale: '56%', lastYearProfit: '$200,000', thisYearProfit: '$156,061' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Ruby', lastYearSale: '38%', thisYearSale: '5%', lastYearProfit: '$12,321', thisYearProfit: '$8,500' },
+ children: [
+ {
+ data: { brand: 'Product M', lastYearSale: '18%', thisYearSale: '2%', lastYearProfit: '$10,300', thisYearProfit: '$5,500' }
+ },
+ {
+ data: { brand: 'Product N', lastYearSale: '20%', thisYearSale: '3%', lastYearProfit: '$2,021', thisYearProfit: '$3,000' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Sky', lastYearSale: '49%', thisYearSale: '22%', lastYearProfit: '$745,232', thisYearProfit: '$650,323' },
+ children: [
+ {
+ data: { brand: 'Product P', lastYearSale: '20%', thisYearSale: '16%', lastYearProfit: '$345,232', thisYearProfit: '$350,000' }
+ },
+ {
+ data: { brand: 'Product R', lastYearSale: '29%', thisYearSale: '6%', lastYearProfit: '$400,009', thisYearProfit: '$300,323' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Comfort', lastYearSale: '17%', thisYearSale: '79%', lastYearProfit: '$643,242', thisYearProfit: '500,332' },
+ children: [
+ {
+ data: { brand: 'Product S', lastYearSale: '10%', thisYearSale: '40%', lastYearProfit: '$243,242', thisYearProfit: '$100,000' }
+ },
+ {
+ data: { brand: 'Product T', lastYearSale: '7%', thisYearSale: '39%', lastYearProfit: '$400,00', thisYearProfit: '$400,332' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Merit', lastYearSale: '52%', thisYearSale: ' 65%', lastYearProfit: '$421,132', thisYearProfit: '$150,005' },
+ children: [
+ {
+ data: { brand: 'Product L', lastYearSale: '20%', thisYearSale: '40%', lastYearProfit: '$121,132', thisYearProfit: '$100,000' }
+ },
+ {
+ data: { brand: 'Product G', lastYearSale: '32%', thisYearSale: '25%', lastYearProfit: '$300,000', thisYearProfit: '$50,005' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Violet', lastYearSale: '82%', thisYearSale: '12%', lastYearProfit: '$131,211', thisYearProfit: '$100,214' },
+ children: [
+ {
+ data: { brand: 'Product SH1', lastYearSale: '30%', thisYearSale: '6%', lastYearProfit: '$101,211', thisYearProfit: '$30,214' }
+ },
+ {
+ data: { brand: 'Product SH2', lastYearSale: '52%', thisYearSale: '6%', lastYearProfit: '$30,000', thisYearProfit: '$70,000' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Dulce', lastYearSale: '44%', thisYearSale: '45%', lastYearProfit: '$66,442', thisYearProfit: '$53,322' },
+ children: [
+ {
+ data: { brand: 'Product PN1', lastYearSale: '22%', thisYearSale: '25%', lastYearProfit: '$33,221', thisYearProfit: '$20,000' }
+ },
+ {
+ data: { brand: 'Product PN2', lastYearSale: '22%', thisYearSale: '25%', lastYearProfit: '$33,221', thisYearProfit: '$33,322' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Solace', lastYearSale: '90%', thisYearSale: '56%', lastYearProfit: '$765,442', thisYearProfit: '$296,232' },
+ children: [
+ {
+ data: { brand: 'Product HT1', lastYearSale: '60%', thisYearSale: '36%', lastYearProfit: '$465,000', thisYearProfit: '$150,653' }
+ },
+ {
+ data: { brand: 'Product HT2', lastYearSale: '30%', thisYearSale: '20%', lastYearProfit: '$300,442', thisYearProfit: '$145,579' }
+ }
+ ]
+ },
+ {
+ data: { brand: 'Essence', lastYearSale: '75%', thisYearSale: '54%', lastYearProfit: '$21,212', thisYearProfit: '$12,533' },
+ children: [
+ {
+ data: { brand: 'Product TS1', lastYearSale: '50%', thisYearSale: '34%', lastYearProfit: '$11,000', thisYearProfit: '$8,562' }
+ },
+ {
+ data: { brand: 'Product TS2', lastYearSale: '25%', thisYearSale: '20%', lastYearProfit: '$11,212', thisYearProfit: '$3,971' }
+ }
+ ]
+ }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/columnresizeexpanddoc.ts b/apps/showcase/doc/treetable/columnresizeexpanddoc.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treetable/columnresizeexpanddoc.ts
rename to apps/showcase/doc/treetable/columnresizeexpanddoc.ts
index f0ba3f4d5ef..609f8ae3285 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/columnresizeexpanddoc.ts
+++ b/apps/showcase/doc/treetable/columnresizeexpanddoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -56,10 +56,10 @@ export class ResizeExpandDoc {
}
code: Code = {
- basic: `
@@ -79,10 +79,10 @@ export class ResizeExpandDoc {
`,
html: `
-
@@ -104,7 +104,7 @@ export class ResizeExpandDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/columnresizefitdoc.ts b/apps/showcase/doc/treetable/columnresizefitdoc.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treetable/columnresizefitdoc.ts
rename to apps/showcase/doc/treetable/columnresizefitdoc.ts
index c15a39e9a1b..69e93d02750 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/columnresizefitdoc.ts
+++ b/apps/showcase/doc/treetable/columnresizefitdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -56,10 +56,10 @@ export class ResizeFitDoc {
}
code: Code = {
- basic: `
@@ -79,10 +79,10 @@ export class ResizeFitDoc {
`,
html: `
-
@@ -104,7 +104,7 @@ export class ResizeFitDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/columnresizescrollabledoc.ts b/apps/showcase/doc/treetable/columnresizescrollabledoc.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treetable/columnresizescrollabledoc.ts
rename to apps/showcase/doc/treetable/columnresizescrollabledoc.ts
index 3a9e72a61c6..3aa21275759 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/columnresizescrollabledoc.ts
+++ b/apps/showcase/doc/treetable/columnresizescrollabledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -61,11 +61,11 @@ export class ResizeScrollableDoc {
}
code: Code = {
- basic: `
@@ -90,11 +90,11 @@ export class ResizeScrollableDoc {
`,
html: `
-
@@ -121,7 +121,7 @@ export class ResizeScrollableDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/doc/treetable/columntoggledoc.ts b/apps/showcase/doc/treetable/columntoggledoc.ts
new file mode 100644
index 00000000000..792510c7915
--- /dev/null
+++ b/apps/showcase/doc/treetable/columntoggledoc.ts
@@ -0,0 +1,181 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'column-toggle-doc',
+ template: `
+
+ Column visibility based on a condition can be implemented with dynamic columns, in this sample a MultiSelect is used to manage the visible columns.
+
+
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ColumnToggleDoc {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ selectedColumns!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.selectedColumns = this.cols;
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+import { MultiSelectModule } from 'primeng/multiselect';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-column-toggle-demo',
+ templateUrl: './tree-table-column-toggle-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, MultiSelectModule, CommonModule],
+ providers: [NodeService]
+})
+export class TreeTableColumnToggleDemo implements OnInit {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ selectedColumns!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.selectedColumns = this.cols;
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/conditionalstyledoc.ts b/apps/showcase/doc/treetable/conditionalstyledoc.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/treetable/conditionalstyledoc.ts
rename to apps/showcase/doc/treetable/conditionalstyledoc.ts
index 387166dd218..84a9715a5c7 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/conditionalstyledoc.ts
+++ b/apps/showcase/doc/treetable/conditionalstyledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -56,10 +56,10 @@ export class ConditionalStyleDoc {
}
code: Code = {
- basic: `
@@ -70,8 +70,8 @@ export class ConditionalStyleDoc {
-
{{ rowData[col.field] }}
@@ -81,10 +81,10 @@ export class ConditionalStyleDoc {
`,
html: `
-
@@ -95,8 +95,8 @@ export class ConditionalStyleDoc {
-
{{ rowData[col.field] }}
@@ -108,7 +108,7 @@ export class ConditionalStyleDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/doc/treetable/contextmenudoc.ts b/apps/showcase/doc/treetable/contextmenudoc.ts
new file mode 100644
index 00000000000..7bd64f02d30
--- /dev/null
+++ b/apps/showcase/doc/treetable/contextmenudoc.ts
@@ -0,0 +1,202 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { MenuItem, MessageService, TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'context-menu-doc',
+ template: `
+
+ TreeTable has exclusive integration with ContextMenu using the contextMenu event to open a menu on right click alont with contextMenuSelection properties to control the selection via the menu.
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+
+ `,
+ providers: [MessageService],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ContextMenuDoc {
+ files!: TreeNode[];
+
+ selectedNode!: TreeNode;
+
+ cols!: Column[];
+
+ items!: MenuItem[];
+
+ constructor(
+ private nodeService: NodeService,
+ private messageService: MessageService
+ ) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.items = [
+ { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedNode) },
+ { label: 'Toggle', icon: 'pi pi-sort', command: (event) => this.toggleFile(this.selectedNode) }
+ ];
+ }
+
+ viewFile(node: any) {
+ this.messageService.add({ severity: 'info', summary: 'File Selected', detail: node.data.name + ' - ' + node.data.size });
+ }
+
+ toggleFile(node: any) {
+ node.expanded = !node.expanded;
+ this.files = [...this.files];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { MenuItem, MessageService, TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+import { ToastModule } from 'primeng/toast';
+import { ContextMenuModule } from 'primeng/contextmenu';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-context-menu-demo',
+ templateUrl: './tree-table-context-menu-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, ToastModule, ContextMenuModule, CommonModule],
+ providers: [MessageService, NodeService]
+})
+export class TreeTableContextMenuDemo implements OnInit{
+ files!: TreeNode[];
+
+ selectedNode!: TreeNode;
+
+ cols!: Column[];
+
+ items!: MenuItem[];
+
+ constructor(private nodeService: NodeService, private messageService: MessageService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.items = [
+ { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedNode) },
+ { label: 'Toggle', icon: 'pi pi-sort', command: (event) => this.toggleFile(this.selectedNode) }
+ ];
+ }
+
+ viewFile(node: any) {
+ this.messageService.add({ severity: 'info', summary: 'File Selected', detail: node.data.name + ' - ' + node.data.size });
+ }
+
+ toggleFile(node: any) {
+ node.expanded = !node.expanded;
+ this.files = [...this.files];
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/controlleddoc.ts b/apps/showcase/doc/treetable/controlleddoc.ts
new file mode 100644
index 00000000000..6ad34e1baf9
--- /dev/null
+++ b/apps/showcase/doc/treetable/controlleddoc.ts
@@ -0,0 +1,142 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'controlled-doc',
+ template: `
+ Expansion state is controlled with expandedKeys property.
+
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ControlledDoc {
+ files!: TreeNode[];
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => {
+ this.files = files.slice(0, 5);
+ this.cd.markForCheck();
+ });
+ }
+
+ toggleApplications() {
+ if (this.files && this.files.length > 0) {
+ const newFiles = [...this.files];
+ newFiles[0] = { ...newFiles[0], expanded: !newFiles[0].expanded };
+ this.files = newFiles;
+ }
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+ `,
+
+ html: `
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
`,
+
+ typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+import { ButtonModule } from 'primeng/button';
+
+@Component({
+ selector: 'tree-table-controlled-demo',
+ templateUrl: './tree-table-controlled-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, ButtonModule],
+ providers: [NodeService]
+})
+export class TreeTableControlledDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => {
+ this.files = files.slice(0, 5);
+ this.cd.markForCheck();
+ });
+ }
+
+ toggleApplications() {
+ if (this.files && this.files.length > 0) {
+ const newFiles = [...this.files];
+ newFiles[0] = { ...newFiles[0], expanded: !newFiles[0].expanded };
+ this.files = newFiles;
+ }
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/dynamiccolumnsdoc.ts b/apps/showcase/doc/treetable/dynamiccolumnsdoc.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/doc/treetable/dynamiccolumnsdoc.ts
rename to apps/showcase/doc/treetable/dynamiccolumnsdoc.ts
index 19c6c6b8816..8ede3f8be14 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/dynamiccolumnsdoc.ts
+++ b/apps/showcase/doc/treetable/dynamiccolumnsdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -93,7 +93,7 @@ export class DynamicColumnsDoc {
`,
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/editdoc.ts b/apps/showcase/doc/treetable/editdoc.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/doc/treetable/editdoc.ts
rename to apps/showcase/doc/treetable/editdoc.ts
index 155f103276e..381f58ab0eb 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/editdoc.ts
+++ b/apps/showcase/doc/treetable/editdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -61,10 +61,10 @@ export class EditDoc {
}
code: Code = {
- basic: `
@@ -91,10 +91,10 @@ export class EditDoc {
`,
html: `
-
@@ -123,7 +123,7 @@ export class EditDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/doc/treetable/filterdoc.ts b/apps/showcase/doc/treetable/filterdoc.ts
new file mode 100644
index 00000000000..7930af2dc16
--- /dev/null
+++ b/apps/showcase/doc/treetable/filterdoc.ts
@@ -0,0 +1,251 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'filter-doc',
+ template: `
+
+
+ The filterMode specifies the filtering strategy, in lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included. On the other hand, in
+ strict mode when the query matches a node, filtering continues on all descendants. A general filled called filterGlobal is also provided to search all columns that support filtering.
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+ No data found.
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class FilterDoc {
+ filterMode = 'lenient';
+
+ filterModes = [
+ { label: 'Lenient', value: 'lenient' },
+ { label: 'Strict', value: 'strict' }
+ ];
+
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+ No data found.
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+ No data found.
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { SelectButton } from 'primeng/selectbutton';
+import { FormsModule } from '@angular/forms';
+import { InputTextModule } from 'primeng/inputtext';
+import { CommonModule } from '@angular/common';
+import { IconFieldModule } from 'primeng/iconfield';
+import { InputIconModule } from 'primeng/inputicon';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-filter-demo',
+ templateUrl: './tree-table-filter-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, SelectButton, FormsModule, InputTextModule, CommonModule, IconFieldModule, InputIconModule],
+ providers: [NodeService]
+})
+export class TreeTableFilterDemo implements OnInit{
+ filterMode = 'lenient';
+
+ filterModes = [
+ { label: 'Lenient', value: 'lenient' },
+ { label: 'Strict', value: 'strict' }
+ ];
+
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/flexiblescrolldoc.ts b/apps/showcase/doc/treetable/flexiblescrolldoc.ts
new file mode 100644
index 00000000000..9e4ce75d3a6
--- /dev/null
+++ b/apps/showcase/doc/treetable/flexiblescrolldoc.ts
@@ -0,0 +1,182 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'flexible-scroll-doc',
+ template: `
+
+ Flex scroll feature makes the scrollable viewport section dynamic instead of a fixed value so that it can grow or shrink relative to the parent size of the table. Click the button below to display a maximizable Dialog where data
+ viewport adjusts itself according to the size changes.
+
+
+
+
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ScrollFlexibleDoc {
+ files!: TreeNode[];
+
+ dialogVisible: boolean = false;
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => {
+ this.files = files;
+ this.cd.markForCheck();
+ });
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+
+ {{ rowData.size }}
+
+
+ {{ rowData.type }}
+
+
+
+
+
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+
+ {{ rowData.size }}
+
+
+ {{ rowData.type }}
+
+
+
+
+
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+import { ButtonModule } from 'primeng/button';
+import { Dialog } from 'primeng/dialog';
+
+@Component({
+ selector: 'tree-table-flexible-scroll-demo',
+ templateUrl: './tree-table-flexible-scroll-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, ButtonModule, Dialog],
+ providers: [NodeService]
+})
+export class TreeTableFlexibleScrollDemo implements OnInit {
+ files!: TreeNode[];
+
+ dialogVisible: boolean = false;
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => {
+ this.files = files;
+ });
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/gridlinesdoc.ts b/apps/showcase/doc/treetable/gridlinesdoc.ts
new file mode 100644
index 00000000000..bc8c90ead78
--- /dev/null
+++ b/apps/showcase/doc/treetable/gridlinesdoc.ts
@@ -0,0 +1,115 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'gridlines-doc',
+ template: `
+
+ Enabling showGridlines displays grid lines.
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class GridlinesDoc {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ }
+
+ code: Code = {
+ basic: `
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+ `,
+
+ html: `
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+
+@Component({
+ selector: 'tree-table-gridlines-demo',
+ templateUrl: './tree-table-gridlines-demo.html',
+ standalone: true,
+ imports: [TreeTableModule],
+ providers: [NodeService]
+})
+export class TreeTableGridlinesDemo implements OnInit {
+ files!: TreeNode[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/importdoc.ts b/apps/showcase/doc/treetable/importdoc.ts
new file mode 100644
index 00000000000..0f103a53172
--- /dev/null
+++ b/apps/showcase/doc/treetable/importdoc.ts
@@ -0,0 +1,12 @@
+import { Code } from '@/domain/code';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'tree-table-import-doc',
+ template: ` `
+})
+export class ImportDoc {
+ code: Code = {
+ typescript: `import { TreeTableModule } from 'primeng/treetable';`
+ };
+}
diff --git a/apps/showcase/doc/treetable/lazyloaddoc.ts b/apps/showcase/doc/treetable/lazyloaddoc.ts
new file mode 100644
index 00000000000..d78d1c4ce52
--- /dev/null
+++ b/apps/showcase/doc/treetable/lazyloaddoc.ts
@@ -0,0 +1,293 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'lazy-load-doc',
+ template: `
+
+
+ Lazy mode is handy to deal with large datasets, instead of loading the entire data, small chunks of data is loaded by invoking corresponding callbacks everytime paging , sorting and filtering occurs. Sample below
+ imitates lazy loading data from a remote datasource using an in-memory list and timeouts to mimic network connection.
+
+
+ Enabling the lazy property and assigning the logical number of rows to totalRecords by doing a projection query are the key elements of the implementation so that paginator displays the UI assuming there are actually
+ records of totalRecords size although in reality they are not present on page, only the records that are displayed on the current page exist.
+
+ In addition, only the root elements should be loaded, children can be loaded on demand using onNodeExpand callback.
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class LazyLoadDoc implements OnInit {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ totalRecords!: number;
+
+ loading: boolean = false;
+
+ constructor(
+ private nodeService: NodeService,
+ private cd: ChangeDetectorRef
+ ) {}
+
+ ngOnInit() {
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.totalRecords = 1000;
+
+ this.loading = true;
+ }
+
+ loadNodes(event: any) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.files = [];
+
+ for (let i = 0; i < event.rows; i++) {
+ let node = {
+ data: {
+ name: 'Item ' + (event.first + i),
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + (event.first + i)
+ },
+ leaf: false
+ };
+
+ this.files.push(node);
+ }
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 1000);
+ }
+
+ onNodeExpand(event: any) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.loading = false;
+ const node = event.node;
+
+ node.children = [
+ {
+ data: {
+ name: node.data.name + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'File'
+ }
+ },
+ {
+ data: {
+ name: node.data.name + ' - 1',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'File'
+ }
+ }
+ ];
+
+ this.files = [...this.files];
+ this.cd.markForCheck();
+ }, 250);
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+
+ html: `
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { TreeTableModule } from 'primeng/treetable';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-lazy-load-demo',
+ templateUrl: './tree-table-lazy-load-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, CommonModule]
+})
+export class TreeTableLazyLoadDemo implements OnInit{
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ totalRecords!: number;
+
+ loading: boolean = false;
+
+ constructor(private cd: ChangeDetectorRef) {}
+
+ ngOnInit() {
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+
+ this.totalRecords = 1000;
+
+ this.loading = true;
+ }
+
+ loadNodes(event: any) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.files = [];
+
+ for (let i = 0; i < event.rows; i++) {
+ let node = {
+ data: {
+ name: 'Item ' + (event.first + i),
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + (event.first + i)
+ },
+ leaf: false
+ };
+
+ this.files.push(node);
+ }
+ this.loading = false;
+ this.cd.markForCheck();
+ }, 1000);
+ }
+
+ onNodeExpand(event: any) {
+ this.loading = true;
+
+ setTimeout(() => {
+ this.loading = false;
+ const node = event.node;
+
+ node.children = [
+ {
+ data: {
+ name: node.data.name + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'File'
+ }
+ },
+ {
+ data: {
+ name: node.data.name + ' - 1',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'File'
+ }
+ }
+ ];
+
+ this.files = [...this.files];
+ this.cd.markForCheck();
+ }, 250);
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/doc/treetable/paginatorbasicdoc.ts b/apps/showcase/doc/treetable/paginatorbasicdoc.ts
new file mode 100644
index 00000000000..93df73918cf
--- /dev/null
+++ b/apps/showcase/doc/treetable/paginatorbasicdoc.ts
@@ -0,0 +1,178 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'paginator-basic-doc',
+ template: `
+ Pagination is enabled by adding paginator property and defining rows per page.
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class PaginatorBasicDoc {
+ files!: TreeNode[];
+
+ cols!: Column[];
+ loadDemoData() {
+ this.files = [];
+ for (let i = 0; i < 50; i++) {
+ let node = {
+ data: {
+ name: 'Item ' + i,
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ },
+ children: [
+ {
+ data: {
+ name: 'Item ' + i + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ }
+ }
+ ]
+ };
+
+ this.files.push(node);
+ }
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+
+ html: `
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { TreeTableModule } from 'primeng/treetable';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-paginator-basic-demo',
+ templateUrl: './tree-table-paginator-basic-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, CommonModule]
+})
+export class TreeTablePaginatorBasicDemo implements OnInit {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ ngOnInit() {
+ this.files = [];
+ for(let i = 0; i < 50; i++) {
+ let node = {
+ data:{
+ name: 'Item ' + i,
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ },
+ children: [
+ {
+ data: {
+ name: 'Item ' + i + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ }
+ }
+ ]
+ };
+
+ this.files.push(node);
+ }
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/doc/treetable/paginatorlocaledoc.ts b/apps/showcase/doc/treetable/paginatorlocaledoc.ts
new file mode 100644
index 00000000000..295c2ad0f30
--- /dev/null
+++ b/apps/showcase/doc/treetable/paginatorlocaledoc.ts
@@ -0,0 +1,184 @@
+import { Code } from '@/domain/code';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'paginator-locale-doc',
+ template: `
+
+
+ Paginator localization information such as page numbers and rows per page options are defined with the
+ paginatorLocale property which defaults to the user locale.
+
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class PaginatorLocaleDoc {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ loadDemoData() {
+ this.files = [];
+ for (let i = 0; i < 50; i++) {
+ let node = {
+ data: {
+ name: 'Item ' + i,
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ },
+ children: [
+ {
+ data: {
+ name: 'Item ' + i + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ }
+ }
+ ]
+ };
+
+ this.files.push(node);
+ }
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+
+ html: `
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { TreeTableModule } from 'primeng/treetable';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-paginator-locale-demo',
+ templateUrl: './tree-table-paginator-locale-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, CommonModule]
+})
+export class TreeTablePaginatorLocaleDemo implements OnInit {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ ngOnInit() {
+ this.files = [];
+ for(let i = 0; i < 50; i++) {
+ let node = {
+ data:{
+ name: 'Item ' + i,
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ },
+ children: [
+ {
+ data: {
+ name: 'Item ' + i + ' - 0',
+ size: Math.floor(Math.random() * 1000) + 1 + 'kb',
+ type: 'Type ' + i
+ }
+ }
+ ]
+ };
+
+ this.files.push(node);
+ }
+
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+}`
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/paginatortemplatedoc.ts b/apps/showcase/doc/treetable/paginatortemplatedoc.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/doc/treetable/paginatortemplatedoc.ts
rename to apps/showcase/doc/treetable/paginatortemplatedoc.ts
index 4986c5d6072..44f6fabe04f 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/paginatortemplatedoc.ts
+++ b/apps/showcase/doc/treetable/paginatortemplatedoc.ts
@@ -1,6 +1,6 @@
+import { Code } from '@/domain/code';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
interface Column {
field: string;
@@ -84,12 +84,12 @@ export class PaginatorTemplateDoc {
}
code: Code = {
- basic: `
@@ -115,12 +115,12 @@ export class PaginatorTemplateDoc {
`,
html: `
-
diff --git a/apps/showcase/doc/treetable/reorderdoc.ts b/apps/showcase/doc/treetable/reorderdoc.ts
new file mode 100644
index 00000000000..d228d4da145
--- /dev/null
+++ b/apps/showcase/doc/treetable/reorderdoc.ts
@@ -0,0 +1,131 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'reorder-doc',
+ template: `
+
+ Order of the columns can be changed using drag and drop when reorderableColumns is present.
+
+
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class ReorderDoc {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+ `,
+
+ html: `
+
+
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
`,
+
+ typescript: `
+import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-reorder-demo',
+ templateUrl: './tree-table-reorder-demo.html'
+})
+export class TreeTableReorderDemo implements OnInit{
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' }
+ ];
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/scrollfrozencolumnsdoc.ts b/apps/showcase/doc/treetable/scrollfrozencolumnsdoc.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treetable/scrollfrozencolumnsdoc.ts
rename to apps/showcase/doc/treetable/scrollfrozencolumnsdoc.ts
index 727be08d234..972c6751a50 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/scrollfrozencolumnsdoc.ts
+++ b/apps/showcase/doc/treetable/scrollfrozencolumnsdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -83,14 +83,14 @@ export class FrozenColumnsDoc {
}
code: Code = {
- basic: `
@@ -122,14 +122,14 @@ export class FrozenColumnsDoc {
`,
html: `
-
@@ -163,7 +163,7 @@ export class FrozenColumnsDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/scrollhorizontaldoc.ts b/apps/showcase/doc/treetable/scrollhorizontaldoc.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/doc/treetable/scrollhorizontaldoc.ts
rename to apps/showcase/doc/treetable/scrollhorizontaldoc.ts
index 569a4158b83..fa0cc425c34 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/scrollhorizontaldoc.ts
+++ b/apps/showcase/doc/treetable/scrollhorizontaldoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -112,7 +112,7 @@ export class ScrollHorizontalDoc {
typescript: `
import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
interface Column {
field: string;
diff --git a/apps/showcase/src/app/showcase/doc/treetable/scrollverticaldoc.ts b/apps/showcase/doc/treetable/scrollverticaldoc.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/treetable/scrollverticaldoc.ts
rename to apps/showcase/doc/treetable/scrollverticaldoc.ts
index f693e01f702..59ac34b4c4c 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/scrollverticaldoc.ts
+++ b/apps/showcase/doc/treetable/scrollverticaldoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -56,12 +56,12 @@ export class ScrollVerticalDoc {
}
code: Code = {
- basic: `
@@ -81,12 +81,12 @@ export class ScrollVerticalDoc {
`,
html: `
-
@@ -108,7 +108,7 @@ export class ScrollVerticalDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/selectioncheckboxdoc.ts b/apps/showcase/doc/treetable/selectioncheckboxdoc.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/treetable/selectioncheckboxdoc.ts
rename to apps/showcase/doc/treetable/selectioncheckboxdoc.ts
index 580f1286005..ba2308d33a9 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/selectioncheckboxdoc.ts
+++ b/apps/showcase/doc/treetable/selectioncheckboxdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -78,13 +78,13 @@ export class SelectionCheckboxDoc {
}
code: Code = {
- basic: `
@@ -105,13 +105,13 @@ export class SelectionCheckboxDoc {
`,
html: `
-
@@ -133,7 +133,7 @@ export class SelectionCheckboxDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/selectioneventscdoc.ts b/apps/showcase/doc/treetable/selectioneventscdoc.ts
similarity index 89%
rename from apps/showcase/src/app/showcase/doc/treetable/selectioneventscdoc.ts
rename to apps/showcase/doc/treetable/selectioneventscdoc.ts
index 0775a52fe34..8c309e85d9a 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/selectioneventscdoc.ts
+++ b/apps/showcase/doc/treetable/selectioneventscdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { MessageService, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -87,15 +87,15 @@ export class SelectionEventsDoc {
}
code: Code = {
- basic: `
@@ -116,15 +116,15 @@ export class SelectionEventsDoc {
html: `
-
@@ -146,7 +146,7 @@ export class SelectionEventsDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { MessageService, TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { ToastModule } from 'primeng/toast';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/selectionmultipledoc.ts b/apps/showcase/doc/treetable/selectionmultipledoc.ts
similarity index 90%
rename from apps/showcase/src/app/showcase/doc/treetable/selectionmultipledoc.ts
rename to apps/showcase/doc/treetable/selectionmultipledoc.ts
index 419eac4fc52..fad33fb96ec 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/selectionmultipledoc.ts
+++ b/apps/showcase/doc/treetable/selectionmultipledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -69,14 +69,14 @@ export class SelectionMultipleDoc {
code: Code = {
basic: `
-
@@ -100,14 +100,14 @@ export class SelectionMultipleDoc {
Metakey
-
@@ -129,7 +129,7 @@ export class SelectionMultipleDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { FormsModule } from '@angular/forms';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/selectionsingledoc.ts b/apps/showcase/doc/treetable/selectionsingledoc.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/doc/treetable/selectionsingledoc.ts
rename to apps/showcase/doc/treetable/selectionsingledoc.ts
index 62694d4fb71..ff93f645122 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/selectionsingledoc.ts
+++ b/apps/showcase/doc/treetable/selectionsingledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -69,13 +69,13 @@ export class SelectionSingleDoc {
}
code: Code = {
- basic: `
@@ -99,13 +99,13 @@ export class SelectionSingleDoc {
Metakey
-
@@ -127,7 +127,7 @@ export class SelectionSingleDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { FormsModule } from '@angular/forms';
diff --git a/apps/showcase/doc/treetable/sizedoc.ts b/apps/showcase/doc/treetable/sizedoc.ts
new file mode 100644
index 00000000000..41e2e229f94
--- /dev/null
+++ b/apps/showcase/doc/treetable/sizedoc.ts
@@ -0,0 +1,163 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+@Component({
+ selector: 'size-doc',
+ template: `
+
+ In addition to a regular treetable, alternatives with alternative sizes are available. Add p-treetable-sm class to reduce the size of treetable or p-treetable-lg to enlarge it.
+
+
+
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class SizeDoc {
+ files!: TreeNode[];
+
+ sizes!: any[];
+
+ selectedSize: any = '';
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+
+ this.sizes = [
+ { name: 'Small', class: 'p-treetable-sm' },
+ { name: 'Normal', class: '' },
+ { name: 'Large', class: 'p-treetable-lg' }
+ ];
+ }
+
+ code: Code = {
+ basic: `
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+ `,
+
+ html: `
+
+
+
+
+ Name
+ Size
+ Type
+
+
+
+
+
+
+ {{ rowData.name }}
+
+ {{ rowData.size }}
+ {{ rowData.type }}
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { TreeTableModule } from 'primeng/treetable';
+import { SelectButton } from 'primeng/selectbutton';
+import { FormsModule } from '@angular/forms';
+
+@Component({
+ selector: 'tree-table-size-demo',
+ templateUrl: './tree-table-size-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, SelectButton, FormsModule],
+ providers: [NodeService]
+})
+export class TreeTableSizeDemo implements OnInit {
+ files!: TreeNode[];
+
+ sizes!: any[];
+
+ selectedSize: any = '';
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.sizes = [
+ { name: 'Small', class: 'p-treetable-sm' },
+ { name: 'Normal', class: '' },
+ { name: 'Large', class: 'p-treetable-lg' }
+ ];
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/sortmultiplecolumnsdoc.ts b/apps/showcase/doc/treetable/sortmultiplecolumnsdoc.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/doc/treetable/sortmultiplecolumnsdoc.ts
rename to apps/showcase/doc/treetable/sortmultiplecolumnsdoc.ts
index a4bacce0b46..2586a0f7afa 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/sortmultiplecolumnsdoc.ts
+++ b/apps/showcase/doc/treetable/sortmultiplecolumnsdoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -58,11 +58,11 @@ export class SortMultipleColumnsDoc {
}
code: Code = {
- basic: `
@@ -83,11 +83,11 @@ export class SortMultipleColumnsDoc {
`,
html: `
-
@@ -110,7 +110,7 @@ export class SortMultipleColumnsDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/sortremovabledoc.ts b/apps/showcase/doc/treetable/sortremovabledoc.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/doc/treetable/sortremovabledoc.ts
rename to apps/showcase/doc/treetable/sortremovabledoc.ts
index 3b0f8cb3a1d..205f2c4fd3e 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/sortremovabledoc.ts
+++ b/apps/showcase/doc/treetable/sortremovabledoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
import { SortEvent, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
import { TreeTable } from 'primeng/treetable';
interface Column {
@@ -178,7 +178,7 @@ export class SortRemovableDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/sortsinglecolumndoc.ts b/apps/showcase/doc/treetable/sortsinglecolumndoc.ts
similarity index 93%
rename from apps/showcase/src/app/showcase/doc/treetable/sortsinglecolumndoc.ts
rename to apps/showcase/doc/treetable/sortsinglecolumndoc.ts
index d42a6582700..f55a0c674fa 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/sortsinglecolumndoc.ts
+++ b/apps/showcase/doc/treetable/sortsinglecolumndoc.ts
@@ -1,7 +1,7 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
interface Column {
field: string;
@@ -58,10 +58,10 @@ export class SortSingleColumnDoc {
}
code: Code = {
- basic: `
@@ -82,10 +82,10 @@ export class SortSingleColumnDoc {
`,
html: `
-
@@ -108,7 +108,7 @@ export class SortSingleColumnDoc {
typescript: `import { Component, OnInit } from '@angular/core';
import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
+import { NodeService } from '@/service/nodeservice';
import { TreeTableModule } from 'primeng/treetable';
import { CommonModule } from '@angular/common';
diff --git a/apps/showcase/src/app/showcase/doc/treetable/styledoc.ts b/apps/showcase/doc/treetable/styledoc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/doc/treetable/styledoc.ts
rename to apps/showcase/doc/treetable/styledoc.ts
diff --git a/apps/showcase/doc/treetable/templatedoc.ts b/apps/showcase/doc/treetable/templatedoc.ts
new file mode 100644
index 00000000000..e73779ef4de
--- /dev/null
+++ b/apps/showcase/doc/treetable/templatedoc.ts
@@ -0,0 +1,166 @@
+import { Code } from '@/domain/code';
+import { NodeService } from '@/service/nodeservice';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'template-doc',
+ template: `
+
+ Custom content at caption , header , body and summary sections are supported via templating.
+
+
+
+
+ File Viewer
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `,
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class TemplateDoc {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ loadDemoData() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' },
+ { field: '', header: '' }
+ ];
+ }
+ code: Code = {
+ basic: `
+ File Viewer
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+
+
+
+ `,
+
+ html: `
+
+ File Viewer
+
+
+
+ {{ col.header }}
+
+
+
+
+
+
+
+ {{ rowData[col.field] }}
+
+
+
+
+
+
+
+
+
+
+
+
`,
+
+ typescript: `import { Component, OnInit } from '@angular/core';
+import { TreeNode } from 'primeng/api';
+import { NodeService } from '@/service/nodeservice';
+import { ButtonModule } from 'primeng/button';
+import { TreeTableModule } from 'primeng/treetable';
+import { CommonModule } from '@angular/common';
+
+interface Column {
+ field: string;
+ header: string;
+}
+
+@Component({
+ selector: 'tree-table-template-demo',
+ templateUrl: './tree-table-template-demo.html',
+ standalone: true,
+ imports: [TreeTableModule, ButtonModule, CommonModule],
+ providers: [NodeService]
+})
+export class TreeTableTemplateDemo implements OnInit {
+ files!: TreeNode[];
+
+ cols!: Column[];
+
+ constructor(private nodeService: NodeService) {}
+
+ ngOnInit() {
+ this.nodeService.getFilesystem().then((files) => (this.files = files));
+ this.cols = [
+ { field: 'name', header: 'Name' },
+ { field: 'size', header: 'Size' },
+ { field: 'type', header: 'Type' },
+ { field: '', header: '' }
+ ];
+ }
+}`,
+
+ service: ['NodeService']
+ };
+}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/treetabledoc.module.ts b/apps/showcase/doc/treetable/treetabledoc.module.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/doc/treetable/treetabledoc.module.ts
rename to apps/showcase/doc/treetable/treetabledoc.module.ts
index 5723e6cf959..12b2b45655c 100644
--- a/apps/showcase/src/app/showcase/doc/treetable/treetabledoc.module.ts
+++ b/apps/showcase/doc/treetable/treetabledoc.module.ts
@@ -1,55 +1,55 @@
+import { DeferredDemo } from '@/components/demo/deferreddemo';
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { AppDocModule } from '@/components/doc/app.doc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
-import { TreeTableModule } from 'primeng/treetable';
-import { AppDocModule } from '@layout/doc/app.doc.module';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { ButtonModule } from 'primeng/button';
-import { BasicDoc } from './basicdoc';
-import { TemplateDoc } from './templatedoc';
-import { DynamicColumnsDoc } from './dynamiccolumnsdoc';
-import { ImportDoc } from './importdoc';
-import { PaginatorBasicDoc } from './paginatorbasicdoc';
-import { PaginatorTemplateDoc } from './paginatortemplatedoc';
+import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
-import { SortSingleColumnDoc } from './sortsinglecolumndoc';
-import { FilterDoc } from './filterdoc';
+import { ButtonModule } from 'primeng/button';
+import { ContextMenuModule } from 'primeng/contextmenu';
+import { Dialog } from 'primeng/dialog';
+import { IconFieldModule } from 'primeng/iconfield';
+import { InputIconModule } from 'primeng/inputicon';
import { InputTextModule } from 'primeng/inputtext';
+import { MultiSelectModule } from 'primeng/multiselect';
import { SelectButton } from 'primeng/selectbutton';
-import { FormsModule } from '@angular/forms';
-import { SelectionSingleDoc } from './selectionsingledoc';
-import { SelectionMultipleDoc } from './selectionmultipledoc';
-import { SelectionCheckboxDoc } from './selectioncheckboxdoc';
-import { SelectionEventsDoc } from './selectioneventscdoc';
import { ToastModule } from 'primeng/toast';
+import { ToggleSwitchModule } from 'primeng/toggleswitch';
+import { TreeTableModule } from 'primeng/treetable';
+import { AccessibilityDoc } from './accessibilitydoc';
+import { BasicDoc } from './basicdoc';
import { ColumnGroupDoc } from './columngroupdoc';
-import { LazyLoadDoc } from './lazyloaddoc';
-import { EditDoc } from './editdoc';
-import { ScrollVerticalDoc } from './scrollverticaldoc';
-import { ScrollHorizontalDoc } from './scrollhorizontaldoc';
-import { FrozenColumnsDoc } from './scrollfrozencolumnsdoc';
-import { ResizeFitDoc } from './columnresizefitdoc';
import { ResizeExpandDoc } from './columnresizeexpanddoc';
-import { ReorderDoc } from './reorderdoc';
+import { ResizeFitDoc } from './columnresizefitdoc';
+import { ResizeScrollableDoc } from './columnresizescrollabledoc';
import { ColumnToggleDoc } from './columntoggledoc';
-import { MultiSelectModule } from 'primeng/multiselect';
import { ConditionalStyleDoc } from './conditionalstyledoc';
import { ContextMenuDoc } from './contextmenudoc';
-import { ContextMenuModule } from 'primeng/contextmenu';
-import { StyleDoc } from './styledoc';
-import { ResizeScrollableDoc } from './columnresizescrollabledoc';
-import { AccessibilityDoc } from './accessibilitydoc';
+import { ControlledDoc } from './controlleddoc';
+import { DynamicColumnsDoc } from './dynamiccolumnsdoc';
+import { EditDoc } from './editdoc';
+import { FilterDoc } from './filterdoc';
+import { ScrollFlexibleDoc } from './flexiblescrolldoc';
+import { GridlinesDoc } from './gridlinesdoc';
+import { ImportDoc } from './importdoc';
+import { LazyLoadDoc } from './lazyloaddoc';
+import { PaginatorBasicDoc } from './paginatorbasicdoc';
import { PaginatorLocaleDoc } from './paginatorlocaledoc';
+import { PaginatorTemplateDoc } from './paginatortemplatedoc';
+import { ReorderDoc } from './reorderdoc';
+import { FrozenColumnsDoc } from './scrollfrozencolumnsdoc';
+import { ScrollHorizontalDoc } from './scrollhorizontaldoc';
+import { ScrollVerticalDoc } from './scrollverticaldoc';
+import { SelectionCheckboxDoc } from './selectioncheckboxdoc';
+import { SelectionEventsDoc } from './selectioneventscdoc';
+import { SelectionMultipleDoc } from './selectionmultipledoc';
+import { SelectionSingleDoc } from './selectionsingledoc';
import { SizeDoc } from './sizedoc';
-import { GridlinesDoc } from './gridlinesdoc';
-import { ControlledDoc } from './controlleddoc';
-import { DeferredDemo } from '../../demo/deferreddemo';
import { SortMultipleColumnsDoc } from './sortmultiplecolumnsdoc';
-import { ScrollFlexibleDoc } from './flexiblescrolldoc';
-import { Dialog } from 'primeng/dialog';
import { SortRemovableDoc } from './sortremovabledoc';
-import { ToggleSwitchModule } from 'primeng/toggleswitch';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputIconModule } from 'primeng/inputicon';
+import { SortSingleColumnDoc } from './sortsinglecolumndoc';
+import { StyleDoc } from './styledoc';
+import { TemplateDoc } from './templatedoc';
@NgModule({
imports: [
diff --git a/apps/showcase/src/app/showcase/domain/appconfig.ts b/apps/showcase/domain/appconfig.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/appconfig.ts
rename to apps/showcase/domain/appconfig.ts
diff --git a/apps/showcase/src/app/showcase/domain/appstate.ts b/apps/showcase/domain/appstate.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/appstate.ts
rename to apps/showcase/domain/appstate.ts
diff --git a/apps/showcase/src/app/showcase/domain/car.ts b/apps/showcase/domain/car.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/car.ts
rename to apps/showcase/domain/car.ts
diff --git a/apps/showcase/src/app/showcase/domain/code.ts b/apps/showcase/domain/code.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/code.ts
rename to apps/showcase/domain/code.ts
diff --git a/apps/showcase/src/app/showcase/domain/customer.ts b/apps/showcase/domain/customer.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/customer.ts
rename to apps/showcase/domain/customer.ts
diff --git a/apps/showcase/src/app/showcase/domain/doc.ts b/apps/showcase/domain/doc.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/doc.ts
rename to apps/showcase/domain/doc.ts
diff --git a/apps/showcase/src/app/showcase/domain/image.ts b/apps/showcase/domain/image.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/image.ts
rename to apps/showcase/domain/image.ts
diff --git a/apps/showcase/src/app/showcase/domain/product.ts b/apps/showcase/domain/product.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/product.ts
rename to apps/showcase/domain/product.ts
diff --git a/apps/showcase/src/app/showcase/domain/theme.ts b/apps/showcase/domain/theme.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/domain/theme.ts
rename to apps/showcase/domain/theme.ts
diff --git a/apps/showcase/src/environments/environment.prod.ts b/apps/showcase/environments/environment.prod.ts
similarity index 100%
rename from apps/showcase/src/environments/environment.prod.ts
rename to apps/showcase/environments/environment.prod.ts
diff --git a/apps/showcase/src/environments/environment.ts b/apps/showcase/environments/environment.ts
similarity index 100%
rename from apps/showcase/src/environments/environment.ts
rename to apps/showcase/environments/environment.ts
diff --git a/apps/showcase/src/index.html b/apps/showcase/index.html
similarity index 92%
rename from apps/showcase/src/index.html
rename to apps/showcase/index.html
index eaac45de3e1..10dc1e6ad27 100755
--- a/apps/showcase/src/index.html
+++ b/apps/showcase/index.html
@@ -8,7 +8,7 @@
-
+
diff --git a/apps/showcase/pages/accordion/index.ts b/apps/showcase/pages/accordion/index.ts
new file mode 100755
index 00000000000..89a4c66e439
--- /dev/null
+++ b/apps/showcase/pages/accordion/index.ts
@@ -0,0 +1,67 @@
+import { AccessibilityDoc } from '@/doc/accordion/accessibilitydoc';
+import { AccordionDocModule } from '@/doc/accordion/accordiondoc.module';
+import { BasicDoc } from '@/doc/accordion/basicdoc';
+import { ControlledDoc } from '@/doc/accordion/controlleddoc';
+import { DisabledDoc } from '@/doc/accordion/disableddoc';
+import { DynamicDoc } from '@/doc/accordion/dynamicdoc';
+import { ImportDoc } from '@/doc/accordion/importdoc';
+import { MultipleDoc } from '@/doc/accordion/multipledoc';
+import { TemplateDoc } from '@/doc/accordion/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [AccordionDocModule],
+ standalone: true
+})
+export class AccordionDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/accordion/routes.ts b/apps/showcase/pages/accordion/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/accordion/routes.ts
rename to apps/showcase/pages/accordion/routes.ts
diff --git a/apps/showcase/pages/animateonscroll/index.ts b/apps/showcase/pages/animateonscroll/index.ts
new file mode 100755
index 00000000000..55edafa2dc7
--- /dev/null
+++ b/apps/showcase/pages/animateonscroll/index.ts
@@ -0,0 +1,36 @@
+import { AccessibilityDoc } from '@/doc/animateonscroll/accessibilitydoc';
+import { AnimateOnScrollDocModule } from '@/doc/animateonscroll/animateonscrolldoc.module';
+import { BasicDoc } from '@/doc/animateonscroll/basicdoc';
+import { ImportDoc } from '@/doc/animateonscroll/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [AnimateOnScrollDocModule],
+ standalone: true
+})
+export class AnimateOnScrollDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/animateonscroll/routes.ts b/apps/showcase/pages/animateonscroll/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/animateonscroll/routes.ts
rename to apps/showcase/pages/animateonscroll/routes.ts
diff --git a/apps/showcase/pages/autocomplete/index.ts b/apps/showcase/pages/autocomplete/index.ts
new file mode 100755
index 00000000000..13608f7ba37
--- /dev/null
+++ b/apps/showcase/pages/autocomplete/index.ts
@@ -0,0 +1,122 @@
+import { AccessibilityDoc } from '@/doc/autocomplete/accessibilitydoc';
+import { AutoCompleteDocModule } from '@/doc/autocomplete/autocompletedoc.module';
+import { BasicDoc } from '@/doc/autocomplete/basicdoc';
+import { DisabledDoc } from '@/doc/autocomplete/disableddoc';
+import { DropdownDoc } from '@/doc/autocomplete/dropdowndoc';
+import { FilledDoc } from '@/doc/autocomplete/filleddoc';
+import { FloatLabelDoc } from '@/doc/autocomplete/floatlabeldoc';
+import { ForceSelectionDoc } from '@/doc/autocomplete/forceselectiondoc';
+import { GroupDoc } from '@/doc/autocomplete/groupdoc';
+import { IftaLabelDoc } from '@/doc/autocomplete/iftalabeldoc';
+import { ImportDoc } from '@/doc/autocomplete/importdoc';
+import { InvalidDoc } from '@/doc/autocomplete/invaliddoc';
+import { MultipleDoc } from '@/doc/autocomplete/multipledoc';
+import { ObjectsDoc } from '@/doc/autocomplete/objectsdoc';
+import { ReactiveFormsDoc } from '@/doc/autocomplete/reactiveformsdoc';
+import { SizesDoc } from '@/doc/autocomplete/sizesdoc';
+import { TemplateDoc } from '@/doc/autocomplete/templatedoc';
+import { VirtualScrollDoc } from '@/doc/autocomplete/virtualscrolldoc';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [AutoCompleteDocModule],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class AutoCompleteDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'dropdown',
+ label: 'Dropdown',
+ component: DropdownDoc
+ },
+ {
+ id: 'objects',
+ label: 'Objects',
+ component: ObjectsDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'forceselection',
+ label: 'Force Selection',
+ component: ForceSelectionDoc
+ },
+ {
+ id: 'virtualscroll',
+ label: 'Virtual Scroll',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/autocomplete/routes.ts b/apps/showcase/pages/autocomplete/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/autocomplete/routes.ts
rename to apps/showcase/pages/autocomplete/routes.ts
diff --git a/apps/showcase/pages/autofocus/index.ts b/apps/showcase/pages/autofocus/index.ts
new file mode 100644
index 00000000000..b849b154365
--- /dev/null
+++ b/apps/showcase/pages/autofocus/index.ts
@@ -0,0 +1,24 @@
+import { AutoFocusDocModule } from '@/doc/autofocus/autofocusdoc.module';
+import { BasicDoc } from '@/doc/autofocus/basicdoc';
+import { ImportDoc } from '@/doc/autofocus/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [AutoFocusDocModule],
+ template: ` `
+})
+export class AutoFocusDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/autofocus/routes.ts b/apps/showcase/pages/autofocus/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/autofocus/routes.ts
rename to apps/showcase/pages/autofocus/routes.ts
diff --git a/apps/showcase/pages/avatar/index.ts b/apps/showcase/pages/avatar/index.ts
new file mode 100755
index 00000000000..6a710b73e07
--- /dev/null
+++ b/apps/showcase/pages/avatar/index.ts
@@ -0,0 +1,54 @@
+import { AccessibilityDoc } from '@/doc/avatar/accessibilitydoc';
+import { AvatarDocModule } from '@/doc/avatar/avatardoc.module';
+import { GroupDoc } from '@/doc/avatar/avatargroupdoc';
+import { IconDoc } from '@/doc/avatar/icondoc';
+import { ImageDoc } from '@/doc/avatar/imagedoc';
+import { ImportDoc } from '@/doc/avatar/importdoc';
+import { LabelDoc } from '@/doc/avatar/labeldoc';
+import { ShapeDoc } from '@/doc/avatar/shapedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [AvatarDocModule],
+ template: ` `
+})
+export class AvatarDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'label',
+ label: 'Label',
+ component: LabelDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'image',
+ label: 'Image',
+ component: ImageDoc
+ },
+ {
+ id: 'avatargroup',
+ label: 'AvatarGroup',
+ component: GroupDoc
+ },
+ {
+ id: 'shape',
+ label: 'Shape',
+ component: ShapeDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/avatar/routes.ts b/apps/showcase/pages/avatar/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/avatar/routes.ts
rename to apps/showcase/pages/avatar/routes.ts
diff --git a/apps/showcase/pages/badge/index.ts b/apps/showcase/pages/badge/index.ts
new file mode 100644
index 00000000000..192721cf035
--- /dev/null
+++ b/apps/showcase/pages/badge/index.ts
@@ -0,0 +1,60 @@
+import { AccessibilityDoc } from '@/doc/badge/accessibilitydoc';
+import { BadgeDocModule } from '@/doc/badge/badgedoc.module';
+import { BasicDoc } from '@/doc/badge/basicdoc';
+import { ButtonDoc } from '@/doc/badge/buttondoc';
+import { DirectiveDoc } from '@/doc/badge/directivedoc';
+import { ImportDoc } from '@/doc/badge/importdoc';
+import { OverlayDoc } from '@/doc/badge/overlaydoc';
+import { SeverityDoc } from '@/doc/badge/severitydoc';
+import { SizeDoc } from '@/doc/badge/sizedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [BadgeDocModule],
+ template: ` `
+})
+export class BadgeDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'directive',
+ label: 'Directive',
+ component: DirectiveDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'overlay',
+ label: 'Overlay',
+ component: OverlayDoc
+ },
+ {
+ id: 'button',
+ label: 'Button',
+ component: ButtonDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/badge/routes.ts b/apps/showcase/pages/badge/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/badge/routes.ts
rename to apps/showcase/pages/badge/routes.ts
diff --git a/apps/showcase/pages/blockui/index.ts b/apps/showcase/pages/blockui/index.ts
new file mode 100755
index 00000000000..d1c4d8b4a94
--- /dev/null
+++ b/apps/showcase/pages/blockui/index.ts
@@ -0,0 +1,80 @@
+import { AccessibilityDoc } from '@/doc/blockui/accessibilitydoc';
+import { BasicDoc } from '@/doc/blockui/basicdoc';
+import { BlockUIDocModule } from '@/doc/blockui/blockuidoc.module';
+import { DocumentDoc } from '@/doc/blockui/documentdoc';
+import { ImportDoc } from '@/doc/blockui/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [BlockUIDocModule],
+ template: ` `,
+ styles: [
+ `
+ :host ::ng-deep button {
+ margin-right: 0.25em;
+ }
+
+ :host ::ng-deep .p-overlay-mask-enter .pi.pi-lock {
+ animation: enter 150ms forwards;
+ }
+
+ :host ::ng-deep .p-overlay-mask-leave .pi.pi-lock {
+ animation: leave 150ms forwards;
+ }
+
+ @keyframes enter {
+ from {
+ color: transparent;
+ }
+ to {
+ color: var(--text-color);
+ }
+ }
+
+ @keyframes leave {
+ from {
+ color: var(--text-color);
+ }
+ to {
+ color: transparent;
+ }
+ }
+ `
+ ]
+})
+export class BlockUIDemo {
+ blockedPanel: boolean = false;
+
+ blockedDocument: boolean = false;
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'document',
+ label: 'Document',
+ component: DocumentDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+
+ blockDocument() {
+ this.blockedDocument = true;
+ setTimeout(() => {
+ this.blockedDocument = false;
+ }, 3000);
+ }
+}
diff --git a/apps/showcase/src/app/showcase/pages/blockui/routes.ts b/apps/showcase/pages/blockui/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/blockui/routes.ts
rename to apps/showcase/pages/blockui/routes.ts
diff --git a/apps/showcase/pages/breadcrumb/index.ts b/apps/showcase/pages/breadcrumb/index.ts
new file mode 100755
index 00000000000..b6928517382
--- /dev/null
+++ b/apps/showcase/pages/breadcrumb/index.ts
@@ -0,0 +1,45 @@
+import { AccessibilityDoc } from '@/doc/breadcrumb/accessibilitydoc';
+import { BasicDoc } from '@/doc/breadcrumb/basicdoc';
+import { BreadcrumbDocModule } from '@/doc/breadcrumb/breadcrumbdoc.module';
+import { ImportDoc } from '@/doc/breadcrumb/importdoc';
+import { RouterDoc } from '@/doc/breadcrumb/routerdoc';
+import { TemplateDoc } from '@/doc/breadcrumb/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [BreadcrumbDocModule],
+ template: `
+
+ `
+})
+export class BreadcrumbDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/breadcrumb/routes.ts b/apps/showcase/pages/breadcrumb/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/breadcrumb/routes.ts
rename to apps/showcase/pages/breadcrumb/routes.ts
diff --git a/apps/showcase/pages/button/index.ts b/apps/showcase/pages/button/index.ts
new file mode 100755
index 00000000000..ee31f0a25da
--- /dev/null
+++ b/apps/showcase/pages/button/index.ts
@@ -0,0 +1,129 @@
+import { AccessibilityDoc } from '@/doc/button/accessibilitydoc';
+import { BadgeDoc } from '@/doc/button/badgedoc';
+import { BasicDoc } from '@/doc/button/basicdoc';
+import { ButtonDocModule } from '@/doc/button/buttondoc.module';
+import { ButtonGroupDoc } from '@/doc/button/buttongroupdoc';
+import { DirectiveDoc } from '@/doc/button/directivedoc';
+import { DisabledDoc } from '@/doc/button/disableddoc';
+import { IconsDoc } from '@/doc/button/iconsdoc';
+import { IconOnlyDoc } from '@/doc/button/iconsonlydoc';
+import { ImportDoc } from '@/doc/button/importdoc';
+import { LinkDoc } from '@/doc/button/linkdoc';
+import { LoadingDoc } from '@/doc/button/loadingdoc';
+import { OutlinedDoc } from '@/doc/button/outlineddoc';
+import { RaisedDoc } from '@/doc/button/raiseddoc';
+import { RaisedTextDoc } from '@/doc/button/raisedtextdoc';
+import { RoundedDoc } from '@/doc/button/roundeddoc';
+import { SeverityDoc } from '@/doc/button/severitydoc';
+import { SizesDoc } from '@/doc/button/sizesdoc';
+import { TemplateDoc } from '@/doc/button/templatedoc';
+import { TextDoc } from '@/doc/button/textdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ButtonDocModule],
+ template: `
+
+ `
+})
+export class ButtonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'directive',
+ label: 'Directive',
+ component: DirectiveDoc
+ },
+ {
+ id: 'link',
+ label: 'Link',
+ component: LinkDoc
+ },
+ {
+ id: 'icons',
+ label: 'Icons',
+ component: IconsDoc
+ },
+ {
+ id: 'loading',
+ label: 'Loading',
+ component: LoadingDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'raised',
+ label: 'Raised',
+ component: RaisedDoc
+ },
+ {
+ id: 'rounded',
+ label: 'Rounded',
+ component: RoundedDoc
+ },
+ {
+ id: 'text',
+ label: 'Text',
+ component: TextDoc
+ },
+ {
+ id: 'raisedtext',
+ label: 'Raised Text',
+ component: RaisedTextDoc
+ },
+ {
+ id: 'outlined',
+ label: 'Outlined',
+ component: OutlinedDoc
+ },
+ {
+ id: 'icononly',
+ label: 'Icon Only',
+ component: IconOnlyDoc
+ },
+ {
+ id: 'badge',
+ label: 'Badge',
+ component: BadgeDoc
+ },
+ {
+ id: 'buttongroup',
+ label: 'Button Group',
+ component: ButtonGroupDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/button/routes.ts b/apps/showcase/pages/button/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/button/routes.ts
rename to apps/showcase/pages/button/routes.ts
diff --git a/apps/showcase/pages/card/index.ts b/apps/showcase/pages/card/index.ts
new file mode 100755
index 00000000000..801b2eeec18
--- /dev/null
+++ b/apps/showcase/pages/card/index.ts
@@ -0,0 +1,37 @@
+import { AccessibilityDoc } from '@/doc/card/accessibilitydoc';
+import { AdvancedDoc } from '@/doc/card/advanceddoc';
+import { BasicDoc } from '@/doc/card/basicdoc';
+import { CardDocModule } from '@/doc/card/carddoc.module';
+import { ImportDoc } from '@/doc/card/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CardDocModule],
+ template: ` `
+})
+export class CardDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'advanced',
+ label: 'Advanced',
+ component: AdvancedDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/card/routes.ts b/apps/showcase/pages/card/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/card/routes.ts
rename to apps/showcase/pages/card/routes.ts
diff --git a/apps/showcase/pages/carousel/index.ts b/apps/showcase/pages/carousel/index.ts
new file mode 100755
index 00000000000..2b9a7128dd2
--- /dev/null
+++ b/apps/showcase/pages/carousel/index.ts
@@ -0,0 +1,70 @@
+import { AccessibilityDoc } from '@/doc/carousel/accessibilitydoc';
+import { BasicDoc } from '@/doc/carousel/basicdoc';
+import { CarouselDocModule } from '@/doc/carousel/carouseldoc.module';
+import { CircularDoc } from '@/doc/carousel/circulardoc';
+import { ImportDoc } from '@/doc/carousel/importdoc';
+import { ResponsiveDoc } from '@/doc/carousel/responsivedoc';
+import { VerticalDoc } from '@/doc/carousel/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CarouselDocModule],
+ template: ` `
+ // styles: [
+ // `
+ // :host ::ng-deep {
+ // .product-item {
+ // .product-item-content {
+ // border: 1px solid var(--surface-d);
+ // border-radius: 3px;
+ // margin: 0.3rem;
+ // text-align: center;
+ // padding: 2rem 0;
+ // }
+ //
+ // .product-image {
+ // width: 50%;
+ // box-shadow:
+ // 0 3px 6px rgba(0, 0, 0, 0.16),
+ // 0 3px 6px rgba(0, 0, 0, 0.23);
+ // }
+ // }
+ // }
+ // `,
+ // ],
+})
+export class CarouselDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'circular',
+ label: 'Circular',
+ component: CircularDoc
+ },
+ {
+ id: 'responsive',
+ label: 'Responsive',
+ component: ResponsiveDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/carousel/routes.ts b/apps/showcase/pages/carousel/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/carousel/routes.ts
rename to apps/showcase/pages/carousel/routes.ts
diff --git a/apps/showcase/pages/cascadeselect/index.ts b/apps/showcase/pages/cascadeselect/index.ts
new file mode 100644
index 00000000000..a01aff22847
--- /dev/null
+++ b/apps/showcase/pages/cascadeselect/index.ts
@@ -0,0 +1,85 @@
+import { AccessibilityDoc } from '@/doc/cascadeselect/accessibilitydoc';
+import { BasicDoc } from '@/doc/cascadeselect/basicdoc';
+import { CascadeSelectDocModule } from '@/doc/cascadeselect/cascasdeselectdoc.module';
+import { DisabledDoc } from '@/doc/cascadeselect/disableddoc';
+import { FilledDoc } from '@/doc/cascadeselect/filleddoc';
+import { FloatLabelDoc } from '@/doc/cascadeselect/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/cascadeselect/iftalabeldoc';
+import { ImportDoc } from '@/doc/cascadeselect/importdoc';
+import { InvalidDoc } from '@/doc/cascadeselect/invaliddoc';
+import { LoadingDoc } from '@/doc/cascadeselect/loadingdoc';
+import { ReactiveFormsDoc } from '@/doc/cascadeselect/reactiveformsdoc';
+import { SizesDoc } from '@/doc/cascadeselect/sizesdoc';
+import { TemplateDoc } from '@/doc/cascadeselect/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CascadeSelectDocModule],
+ template: ` `
+})
+export class CascadeSelectDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'loading',
+ label: 'Loading State',
+ component: LoadingDoc
+ },
+ {
+ id: 'float-label',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'ifta-label',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/cascadeselect/routes.ts b/apps/showcase/pages/cascadeselect/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/cascadeselect/routes.ts
rename to apps/showcase/pages/cascadeselect/routes.ts
diff --git a/apps/showcase/pages/chart/index.ts b/apps/showcase/pages/chart/index.ts
new file mode 100755
index 00000000000..201b4b4c7dc
--- /dev/null
+++ b/apps/showcase/pages/chart/index.ts
@@ -0,0 +1,117 @@
+import { AccessibilityDoc } from '@/doc/chart/accessibilitydoc';
+import { BasicDoc } from '@/doc/chart/basicdoc';
+import { ChartDocModule } from '@/doc/chart/chartdoc.module';
+import { ChartjsDoc } from '@/doc/chart/chartjsdoc';
+import { ComboDoc } from '@/doc/chart/combodoc';
+import { DoughnutDoc } from '@/doc/chart/doughnutdoc';
+import { HorizontalBarDoc } from '@/doc/chart/horizontalbardoc';
+import { ImportDoc } from '@/doc/chart/importdoc';
+import { LineDoc } from '@/doc/chart/linedoc';
+import { LineStyleDoc } from '@/doc/chart/linestyledoc';
+import { MethodsDoc } from '@/doc/chart/methodsdoc';
+import { MultiAxisDoc } from '@/doc/chart/multiaxisdoc';
+import { PieDoc } from '@/doc/chart/piedoc';
+import { PolarAreaDoc } from '@/doc/chart/polarareadoc';
+import { PropsDoc } from '@/doc/chart/propsdoc';
+import { RadarDoc } from '@/doc/chart/radardoc';
+import { StackedBarDoc } from '@/doc/chart/stackedbardoc';
+import { VerticalBarDoc } from '@/doc/chart/verticalbardoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ChartDocModule],
+ template: ` `
+})
+export class ChartDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'chartjs',
+ label: 'Chart.js',
+ component: ChartjsDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'pie',
+ label: 'Pie',
+ component: PieDoc
+ },
+ {
+ id: 'doughnut',
+ label: 'Doughnut',
+ component: DoughnutDoc
+ },
+ {
+ id: 'verticalbar',
+ label: 'Vertical Bar',
+ component: VerticalBarDoc
+ },
+ {
+ id: 'horizontalbar',
+ label: 'Horizontal Bar',
+ component: HorizontalBarDoc
+ },
+ {
+ id: 'stackedbar',
+ label: 'Stacked Bar',
+ component: StackedBarDoc
+ },
+ {
+ id: 'line',
+ label: 'Line',
+ component: LineDoc
+ },
+ {
+ id: 'multiaxis',
+ label: 'MultiAxis',
+ component: MultiAxisDoc
+ },
+ {
+ id: 'linestyles',
+ label: 'Line Styles',
+ component: LineStyleDoc
+ },
+ {
+ id: 'polararea',
+ label: 'Polar Area',
+ component: PolarAreaDoc
+ },
+ {
+ id: 'Radar',
+ label: 'Radar',
+ component: RadarDoc
+ },
+ {
+ id: 'combo',
+ label: 'Combo',
+ component: ComboDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+
+ apiDocs = [
+ {
+ id: 'properties',
+ label: 'Properties',
+ component: PropsDoc
+ },
+ {
+ id: 'methods',
+ label: 'Methods',
+ component: MethodsDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/chart/routes.ts b/apps/showcase/pages/chart/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/chart/routes.ts
rename to apps/showcase/pages/chart/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/checkbox/checkboxdemo.module.ts b/apps/showcase/pages/checkbox/checkboxdemo.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/checkbox/checkboxdemo.module.ts
rename to apps/showcase/pages/checkbox/checkboxdemo.module.ts
diff --git a/apps/showcase/pages/checkbox/index.ts b/apps/showcase/pages/checkbox/index.ts
new file mode 100755
index 00000000000..044c08d3953
--- /dev/null
+++ b/apps/showcase/pages/checkbox/index.ts
@@ -0,0 +1,79 @@
+import { AccessibilityDoc } from '@/doc/checkbox/accessibilitydoc';
+import { BasicDoc } from '@/doc/checkbox/basicdoc';
+import { CheckboxDocModule } from '@/doc/checkbox/checkboxdoc.module';
+import { DisabledDoc } from '@/doc/checkbox/disableddoc';
+import { DynamicDoc } from '@/doc/checkbox/dynamicdoc';
+import { FilledDoc } from '@/doc/checkbox/filleddoc';
+import { ImportDoc } from '@/doc/checkbox/importdoc';
+import { IndeterminateDoc } from '@/doc/checkbox/indeterminatedoc';
+import { InvalidDoc } from '@/doc/checkbox/invaliddoc';
+import { MultipleDoc } from '@/doc/checkbox/multipledoc';
+import { ReactiveFormsDoc } from '@/doc/checkbox/reactiveformsdoc';
+import { SizesDoc } from '@/doc/checkbox/sizesdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CheckboxDocModule],
+ template: ` `
+})
+export class CheckboxDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'indeterminate',
+ label: 'Indeterminate',
+ component: IndeterminateDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: MultipleDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/checkbox/routes.ts b/apps/showcase/pages/checkbox/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/checkbox/routes.ts
rename to apps/showcase/pages/checkbox/routes.ts
diff --git a/apps/showcase/pages/chip/index.ts b/apps/showcase/pages/chip/index.ts
new file mode 100644
index 00000000000..ed06f23d8d7
--- /dev/null
+++ b/apps/showcase/pages/chip/index.ts
@@ -0,0 +1,49 @@
+import { AccessibilityDoc } from '@/doc/chip/accessibilitydoc';
+import { BasicDoc } from '@/doc/chip/basicdoc';
+import { ChipDocModule } from '@/doc/chip/chipdoc.module';
+import { IconDoc } from '@/doc/chip/icondoc';
+import { ImageDoc } from '@/doc/chip/imagedoc';
+import { ImportDoc } from '@/doc/chip/importdoc';
+import { TemplateDoc } from '@/doc/chip/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ChipDocModule],
+ template: ` `
+})
+export class ChipDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'image',
+ label: 'Image',
+ component: ImageDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/chip/routes.ts b/apps/showcase/pages/chip/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/chip/routes.ts
rename to apps/showcase/pages/chip/routes.ts
diff --git a/apps/showcase/pages/colorpicker/index.ts b/apps/showcase/pages/colorpicker/index.ts
new file mode 100755
index 00000000000..0e41c6667e6
--- /dev/null
+++ b/apps/showcase/pages/colorpicker/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/colorpicker/accessibilitydoc';
+import { BasicDoc } from '@/doc/colorpicker/basicdoc';
+import { ColorPickerDocModule } from '@/doc/colorpicker/colorpickerdoc.module';
+import { DisabledDoc } from '@/doc/colorpicker/disableddoc';
+import { FormatDoc } from '@/doc/colorpicker/formatdoc';
+import { ImportDoc } from '@/doc/colorpicker/importdoc';
+import { InlineDoc } from '@/doc/colorpicker/inlinedoc';
+import { ReactiveFormsDoc } from '@/doc/colorpicker/reactiveformsdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ColorPickerDocModule],
+ template: ` `
+})
+export class ColorPickerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'inline',
+ label: 'Inline',
+ component: InlineDoc
+ },
+ {
+ id: 'format',
+ label: 'Format',
+ component: FormatDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/colorpicker/routes.ts b/apps/showcase/pages/colorpicker/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/colorpicker/routes.ts
rename to apps/showcase/pages/colorpicker/routes.ts
diff --git a/apps/showcase/pages/colors/index.ts b/apps/showcase/pages/colors/index.ts
new file mode 100755
index 00000000000..46100943756
--- /dev/null
+++ b/apps/showcase/pages/colors/index.ts
@@ -0,0 +1,30 @@
+import { ColorsDocModule } from '@/doc/colors/colorsdoc.module';
+import { OverviewDoc } from '@/doc/colors/overviewdoc';
+import { PaletteDoc } from '@/doc/colors/palettedoc';
+import { SurfacesDoc } from '@/doc/colors/surfacesdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ColorsDocModule],
+ template: ` `
+})
+export class ColorsDemo {
+ docs = [
+ {
+ id: 'overview',
+ label: 'Overview',
+ component: OverviewDoc
+ },
+ {
+ id: 'surfaces',
+ label: 'Surfaces',
+ component: SurfacesDoc
+ },
+ {
+ id: 'palette',
+ label: 'Palette',
+ component: PaletteDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/colors/routes.ts b/apps/showcase/pages/colors/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/colors/routes.ts
rename to apps/showcase/pages/colors/routes.ts
diff --git a/apps/showcase/pages/configuration/index.ts b/apps/showcase/pages/configuration/index.ts
new file mode 100644
index 00000000000..1d2a85854a7
--- /dev/null
+++ b/apps/showcase/pages/configuration/index.ts
@@ -0,0 +1,86 @@
+import { ConfigurationDocModule } from '@/doc/configuration/configurationdoc.module';
+import { CspDoc } from '@/doc/configuration/cspdoc';
+import { FilterModeDoc } from '@/doc/configuration/filtermodedoc';
+import { ImportDoc } from '@/doc/configuration/importdoc';
+import { ApiDoc } from '@/doc/configuration/locale/apidoc';
+import { NgxTranslateDoc } from '@/doc/configuration/locale/ngx-translatedoc';
+import { RepositoryDoc } from '@/doc/configuration/locale/repositorydoc';
+import { SetLocaleDoc } from '@/doc/configuration/locale/setlocaledoc';
+import { RippleDoc } from '@/doc/configuration/rippledoc';
+import { ThemingDoc } from '@/doc/configuration/themingdoc';
+import { ZIndexDoc } from '@/doc/configuration/zindexdoc';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'configuration',
+ standalone: true,
+ imports: [CommonModule, ConfigurationDocModule],
+ template: ` `
+})
+export class ConfigurationDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'theming',
+ label: 'Theming',
+ component: ThemingDoc
+ },
+ {
+ id: 'ripple',
+ label: 'Ripple',
+ component: RippleDoc
+ },
+ {
+ id: 'zIndex',
+ label: 'ZIndex',
+ component: ZIndexDoc
+ },
+ {
+ id: 'csp',
+ label: 'CSP',
+ children: [
+ {
+ id: 'csp-nonce',
+ label: 'Nonce',
+ component: CspDoc
+ }
+ ]
+ },
+ {
+ id: 'filter-mode',
+ label: 'Filter Mode',
+ component: FilterModeDoc
+ },
+ {
+ id: 'locale',
+ label: 'Locale',
+ children: [
+ {
+ id: 'set-locale',
+ label: 'Set Locale',
+ component: SetLocaleDoc
+ },
+ {
+ id: 'ngx-translate',
+ label: 'Ngx-translate',
+ component: NgxTranslateDoc
+ },
+ {
+ id: 'repository',
+ label: 'Repository',
+ component: RepositoryDoc
+ },
+ {
+ id: 'api',
+ label: 'API',
+ component: ApiDoc
+ }
+ ]
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/configuration/routes.ts b/apps/showcase/pages/configuration/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/configuration/routes.ts
rename to apps/showcase/pages/configuration/routes.ts
diff --git a/apps/showcase/pages/confirmdialog/index.ts b/apps/showcase/pages/confirmdialog/index.ts
new file mode 100755
index 00000000000..cda03013cc6
--- /dev/null
+++ b/apps/showcase/pages/confirmdialog/index.ts
@@ -0,0 +1,57 @@
+import { AccessibilityDoc } from '@/doc/confirmdialog/accessibilitydoc';
+import { BasicDoc } from '@/doc/confirmdialog/basicdoc';
+import { ConfirmDialogDocModule } from '@/doc/confirmdialog/confirmdialogdoc.module';
+import { HeadlessDoc } from '@/doc/confirmdialog/headlessdoc';
+import { ImportDoc } from '@/doc/confirmdialog/importdoc';
+import { PositionDoc } from '@/doc/confirmdialog/positiondoc';
+import { TemplateDoc } from '@/doc/confirmdialog/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ConfirmDialogDocModule],
+ template: `
+
+ `
+})
+export class ConfirmDialogDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/confirmdialog/routes.ts b/apps/showcase/pages/confirmdialog/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/confirmdialog/routes.ts
rename to apps/showcase/pages/confirmdialog/routes.ts
diff --git a/apps/showcase/pages/confirmpopup/index.ts b/apps/showcase/pages/confirmpopup/index.ts
new file mode 100755
index 00000000000..20b00b7f695
--- /dev/null
+++ b/apps/showcase/pages/confirmpopup/index.ts
@@ -0,0 +1,52 @@
+import { AccessibilityDoc } from '@/doc/confirmpopup/accessibilitydoc';
+import { BasicDoc } from '@/doc/confirmpopup/basicdoc';
+import { ConfirmPopupDocModule } from '@/doc/confirmpopup/confirmpopupdoc.module';
+import { HeadlessDoc } from '@/doc/confirmpopup/headlessdoc';
+import { ImportDoc } from '@/doc/confirmpopup/importdoc';
+import { TemplateDoc } from '@/doc/confirmpopup/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ConfirmPopupDocModule],
+ template: `
+
+ `
+})
+export class ConfirmPopupDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/confirmpopup/routes.ts b/apps/showcase/pages/confirmpopup/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/confirmpopup/routes.ts
rename to apps/showcase/pages/confirmpopup/routes.ts
diff --git a/apps/showcase/pages/contextmenu/index.ts b/apps/showcase/pages/contextmenu/index.ts
new file mode 100755
index 00000000000..ba426b8c051
--- /dev/null
+++ b/apps/showcase/pages/contextmenu/index.ts
@@ -0,0 +1,63 @@
+import { AccessibilityDoc } from '@/doc/contextmenu/accessibilitydoc';
+import { BasicDoc } from '@/doc/contextmenu/basicdoc';
+import { CommandDoc } from '@/doc/contextmenu/commanddoc';
+import { ContextMenuDocModule } from '@/doc/contextmenu/contextmenudoc.module';
+import { DocumentDoc } from '@/doc/contextmenu/documentdoc';
+import { ImportDoc } from '@/doc/contextmenu/importdoc';
+import { RouterDoc } from '@/doc/contextmenu/routerdoc';
+import { TableDoc } from '@/doc/contextmenu/tabledoc';
+import { TemplateDoc } from '@/doc/contextmenu/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ContextMenuDocModule],
+ template: `
+
+ `
+})
+export class ContextMenuDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'document',
+ label: 'Document',
+ component: DocumentDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+ {
+ id: 'table',
+ label: 'Table',
+ component: TableDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/contextmenu/routes.ts b/apps/showcase/pages/contextmenu/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/contextmenu/routes.ts
rename to apps/showcase/pages/contextmenu/routes.ts
diff --git a/apps/showcase/pages/customicons/index.ts b/apps/showcase/pages/customicons/index.ts
new file mode 100755
index 00000000000..eb56486cf89
--- /dev/null
+++ b/apps/showcase/pages/customicons/index.ts
@@ -0,0 +1,36 @@
+import { CustomIconsDocModule } from '@/doc/customicons/customicons.module';
+import { FontAwesomeDoc } from '@/doc/customicons/fontawesomedoc';
+import { ImageDoc } from '@/doc/customicons/imagedoc';
+import { MaterialDoc } from '@/doc/customicons/materialdoc';
+import { SVGDoc } from '@/doc/customicons/svgdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CustomIconsDocModule],
+ template: ` `
+})
+export class CustomIconsDemo {
+ docs = [
+ {
+ id: 'material',
+ label: 'Material',
+ component: MaterialDoc
+ },
+ {
+ id: 'fontawesome',
+ label: 'Font Awesome',
+ component: FontAwesomeDoc
+ },
+ {
+ id: 'svg',
+ label: 'SVG',
+ component: SVGDoc
+ },
+ {
+ id: 'image',
+ label: 'Image',
+ component: ImageDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/customicons/routes.ts b/apps/showcase/pages/customicons/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/customicons/routes.ts
rename to apps/showcase/pages/customicons/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/dataview/dataviewdemo.scss b/apps/showcase/pages/dataview/dataviewdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dataview/dataviewdemo.scss
rename to apps/showcase/pages/dataview/dataviewdemo.scss
diff --git a/apps/showcase/pages/dataview/index.ts b/apps/showcase/pages/dataview/index.ts
new file mode 100755
index 00000000000..f2f47d23efd
--- /dev/null
+++ b/apps/showcase/pages/dataview/index.ts
@@ -0,0 +1,65 @@
+import { AccessibilityDoc } from '@/doc/dataview/accessibilitydoc';
+import { BasicDoc } from '@/doc/dataview/basicdoc';
+import { DataViewDocModule } from '@/doc/dataview/dataviewdoc.module';
+import { ImportDoc } from '@/doc/dataview/importdoc';
+import { LayoutDoc } from '@/doc/dataview/layoutdoc';
+import { LoadingDoc } from '@/doc/dataview/loadingdoc';
+import { PaginationDoc } from '@/doc/dataview/paginationdoc';
+import { SortingDoc } from '@/doc/dataview/sortingdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DataViewDocModule],
+ template: `
+
+ `,
+ styleUrls: ['./dataviewdemo.scss']
+})
+export class DataViewDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'pagination',
+ label: 'Pagination',
+ component: PaginationDoc
+ },
+ {
+ id: 'sorting',
+ label: 'Sorting',
+ component: SortingDoc
+ },
+ {
+ id: 'layout',
+ label: 'Layout',
+ component: LayoutDoc
+ },
+ {
+ id: 'loading',
+ label: 'Loading',
+ component: LoadingDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/dataview/routes.ts b/apps/showcase/pages/dataview/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dataview/routes.ts
rename to apps/showcase/pages/dataview/routes.ts
diff --git a/apps/showcase/pages/datepicker/index.ts b/apps/showcase/pages/datepicker/index.ts
new file mode 100755
index 00000000000..1cf5f35b9fb
--- /dev/null
+++ b/apps/showcase/pages/datepicker/index.ts
@@ -0,0 +1,151 @@
+import { AccessibilityDoc } from '@/doc/datepicker/accessibilitydoc';
+import { BasicDoc } from '@/doc/datepicker/basicdoc';
+import { ButtonBarDoc } from '@/doc/datepicker/buttonbardoc';
+import { DatePickerDocModule } from '@/doc/datepicker/datepickerdoc.module';
+import { DateTemplateDoc } from '@/doc/datepicker/datetemplatedoc';
+import { DisabledDoc } from '@/doc/datepicker/disableddoc';
+import { FilledDoc } from '@/doc/datepicker/filleddoc';
+import { FloatLabelDoc } from '@/doc/datepicker/floatlabeldoc';
+import { FormatDoc } from '@/doc/datepicker/formatdoc';
+import { IconDoc } from '@/doc/datepicker/icondoc';
+import { IftaLabelDoc } from '@/doc/datepicker/iftalabeldoc';
+import { ImportDoc } from '@/doc/datepicker/importdoc';
+import { InlineDoc } from '@/doc/datepicker/inlinedoc';
+import { InvalidDoc } from '@/doc/datepicker/invaliddoc';
+import { LocaleDoc } from '@/doc/datepicker/localedoc';
+import { MinMaxDoc } from '@/doc/datepicker/minmaxdox';
+import { MonthDoc } from '@/doc/datepicker/monthdoc';
+import { MultipleDoc } from '@/doc/datepicker/multipledoc';
+import { MultipleMonthDoc } from '@/doc/datepicker/multiplemonths.doc';
+import { RangeDoc } from '@/doc/datepicker/rangedoc';
+import { ReactiveFormsDoc } from '@/doc/datepicker/reactiveformsdoc';
+import { SizesDoc } from '@/doc/datepicker/sizesdoc';
+import { TimeDoc } from '@/doc/datepicker/timedoc';
+import { YearDoc } from '@/doc/datepicker/yeardoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DatePickerDocModule],
+ template: ` `
+})
+export class DatePickerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'format',
+ label: 'Format',
+ component: FormatDoc
+ },
+ {
+ id: 'locale',
+ label: 'Locale',
+ component: LocaleDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'minmax',
+ label: 'Min / Max',
+ component: MinMaxDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'range',
+ label: 'Range',
+ component: RangeDoc
+ },
+ {
+ id: 'buttonbar',
+ label: 'Button Bar',
+ component: ButtonBarDoc
+ },
+ {
+ id: 'time',
+ label: 'Time',
+ component: TimeDoc
+ },
+ {
+ id: 'monthpicker',
+ label: 'Month Picker',
+ component: MonthDoc
+ },
+ {
+ id: 'yearpicker',
+ label: 'Year Picker',
+ component: YearDoc
+ },
+ {
+ id: 'multiplemonths',
+ label: 'Multiple Months',
+ component: MultipleMonthDoc
+ },
+ {
+ id: 'datetemplate',
+ label: 'Date Template',
+ component: DateTemplateDoc
+ },
+ {
+ id: 'inline',
+ label: 'Inline',
+ component: InlineDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/datepicker/routes.ts b/apps/showcase/pages/datepicker/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/datepicker/routes.ts
rename to apps/showcase/pages/datepicker/routes.ts
diff --git a/apps/showcase/pages/defer/index.ts b/apps/showcase/pages/defer/index.ts
new file mode 100755
index 00000000000..d69440bac3a
--- /dev/null
+++ b/apps/showcase/pages/defer/index.ts
@@ -0,0 +1,50 @@
+import { BasicDoc } from '@/doc/defer/basicdoc';
+import { DataTableDoc } from '@/doc/defer/datatabledoc';
+import { DeferDocModule } from '@/doc/defer/deferdoc.module';
+import { ImportDoc } from '@/doc/defer/importdoc';
+import { CarService } from '@/service/carservice';
+import { Component, inject } from '@angular/core';
+import { MessageService } from 'primeng/api';
+import { Car } from '../domain/car';
+
+@Component({
+ standalone: true,
+ imports: [DeferDocModule],
+ template: ` `,
+ providers: [MessageService]
+})
+export class DeferDemo {
+ cars: Car[];
+
+ carService = inject(CarService);
+
+ messageService = inject(MessageService);
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'datatable',
+ label: 'DataTable',
+ component: DataTableDoc
+ }
+ ];
+
+ initData() {
+ this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
+ this.carService.getCarsSmall().then((cars) => (this.cars = cars));
+ }
+}
diff --git a/apps/showcase/src/app/showcase/pages/defer/routes.ts b/apps/showcase/pages/defer/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/defer/routes.ts
rename to apps/showcase/pages/defer/routes.ts
diff --git a/apps/showcase/pages/dialog/index.ts b/apps/showcase/pages/dialog/index.ts
new file mode 100755
index 00000000000..620064e442b
--- /dev/null
+++ b/apps/showcase/pages/dialog/index.ts
@@ -0,0 +1,73 @@
+import { AccessibilityDoc } from '@/doc/dialog/accessibilitydoc';
+import { BasicDoc } from '@/doc/dialog/basicdoc';
+import { DialogDocModule } from '@/doc/dialog/dialogdoc.module';
+import { HeadlessDoc } from '@/doc/dialog/headlessdoc';
+import { ImportDoc } from '@/doc/dialog/importdoc';
+import { LongContentDoc } from '@/doc/dialog/longcontentdoc';
+import { MaximizableDoc } from '@/doc/dialog/maximizabledoc';
+import { PositionDoc } from '@/doc/dialog/positiondoc';
+import { ResponsiveDoc } from '@/doc/dialog/responsivedoc';
+import { TemplateDoc } from '@/doc/dialog/templatedoc';
+import { WithoutModalDoc } from '@/doc/dialog/withoutmodaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DialogDocModule],
+ template: ` `
+})
+export class DialogDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionDoc
+ },
+ {
+ id: 'maximizable',
+ label: 'Maximizable',
+ component: MaximizableDoc
+ },
+ {
+ id: 'longcontent',
+ label: 'Long Content',
+ component: LongContentDoc
+ },
+ {
+ id: 'withoutmodal',
+ label: 'Without Modal',
+ component: WithoutModalDoc
+ },
+ {
+ id: 'responsive',
+ label: 'Responsive',
+ component: ResponsiveDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/dialog/routes.ts b/apps/showcase/pages/dialog/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dialog/routes.ts
rename to apps/showcase/pages/dialog/routes.ts
diff --git a/apps/showcase/pages/divider/index.ts b/apps/showcase/pages/divider/index.ts
new file mode 100644
index 00000000000..c33c0c1f75a
--- /dev/null
+++ b/apps/showcase/pages/divider/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/divider/accessibilitydoc';
+import { BasicDoc } from '@/doc/divider/basicdoc';
+import { ContentDoc } from '@/doc/divider/contentdoc';
+import { DividerDocModule } from '@/doc/divider/dividerdoc.module';
+import { ImportDoc } from '@/doc/divider/importdoc';
+import { LoginDoc } from '@/doc/divider/logindoc';
+import { TypeDoc } from '@/doc/divider/typedoc';
+import { VerticalDoc } from '@/doc/divider/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DividerDocModule],
+ template: ` `
+})
+export class DividerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'type',
+ label: 'Type',
+ component: TypeDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'content',
+ label: 'Content',
+ component: ContentDoc
+ },
+ {
+ id: 'login',
+ label: 'Login',
+ component: LoginDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/divider/routes.ts b/apps/showcase/pages/divider/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/divider/routes.ts
rename to apps/showcase/pages/divider/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/dock/dockdemo.scss b/apps/showcase/pages/dock/dockdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dock/dockdemo.scss
rename to apps/showcase/pages/dock/dockdemo.scss
diff --git a/apps/showcase/pages/dock/index.ts b/apps/showcase/pages/dock/index.ts
new file mode 100755
index 00000000000..5cebb83f069
--- /dev/null
+++ b/apps/showcase/pages/dock/index.ts
@@ -0,0 +1,38 @@
+import { AccessibilityDoc } from '@/doc/dock/accessibilitydoc';
+import { AdvancedDoc } from '@/doc/dock/advanceddoc';
+import { BasicDoc } from '@/doc/dock/basicdoc';
+import { DockDocModule } from '@/doc/dock/dockdoc.module';
+import { ImportDoc } from '@/doc/dock/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DockDocModule],
+ template: ` `,
+ styleUrls: ['./dockdemo.scss']
+})
+export class DockDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'advanced',
+ label: 'Advanced',
+ component: AdvancedDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/dock/routes.ts b/apps/showcase/pages/dock/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dock/routes.ts
rename to apps/showcase/pages/dock/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/domain/car.ts b/apps/showcase/pages/domain/car.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/domain/car.ts
rename to apps/showcase/pages/domain/car.ts
diff --git a/apps/showcase/src/app/showcase/pages/dragdrop/dragdropdemo.scss b/apps/showcase/pages/dragdrop/dragdropdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dragdrop/dragdropdemo.scss
rename to apps/showcase/pages/dragdrop/dragdropdemo.scss
diff --git a/apps/showcase/pages/dragdrop/index.ts b/apps/showcase/pages/dragdrop/index.ts
new file mode 100755
index 00000000000..bc5f98d0573
--- /dev/null
+++ b/apps/showcase/pages/dragdrop/index.ts
@@ -0,0 +1,43 @@
+import { BasicDoc } from '@/doc/dragdrop/basicdoc';
+import { DataTableDoc } from '@/doc/dragdrop/datatabledoc';
+import { DragDropDocModule } from '@/doc/dragdrop/dragdropdoc.module';
+import { DragHandleDoc } from '@/doc/dragdrop/draghandledoc';
+import { DropIndicatorDoc } from '@/doc/dragdrop/dropindicatordoc';
+import { ImportDoc } from '@/doc/dragdrop/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DragDropDocModule],
+ template: ` `,
+ styleUrls: ['./dragdropdemo.scss']
+})
+export class DragDropDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'datatable',
+ label: 'DataTable',
+ component: DataTableDoc
+ },
+ {
+ id: 'dropindicator',
+ label: 'Drop Indicator',
+ component: DropIndicatorDoc
+ },
+ {
+ id: 'draghandle',
+ label: 'Drag Handle',
+ component: DragHandleDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/dragdrop/routes.ts b/apps/showcase/pages/dragdrop/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dragdrop/routes.ts
rename to apps/showcase/pages/dragdrop/routes.ts
diff --git a/apps/showcase/pages/drawer/index.ts b/apps/showcase/pages/drawer/index.ts
new file mode 100755
index 00000000000..7a2376d30bb
--- /dev/null
+++ b/apps/showcase/pages/drawer/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/drawer/accessibilitydoc';
+import { BasicDoc } from '@/doc/drawer/basicdoc';
+import { DrawerDocModule } from '@/doc/drawer/drawerdoc.module';
+import { FullScreenDoc } from '@/doc/drawer/fullscreendoc';
+import { HeadlessDoc } from '@/doc/drawer/headlessdoc';
+import { ImportDoc } from '@/doc/drawer/importdoc';
+import { PositionDoc } from '@/doc/drawer/positiondoc';
+import { SizeDoc } from '@/doc/drawer/sizedoc';
+import { TemplateDoc } from '@/doc/drawer/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DrawerDocModule],
+ template: ` `
+})
+export class DrawerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'fullscreen',
+ label: 'Full Screen',
+ component: FullScreenDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/drawer/routes.ts b/apps/showcase/pages/drawer/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/drawer/routes.ts
rename to apps/showcase/pages/drawer/routes.ts
diff --git a/apps/showcase/pages/dynamicdialog/index.ts b/apps/showcase/pages/dynamicdialog/index.ts
new file mode 100755
index 00000000000..50883ce3da2
--- /dev/null
+++ b/apps/showcase/pages/dynamicdialog/index.ts
@@ -0,0 +1,63 @@
+import { CloseDoc } from '@/doc/dynamicdialog/closedoc';
+import { CustomizationDoc } from '@/doc/dynamicdialog/customizationdoc';
+import { DynamicDialogDocModule } from '@/doc/dynamicdialog/dynamicdialogdoc.module';
+import { ExampleDoc } from '@/doc/dynamicdialog/exampledoc';
+import { ImportDoc } from '@/doc/dynamicdialog/importdoc';
+import { OpenDoc } from '@/doc/dynamicdialog/opendoc';
+import { PassingDataDoc } from '@/doc/dynamicdialog/passingdatadoc';
+import { UsageDoc } from '@/doc/dynamicdialog/usagedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [DynamicDialogDocModule],
+ template: `
+
+ `
+})
+export class DynamicDialogDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'usage',
+ label: 'Usage',
+ component: UsageDoc
+ },
+ {
+ id: 'open',
+ label: 'Opening a Dialog',
+ component: OpenDoc
+ },
+ {
+ id: 'customization',
+ label: 'Customization',
+ component: CustomizationDoc
+ },
+ {
+ id: 'passingdata',
+ label: 'Passing Data',
+ component: PassingDataDoc
+ },
+ {
+ id: 'close',
+ label: 'Closing a Dialog',
+ component: CloseDoc
+ },
+ {
+ id: 'example',
+ label: 'Example',
+ component: ExampleDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/dynamicdialog/routes.ts b/apps/showcase/pages/dynamicdialog/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/dynamicdialog/routes.ts
rename to apps/showcase/pages/dynamicdialog/routes.ts
diff --git a/apps/showcase/pages/editor/index.ts b/apps/showcase/pages/editor/index.ts
new file mode 100755
index 00000000000..5c553edf00d
--- /dev/null
+++ b/apps/showcase/pages/editor/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/editor/accessibilitydoc';
+import { BasicDoc } from '@/doc/editor/basicdoc';
+import { CustomToolbarDoc } from '@/doc/editor/customtoolbardoc';
+import { EditorDocModule } from '@/doc/editor/editordoc.module';
+import { ImportDoc } from '@/doc/editor/importdoc';
+import { QuillDoc } from '@/doc/editor/quilldoc';
+import { ReactiveFormsDoc } from '@/doc/editor/reactiveformsdoc';
+import { ReadOnlyDoc } from '@/doc/editor/readonlydoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [EditorDocModule],
+ template: ` `
+})
+export class EditorDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'quill',
+ label: 'Quill',
+ component: QuillDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'readonly',
+ label: 'ReadOnly',
+ component: ReadOnlyDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: CustomToolbarDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/editor/routes.ts b/apps/showcase/pages/editor/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/editor/routes.ts
rename to apps/showcase/pages/editor/routes.ts
diff --git a/apps/showcase/pages/fieldset/index.ts b/apps/showcase/pages/fieldset/index.ts
new file mode 100755
index 00000000000..44abab7aba8
--- /dev/null
+++ b/apps/showcase/pages/fieldset/index.ts
@@ -0,0 +1,43 @@
+import { AccessibilityDoc } from '@/doc/fieldset/accessibilitydoc';
+import { BasicDoc } from '@/doc/fieldset/basicdoc';
+import { FieldsetDocModule } from '@/doc/fieldset/fieldsetdoc.module';
+import { ImportDoc } from '@/doc/fieldset/importdoc';
+import { TemplateDoc } from '@/doc/fieldset/templatedoc';
+import { ToggleableDoc } from '@/doc/fieldset/toggleabledoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [FieldsetDocModule],
+ template: ` `
+})
+export class FieldsetDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'toggleable',
+ label: 'Toggleable',
+ component: ToggleableDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/fieldset/routes.ts b/apps/showcase/pages/fieldset/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/fieldset/routes.ts
rename to apps/showcase/pages/fieldset/routes.ts
diff --git a/apps/showcase/pages/fileupload/index.ts b/apps/showcase/pages/fileupload/index.ts
new file mode 100755
index 00000000000..0d6a96abb70
--- /dev/null
+++ b/apps/showcase/pages/fileupload/index.ts
@@ -0,0 +1,56 @@
+import { AccessibilityDoc } from '@/doc/fileupload/accessibilitydoc';
+import { AdvancedDoc } from '@/doc/fileupload/advanceddoc';
+import { AutoDoc } from '@/doc/fileupload/autodoc';
+import { BasicDoc } from '@/doc/fileupload/basicdoc';
+import { FileUploadDocModule } from '@/doc/fileupload/fileuploaddoc.module';
+import { ImportDoc } from '@/doc/fileupload/importdoc';
+import { TemplateDoc } from '@/doc/fileupload/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [FileUploadDocModule],
+ template: ` `
+})
+export class FileUploadDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'auto',
+ label: 'Auto',
+ component: AutoDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'advanced',
+ label: 'Advanced',
+ component: AdvancedDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/fileupload/routes.ts b/apps/showcase/pages/fileupload/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/fileupload/routes.ts
rename to apps/showcase/pages/fileupload/routes.ts
diff --git a/apps/showcase/pages/filterservice/index.ts b/apps/showcase/pages/filterservice/index.ts
new file mode 100755
index 00000000000..4f798f4a1c6
--- /dev/null
+++ b/apps/showcase/pages/filterservice/index.ts
@@ -0,0 +1,48 @@
+import { ApiDoc } from '@/doc/filterservice/apidoc';
+import { BuiltInConstraintsDoc } from '@/doc/filterservice/builtinconstraintsdoc';
+import { CustomConstraintsDoc } from '@/doc/filterservice/customconstraintsdoc';
+import { FilterServiceDocModule } from '@/doc/filterservice/filterservicedoc.module';
+import { ImportDoc } from '@/doc/filterservice/importdoc';
+import { TableIntegrationDoc } from '@/doc/filterservice/tableintegrationdoc';
+import { UsageDoc } from '@/doc/filterservice/usagedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [FilterServiceDocModule],
+ template: ` `
+})
+export class FilterServiceDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'usage',
+ label: 'Usage',
+ component: UsageDoc
+ },
+ {
+ id: 'builtinconstraints',
+ label: 'Built-in Constraints',
+ component: BuiltInConstraintsDoc
+ },
+ {
+ id: 'customconstraints',
+ label: 'Custom Constraints',
+ component: CustomConstraintsDoc
+ },
+ {
+ id: 'table-integration',
+ label: 'Table Integration',
+ component: TableIntegrationDoc
+ },
+ {
+ id: 'api',
+ label: 'FilterService API',
+ component: ApiDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/filterservice/routes.ts b/apps/showcase/pages/filterservice/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/filterservice/routes.ts
rename to apps/showcase/pages/filterservice/routes.ts
diff --git a/apps/showcase/pages/floatlabel/index.ts b/apps/showcase/pages/floatlabel/index.ts
new file mode 100755
index 00000000000..8a270c41ddf
--- /dev/null
+++ b/apps/showcase/pages/floatlabel/index.ts
@@ -0,0 +1,42 @@
+import { AccessibilityDoc } from '@/doc/floatlabel/accessibilitydoc';
+import { BasicDoc } from '@/doc/floatlabel/basicdoc';
+import { FloatLabelDocModule } from '@/doc/floatlabel/floatlabeldoc.module';
+import { ImportDoc } from '@/doc/floatlabel/importdoc';
+import { InvalidDoc } from '@/doc/floatlabel/invaliddoc';
+import { VariantsDoc } from '@/doc/floatlabel/variantsdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [FloatLabelDocModule],
+ template: ` `
+})
+export class FloatLabelDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'variants',
+ label: 'Variants',
+ component: VariantsDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/floatlabel/routes.ts b/apps/showcase/pages/floatlabel/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/floatlabel/routes.ts
rename to apps/showcase/pages/floatlabel/routes.ts
diff --git a/apps/showcase/pages/fluid/index.ts b/apps/showcase/pages/fluid/index.ts
new file mode 100755
index 00000000000..150601f0c91
--- /dev/null
+++ b/apps/showcase/pages/fluid/index.ts
@@ -0,0 +1,30 @@
+import { AccessibilityDoc } from '@/doc/fluid/accessibilitydoc';
+import { BasicDoc } from '@/doc/fluid/basicdoc';
+import { FluidDocModule } from '@/doc/fluid/fluiddoc.module';
+import { ImportDoc } from '@/doc/fluid/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [FluidDocModule],
+ template: ` `
+})
+export class FluidDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/fluid/routes.ts b/apps/showcase/pages/fluid/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/fluid/routes.ts
rename to apps/showcase/pages/fluid/routes.ts
diff --git a/apps/showcase/pages/focustrap/index.ts b/apps/showcase/pages/focustrap/index.ts
new file mode 100644
index 00000000000..d7168c09f65
--- /dev/null
+++ b/apps/showcase/pages/focustrap/index.ts
@@ -0,0 +1,24 @@
+import { BasicDoc } from '@/doc/focustrap/basicdoc';
+import { FocusTrapDocModule } from '@/doc/focustrap/focustrapdoc.module';
+import { ImportDoc } from '@/doc/focustrap/importdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [FocusTrapDocModule]
+})
+export class FocusTrapDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/focustrap/routes.ts b/apps/showcase/pages/focustrap/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/focustrap/routes.ts
rename to apps/showcase/pages/focustrap/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/galleria/galleriademo.scss b/apps/showcase/pages/galleria/galleriademo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/galleria/galleriademo.scss
rename to apps/showcase/pages/galleria/galleriademo.scss
diff --git a/apps/showcase/pages/galleria/index.ts b/apps/showcase/pages/galleria/index.ts
new file mode 100644
index 00000000000..3d0e467a89f
--- /dev/null
+++ b/apps/showcase/pages/galleria/index.ts
@@ -0,0 +1,152 @@
+import { AccessibilityDoc } from '@/doc/galleria/accessibilitydoc';
+import { AdvancedDoc } from '@/doc/galleria/advanceddoc';
+import { AutoPlayDoc } from '@/doc/galleria/autoplaydoc';
+import { BasicDoc } from '@/doc/galleria/basicdoc';
+import { CaptionDoc } from '@/doc/galleria/captiondoc';
+import { ControlledDoc } from '@/doc/galleria/controlleddoc';
+import { FullScreenTemplateDoc } from '@/doc/galleria/fullscreen/customcontentdoc';
+import { WithoutThumbnailsDoc } from '@/doc/galleria/fullscreen/withoutthumbnailsdoc';
+import { WithThumbnailsDoc } from '@/doc/galleria/fullscreen/withthumbnailsdoc';
+import { GalleriaDocModule } from '@/doc/galleria/galleriadoc.module';
+import { ImportDoc } from '@/doc/galleria/importdoc';
+import { ClickEventDoc } from '@/doc/galleria/indicator/clickeventdoc';
+import { HoverEventDoc } from '@/doc/galleria/indicator/hovereventdoc';
+import { PositionedDoc } from '@/doc/galleria/indicator/positioneddoc';
+import { TemplateDoc } from '@/doc/galleria/indicator/templatedoc';
+import { HoverDoc } from '@/doc/galleria/navigator/hoverdoc';
+import { IndicatorsDoc } from '@/doc/galleria/navigator/indicatorsdoc';
+import { ItemThumbnailsDoc } from '@/doc/galleria/navigator/itemthumbnailsdoc';
+import { ItemWithoutThumbnailsDoc } from '@/doc/galleria/navigator/itemwithoutthumbnailsdoc';
+import { ResponsiveDoc } from '@/doc/galleria/responsivedoc';
+import { ThumbnailDoc } from '@/doc/galleria/thumbnaildoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [GalleriaDocModule],
+ styleUrl: './galleriademo.scss'
+})
+export class GalleriaDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'indicator',
+ label: 'Indicator',
+ children: [
+ {
+ id: 'clickevent',
+ label: 'Click Event',
+ component: ClickEventDoc
+ },
+ {
+ id: 'hoverevent',
+ label: 'Hover Event',
+ component: HoverEventDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionedDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ }
+ ]
+ },
+ {
+ id: 'thumbnail',
+ label: 'Thumbnail',
+ component: ThumbnailDoc
+ },
+ {
+ id: 'responsive',
+ label: 'Responsive',
+ component: ResponsiveDoc
+ },
+ {
+ id: 'fullscreen',
+ label: 'Full Screen',
+ children: [
+ {
+ id: 'withthumbnails',
+ label: 'With Thumbnails',
+ component: WithThumbnailsDoc
+ },
+ {
+ id: 'withtouthumbnails',
+ label: 'Without Thumbnails',
+ component: WithoutThumbnailsDoc
+ },
+ {
+ id: 'customcontent',
+ label: 'Custom Content',
+ component: FullScreenTemplateDoc
+ }
+ ]
+ },
+ {
+ id: 'navigator',
+ label: 'Navigator',
+ children: [
+ {
+ id: 'itemwiththumbnails',
+ label: 'With Thumbnails',
+ component: ItemThumbnailsDoc
+ },
+ {
+ id: 'itemwithtouthumbnails',
+ label: 'Without Thumbnails',
+ component: ItemWithoutThumbnailsDoc
+ },
+ {
+ id: 'hover',
+ label: 'Display on Hover',
+ component: HoverDoc
+ },
+ {
+ id: 'withindicators',
+ label: 'With Indicators',
+ component: IndicatorsDoc
+ }
+ ]
+ },
+ {
+ id: 'autoplay',
+ label: 'AutoPlay',
+ component: AutoPlayDoc
+ },
+ {
+ id: 'caption',
+ label: 'Caption',
+ component: CaptionDoc
+ },
+ {
+ id: 'advanced',
+ label: 'Advanced',
+ component: AdvancedDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/galleria/routes.ts b/apps/showcase/pages/galleria/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/galleria/routes.ts
rename to apps/showcase/pages/galleria/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/guides/accessibility/accessibilitydemo.component.html b/apps/showcase/pages/guides/accessibility/accessibilitydemo.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/guides/accessibility/accessibilitydemo.component.html
rename to apps/showcase/pages/guides/accessibility/accessibilitydemo.component.html
diff --git a/apps/showcase/pages/guides/accessibility/accessibilitydemo.component.ts b/apps/showcase/pages/guides/accessibility/accessibilitydemo.component.ts
new file mode 100644
index 00000000000..85d430a751b
--- /dev/null
+++ b/apps/showcase/pages/guides/accessibility/accessibilitydemo.component.ts
@@ -0,0 +1,46 @@
+import { ColorsDoc } from '@/doc/guides/accessibility/colorsdoc';
+import { FormControlsDoc } from '@/doc/guides/accessibility/formcontrolsdoc';
+import { IntroductionDoc } from '@/doc/guides/accessibility/introductiondoc';
+import { SemanticHTMLDoc } from '@/doc/guides/accessibility/semantichtmldoc';
+import { WAIARIADoc } from '@/doc/guides/accessibility/waiariadoc';
+import { WCAGDoc } from '@/doc/guides/accessibility/wcagdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'accessibility',
+ templateUrl: './accessibilitydemo.component.html'
+})
+export class AccessibilityDemoComponent {
+ docs = [
+ {
+ id: 'introduction',
+ label: 'Introduction',
+ component: IntroductionDoc
+ },
+ {
+ id: 'wcag',
+ label: 'WCAG',
+ component: WCAGDoc
+ },
+ {
+ id: 'form-controls',
+ label: 'Form Controls',
+ component: FormControlsDoc
+ },
+ {
+ id: 'semantic-html',
+ label: 'Semantic HTML',
+ component: SemanticHTMLDoc
+ },
+ {
+ id: 'wai-aria',
+ label: 'WAI-ARIA',
+ component: WAIARIADoc
+ },
+ {
+ id: 'colors',
+ label: 'Colors',
+ component: ColorsDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/guides/guides-routing.module.ts b/apps/showcase/pages/guides/guides-routing.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/guides/guides-routing.module.ts
rename to apps/showcase/pages/guides/guides-routing.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/guides/guides.module.ts b/apps/showcase/pages/guides/guides.module.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/pages/guides/guides.module.ts
rename to apps/showcase/pages/guides/guides.module.ts
index 0d652146c8e..67285289a75 100644
--- a/apps/showcase/src/app/showcase/pages/guides/guides.module.ts
+++ b/apps/showcase/pages/guides/guides.module.ts
@@ -1,11 +1,11 @@
+import { GuidesDocModule } from '@/doc/guides/guidesdoc.module';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { AccessibilityDemoComponent } from './accessibility/accessibilitydemo.component';
import { GuidesRoutingModule } from './guides-routing.module';
-import { TemplateUpdateDemoComponent } from './templateupdate/templateupdatedemo.component';
-import { GuidesDocModule } from '@doc/guides/guidesdoc.module';
-import { PrimeFlexDemoComponent } from './primeflex/primeflexdemo.component';
import { MigrationDemoComponent } from './migration/migration.component';
+import { PrimeFlexDemoComponent } from './primeflex/primeflexdemo.component';
+import { TemplateUpdateDemoComponent } from './templateupdate/templateupdatedemo.component';
@NgModule({
imports: [CommonModule, GuidesRoutingModule, GuidesDocModule],
diff --git a/apps/showcase/src/app/showcase/pages/guides/migration/migration.component.ts b/apps/showcase/pages/guides/migration/migration.component.ts
similarity index 76%
rename from apps/showcase/src/app/showcase/pages/guides/migration/migration.component.ts
rename to apps/showcase/pages/guides/migration/migration.component.ts
index b3c4ee661d4..378acb94c3b 100644
--- a/apps/showcase/src/app/showcase/pages/guides/migration/migration.component.ts
+++ b/apps/showcase/pages/guides/migration/migration.component.ts
@@ -1,8 +1,8 @@
+import { BreakingChangesDoc } from '@/doc/guides/migration/breakingchangesdoc';
+import { DeprecatedComponentsDoc } from '@/doc/guides/migration/deprecatedcomponentsdoc';
+import { MigrationOverviewDoc } from '@/doc/guides/migration/migrationoverviewdoc';
+import { RenamedComponentsDoc } from '@/doc/guides/migration/renamedcomponentsdoc';
import { Component } from '@angular/core';
-import { BreakingChangesDoc } from '@doc/guides/migration/breakingchangesdoc';
-import { DeprecatedComponentsDoc } from '@doc/guides/migration/deprecatedcomponentsdoc';
-import { MigrationOverviewDoc } from '@doc/guides/migration/migrationoverviewdoc';
-import { RenamedComponentsDoc } from '@doc/guides/migration/renamedcomponentsdoc';
@Component({
template: ` `
diff --git a/apps/showcase/src/app/showcase/pages/guides/primeflex/primeflexdemo.component.html b/apps/showcase/pages/guides/primeflex/primeflexdemo.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/guides/primeflex/primeflexdemo.component.html
rename to apps/showcase/pages/guides/primeflex/primeflexdemo.component.html
diff --git a/apps/showcase/pages/guides/primeflex/primeflexdemo.component.ts b/apps/showcase/pages/guides/primeflex/primeflexdemo.component.ts
new file mode 100644
index 00000000000..7e082b5f4d7
--- /dev/null
+++ b/apps/showcase/pages/guides/primeflex/primeflexdemo.component.ts
@@ -0,0 +1,28 @@
+import { MigrationDoc } from '@/doc/guides/primeflex/migrationdoc';
+import { OverviewDoc } from '@/doc/guides/primeflex/overviewdoc';
+import { TailwindCSSDoc } from '@/doc/guides/primeflex/tailwindcssdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'css-layer',
+ templateUrl: './primeflexdemo.component.html'
+})
+export class PrimeFlexDemoComponent {
+ docs = [
+ {
+ id: 'overview',
+ label: 'Overview',
+ component: OverviewDoc
+ },
+ {
+ id: 'tailwindcss',
+ label: 'Tailwind CSS',
+ component: TailwindCSSDoc
+ },
+ {
+ id: 'migration',
+ label: 'Migration',
+ component: MigrationDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/guides/templateupdate/templateupdatedemo.component.html b/apps/showcase/pages/guides/templateupdate/templateupdatedemo.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/guides/templateupdate/templateupdatedemo.component.html
rename to apps/showcase/pages/guides/templateupdate/templateupdatedemo.component.html
diff --git a/apps/showcase/src/app/showcase/pages/guides/templateupdate/templateupdatedemo.component.ts b/apps/showcase/pages/guides/templateupdate/templateupdatedemo.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/guides/templateupdate/templateupdatedemo.component.ts
rename to apps/showcase/pages/guides/templateupdate/templateupdatedemo.component.ts
diff --git a/apps/showcase/pages/iconfield/index.ts b/apps/showcase/pages/iconfield/index.ts
new file mode 100644
index 00000000000..ea1362fd0b3
--- /dev/null
+++ b/apps/showcase/pages/iconfield/index.ts
@@ -0,0 +1,54 @@
+import { AccessibilityDoc } from '@/doc/iconfield/accessibilitydoc';
+import { BasicDoc } from '@/doc/iconfield/basicdoc';
+import { FloatLabelDoc } from '@/doc/iconfield/floatlabeldoc';
+import { IconFieldDocModule } from '@/doc/iconfield/iconfielddoc.module';
+import { IftaLabelDoc } from '@/doc/iconfield/iftalabeldoc';
+import { ImportDoc } from '@/doc/iconfield/importdoc';
+import { SizesDoc } from '@/doc/iconfield/sizesdoc';
+import { TemplateDoc } from '@/doc/iconfield/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [IconFieldDocModule]
+})
+export class IconFieldDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/iconfield/routes.ts b/apps/showcase/pages/iconfield/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/iconfield/routes.ts
rename to apps/showcase/pages/iconfield/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/icons/iconsdemo.component.scss b/apps/showcase/pages/icons/iconsdemo.component.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/icons/iconsdemo.component.scss
rename to apps/showcase/pages/icons/iconsdemo.component.scss
diff --git a/apps/showcase/pages/icons/index.ts b/apps/showcase/pages/icons/index.ts
new file mode 100755
index 00000000000..80758252ba5
--- /dev/null
+++ b/apps/showcase/pages/icons/index.ts
@@ -0,0 +1,75 @@
+import { BasicDoc } from '@/doc/icons/basicdoc';
+import { ColorDoc } from '@/doc/icons/colordoc';
+import { ConstantsDoc } from '@/doc/icons/constantsdoc';
+import { DownloadDoc } from '@/doc/icons/downloaddoc';
+import { FigmaDoc } from '@/doc/icons/figmadoc';
+import { IconsDocModule } from '@/doc/icons/icons.module';
+import { ImportDoc } from '@/doc/icons/importdoc';
+import { ListDoc } from '@/doc/icons/listdoc';
+import { SizeDoc } from '@/doc/icons/sizedoc';
+import { SpinDoc } from '@/doc/icons/spindoc';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CommonModule, IconsDocModule],
+ template: `
+
+ `,
+ styleUrls: ['./iconsdemo.component.scss']
+})
+export class IconsDemo {
+ docs = [
+ {
+ id: 'download',
+ label: 'Download',
+ component: DownloadDoc
+ },
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'figma',
+ label: 'Figma',
+ component: FigmaDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'color',
+ label: 'Color',
+ component: ColorDoc
+ },
+ {
+ id: 'spin',
+ label: 'Spin',
+ component: SpinDoc
+ },
+ {
+ id: 'constants',
+ label: 'Constants',
+ component: ConstantsDoc
+ },
+ {
+ id: 'list',
+ label: 'List',
+ component: ListDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/icons/routes.ts b/apps/showcase/pages/icons/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/icons/routes.ts
rename to apps/showcase/pages/icons/routes.ts
diff --git a/apps/showcase/pages/iftalabel/index.ts b/apps/showcase/pages/iftalabel/index.ts
new file mode 100755
index 00000000000..70a81ce120d
--- /dev/null
+++ b/apps/showcase/pages/iftalabel/index.ts
@@ -0,0 +1,36 @@
+import { AccessibilityDoc } from '@/doc/iftalabel/accessibilitydoc';
+import { BasicDoc } from '@/doc/iftalabel/basicdoc';
+import { IftaLabelDocModule } from '@/doc/iftalabel/iftalabeldoc.module';
+import { ImportDoc } from '@/doc/iftalabel/importdoc';
+import { InvalidDoc } from '@/doc/iftalabel/invaliddoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [IftaLabelDocModule],
+ template: ` `
+})
+export class IftaLabelDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/iftalabel/routes.ts b/apps/showcase/pages/iftalabel/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/iftalabel/routes.ts
rename to apps/showcase/pages/iftalabel/routes.ts
diff --git a/apps/showcase/pages/image/index.ts b/apps/showcase/pages/image/index.ts
new file mode 100644
index 00000000000..64b5f3c7d59
--- /dev/null
+++ b/apps/showcase/pages/image/index.ts
@@ -0,0 +1,42 @@
+import { AccessibilityDoc } from '@/doc/Image/accessibilitydoc';
+import { BasicDoc } from '@/doc/Image/basicdoc';
+import { ImageDocModule } from '@/doc/Image/imagedoc.module';
+import { ImportDoc } from '@/doc/Image/importdoc';
+import { PreviewDoc } from '@/doc/Image/previewdoc';
+import { TemplateDoc } from '@/doc/Image/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ImageDocModule]
+})
+export class ImageDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'preview',
+ label: 'Preview',
+ component: PreviewDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/image/routes.ts b/apps/showcase/pages/image/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/image/routes.ts
rename to apps/showcase/pages/image/routes.ts
diff --git a/apps/showcase/pages/inplace/index.ts b/apps/showcase/pages/inplace/index.ts
new file mode 100755
index 00000000000..aa786c27a8f
--- /dev/null
+++ b/apps/showcase/pages/inplace/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/inplace/accessibilitydoc';
+import { BasicDoc } from '@/doc/inplace/basicdoc';
+import { ImageDoc } from '@/doc/inplace/imagedoc';
+import { ImportDoc } from '@/doc/inplace/importdoc';
+import { InplaceDocModule } from '@/doc/inplace/inplacedoc.module';
+import { InputDoc } from '@/doc/inplace/inputdoc';
+import { LazyDoc } from '@/doc/inplace/lazydoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [InplaceDocModule],
+ template: ` `
+})
+export class InplaceDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'input',
+ label: 'Input',
+ component: InputDoc
+ },
+ {
+ id: 'image',
+ label: 'Image',
+ component: ImageDoc
+ },
+ {
+ id: 'lazy',
+ label: 'Lazy',
+ component: LazyDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inplace/routes.ts b/apps/showcase/pages/inplace/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inplace/routes.ts
rename to apps/showcase/pages/inplace/routes.ts
diff --git a/apps/showcase/pages/inputgroup/index.ts b/apps/showcase/pages/inputgroup/index.ts
new file mode 100644
index 00000000000..adb90d515ea
--- /dev/null
+++ b/apps/showcase/pages/inputgroup/index.ts
@@ -0,0 +1,60 @@
+import { AccessibilityDoc } from '@/doc/inputgroup/accessibilitydoc';
+import { BasicDoc } from '@/doc/inputgroup/basicdoc';
+import { ButtonDoc } from '@/doc/inputgroup/buttondoc';
+import { CheckboxDoc } from '@/doc/inputgroup/checkboxdoc';
+import { FloatLabelDoc } from '@/doc/inputgroup/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/inputgroup/iftalabeldoc';
+import { ImportDoc } from '@/doc/inputgroup/importdoc';
+import { InputGroupDocModule } from '@/doc/inputgroup/inputgroupddoc.module';
+import { MultipleDoc } from '@/doc/inputgroup/multipledoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [InputGroupDocModule]
+})
+export class InputGroupDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'button',
+ label: 'Button',
+ component: ButtonDoc
+ },
+ {
+ id: 'checkbox',
+ label: 'Checkbox & Radio',
+ component: CheckboxDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inputgroup/routes.ts b/apps/showcase/pages/inputgroup/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inputgroup/routes.ts
rename to apps/showcase/pages/inputgroup/routes.ts
diff --git a/apps/showcase/pages/inputmask/index.ts b/apps/showcase/pages/inputmask/index.ts
new file mode 100644
index 00000000000..e4a6856b625
--- /dev/null
+++ b/apps/showcase/pages/inputmask/index.ts
@@ -0,0 +1,98 @@
+import { AccessibilityDoc } from '@/doc/inputmask/accessibilitydoc';
+import { BasicDoc } from '@/doc/inputmask/basicdoc';
+import { DisabledDoc } from '@/doc/inputmask/disableddoc';
+import { FilledDoc } from '@/doc/inputmask/filleddoc';
+import { FloatlabelDoc } from '@/doc/inputmask/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/inputmask/iftalabeldoc';
+import { ImportDoc } from '@/doc/inputmask/importdoc';
+import { InputMaskDocModule } from '@/doc/inputmask/inputmaskdoc.module';
+import { InvalidDoc } from '@/doc/inputmask/invaliddoc';
+import { MaskDoc } from '@/doc/inputmask/maskdoc';
+import { OptionalDoc } from '@/doc/inputmask/optionaldoc';
+import { ReactiveFormsDoc } from '@/doc/inputmask/reactiveformsdoc';
+import { SizesDoc } from '@/doc/inputmask/sizesdoc';
+import { SlotCharDoc } from '@/doc/inputmask/slotchardoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [InputMaskDocModule]
+})
+export class InputMaskDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'mask',
+ label: 'Mask',
+ component: MaskDoc
+ },
+ {
+ id: 'optional',
+ label: 'Optional',
+ component: OptionalDoc
+ },
+ {
+ id: 'slotchar',
+ label: 'SlotChar',
+ component: SlotCharDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatlabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inputmask/routes.ts b/apps/showcase/pages/inputmask/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inputmask/routes.ts
rename to apps/showcase/pages/inputmask/routes.ts
diff --git a/apps/showcase/pages/inputnumber/index.ts b/apps/showcase/pages/inputnumber/index.ts
new file mode 100644
index 00000000000..a26e2fc4e8c
--- /dev/null
+++ b/apps/showcase/pages/inputnumber/index.ts
@@ -0,0 +1,103 @@
+import { AccessibilityDoc } from '@/doc/inputnumber/accessibilitydoc';
+import { ButtonsDoc } from '@/doc/inputnumber/buttonsdoc';
+import { CurrencyDoc } from '@/doc/inputnumber/currencydoc';
+import { DisabledDoc } from '@/doc/inputnumber/disableddoc';
+import { FilledDoc } from '@/doc/inputnumber/filleddoc';
+import { FloatlabelDoc } from '@/doc/inputnumber/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/inputnumber/iftalabeldoc';
+import { ImportDoc } from '@/doc/inputnumber/importdoc';
+import { InputNumberDocModule } from '@/doc/inputnumber/inputnumberdoc.module';
+import { InvalidDoc } from '@/doc/inputnumber/invaliddoc';
+import { LocaleDoc } from '@/doc/inputnumber/localedoc';
+import { NumeralsDoc } from '@/doc/inputnumber/numeralsdoc';
+import { PrefixSuffixDoc } from '@/doc/inputnumber/prefixsuffixdoc';
+import { ReactiveFormsDoc } from '@/doc/inputnumber/reactiveformsdoc';
+import { SizesDoc } from '@/doc/inputnumber/sizesdoc';
+import { VerticalDoc } from '@/doc/inputnumber/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [InputNumberDocModule]
+})
+export class InputNumberDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'numerals',
+ label: 'Numerals',
+ component: NumeralsDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'locale',
+ label: 'Locale',
+ component: LocaleDoc
+ },
+ {
+ id: 'currency',
+ label: 'Currency',
+ component: CurrencyDoc
+ },
+ {
+ id: 'prefixsuffix',
+ label: 'Prefix & Suffix',
+ component: PrefixSuffixDoc
+ },
+ {
+ id: 'buttons',
+ label: 'Buttons',
+ component: ButtonsDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatlabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inputnumber/routes.ts b/apps/showcase/pages/inputnumber/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inputnumber/routes.ts
rename to apps/showcase/pages/inputnumber/routes.ts
diff --git a/apps/showcase/pages/inputotp/index.ts b/apps/showcase/pages/inputotp/index.ts
new file mode 100755
index 00000000000..cab0faefbb9
--- /dev/null
+++ b/apps/showcase/pages/inputotp/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/inputotp/accessibilitydoc';
+import { BasicDoc } from '@/doc/inputotp/basicdoc';
+import { ImportDoc } from '@/doc/inputotp/importdoc';
+import { InputOtpDocModule } from '@/doc/inputotp/inputotpdoc.module';
+import { IntegerOnlyDoc } from '@/doc/inputotp/integeronlydoc';
+import { MaskDoc } from '@/doc/inputotp/maskdoc';
+import { SampleDoc } from '@/doc/inputotp/sampledoc';
+import { SizesDoc } from '@/doc/inputotp/sizesdoc';
+import { TemplateDoc } from '@/doc/inputotp/templatedoc';
+import { Component, ViewEncapsulation } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [InputOtpDocModule],
+ template: ` `,
+ encapsulation: ViewEncapsulation.None
+})
+export class InputOtpDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'mask',
+ label: 'Mask',
+ component: MaskDoc
+ },
+ {
+ id: 'integeronly',
+ label: 'Integer Only',
+ component: IntegerOnlyDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'sample',
+ label: 'Sample',
+ component: SampleDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inputotp/routes.ts b/apps/showcase/pages/inputotp/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inputotp/routes.ts
rename to apps/showcase/pages/inputotp/routes.ts
diff --git a/apps/showcase/pages/inputtext/index.ts b/apps/showcase/pages/inputtext/index.ts
new file mode 100644
index 00000000000..1b45342771a
--- /dev/null
+++ b/apps/showcase/pages/inputtext/index.ts
@@ -0,0 +1,86 @@
+import { AccessibilityDoc } from '@/doc/inputtext/accessibilitydoc';
+import { BasicDoc } from '@/doc/inputtext/basicdoc';
+import { DisabledDoc } from '@/doc/inputtext/disableddoc';
+import { FilledDoc } from '@/doc/inputtext/filleddoc';
+import { FloatLabelDoc } from '@/doc/inputtext/floatlabeldoc';
+import { HelpTextDoc } from '@/doc/inputtext/helptextdoc';
+import { IftaLabelDoc } from '@/doc/inputtext/iftalabeldoc';
+import { ImportDoc } from '@/doc/inputtext/importdoc';
+import { InputtextDocModule } from '@/doc/inputtext/inputtextdoc.module';
+import { InvalidDoc } from '@/doc/inputtext/invaliddoc';
+import { ReactiveFormsDoc } from '@/doc/inputtext/reactiveformsdoc';
+import { SizesDoc } from '@/doc/inputtext/sizesdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [InputtextDocModule],
+ template: ` `
+})
+export class InputTextDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'helptext',
+ label: 'Help Text',
+ component: HelpTextDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/inputtext/routes.ts b/apps/showcase/pages/inputtext/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/inputtext/routes.ts
rename to apps/showcase/pages/inputtext/routes.ts
diff --git a/apps/showcase/pages/installation/index.ts b/apps/showcase/pages/installation/index.ts
new file mode 100755
index 00000000000..4c9d448be58
--- /dev/null
+++ b/apps/showcase/pages/installation/index.ts
@@ -0,0 +1,54 @@
+import { AnimationsDoc } from '@/doc/installation/animationsdoc';
+import { DownloadDoc } from '@/doc/installation/downloaddoc';
+import { ExamplesDoc } from '@/doc/installation/examplesdoc';
+import { InstallationDocModule } from '@/doc/installation/installationdoc.module';
+import { NextStepsDoc } from '@/doc/installation/nextstepsdoc';
+import { ThemeDoc } from '@/doc/installation/themedoc';
+import { VerifyDoc } from '@/doc/installation/verifydoc';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [CommonModule, InstallationDocModule],
+ template: ` `
+})
+export class InstallationDemo {
+ docs = [
+ {
+ id: 'download',
+ label: 'Download',
+ component: DownloadDoc
+ },
+ {
+ id: 'animations',
+ label: 'Animations',
+ component: AnimationsDoc
+ },
+ {
+ id: 'theme',
+ label: 'Theme',
+ component: ThemeDoc
+ },
+ {
+ id: 'verify',
+ label: 'Verify',
+ component: VerifyDoc
+ },
+ {
+ id: 'examples',
+ label: 'Example',
+ component: ExamplesDoc
+ },
+ {
+ id: 'nextsteps',
+ label: 'Next Steps',
+ component: NextStepsDoc
+ } /*,
+ {
+ id: 'videos',
+ label: 'Videos',
+ component: VideosDoc,
+ },*/
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/installation/routes.ts b/apps/showcase/pages/installation/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/installation/routes.ts
rename to apps/showcase/pages/installation/routes.ts
diff --git a/apps/showcase/pages/keyfilter/index.ts b/apps/showcase/pages/keyfilter/index.ts
new file mode 100644
index 00000000000..afb8e792572
--- /dev/null
+++ b/apps/showcase/pages/keyfilter/index.ts
@@ -0,0 +1,48 @@
+import { AccessibilityDoc } from '@/doc/keyfilter/accessibilitydoc';
+import { ImportDoc } from '@/doc/keyfilter/importdoc';
+import { KeyFilterDocModule } from '@/doc/keyfilter/keyfilterdoc.module';
+import { PresetsDoc } from '@/doc/keyfilter/presetsdoc';
+import { ReactiveFormsDoc } from '@/doc/keyfilter/reactiveformsdoc';
+import { RegexDoc } from '@/doc/keyfilter/regexdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [KeyFilterDocModule]
+})
+export class KeyFilterDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'presets',
+ label: 'Presets',
+ component: PresetsDoc
+ },
+ {
+ id: 'regex',
+ label: 'Regex',
+ component: RegexDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/keyfilter/routes.ts b/apps/showcase/pages/keyfilter/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/keyfilter/routes.ts
rename to apps/showcase/pages/keyfilter/routes.ts
diff --git a/apps/showcase/pages/knob/index.ts b/apps/showcase/pages/knob/index.ts
new file mode 100644
index 00000000000..f57b3f8879b
--- /dev/null
+++ b/apps/showcase/pages/knob/index.ts
@@ -0,0 +1,91 @@
+import { AccessibilityDoc } from '@/doc/knob/accessibilitydoc';
+import { BasicDoc } from '@/doc/knob/basicdoc';
+import { ColorDoc } from '@/doc/knob/colordoc';
+import { DisabledDoc } from '@/doc/knob/disableddoc';
+import { ImportDoc } from '@/doc/knob/importdoc';
+import { KnobDocModule } from '@/doc/knob/knobdoc.module';
+import { MinMaxDoc } from '@/doc/knob/minmaxdoc';
+import { ReactiveDoc } from '@/doc/knob/reactivedoc';
+import { ReactiveFormsDoc } from '@/doc/knob/reactiveformsdoc';
+import { ReadonlyDoc } from '@/doc/knob/readonlydoc';
+import { SizeDoc } from '@/doc/knob/sizedoc';
+import { StepDoc } from '@/doc/knob/stepdoc';
+import { StrokeDoc } from '@/doc/knob/strokedoc';
+import { TemplateDoc } from '@/doc/knob/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [KnobDocModule]
+})
+export class KnobDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'minmax',
+ label: 'Min/Max',
+ component: MinMaxDoc
+ },
+ {
+ id: 'step',
+ label: 'Step',
+ component: StepDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'stroke',
+ label: 'Stroke',
+ component: StrokeDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'color',
+ label: 'Color',
+ component: ColorDoc
+ },
+ {
+ id: 'reactive',
+ label: 'Reactive',
+ component: ReactiveDoc
+ },
+ {
+ id: 'readonly',
+ label: 'ReadOnly',
+ component: ReadonlyDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/knob/routes.ts b/apps/showcase/pages/knob/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/knob/routes.ts
rename to apps/showcase/pages/knob/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/blocksection.component.ts b/apps/showcase/pages/landing/blocksection.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/blocksection.component.ts
rename to apps/showcase/pages/landing/blocksection.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/featuressection.component.ts b/apps/showcase/pages/landing/featuressection.component.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/landing/featuressection.component.ts
rename to apps/showcase/pages/landing/featuressection.component.ts
index 813c018b37a..690db867264 100644
--- a/apps/showcase/src/app/showcase/pages/landing/featuressection.component.ts
+++ b/apps/showcase/pages/landing/featuressection.component.ts
@@ -1,6 +1,6 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
import { AnimateOnScrollModule } from 'primeng/animateonscroll';
@Component({
diff --git a/apps/showcase/src/app/showcase/pages/landing/footersection.component.ts b/apps/showcase/pages/landing/footersection.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/footersection.component.ts
rename to apps/showcase/pages/landing/footersection.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/herosection.component.ts b/apps/showcase/pages/landing/herosection.component.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/landing/herosection.component.ts
rename to apps/showcase/pages/landing/herosection.component.ts
index 9aefeac22ab..21e259767e5 100644
--- a/apps/showcase/src/app/showcase/pages/landing/herosection.component.ts
+++ b/apps/showcase/pages/landing/herosection.component.ts
@@ -1,34 +1,34 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule, isPlatformBrowser } from '@angular/common';
import { ChangeDetectorRef, Component, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { MenuItem, SelectItem } from 'primeng/api';
+import { AvatarModule } from 'primeng/avatar';
import { BadgeModule } from 'primeng/badge';
import { CalendarModule } from 'primeng/calendar';
import { ChartModule } from 'primeng/chart';
import { Chip } from 'primeng/chip';
+import { DividerModule } from 'primeng/divider';
+import { DrawerModule } from 'primeng/drawer';
import { DropdownModule } from 'primeng/dropdown';
import { InputNumber } from 'primeng/inputnumber';
import { InputSwitchModule } from 'primeng/inputswitch';
+import { KnobModule } from 'primeng/knob';
+import { OverlayBadgeModule } from 'primeng/overlaybadge';
import { RadioButton } from 'primeng/radiobutton';
import { SelectButton } from 'primeng/selectbutton';
import { Slider } from 'primeng/slider';
import { TabMenuModule } from 'primeng/tabmenu';
-import { Subscription } from 'rxjs';
-import { AppConfigService } from '@service/appconfigservice';
-import { DividerModule } from 'primeng/divider';
-import { AvatarModule } from 'primeng/avatar';
+import { ToggleSwitchModule } from 'primeng/toggleswitch';
import { TooltipModule } from 'primeng/tooltip';
-import { OverviewApp } from './samples/overviewapp.component';
+import { Subscription } from 'rxjs';
+import { CardsApp } from './samples/cardsapp.component';
import { ChatApp } from './samples/chatapp.component';
+import { CustomersApp } from './samples/customersapp.component';
import { InboxApp } from './samples/inboxapp.component';
-import { CardsApp } from './samples/cardsapp.component';
import { MoviesApp } from './samples/moviesapp.component';
-import { CustomersApp } from './samples/customersapp.component';
-import { DrawerModule } from 'primeng/drawer';
-import { OverlayBadgeModule } from 'primeng/overlaybadge';
-import { ToggleSwitchModule } from 'primeng/toggleswitch';
-import { KnobModule } from 'primeng/knob';
+import { OverviewApp } from './samples/overviewapp.component';
@Component({
selector: 'hero-section',
diff --git a/apps/showcase/src/app/showcase/pages/landing/landing.component.html b/apps/showcase/pages/landing/landing.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/landing.component.html
rename to apps/showcase/pages/landing/landing.component.html
diff --git a/apps/showcase/src/app/showcase/pages/landing/landing.component.ts b/apps/showcase/pages/landing/landing.component.ts
similarity index 87%
rename from apps/showcase/src/app/showcase/pages/landing/landing.component.ts
rename to apps/showcase/pages/landing/landing.component.ts
index ab02abb2ea0..9ebe70e4920 100644
--- a/apps/showcase/src/app/showcase/pages/landing/landing.component.ts
+++ b/apps/showcase/pages/landing/landing.component.ts
@@ -1,9 +1,10 @@
+import { AppNewsComponent } from '@/components/layout/news/app.news.component';
+import { AppTopBarComponent } from '@/components/layout/topbar/app.topbar.component';
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule, NgOptimizedImage } from '@angular/common';
-import { Component, OnInit, afterNextRender } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { Meta, Title } from '@angular/platform-browser';
-import { AppNewsComponent } from '../../layout/news/app.news.component';
-import { AppTopBarComponent } from '../../layout/topbar/app.topbar.component';
-import { AppConfigService } from '@service/appconfigservice';
+import { Subscription } from 'rxjs';
import { BlockSectionComponent } from './blocksection.component';
import { FeaturesSectionComponent } from './featuressection.component';
import { FooterSectionComponent } from './footersection.component';
@@ -11,7 +12,6 @@ import { HeroSectionComponent } from './herosection.component';
import { TemplateSectionComponent } from './templatesection.component';
import { ThemeSectionComponent } from './themesection.component';
import { UsersSectionComponent } from './userssection.component';
-import { Subscription } from 'rxjs';
@Component({
selector: 'landing',
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/cardsapp.component.ts b/apps/showcase/pages/landing/samples/cardsapp.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/samples/cardsapp.component.ts
rename to apps/showcase/pages/landing/samples/cardsapp.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/chatapp.component.ts b/apps/showcase/pages/landing/samples/chatapp.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/samples/chatapp.component.ts
rename to apps/showcase/pages/landing/samples/chatapp.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/customersapp.component.ts b/apps/showcase/pages/landing/samples/customersapp.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/samples/customersapp.component.ts
rename to apps/showcase/pages/landing/samples/customersapp.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/inboxapp.component.ts b/apps/showcase/pages/landing/samples/inboxapp.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/samples/inboxapp.component.ts
rename to apps/showcase/pages/landing/samples/inboxapp.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/moviesapp.component.ts b/apps/showcase/pages/landing/samples/moviesapp.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/landing/samples/moviesapp.component.ts
rename to apps/showcase/pages/landing/samples/moviesapp.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/landing/samples/overviewapp.component.ts b/apps/showcase/pages/landing/samples/overviewapp.component.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/landing/samples/overviewapp.component.ts
rename to apps/showcase/pages/landing/samples/overviewapp.component.ts
index 3ce9d249755..a928388710b 100644
--- a/apps/showcase/src/app/showcase/pages/landing/samples/overviewapp.component.ts
+++ b/apps/showcase/pages/landing/samples/overviewapp.component.ts
@@ -1,8 +1,8 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule, isPlatformBrowser } from '@angular/common';
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, effect, inject, PLATFORM_ID, ViewEncapsulation } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
-import { AppConfigService } from '@service/appconfigservice';
import { MenuItem } from 'primeng/api';
import { AvatarModule } from 'primeng/avatar';
import { ButtonModule } from 'primeng/button';
diff --git a/apps/showcase/src/app/showcase/pages/landing/templatesection.component.ts b/apps/showcase/pages/landing/templatesection.component.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/landing/templatesection.component.ts
rename to apps/showcase/pages/landing/templatesection.component.ts
index 4f963bd7c72..300dee4bf69 100644
--- a/apps/showcase/src/app/showcase/pages/landing/templatesection.component.ts
+++ b/apps/showcase/pages/landing/templatesection.component.ts
@@ -1,6 +1,6 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
selector: 'templates-section',
diff --git a/apps/showcase/src/app/showcase/pages/landing/themesection.component.ts b/apps/showcase/pages/landing/themesection.component.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/pages/landing/themesection.component.ts
rename to apps/showcase/pages/landing/themesection.component.ts
index c055bc8d3cd..0db0270281b 100644
--- a/apps/showcase/src/app/showcase/pages/landing/themesection.component.ts
+++ b/apps/showcase/pages/landing/themesection.component.ts
@@ -1,16 +1,16 @@
+import { AppComponent } from '@/components/layout/app.component';
+import { Customer } from '@/domain/customer';
+import { AppConfigService } from '@/service/appconfigservice';
+import { CustomerService } from '@/service/customerservice';
import { CommonModule } from '@angular/common';
import { Component, Inject, PLATFORM_ID, ViewChild } from '@angular/core';
import { ButtonModule } from 'primeng/button';
+import { IconField } from 'primeng/iconfield';
+import { InputIcon } from 'primeng/inputicon';
+import { InputTextModule } from 'primeng/inputtext';
import { ProgressBar } from 'primeng/progressbar';
import { Table } from 'primeng/table';
import { Tag } from 'primeng/tag';
-import { Customer } from '@domain/customer';
-import { AppComponent } from '@layout/app.component';
-import { AppConfigService } from '@service/appconfigservice';
-import { CustomerService } from '@service/customerservice';
-import { InputTextModule } from 'primeng/inputtext';
-import { IconField } from 'primeng/iconfield';
-import { InputIcon } from 'primeng/inputicon';
@Component({
selector: 'theme-section',
diff --git a/apps/showcase/src/app/showcase/pages/landing/userssection.component.ts b/apps/showcase/pages/landing/userssection.component.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/pages/landing/userssection.component.ts
rename to apps/showcase/pages/landing/userssection.component.ts
index 9a0426c970b..72dec72393d 100644
--- a/apps/showcase/src/app/showcase/pages/landing/userssection.component.ts
+++ b/apps/showcase/pages/landing/userssection.component.ts
@@ -1,6 +1,6 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { CommonModule } from '@angular/common';
import { Component } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
selector: 'users-section',
diff --git a/apps/showcase/pages/listbox/index.ts b/apps/showcase/pages/listbox/index.ts
new file mode 100644
index 00000000000..79c4fd97782
--- /dev/null
+++ b/apps/showcase/pages/listbox/index.ts
@@ -0,0 +1,85 @@
+import { AccessibilityDoc } from '@/doc/listbox/accessibilitydoc';
+import { BasicDoc } from '@/doc/listbox/basicdoc';
+import { CheckmarkDoc } from '@/doc/listbox/checkmarkdoc';
+import { DisabledDoc } from '@/doc/listbox/disableddoc';
+import { FilterDoc } from '@/doc/listbox/filterdoc';
+import { GroupDoc } from '@/doc/listbox/groupdoc';
+import { ImportDoc } from '@/doc/listbox/importdoc';
+import { InvalidDoc } from '@/doc/listbox/invaliddoc';
+import { ListboxDocModule } from '@/doc/listbox/listboxdoc.module';
+import { MultipleDoc } from '@/doc/listbox/multipledoc';
+import { ReactiveFormsDoc } from '@/doc/listbox/reactiveformsdoc';
+import { TemplateDoc } from '@/doc/listbox/templatedoc';
+import { VirtualScrollDoc } from '@/doc/listbox/virtualscrolldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ListboxDocModule]
+})
+export class ListboxDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'checkmark',
+ label: 'Checkmark',
+ component: CheckmarkDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'virtualscroll',
+ label: 'Virtual Scroll',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/listbox/routes.ts b/apps/showcase/pages/listbox/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/listbox/routes.ts
rename to apps/showcase/pages/listbox/routes.ts
diff --git a/apps/showcase/pages/lts/index.ts b/apps/showcase/pages/lts/index.ts
new file mode 100755
index 00000000000..3358ce30a04
--- /dev/null
+++ b/apps/showcase/pages/lts/index.ts
@@ -0,0 +1,314 @@
+import { AppCodeModule } from '@/components/doc/app.code.component';
+import { Code } from '@/domain/code';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { Meta, Title } from '@angular/platform-browser';
+import { RouterModule } from '@angular/router';
+import { RippleModule } from 'primeng/ripple';
+import { TagModule } from 'primeng/tag';
+
+@Component({
+ standalone: true,
+ imports: [CommonModule, TagModule, AppCodeModule, RouterModule, RippleModule],
+ template: `
+
+
+
+
+
Community Versions
+
+ Angular is a fast paced technology with a new major version every 6 months. PrimeNG release cycle is aligned with Angular and every 6 months a new major PrimeNG version is released as open source that is compatible with the
+ latest Angular core. The maintenance releases of the latest PrimeNG version are provided as free and open source for the following 6 months until the new major Angular version is ready.
+
+
+
+
LTS Versions
+
+ Majority of the existing applications prefer to remain at a previous version due to stability requirements instead of upgrading to the latest version immediately. PrimeNG LTS is a support service to provide a license for the
+ finest compatible version suited to you. LTS covers the prior two versions from the latest release, this means up to 18 months of almost bi-weekly releases to bring the latest defect fixes and security updates to your project.
+ As an example, when PrimeNG moves to Angular 18, v17 and v16 will move to LTS support whereas STS (short term support) versions of PrimeNG 18 will be open source under MIT license for at least 6 months until Angular/PrimeNG 19
+ is released.
+
+
+
+
+
Version Support
+
+ STS means open source short term support whereas LTS stands for commercial long term support. Legacy versions are only supported by
+ PrimeNG PRO.
+
+
+
+
+
+
+ Version
+ Status
+ End of STS
+ End of LTS
+
+
+
+
+
+
+
+ STS
+ After v18 release
+ After v20 release
+
+
+
+
+
+ LTS
+ After v17 release
+ After v19 release
+
+
+
+
+
+ LTS
+ After v16 release
+ After v18 release
+
+
+
+
+
+ Legacy
+ After v15 release
+ After v17 release
+
+
+
+
+
+ Legacy
+ After v14 release
+ After v16 release
+
+
+
+
+
+ Legacy
+ After v13 release
+ After v15 release
+
+
+
+
+
+
+
LTS License
+
+
+
+
+
+ Security
+
+
+ PrimeNG comes with a commitment to provide long-term support, including regular security updates to keep your system protected against emerging threats.
+
+
+
+
+
+ Maintenance
+
+
+ We understand the importance of maintaining a stable and reliable software system. Our team will provide ongoing maintenance to ensure that the software continues to function seamlessly and efficiently.
+
+
+
+
+
+ Enhancements
+
+
+ We are dedicated to continuously improving PrimeNG to meet the evolving needs of our users. As part of our long-term support, we will provide regular updates and enhancements to add new features and functionality.
+
+
+
+
+
+
Pricing
+
Choose the right plan for your business.
+
View License Details
+
+
+
+
+
+
Basic License
+
Annual
+
+
+
+
+
+
+ Expires After 1 Year
+
+
+
+ Warning Message at Runtime After Expiry
+
+
+
+ Eligible for 1 Major Version
+
+
+
+ Unlimited Developers
+
+
+
+ Unlimited Projects
+
+
+
+
Buy Now
+
+
+
+
+
+
+
+
Extended License
+
Perpetual
+
+
+
+
+
+
+ No Expiry
+
+
+
+ No Warning Message at Runtime
+
+
+
+ Eligible for 1 Major Version
+
+
+
+ Unlimited Developers
+
+
+
+ Unlimited Projects
+
+
+
+
Buy Now
+
+
+
+
+
+
+
Usage
+
+ LTS versions require a license key and a pass key to be verified at your main app component or main.ts before bootstrap process. The keys would be available at
+ PrimeStore
+ under LTS Licenses section.
+
+
+
+
+
Frequently Asked Questions
+
+
+
Do I have to purchase a license for PrimeNG?
+
No, only the versions that have the -lts suffix required a paid license. Any other version is open source under MIT license.
+
+
Is LTS License mandatory to use PrimeNG?
+
No, LTS is totally optional if you cannot update to latest Angular immediately and still would like to receive updates for your version.
+
+
How long is the duration of the LTS license?
+
Duration is 1 year for Basic License, for Extended License there is no limit.
+
+
What happens after the LTS license duration ends?
+
+ A message will be displayed at the application screen and license needs to be renewed at PrimeStore. This only applies to Basic License as Extended License has no time limit.
+
+
+
Is a license bound to a specific major version?
+
Yes, a license key is tied to the major version such as 15 and same license key cannot be used on another major version like 14.
+
+
How can I assign my LTS license to a version?
+
At PrimeStore, there is an "Assign" feature that activates your license by selecting a version.
+
+
+
Does the license renew automatically?
+
No, renewal should be done manually at PrimeStore.
+
+
How are LTS and Community versions differentiated at NPM?
+
LTS releases have -lts suffix such as 14.2.4-lts .
+
+
Is the license per organization, per developer or per cpu/server?
+
LTS license is per organization, there is no limit on the number of developers, projects or hardware.
+
+
Can subsidiary companies share the license of a parent company?
+
No, license owner needs to be a separate entity as a result each company requires a separate license.
+
+
Does LTS provide a support contact?
+
No, PrimeNG PRO is the service where response of PrimeTek engineers is secured within 1 business day.
+
+
+
Can LTS releases be used in open source projects?
+
No, this means violation of the license as keys cannot be shared.
+
+
Does PRO provide access to the LTS releases?
+
Yes, PRO users are granted a basic license.
+
+
What is the difference between LTS and PRO?
+
+ PrimeNG PRO is a premium support service delivered via an exclusive JIRA instance where support engineers of PrimeTek provide assistance within 1 business day to the raised tickets. LTS on the other hand provides a license
+ to utilize the long term support versions.
+
+
+
+
+
+ `
+})
+export class LTSDemo {
+ code: Code = {
+ typescript: `import { Component } from '@angular/core';
+import { LicenseManager } from 'primeng/api';
+
+@Component({
+ selector: 'app-root',
+ templateUrl: './app.component.html'
+})
+export class AppComponent {
+
+ LicenseManager.verify('LICENSE_KEY', 'PASS_KEY');
+
+}`
+ };
+
+ constructor(
+ private titleService: Title,
+ private metaService: Meta
+ ) {
+ this.titleService.setTitle('Long Term Support - PrimeNG');
+ this.metaService.updateTag({ name: 'description', content: 'Long Term Support' });
+ }
+}
diff --git a/apps/showcase/src/app/showcase/pages/lts/lts.module.ts b/apps/showcase/pages/lts/lts.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/lts/lts.module.ts
rename to apps/showcase/pages/lts/lts.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/lts/routes.ts b/apps/showcase/pages/lts/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/lts/routes.ts
rename to apps/showcase/pages/lts/routes.ts
diff --git a/apps/showcase/pages/megamenu/index.ts b/apps/showcase/pages/megamenu/index.ts
new file mode 100644
index 00000000000..a618db78d5d
--- /dev/null
+++ b/apps/showcase/pages/megamenu/index.ts
@@ -0,0 +1,64 @@
+import { AccessibilityDoc } from '@/doc/megamenu/accessibilitydoc';
+import { BasicDoc } from '@/doc/megamenu/basicdoc';
+import { CommandDoc } from '@/doc/megamenu/commanddoc';
+import { ImportDoc } from '@/doc/megamenu/importdoc';
+import { MegaMenuDocModule } from '@/doc/megamenu/megamenudoc.module';
+import { RouterDoc } from '@/doc/megamenu/routerdoc';
+import { TemplateDoc } from '@/doc/megamenu/templatedoc';
+import { VerticalDoc } from '@/doc/megamenu/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [MegaMenuDocModule],
+ template: ` `,
+ styles: [
+ `
+ :host ::ng-deep {
+ .p-megamenu-panel {
+ z-index: 3;
+ }
+ }
+ `
+ ]
+})
+export class MegaMenuDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/megamenu/routes.ts b/apps/showcase/pages/megamenu/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/megamenu/routes.ts
rename to apps/showcase/pages/megamenu/routes.ts
diff --git a/apps/showcase/pages/menu/index.ts b/apps/showcase/pages/menu/index.ts
new file mode 100644
index 00000000000..b052930b6ef
--- /dev/null
+++ b/apps/showcase/pages/menu/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/menu/accessibilitydoc';
+import { BasicDoc } from '@/doc/menu/basicdoc';
+import { CommandDoc } from '@/doc/menu/commanddoc';
+import { GroupDoc } from '@/doc/menu/groupdoc';
+import { ImportDoc } from '@/doc/menu/importdoc';
+import { MenuDocModule } from '@/doc/menu/menudoc.module';
+import { PopupDoc } from '@/doc/menu/popupdoc';
+import { RouterDoc } from '@/doc/menu/routerdoc';
+import { TemplateDoc } from '@/doc/menu/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [MenuDocModule]
+})
+export class MenuDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'popup',
+ label: 'Popup',
+ component: PopupDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/menu/routes.ts b/apps/showcase/pages/menu/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/menu/routes.ts
rename to apps/showcase/pages/menu/routes.ts
diff --git a/apps/showcase/pages/menubar/index.ts b/apps/showcase/pages/menubar/index.ts
new file mode 100644
index 00000000000..ae1b3ac18d4
--- /dev/null
+++ b/apps/showcase/pages/menubar/index.ts
@@ -0,0 +1,49 @@
+import { AccessibilityDoc } from '@/doc/menubar/accessibilitydoc';
+import { BasicDoc } from '@/doc/menubar/basicdoc';
+import { CommandDoc } from '@/doc/menubar/commanddoc';
+import { ImportDoc } from '@/doc/menubar/importdoc';
+import { MenubarDocModule } from '@/doc/menubar/menubardoc.module';
+import { RouterDoc } from '@/doc/menubar/routerdoc';
+import { TemplateDoc } from '@/doc/menubar/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [MenubarDocModule]
+})
+export class MenubarDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/menubar/routes.ts b/apps/showcase/pages/menubar/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/menubar/routes.ts
rename to apps/showcase/pages/menubar/routes.ts
diff --git a/apps/showcase/pages/message/index.ts b/apps/showcase/pages/message/index.ts
new file mode 100644
index 00000000000..6d1801c3ae4
--- /dev/null
+++ b/apps/showcase/pages/message/index.ts
@@ -0,0 +1,84 @@
+import { AccessibilityDoc } from '@/doc/message/accessibilitydoc';
+import { BasicDoc } from '@/doc/message/basicdoc';
+import { ClosableDoc } from '@/doc/message/closabledoc';
+import { DynamicDoc } from '@/doc/message/dynamicdoc';
+import { FormDoc } from '@/doc/message/formdoc';
+import { IconDoc } from '@/doc/message/icondoc';
+import { ImportDoc } from '@/doc/message/importdoc';
+import { LifeDoc } from '@/doc/message/lifedoc';
+import { MessageDocModule } from '@/doc/message/messagedoc.module';
+import { OutlinedDoc } from '@/doc/message/outlineddoc';
+import { SeverityDoc } from '@/doc/message/severitydoc';
+import { SimpleDoc } from '@/doc/message/simpledoc';
+import { SizesDoc } from '@/doc/message/sizesdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [MessageDocModule],
+ standalone: true
+})
+export class MessageDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'outlined',
+ label: 'Outlined',
+ component: OutlinedDoc
+ },
+ {
+ id: 'simple',
+ label: 'Simple',
+ component: SimpleDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'forms',
+ label: 'Forms',
+ component: FormDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'closable',
+ label: 'Closable',
+ component: ClosableDoc
+ },
+ {
+ id: 'life',
+ label: 'Life',
+ component: LifeDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/message/routes.ts b/apps/showcase/pages/message/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/message/routes.ts
rename to apps/showcase/pages/message/routes.ts
diff --git a/apps/showcase/pages/metergroup/index.ts b/apps/showcase/pages/metergroup/index.ts
new file mode 100755
index 00000000000..596ef74f8d7
--- /dev/null
+++ b/apps/showcase/pages/metergroup/index.ts
@@ -0,0 +1,67 @@
+import { AccessibilityDoc } from '@/doc/metergroup/accessibilitydoc';
+import { BasicDoc } from '@/doc/metergroup/basicdoc';
+import { IconDoc } from '@/doc/metergroup/icondoc';
+import { ImportDoc } from '@/doc/metergroup/importdoc';
+import { LabelDoc } from '@/doc/metergroup/labeldoc';
+import { MeterGroupDocModule } from '@/doc/metergroup/metergroupdoc.module';
+import { MinMaxDoc } from '@/doc/metergroup/minmaxdoc';
+import { MultipleDoc } from '@/doc/metergroup/multipledoc';
+import { TemplateDoc } from '@/doc/metergroup/templatedoc';
+import { VerticalDoc } from '@/doc/metergroup/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [MeterGroupDocModule],
+ template: ` `
+})
+export class MeterGroupDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'label',
+ label: 'Label',
+ component: LabelDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'minmax',
+ label: 'Min Max',
+ component: MinMaxDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/metergroup/routes.ts b/apps/showcase/pages/metergroup/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/metergroup/routes.ts
rename to apps/showcase/pages/metergroup/routes.ts
diff --git a/apps/showcase/pages/multiselect/index.ts b/apps/showcase/pages/multiselect/index.ts
new file mode 100644
index 00000000000..017377a99ae
--- /dev/null
+++ b/apps/showcase/pages/multiselect/index.ts
@@ -0,0 +1,109 @@
+import { AccessibilityDoc } from '@/doc/multiselect/accessibilitydoc';
+import { BasicDoc } from '@/doc/multiselect/basicdoc';
+import { ChipsDoc } from '@/doc/multiselect/chipsdoc';
+import { DisabledDoc } from '@/doc/multiselect/disableddoc';
+import { FilledDoc } from '@/doc/multiselect/filleddoc';
+import { FilterDoc } from '@/doc/multiselect/filterdoc';
+import { FloatLabelDoc } from '@/doc/multiselect/floatlabeldoc';
+import { GroupDoc } from '@/doc/multiselect/groupdoc';
+import { IftaLabelDoc } from '@/doc/multiselect/iftalabeldoc';
+import { ImportDoc } from '@/doc/multiselect/importdoc';
+import { InvalidDoc } from '@/doc/multiselect/invaliddoc';
+import { LoadingStateDoc } from '@/doc/multiselect/loadingstatedoc';
+import { MultiSelectDocModule } from '@/doc/multiselect/multiselectdoc.module';
+import { ReactiveFormsDoc } from '@/doc/multiselect/reactiveformsdoc';
+import { SizesDoc } from '@/doc/multiselect/sizesdoc';
+import { TemplateDoc } from '@/doc/multiselect/templatedoc';
+import { VirtualScrollDoc } from '@/doc/multiselect/virtualscrolldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [MultiSelectDocModule]
+})
+export class MultiSelectDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'chips',
+ label: 'Chips',
+ component: ChipsDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'loadingstate',
+ label: 'Loading State',
+ component: LoadingStateDoc
+ },
+ {
+ id: 'virtualscroll',
+ label: 'VirtualScroll',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/multiselect/routes.ts b/apps/showcase/pages/multiselect/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/multiselect/routes.ts
rename to apps/showcase/pages/multiselect/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/notfound/index.ts b/apps/showcase/pages/notfound/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/notfound/index.ts
rename to apps/showcase/pages/notfound/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/notfound/routes.ts b/apps/showcase/pages/notfound/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/notfound/routes.ts
rename to apps/showcase/pages/notfound/routes.ts
diff --git a/apps/showcase/pages/orderlist/index.ts b/apps/showcase/pages/orderlist/index.ts
new file mode 100644
index 00000000000..df390df2eda
--- /dev/null
+++ b/apps/showcase/pages/orderlist/index.ts
@@ -0,0 +1,42 @@
+import { AccessibilityDoc } from '@/doc/orderlist/accessibilitydoc';
+import { BasicDoc } from '@/doc/orderlist/basicdoc';
+import { FilterDoc } from '@/doc/orderlist/filterdoc';
+import { ImportDoc } from '@/doc/orderlist/importdoc';
+import { OrderlistDocModule } from '@/doc/orderlist/orderlistdoc.module';
+import { TemplateDoc } from '@/doc/orderlist/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [OrderlistDocModule]
+})
+export class OrderListDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/orderlist/routes.ts b/apps/showcase/pages/orderlist/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/orderlist/routes.ts
rename to apps/showcase/pages/orderlist/routes.ts
diff --git a/apps/showcase/pages/organizationchart/index.ts b/apps/showcase/pages/organizationchart/index.ts
new file mode 100644
index 00000000000..0ceca7c29db
--- /dev/null
+++ b/apps/showcase/pages/organizationchart/index.ts
@@ -0,0 +1,50 @@
+import { AccessibilityDoc } from '@/doc/organizationchart/accessibilitydoc';
+import { BasicDoc } from '@/doc/organizationchart/basicdoc';
+import { ColoredDoc } from '@/doc/organizationchart/colored.doc';
+import { ImportDoc } from '@/doc/organizationchart/importdoc';
+import { OrganizationChartDocModule } from '@/doc/organizationchart/organizationchartdoc.module';
+import { SelectionDoc } from '@/doc/organizationchart/selectiondoc';
+import { TemplateDoc } from '@/doc/organizationchart/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [OrganizationChartDocModule],
+ styleUrl: './organizationchartdemo.scss'
+})
+export class OrganizationChartDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'selection',
+ label: 'Selection',
+ component: SelectionDoc
+ },
+ {
+ id: 'colored',
+ label: 'Colored',
+ component: ColoredDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/organizationchart/organizationchartdemo.scss b/apps/showcase/pages/organizationchart/organizationchartdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/organizationchart/organizationchartdemo.scss
rename to apps/showcase/pages/organizationchart/organizationchartdemo.scss
diff --git a/apps/showcase/src/app/showcase/pages/organizationchart/routes.ts b/apps/showcase/pages/organizationchart/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/organizationchart/routes.ts
rename to apps/showcase/pages/organizationchart/routes.ts
diff --git a/apps/showcase/pages/overlay/index.ts b/apps/showcase/pages/overlay/index.ts
new file mode 100644
index 00000000000..da0005123b6
--- /dev/null
+++ b/apps/showcase/pages/overlay/index.ts
@@ -0,0 +1,109 @@
+import { AccessibilityDoc } from '@/doc/overlay/accessibilitydoc';
+import { AppendToDoc } from '@/doc/overlay/appendtodoc';
+import { AutoZIndexDoc } from '@/doc/overlay/autozindexdoc';
+import { BaseZIndexDoc } from '@/doc/overlay/basezindexdoc';
+import { OverlayBasicDemo } from '@/doc/overlay/basicdoc';
+import { EventsDoc } from '@/doc/overlay/eventsdoc';
+import { HideOnEscapeDoc } from '@/doc/overlay/hideonescapedoc';
+import { ImportDoc } from '@/doc/overlay/importdoc';
+import { ModeDoc } from '@/doc/overlay/modedoc';
+import { OverlayDocModule } from '@/doc/overlay/overlaydoc.module';
+import { ResponsiveDoc } from '@/doc/overlay/responsivedoc';
+import { StyleDoc } from '@/doc/overlay/styledoc';
+import { TargetDoc } from '@/doc/overlay/targetdoc';
+import { OverlayTemplateDemo } from '@/doc/overlay/templatedoc';
+import { TransitionOptionsDoc } from '@/doc/overlay/transitionoptionsdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [OverlayDocModule]
+})
+export class OverlayDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: OverlayBasicDemo
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: OverlayTemplateDemo
+ },
+ {
+ id: 'options',
+ label: 'Options',
+ children: [
+ {
+ id: 'mode',
+ label: 'Mode',
+ component: ModeDoc
+ },
+ {
+ id: 'responsive',
+ label: 'Responsive',
+ component: ResponsiveDoc
+ },
+ {
+ id: 'append-to',
+ label: 'AppendTo',
+ component: AppendToDoc
+ },
+ {
+ id: 'target',
+ label: 'Target',
+ component: TargetDoc
+ },
+ {
+ id: 'style',
+ label: 'Style',
+ component: StyleDoc
+ },
+ {
+ id: 'base-z-index',
+ label: 'BaseZIndex',
+ component: BaseZIndexDoc
+ },
+ {
+ id: 'auto-z-index',
+ label: 'AutoZIndex',
+ component: AutoZIndexDoc
+ },
+ {
+ id: 'hide-on-escape',
+ label: 'HideOnEscape',
+ component: HideOnEscapeDoc
+ },
+ {
+ id: 'transition-options',
+ label: 'ShowTransitionOptions and HideTransitionOptions',
+ component: TransitionOptionsDoc
+ },
+ {
+ id: 'events',
+ label: 'Events',
+ component: EventsDoc
+ }
+ ]
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/overlay/routes.ts b/apps/showcase/pages/overlay/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/overlay/routes.ts
rename to apps/showcase/pages/overlay/routes.ts
diff --git a/apps/showcase/pages/paginator/index.ts b/apps/showcase/pages/paginator/index.ts
new file mode 100644
index 00000000000..8081310662a
--- /dev/null
+++ b/apps/showcase/pages/paginator/index.ts
@@ -0,0 +1,49 @@
+import { AccessibilityDoc } from '@/doc/paginator/accessibilitydoc';
+import { BasicDoc } from '@/doc/paginator/basicdoc';
+import { CurrentPageReportDoc } from '@/doc/paginator/currentpagereportdoc';
+import { ImportDoc } from '@/doc/paginator/importdoc';
+import { PaginatorDocModule } from '@/doc/paginator/paginatordoc.module';
+import { TemplateDoc } from '@/doc/paginator/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [PaginatorDocModule],
+ styles: `
+ .image-gallery {
+ text-align: center;
+ padding: 1rem;
+ }
+ `
+})
+export class PaginatorDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'current-page-report',
+ label: 'Current Page Report',
+ component: CurrentPageReportDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/paginator/routes.ts b/apps/showcase/pages/paginator/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/paginator/routes.ts
rename to apps/showcase/pages/paginator/routes.ts
diff --git a/apps/showcase/pages/panel/index.ts b/apps/showcase/pages/panel/index.ts
new file mode 100644
index 00000000000..be14ac67c65
--- /dev/null
+++ b/apps/showcase/pages/panel/index.ts
@@ -0,0 +1,43 @@
+import { AccessibilityDoc } from '@/doc/panel/accessibilitydoc';
+import { BasicDoc } from '@/doc/panel/basicdoc';
+import { ImportDoc } from '@/doc/panel/importdoc';
+import { PanelDocModule } from '@/doc/panel/paneldoc.module';
+import { TemplateDoc } from '@/doc/panel/templatedoc';
+import { ToggleableDoc } from '@/doc/panel/toggleabledoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [PanelDocModule]
+})
+export class PanelDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'toggleable',
+ label: 'Toggleable',
+ component: ToggleableDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/panel/routes.ts b/apps/showcase/pages/panel/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/panel/routes.ts
rename to apps/showcase/pages/panel/routes.ts
diff --git a/apps/showcase/pages/panelmenu/index.ts b/apps/showcase/pages/panelmenu/index.ts
new file mode 100644
index 00000000000..04d894c7ca7
--- /dev/null
+++ b/apps/showcase/pages/panelmenu/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/panelmenu/accessibilitydoc';
+import { BasicDoc } from '@/doc/panelmenu/basicdoc';
+import { CommandDoc } from '@/doc/panelmenu/commanddoc';
+import { ControlledDoc } from '@/doc/panelmenu/controlleddoc';
+import { ImportDoc } from '@/doc/panelmenu/importdoc';
+import { MultipleDoc } from '@/doc/panelmenu/multipledoc';
+import { PanelMenuDocModule } from '@/doc/panelmenu/panelmenudoc.module';
+import { RouterDoc } from '@/doc/panelmenu/routerdoc';
+import { TemplateDoc } from '@/doc/panelmenu/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [PanelMenuDocModule]
+})
+export class PanelMenuDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/panelmenu/routes.ts b/apps/showcase/pages/panelmenu/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/panelmenu/routes.ts
rename to apps/showcase/pages/panelmenu/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/partners/index.ts b/apps/showcase/pages/partners/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/partners/index.ts
rename to apps/showcase/pages/partners/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/partners/routes.ts b/apps/showcase/pages/partners/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/partners/routes.ts
rename to apps/showcase/pages/partners/routes.ts
diff --git a/apps/showcase/pages/password/index.ts b/apps/showcase/pages/password/index.ts
new file mode 100644
index 00000000000..9be92082c9d
--- /dev/null
+++ b/apps/showcase/pages/password/index.ts
@@ -0,0 +1,97 @@
+import { AccessibilityDoc } from '@/doc/password/accessibilitydoc';
+import { BasicDoc } from '@/doc/password/basicdoc';
+import { DisabledDoc } from '@/doc/password/disableddoc';
+import { FilledDoc } from '@/doc/password/filleddoc';
+import { FloatLabelDoc } from '@/doc/password/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/password/iftalabeldoc';
+import { ImportDoc } from '@/doc/password/importdoc';
+import { InvalidDoc } from '@/doc/password/invaliddoc';
+import { LocaleDoc } from '@/doc/password/localedoc';
+import { MeterDoc } from '@/doc/password/meterdoc';
+import { PasswordDocModule } from '@/doc/password/passworddoc.module';
+import { ReactiveFormsDoc } from '@/doc/password/reactiveformsdoc';
+import { SizesDoc } from '@/doc/password/sizesdoc';
+import { TemplateDoc } from '@/doc/password/templatedoc';
+import { ToggleMaskDoc } from '@/doc/password/togglemaskdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [PasswordDocModule]
+})
+export class PasswordDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'meter',
+ label: 'Meter',
+ component: MeterDoc
+ },
+ {
+ id: 'locale',
+ label: 'Locale',
+ component: LocaleDoc
+ },
+ {
+ id: 'togglemask',
+ label: 'Toggle Mask',
+ component: ToggleMaskDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/password/routes.ts b/apps/showcase/pages/password/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/password/routes.ts
rename to apps/showcase/pages/password/routes.ts
diff --git a/apps/showcase/pages/picklist/index.ts b/apps/showcase/pages/picklist/index.ts
new file mode 100644
index 00000000000..0fbdd5a587e
--- /dev/null
+++ b/apps/showcase/pages/picklist/index.ts
@@ -0,0 +1,43 @@
+import { AccessibilityDoc } from '@/doc/picklist/accessibilitydoc';
+import { BasicDoc } from '@/doc/picklist/basicdoc';
+import { FilterDoc } from '@/doc/picklist/filterdoc';
+import { ImportDoc } from '@/doc/picklist/importdoc';
+import { PicklistDocModule } from '@/doc/picklist/picklistdoc.module';
+import { TemplateDoc } from '@/doc/picklist/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [PicklistDocModule],
+ styleUrl: './picklistdemo.scss'
+})
+export class PickListDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/picklist/picklistdemo.scss b/apps/showcase/pages/picklist/picklistdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/picklist/picklistdemo.scss
rename to apps/showcase/pages/picklist/picklistdemo.scss
diff --git a/apps/showcase/src/app/showcase/pages/picklist/routes.ts b/apps/showcase/pages/picklist/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/picklist/routes.ts
rename to apps/showcase/pages/picklist/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/playground/index.ts b/apps/showcase/pages/playground/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/playground/index.ts
rename to apps/showcase/pages/playground/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/playground/routes.ts b/apps/showcase/pages/playground/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/playground/routes.ts
rename to apps/showcase/pages/playground/routes.ts
diff --git a/apps/showcase/pages/popover/index.ts b/apps/showcase/pages/popover/index.ts
new file mode 100755
index 00000000000..1812f78b42e
--- /dev/null
+++ b/apps/showcase/pages/popover/index.ts
@@ -0,0 +1,44 @@
+import { AccessibilityDoc } from '@/doc/popover/accessibilitydoc';
+import { BasicDoc } from '@/doc/popover/basicdoc';
+import { DataTableDoc } from '@/doc/popover/datatabledoc';
+import { ImportDoc } from '@/doc/popover/importdoc';
+import { PopoverDocModule } from '@/doc/popover/popoverdoc.module';
+import { SelectDataDoc } from '@/doc/popover/selectdatadoc';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [CommonModule, PopoverDocModule],
+ standalone: true
+})
+export class PopoverDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'selectdata',
+ label: 'Select Data',
+ component: SelectDataDoc
+ },
+ {
+ id: 'datatable',
+ label: 'DataTable',
+ component: DataTableDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/popover/routes.ts b/apps/showcase/pages/popover/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/popover/routes.ts
rename to apps/showcase/pages/popover/routes.ts
diff --git a/apps/showcase/pages/progressbar/index.ts b/apps/showcase/pages/progressbar/index.ts
new file mode 100644
index 00000000000..5edb4047d31
--- /dev/null
+++ b/apps/showcase/pages/progressbar/index.ts
@@ -0,0 +1,48 @@
+import { AccessibilityDoc } from '@/doc/progressbar/accessibilitydoc';
+import { BasicDoc } from '@/doc/progressbar/basicdoc';
+import { DynamicDoc } from '@/doc/progressbar/dynamicdoc';
+import { ImportDoc } from '@/doc/progressbar/importdoc';
+import { IndeterminateDoc } from '@/doc/progressbar/indeterminatedoc';
+import { ProgressBarDocModule } from '@/doc/progressbar/progressbardoc.module';
+import { TemplateDoc } from '@/doc/progressbar/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ProgressBarDocModule]
+})
+export class ProgressBarDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'indeterminate',
+ label: 'Indeterminate',
+ component: IndeterminateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/progressbar/routes.ts b/apps/showcase/pages/progressbar/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/progressbar/routes.ts
rename to apps/showcase/pages/progressbar/routes.ts
diff --git a/apps/showcase/pages/progressspinner/index.ts b/apps/showcase/pages/progressspinner/index.ts
new file mode 100644
index 00000000000..b5a6b6c0b7b
--- /dev/null
+++ b/apps/showcase/pages/progressspinner/index.ts
@@ -0,0 +1,37 @@
+import { AccessibilityDoc } from '@/doc/progressspinner/accessibilitydoc';
+import { BasicDoc } from '@/doc/progressspinner/basicdoc';
+import { CustomDoc } from '@/doc/progressspinner/customdoc';
+import { ImportDoc } from '@/doc/progressspinner/importdoc';
+import { ProgressSpinnerDocModule } from '@/doc/progressspinner/progressspinnerdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ProgressSpinnerDocModule]
+})
+export class ProgressSpinnerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'custom',
+ label: 'Custom',
+ component: CustomDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/progressspinner/progressspinnerdemo.scss b/apps/showcase/pages/progressspinner/progressspinnerdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/progressspinner/progressspinnerdemo.scss
rename to apps/showcase/pages/progressspinner/progressspinnerdemo.scss
diff --git a/apps/showcase/src/app/showcase/pages/progressspinner/routes.ts b/apps/showcase/pages/progressspinner/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/progressspinner/routes.ts
rename to apps/showcase/pages/progressspinner/routes.ts
diff --git a/apps/showcase/pages/radiobutton/index.ts b/apps/showcase/pages/radiobutton/index.ts
new file mode 100644
index 00000000000..a091b18f65d
--- /dev/null
+++ b/apps/showcase/pages/radiobutton/index.ts
@@ -0,0 +1,74 @@
+import { AccessibilityDoc } from '@/doc/radiobutton/accessibilitydoc';
+import { DisabledDoc } from '@/doc/radiobutton/disableddoc';
+import { DynamicDoc } from '@/doc/radiobutton/dynamicdoc';
+import { FilledDoc } from '@/doc/radiobutton/filleddoc';
+import { GroupDoc } from '@/doc/radiobutton/groupdoc';
+import { ImportDoc } from '@/doc/radiobutton/importdoc';
+import { InvalidDoc } from '@/doc/radiobutton/invaliddoc';
+import { RadioButtonDocModule } from '@/doc/radiobutton/radiobuttondoc.module';
+import { ReactiveFormsDoc } from '@/doc/radiobutton/reactiveformsdoc';
+import { SizesDoc } from '@/doc/radiobutton/sizesdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [RadioButtonDocModule]
+})
+export class RadioButtonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/radiobutton/routes.ts b/apps/showcase/pages/radiobutton/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/radiobutton/routes.ts
rename to apps/showcase/pages/radiobutton/routes.ts
diff --git a/apps/showcase/pages/rating/index.ts b/apps/showcase/pages/rating/index.ts
new file mode 100644
index 00000000000..6888947df16
--- /dev/null
+++ b/apps/showcase/pages/rating/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/rating/accessibilitydoc';
+import { BasicDoc } from '@/doc/rating/basicdoc';
+import { DisabledDoc } from '@/doc/rating/disableddoc';
+import { ImportDoc } from '@/doc/rating/importdoc';
+import { NumberOfStarsDoc } from '@/doc/rating/numberofstarsdoc';
+import { RatingDocModule } from '@/doc/rating/ratingdoc.module';
+import { ReactiveFormsDoc } from '@/doc/rating/reactiveformsdoc';
+import { ReadOnlyDoc } from '@/doc/rating/readonlydoc';
+import { TemplateDoc } from '@/doc/rating/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [RatingDocModule]
+})
+export class RatingDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'numberofstars',
+ label: 'Number of Stars',
+ component: NumberOfStarsDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'readonly',
+ label: 'ReadOnly',
+ component: ReadOnlyDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/rating/routes.ts b/apps/showcase/pages/rating/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/rating/routes.ts
rename to apps/showcase/pages/rating/routes.ts
diff --git a/apps/showcase/pages/ripple/index.ts b/apps/showcase/pages/ripple/index.ts
new file mode 100644
index 00000000000..5cb45a4af6d
--- /dev/null
+++ b/apps/showcase/pages/ripple/index.ts
@@ -0,0 +1,38 @@
+import { AccessibilityDoc } from '@/doc/ripple/accessibilitydoc';
+import { CustomDoc } from '@/doc/ripple/customdoc';
+import { DefaultDoc } from '@/doc/ripple/defaultdoc';
+import { ImportDoc } from '@/doc/ripple/importdoc';
+import { RippleDocModule } from '@/doc/ripple/rippledoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [RippleDocModule],
+ styleUrl: './rippledemo.scss'
+})
+export class RippleDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'default',
+ label: 'Default',
+ component: DefaultDoc
+ },
+ {
+ id: 'custom',
+ label: 'Custom',
+ component: CustomDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/ripple/rippledemo.scss b/apps/showcase/pages/ripple/rippledemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/ripple/rippledemo.scss
rename to apps/showcase/pages/ripple/rippledemo.scss
diff --git a/apps/showcase/src/app/showcase/pages/ripple/routes.ts b/apps/showcase/pages/ripple/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/ripple/routes.ts
rename to apps/showcase/pages/ripple/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/roadmap/index.ts b/apps/showcase/pages/roadmap/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/roadmap/index.ts
rename to apps/showcase/pages/roadmap/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/roadmap/routes.ts b/apps/showcase/pages/roadmap/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/roadmap/routes.ts
rename to apps/showcase/pages/roadmap/routes.ts
diff --git a/apps/showcase/pages/scroller/index.ts b/apps/showcase/pages/scroller/index.ts
new file mode 100644
index 00000000000..d0a1a49853b
--- /dev/null
+++ b/apps/showcase/pages/scroller/index.ts
@@ -0,0 +1,67 @@
+import { AccessibilityDoc } from '@/doc/scroller/accessibilitydoc';
+import { BasicDoc } from '@/doc/scroller/basicdoc';
+import { DelayDoc } from '@/doc/scroller/delaydoc';
+import { GridDoc } from '@/doc/scroller/griddoc';
+import { HorizontalDoc } from '@/doc/scroller/horizontaldoc';
+import { ImportDoc } from '@/doc/scroller/importdoc';
+import { LazyLoadDoc } from '@/doc/scroller/lazyloaddoc';
+import { LoaderDoc } from '@/doc/scroller/loaderdoc';
+import { ProgrammaticDoc } from '@/doc/scroller/programmaticdoc';
+import { VirtualScrollerDocModule } from '@/doc/scroller/scrollerdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [VirtualScrollerDocModule],
+ styleUrl: './scrollerdemo.scss'
+})
+export class VirtualScrollerDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'horizontal',
+ label: 'Horizontal',
+ component: HorizontalDoc
+ },
+ {
+ id: 'grid',
+ label: 'Grid',
+ component: GridDoc
+ },
+ {
+ id: 'delay',
+ label: 'Delay',
+ component: DelayDoc
+ },
+ {
+ id: 'loading',
+ label: 'Loading',
+ component: LoaderDoc
+ },
+ {
+ id: 'lazy',
+ label: 'Lazy',
+ component: LazyLoadDoc
+ },
+ {
+ id: 'programmatic',
+ label: 'Programmatic',
+ component: ProgrammaticDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/scroller/routes.ts b/apps/showcase/pages/scroller/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scroller/routes.ts
rename to apps/showcase/pages/scroller/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/scroller/scrollerdemo.scss b/apps/showcase/pages/scroller/scrollerdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scroller/scrollerdemo.scss
rename to apps/showcase/pages/scroller/scrollerdemo.scss
diff --git a/apps/showcase/pages/scrollpanel/index.ts b/apps/showcase/pages/scrollpanel/index.ts
new file mode 100644
index 00000000000..9078a1e24e6
--- /dev/null
+++ b/apps/showcase/pages/scrollpanel/index.ts
@@ -0,0 +1,44 @@
+import { AccessibilityDoc } from '@/doc/scrollpanel/accessibilitydoc';
+import { BasicDoc } from '@/doc/scrollpanel/basicdoc';
+import { CusstomDoc } from '@/doc/scrollpanel/customdoc';
+import { ImportDoc } from '@/doc/scrollpanel/importdoc';
+import { ScrollPanelDocModule } from '@/doc/scrollpanel/scrollpaneldoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ScrollPanelDocModule]
+})
+export class ScrollPanelDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'custom',
+ label: 'Custom',
+ component: CusstomDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/scrollpanel/routes.ts b/apps/showcase/pages/scrollpanel/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scrollpanel/routes.ts
rename to apps/showcase/pages/scrollpanel/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/scrollpanel/scrollpaneldemo.scss b/apps/showcase/pages/scrollpanel/scrollpaneldemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scrollpanel/scrollpaneldemo.scss
rename to apps/showcase/pages/scrollpanel/scrollpaneldemo.scss
diff --git a/apps/showcase/pages/scrolltop/index.ts b/apps/showcase/pages/scrolltop/index.ts
new file mode 100644
index 00000000000..3426a65ad75
--- /dev/null
+++ b/apps/showcase/pages/scrolltop/index.ts
@@ -0,0 +1,45 @@
+import { AccessibilityDoc } from '@/doc/scrolltop/accessibilitydoc';
+import { BasicDoc } from '@/doc/scrolltop/basicdoc';
+import { ElementDoc } from '@/doc/scrolltop/elementdoc';
+import { ImportDoc } from '@/doc/scrolltop/importdoc';
+import { ScrollTopDocModule } from '@/doc/scrolltop/scrolltopdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [ScrollTopDocModule],
+ template: ` `,
+ styleUrls: ['./scrolltopdemo.scss']
+})
+export class ScrollTopDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'element',
+ label: 'Target Element',
+ component: ElementDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/scrolltop/routes.ts b/apps/showcase/pages/scrolltop/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scrolltop/routes.ts
rename to apps/showcase/pages/scrolltop/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/scrolltop/scrolltopdemo.scss b/apps/showcase/pages/scrolltop/scrolltopdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/scrolltop/scrolltopdemo.scss
rename to apps/showcase/pages/scrolltop/scrolltopdemo.scss
diff --git a/apps/showcase/pages/select/index.ts b/apps/showcase/pages/select/index.ts
new file mode 100644
index 00000000000..68076d19638
--- /dev/null
+++ b/apps/showcase/pages/select/index.ts
@@ -0,0 +1,129 @@
+import { AccessibilityDoc } from '@/doc/select/accessibilitydoc';
+import { BasicDoc } from '@/doc/select/basicdoc';
+import { CheckmarkDoc } from '@/doc/select/checkmarkdoc';
+import { ClearIconDoc } from '@/doc/select/clearicondoc';
+import { DisabledDoc } from '@/doc/select/disableddoc';
+import { EditableDoc } from '@/doc/select/editabledoc';
+import { FilledDoc } from '@/doc/select/filleddoc';
+import { FilterDoc } from '@/doc/select/filterdoc';
+import { FloatLabelDoc } from '@/doc/select/floatlabeldoc';
+import { GroupDoc } from '@/doc/select/groupdoc';
+import { IftaLabelDoc } from '@/doc/select/iftalabeldoc';
+import { ImportDoc } from '@/doc/select/importdoc';
+import { InvalidDoc } from '@/doc/select/invaliddoc';
+import { LazyVirtualScrollDoc } from '@/doc/select/lazyvirtualscrolldoc';
+import { LoadingStateDoc } from '@/doc/select/loadingstatedoc';
+import { ReactiveFormsDoc } from '@/doc/select/reactiveformsdoc';
+import { SelectDocModule } from '@/doc/select/selectdoc.module';
+import { SizesDoc } from '@/doc/select/sizesdoc';
+import { TemplateDoc } from '@/doc/select/templatedoc';
+import { VirtualScrollDoc } from '@/doc/select/virtualscrolldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SelectDocModule],
+ styleUrl: './selectdemo.scss'
+})
+export class SelectDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'checkmark',
+ label: 'Checkmark',
+ component: CheckmarkDoc
+ },
+ {
+ id: 'editable',
+ label: 'Editable',
+ component: EditableDoc
+ },
+ {
+ id: 'group',
+ label: 'Group',
+ component: GroupDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'clearicon',
+ label: 'Clear Icon',
+ component: ClearIconDoc
+ },
+ {
+ id: 'loadingstate',
+ label: 'Loading State',
+ component: LoadingStateDoc
+ },
+
+ {
+ id: 'virtualscroll',
+ label: 'Virtual Scroll',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'lazyvirtualscroll',
+ label: 'Lazy Virtual Scroll',
+ component: LazyVirtualScrollDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/select/routes.ts b/apps/showcase/pages/select/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/select/routes.ts
rename to apps/showcase/pages/select/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/select/selectdemo.module.ts b/apps/showcase/pages/select/selectdemo.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/select/selectdemo.module.ts
rename to apps/showcase/pages/select/selectdemo.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/select/selectdemo.scss b/apps/showcase/pages/select/selectdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/select/selectdemo.scss
rename to apps/showcase/pages/select/selectdemo.scss
diff --git a/apps/showcase/pages/selectbutton/index.ts b/apps/showcase/pages/selectbutton/index.ts
new file mode 100644
index 00000000000..6ab7bc21488
--- /dev/null
+++ b/apps/showcase/pages/selectbutton/index.ts
@@ -0,0 +1,73 @@
+import { AccessibilityDoc } from '@/doc/selectbutton/accessibilitydoc';
+import { BasicDoc } from '@/doc/selectbutton/basicdoc';
+import { DisabledDoc } from '@/doc/selectbutton/disableddoc';
+import { ImportDoc } from '@/doc/selectbutton/importdoc';
+import { InvalidDoc } from '@/doc/selectbutton/invaliddoc';
+import { MultipleDoc } from '@/doc/selectbutton/multipledoc';
+import { ReactiveFormsDoc } from '@/doc/selectbutton/reactiveformsdoc';
+import { SelectButtonDocModule } from '@/doc/selectbutton/selectbuttondoc.module';
+import { SizesDoc } from '@/doc/selectbutton/sizesdoc';
+import { TemplateDoc } from '@/doc/selectbutton/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SelectButtonDocModule]
+})
+export class SelectButtonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/selectbutton/routes.ts b/apps/showcase/pages/selectbutton/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/selectbutton/routes.ts
rename to apps/showcase/pages/selectbutton/routes.ts
diff --git a/apps/showcase/pages/skeleton/index.ts b/apps/showcase/pages/skeleton/index.ts
new file mode 100644
index 00000000000..dd5468d9d37
--- /dev/null
+++ b/apps/showcase/pages/skeleton/index.ts
@@ -0,0 +1,50 @@
+import { AccessibilityDoc } from '@/doc/skeleton/accessibilitydoc';
+import { CardDoc } from '@/doc/skeleton/carddoc';
+import { DataTableDoc } from '@/doc/skeleton/datatabledoc';
+import { ImportDoc } from '@/doc/skeleton/importdoc';
+import { ListDoc } from '@/doc/skeleton/listdoc';
+import { ShapesDoc } from '@/doc/skeleton/shapesdoc';
+import { SkeletonDocModule } from '@/doc/skeleton/skeletondoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SkeletonDocModule],
+ styleUrl: './skeletondemo.scss'
+})
+export class SkeletonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'shapes',
+ label: 'Shapes',
+ component: ShapesDoc
+ },
+ {
+ id: 'card',
+ label: 'Card',
+ component: CardDoc
+ },
+ {
+ id: 'list',
+ label: 'List',
+ component: ListDoc
+ },
+ {
+ id: 'datatable',
+ label: 'DataTable',
+ component: DataTableDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/skeleton/routes.ts b/apps/showcase/pages/skeleton/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/skeleton/routes.ts
rename to apps/showcase/pages/skeleton/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/skeleton/skeletondemo.scss b/apps/showcase/pages/skeleton/skeletondemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/skeleton/skeletondemo.scss
rename to apps/showcase/pages/skeleton/skeletondemo.scss
diff --git a/apps/showcase/pages/slider/index.ts b/apps/showcase/pages/slider/index.ts
new file mode 100644
index 00000000000..ad5b5891182
--- /dev/null
+++ b/apps/showcase/pages/slider/index.ts
@@ -0,0 +1,67 @@
+import { AccessibilityDoc } from '@/doc/slider/accessibilitydoc';
+import { BasicDoc } from '@/doc/slider/basicdoc';
+import { FilterDoc } from '@/doc/slider/filterdoc';
+import { ImportDoc } from '@/doc/slider/importdoc';
+import { InputDoc } from '@/doc/slider/inputdoc';
+import { RangeDoc } from '@/doc/slider/rangedoc';
+import { ReactiveFormsDoc } from '@/doc/slider/reactiveformsdoc';
+import { SliderDocModule } from '@/doc/slider/sliderdoc.module';
+import { StepDoc } from '@/doc/slider/stepdoc';
+import { VerticalDoc } from '@/doc/slider/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SliderDocModule]
+})
+export class SliderDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'input',
+ label: 'Input',
+ component: InputDoc
+ },
+ {
+ id: 'step',
+ label: 'Step',
+ component: StepDoc
+ },
+ {
+ id: 'range',
+ label: 'Range',
+ component: RangeDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/slider/routes.ts b/apps/showcase/pages/slider/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/slider/routes.ts
rename to apps/showcase/pages/slider/routes.ts
diff --git a/apps/showcase/pages/speeddial/index.ts b/apps/showcase/pages/speeddial/index.ts
new file mode 100644
index 00000000000..48190b735f6
--- /dev/null
+++ b/apps/showcase/pages/speeddial/index.ts
@@ -0,0 +1,68 @@
+import { AccessibilityDoc } from '@/doc/speeddial/accessibilitydoc';
+import { CircleDoc } from '@/doc/speeddial/circledoc';
+import { ImportDoc } from '@/doc/speeddial/importdoc';
+import { LinearDoc } from '@/doc/speeddial/lineardoc';
+import { MaskDoc } from '@/doc/speeddial/maskdoc';
+import { QuarterCircleDoc } from '@/doc/speeddial/quartercircledoc';
+import { SemiCircleDoc } from '@/doc/speeddial/semicircledoc';
+import { SpeedDialDocModule } from '@/doc/speeddial/speeddialdoc.module';
+import { TemplateDoc } from '@/doc/speeddial/templatedoc';
+import { TooltipDoc } from '@/doc/speeddial/tooltipdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SpeedDialDocModule],
+ styleUrl: './speeddialdemo.scss'
+})
+export class SpeedDialDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'linear',
+ label: 'Linear',
+ component: LinearDoc
+ },
+ {
+ id: 'circle',
+ label: 'Circle',
+ component: CircleDoc
+ },
+ {
+ id: 'semicircle',
+ label: 'Semi Circle',
+ component: SemiCircleDoc
+ },
+ {
+ id: 'quartercircle',
+ label: 'Quarter Circle',
+ component: QuarterCircleDoc
+ },
+ {
+ id: 'tooltip',
+ label: 'Tooltip',
+ component: TooltipDoc
+ },
+ {
+ id: 'mask',
+ label: 'Mask',
+ component: MaskDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/speeddial/routes.ts b/apps/showcase/pages/speeddial/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/speeddial/routes.ts
rename to apps/showcase/pages/speeddial/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/speeddial/speeddialdemo.scss b/apps/showcase/pages/speeddial/speeddialdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/speeddial/speeddialdemo.scss
rename to apps/showcase/pages/speeddial/speeddialdemo.scss
diff --git a/apps/showcase/pages/splitbutton/index.ts b/apps/showcase/pages/splitbutton/index.ts
new file mode 100644
index 00000000000..446b3c6eee5
--- /dev/null
+++ b/apps/showcase/pages/splitbutton/index.ts
@@ -0,0 +1,103 @@
+import { AccessibilityDoc } from '@/doc/splitbutton/accessibilitydoc';
+import { BasicDoc } from '@/doc/splitbutton/basicdoc';
+import { DisabledDoc } from '@/doc/splitbutton/disableddoc';
+import { IconsDoc } from '@/doc/splitbutton/iconsdoc';
+import { ImportDoc } from '@/doc/splitbutton/importdoc';
+import { NestedDoc } from '@/doc/splitbutton/nesteddoc';
+import { OutlinedDoc } from '@/doc/splitbutton/outlineddoc';
+import { RaisedDoc } from '@/doc/splitbutton/raiseddoc';
+import { RaisedTextDoc } from '@/doc/splitbutton/raisedtextdoc';
+import { RoundedDoc } from '@/doc/splitbutton/roundeddoc';
+import { SeverityDoc } from '@/doc/splitbutton/severitydoc';
+import { SizesDoc } from '@/doc/splitbutton/sizesdoc';
+import { SplitButtonDocModule } from '@/doc/splitbutton/splitbuttondoc.module';
+import { TemplateDoc } from '@/doc/splitbutton/templatedoc';
+import { TextDoc } from '@/doc/splitbutton/textdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SplitButtonDocModule]
+})
+export class SplitButtonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'icons',
+ label: 'Icons',
+ component: IconsDoc
+ },
+ {
+ id: 'nested',
+ label: 'Nested',
+ component: NestedDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'raised',
+ label: 'Raised',
+ component: RaisedDoc
+ },
+ {
+ id: 'rounded',
+ label: 'Rounded',
+ component: RoundedDoc
+ },
+ {
+ id: 'text',
+ label: 'Text',
+ component: TextDoc
+ },
+ {
+ id: 'raisedtext',
+ label: 'Raised Text',
+ component: RaisedTextDoc
+ },
+ {
+ id: 'outlined',
+ label: 'Outlined',
+ component: OutlinedDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/splitbutton/routes.ts b/apps/showcase/pages/splitbutton/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/splitbutton/routes.ts
rename to apps/showcase/pages/splitbutton/routes.ts
diff --git a/apps/showcase/pages/splitter/index.ts b/apps/showcase/pages/splitter/index.ts
new file mode 100644
index 00000000000..56d278e347d
--- /dev/null
+++ b/apps/showcase/pages/splitter/index.ts
@@ -0,0 +1,49 @@
+import { AccessibilityDoc } from '@/doc/splitter/accessibilitydoc';
+import { HorizontalDoc } from '@/doc/splitter/horizontaldoc';
+import { ImportDoc } from '@/doc/splitter/importdoc';
+import { NestedDoc } from '@/doc/splitter/nesteddoc';
+import { SizeDoc } from '@/doc/splitter/sizedoc';
+import { SplitterDocModule } from '@/doc/splitter/splitterdoc.module';
+import { VerticalDoc } from '@/doc/splitter/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [SplitterDocModule]
+})
+export class SplitterDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'horizontal',
+ label: 'Horizontal',
+ component: HorizontalDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'nested',
+ label: 'Nested',
+ component: NestedDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/splitter/routes.ts b/apps/showcase/pages/splitter/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/splitter/routes.ts
rename to apps/showcase/pages/splitter/routes.ts
diff --git a/apps/showcase/pages/stepper/index.ts b/apps/showcase/pages/stepper/index.ts
new file mode 100644
index 00000000000..15e04783ec5
--- /dev/null
+++ b/apps/showcase/pages/stepper/index.ts
@@ -0,0 +1,61 @@
+import { AccessibilityDoc } from '@/doc/stepper/accessibilitydoc';
+import { BasicDoc } from '@/doc/stepper/basicdoc';
+import { ImportDoc } from '@/doc/stepper/importdoc';
+import { LinearDoc } from '@/doc/stepper/lineardoc';
+import { StepperDocModule } from '@/doc/stepper/stepperdoc.module';
+import { StepsOnlyDoc } from '@/doc/stepper/stepsonly';
+import { TemplateDoc } from '@/doc/stepper/templatedoc';
+import { VerticalDoc } from '@/doc/stepper/verticaldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [StepperDocModule]
+})
+export class StepperDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'horizontal',
+ label: 'Horizontal',
+ component: BasicDoc
+ },
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: VerticalDoc
+ },
+ {
+ id: 'linear',
+ label: 'Linear',
+ component: LinearDoc
+ },
+ {
+ id: 'steps-only',
+ label: 'Steps Only',
+ component: StepsOnlyDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/stepper/routes.ts b/apps/showcase/pages/stepper/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/stepper/routes.ts
rename to apps/showcase/pages/stepper/routes.ts
diff --git a/apps/showcase/pages/steps/index.ts b/apps/showcase/pages/steps/index.ts
new file mode 100644
index 00000000000..d05c53ef94c
--- /dev/null
+++ b/apps/showcase/pages/steps/index.ts
@@ -0,0 +1,57 @@
+import { AccessibilityDoc } from '@/doc/steps/accessibilitydoc';
+import { BasicDoc } from '@/doc/steps/basicdoc';
+import { ControlledDoc } from '@/doc/steps/controlleddoc';
+import { ImportDoc } from '@/doc/steps/importdoc';
+import { InteractiveDoc } from '@/doc/steps/interactivedoc';
+import { RoutingDoc } from '@/doc/steps/routingdoc';
+import { StepsDocModule } from '@/doc/steps/stepsdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [StepsDocModule],
+ styleUrl: './stepsdemo.scss'
+})
+export class StepsDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'interactive',
+ label: 'Interactive',
+ component: InteractiveDoc
+ },
+ {
+ id: 'routing',
+ label: 'Routing',
+ component: RoutingDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/steps/routes.ts b/apps/showcase/pages/steps/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/steps/routes.ts
rename to apps/showcase/pages/steps/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/steps/stepsdemo.scss b/apps/showcase/pages/steps/stepsdemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/steps/stepsdemo.scss
rename to apps/showcase/pages/steps/stepsdemo.scss
diff --git a/apps/showcase/pages/styleclass/index.ts b/apps/showcase/pages/styleclass/index.ts
new file mode 100644
index 00000000000..d0d4ee09a9e
--- /dev/null
+++ b/apps/showcase/pages/styleclass/index.ts
@@ -0,0 +1,36 @@
+import { AnimationDoc } from '@/doc/styleclass/animationdoc';
+import { ImportDoc } from '@/doc/styleclass/importdoc';
+import { StyleClassDocModule } from '@/doc/styleclass/styleclassdoc.module';
+import { ToggleClassDoc } from '@/doc/styleclass/toggleclassdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [StyleClassDocModule]
+})
+export class StyleClassDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'toggleclass',
+ label: 'Toggle Class',
+ component: ToggleClassDoc
+ },
+ {
+ id: 'animation',
+ label: 'Animation',
+ component: AnimationDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/styleclass/routes.ts b/apps/showcase/pages/styleclass/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/styleclass/routes.ts
rename to apps/showcase/pages/styleclass/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/support/index.ts b/apps/showcase/pages/support/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/support/index.ts
rename to apps/showcase/pages/support/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/support/routes.ts b/apps/showcase/pages/support/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/support/routes.ts
rename to apps/showcase/pages/support/routes.ts
diff --git a/apps/showcase/pages/table/index.ts b/apps/showcase/pages/table/index.ts
new file mode 100644
index 00000000000..c29454c977b
--- /dev/null
+++ b/apps/showcase/pages/table/index.ts
@@ -0,0 +1,360 @@
+import { AccessibilityDoc } from '@/doc/table/accessibilitydoc';
+import { BasicDoc } from '@/doc/table/basicdoc';
+import { CellEditDoc } from '@/doc/table/celleditdoc';
+import { CheckboxSelectionDoc } from '@/doc/table/checkboxselectiondoc';
+import { ColumnGroupDoc } from '@/doc/table/columngroupdoc';
+import { ColumnResizeExpandModeDoc } from '@/doc/table/columnresizeexpandmodedoc';
+import { ColumnResizeFitModeDoc } from '@/doc/table/columnresizefitmodedoc';
+import { ColumnResizeScrollableModeDoc } from '@/doc/table/columnresizescrollablemodedoc';
+import { ColumnSelectionDoc } from '@/doc/table/columnselectiondoc';
+import { ColumnToggleDoc } from '@/doc/table/columntoggledoc';
+import { ContextMenuDoc } from '@/doc/table/contextmenudoc';
+import { CustomersDoc } from '@/doc/table/customersdoc';
+import { DynamicDoc } from '@/doc/table/dynamicdoc';
+import { ExpandableRowGroupDoc } from '@/doc/table/expandablerowgroupdoc';
+import { ExportDoc } from '@/doc/table/exportdoc';
+import { FilterAdvancedDoc } from '@/doc/table/filteradvanceddoc';
+import { FilterBasicDoc } from '@/doc/table/filterbasic';
+import { FlexibleScrollDoc } from '@/doc/table/flexiblescrolldoc';
+import { FrozenColumnsDoc } from '@/doc/table/frozencolumnsdoc';
+import { FrozenRowsDoc } from '@/doc/table/frozenrowsdoc';
+import { GridlinesDoc } from '@/doc/table/gridlinesdoc';
+import { HorizontalScrollDoc } from '@/doc/table/horizontalscrolldoc';
+import { ImportDoc } from '@/doc/table/importdoc';
+import { MultipleColumnsSortDoc } from '@/doc/table/multiplecolumnssortdoc';
+import { MultipleSelectionDoc } from '@/doc/table/multipleselectiondoc';
+import { PaginatorBasicDoc } from '@/doc/table/paginatorbasicdoc';
+import { PaginatorProgrammaticDoc } from '@/doc/table/paginatorprogrammaticdoc';
+import { PreSortDoc } from '@/doc/table/presortdoc';
+import { ProductsDoc } from '@/doc/table/productsdoc';
+import { RadioButtonSelectionDoc } from '@/doc/table/radiobuttonselectiondoc';
+import { RemovableSortDoc } from '@/doc/table/removablesortdoc';
+import { ReorderDoc } from '@/doc/table/reorderdoc';
+import { RowEditDoc } from '@/doc/table/roweditdoc';
+import { RowExpansionDoc } from '@/doc/table/rowexpansiondoc';
+import { RowspanGroupingDoc } from '@/doc/table/rowspangroupingdoc';
+import { SelectionEventsDoc } from '@/doc/table/selectioneventsdoc';
+import { SingleColumnSortDoc } from '@/doc/table/singlecolumnsortdoc';
+import { SingleSelectionDoc } from '@/doc/table/singleselectiondoc';
+import { SizeDoc } from '@/doc/table/sizedoc';
+import { StatefulDoc } from '@/doc/table/statefuldoc';
+import { StripedDoc } from '@/doc/table/stripeddoc';
+import { StyleDoc } from '@/doc/table/styledoc';
+import { SubheaderGroupingDoc } from '@/doc/table/subheadergroupingdoc';
+import { TableDocModule } from '@/doc/table/tabledoc.module';
+import { TemplateDoc } from '@/doc/table/templatedoc';
+import { VerticalScrollDoc } from '@/doc/table/verticalscrolldoc';
+import { VirtualScrollDoc } from '@/doc/table/virtualscrolldoc';
+import { VirtualScrollLazyDoc } from '@/doc/table/virtualscrolllazydoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TableDocModule],
+ styleUrl: './tabledemo.scss'
+})
+export class TableDemo {
+ docs = [
+ {
+ id: 'import-demo',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic Columns',
+ component: DynamicDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'gridlines',
+ label: 'Grid Lines',
+ component: GridlinesDoc
+ },
+ {
+ id: 'striped',
+ label: 'Striped Rows',
+ component: StripedDoc
+ },
+ {
+ id: 'table-style',
+ label: 'Conditional Style',
+ component: StyleDoc
+ },
+ {
+ id: 'paginator',
+ label: 'Pagination',
+ children: [
+ {
+ id: 'paginator-basic',
+ label: 'Basic',
+ component: PaginatorBasicDoc
+ },
+ {
+ id: 'paginator-programmatic',
+ label: 'Programmatic',
+ component: PaginatorProgrammaticDoc
+ }
+ ]
+ },
+ {
+ id: 'sort',
+ label: 'Sort',
+ children: [
+ {
+ id: 'single-column-sort',
+ label: 'Single Column',
+ component: SingleColumnSortDoc
+ },
+ {
+ id: 'multiple-columns-sort',
+ label: 'Multiple Columns',
+ component: MultipleColumnsSortDoc
+ },
+ {
+ id: 'pre-sort',
+ label: 'Presort',
+ component: PreSortDoc
+ },
+ {
+ id: 'removable-sort',
+ label: 'Removable',
+ component: RemovableSortDoc
+ }
+ ]
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ children: [
+ {
+ id: 'filter-basic',
+ label: 'Basic',
+ component: FilterBasicDoc
+ },
+ {
+ id: 'filter-advanced',
+ label: 'Advanced',
+ component: FilterAdvancedDoc
+ }
+ ]
+ },
+ {
+ id: 'row-selection',
+ label: 'Row Selection',
+ children: [
+ {
+ id: 'single-selection',
+ label: 'Single',
+ component: SingleSelectionDoc
+ },
+ {
+ id: 'multiple-selection',
+ label: 'Multiple',
+ component: MultipleSelectionDoc
+ },
+ {
+ id: 'radio-button-selection',
+ label: 'RadioButton',
+ component: RadioButtonSelectionDoc
+ },
+ {
+ id: 'checkbox-selection',
+ label: 'Checkbox',
+ component: CheckboxSelectionDoc
+ },
+ {
+ id: 'column-selection',
+ label: 'Column',
+ component: ColumnSelectionDoc
+ },
+ {
+ id: 'selection-events',
+ label: 'Events',
+ component: SelectionEventsDoc
+ }
+ ]
+ },
+ {
+ id: 'row-expansion',
+ label: 'Row Expansion',
+ component: RowExpansionDoc
+ },
+ {
+ id: 'Edit',
+ label: 'Edit',
+ children: [
+ {
+ id: 'cell-edit',
+ label: 'Cell',
+ component: CellEditDoc
+ },
+ {
+ id: 'row-edit',
+ label: 'Row',
+ component: RowEditDoc
+ }
+ ]
+ },
+ // {
+ // id: 'lazy-load',
+ // label: 'Lazy Load',
+ // component: LazyLoadDoc,
+ // },
+ {
+ id: 'scroll',
+ label: 'Scroll',
+ children: [
+ {
+ id: 'vertical-scroll',
+ label: 'Vertical',
+ component: VerticalScrollDoc
+ },
+ {
+ id: 'flex-scroll',
+ label: 'Flexible',
+ component: FlexibleScrollDoc
+ },
+ {
+ id: 'horizontal-scroll',
+ label: 'Horizontal',
+ component: HorizontalScrollDoc
+ },
+ {
+ id: 'frozen-rows',
+ label: 'Frozen Rows',
+ component: FrozenRowsDoc
+ },
+ {
+ id: 'frozen-columns',
+ label: 'Frozen Columns',
+ component: FrozenColumnsDoc
+ }
+ ]
+ },
+ {
+ id: 'virtual-scroll',
+ label: 'Virtual Scroll',
+ children: [
+ {
+ id: 'virtual-scroll-basic',
+ label: 'Preload',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'virtual-scroll-lazy',
+ label: 'Lazy',
+ component: VirtualScrollLazyDoc
+ }
+ ]
+ },
+ {
+ id: 'column-group',
+ label: 'Column Group',
+ component: ColumnGroupDoc
+ },
+ {
+ id: 'row-group',
+ label: 'Row Group',
+ children: [
+ {
+ id: 'subheader',
+ label: 'Subheader',
+ component: SubheaderGroupingDoc
+ },
+ {
+ id: 'expand',
+ label: 'Expandable',
+ component: ExpandableRowGroupDoc
+ },
+ {
+ id: 'row-span',
+ label: 'RowSpan',
+ component: RowspanGroupingDoc
+ }
+ ]
+ },
+ {
+ id: 'column-resize',
+ label: 'Column Resize',
+ children: [
+ {
+ id: 'fit-mode',
+ label: 'Fit Mode',
+ component: ColumnResizeFitModeDoc
+ },
+ {
+ id: 'expand-mode',
+ label: 'Expand Mode',
+ component: ColumnResizeExpandModeDoc
+ },
+ {
+ id: 'scrollable',
+ label: 'Scrollable',
+ component: ColumnResizeScrollableModeDoc
+ }
+ ]
+ },
+ {
+ id: 'reorder',
+ label: 'Reorder',
+ component: ReorderDoc
+ },
+ {
+ id: 'column-toggle',
+ label: 'Column Toggle',
+ component: ColumnToggleDoc
+ },
+ {
+ id: 'export',
+ label: 'Export',
+ component: ExportDoc
+ },
+ {
+ id: 'context-menu',
+ label: 'Context Menu',
+ component: ContextMenuDoc
+ },
+ {
+ id: 'stateful',
+ label: 'Stateful',
+ component: StatefulDoc
+ },
+ {
+ id: 'samples',
+ label: 'Samples',
+ children: [
+ {
+ id: 'customers',
+ label: 'Customers',
+ component: CustomersDoc
+ },
+ {
+ id: 'products',
+ label: 'Products',
+ component: ProductsDoc
+ }
+ ]
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/table/routes.ts b/apps/showcase/pages/table/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/table/routes.ts
rename to apps/showcase/pages/table/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/table/tabledemo.scss b/apps/showcase/pages/table/tabledemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/table/tabledemo.scss
rename to apps/showcase/pages/table/tabledemo.scss
diff --git a/apps/showcase/pages/tabs/index.ts b/apps/showcase/pages/tabs/index.ts
new file mode 100755
index 00000000000..b10647b3401
--- /dev/null
+++ b/apps/showcase/pages/tabs/index.ts
@@ -0,0 +1,66 @@
+import { AccessibilityDoc } from '@/doc/tabs/accessibilitydoc';
+import { BasicDoc } from '@/doc/tabs/basicdoc';
+import { ControlledDoc } from '@/doc/tabs/controlleddoc';
+import { TemplateDoc } from '@/doc/tabs/customtemplatedoc';
+import { DisabledDoc } from '@/doc/tabs/disableddoc';
+import { DynamicDoc } from '@/doc/tabs/dynamicdoc';
+import { ImportDoc } from '@/doc/tabs/importdoc';
+import { ScrollableDoc } from '@/doc/tabs/scrollabledoc';
+import { TabmenuDoc } from '@/doc/tabs/tabmenudoc';
+import { TabsDocModule } from '@/doc/tabs/tabsdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [TabsDocModule],
+ standalone: true
+})
+export class TabsDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'dynamic',
+ label: 'Dynamic',
+ component: DynamicDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'scrollable',
+ label: 'Scrollable',
+ component: ScrollableDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'tabmenu',
+ label: 'Tab Menu',
+ component: TabmenuDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tabs/routes.ts b/apps/showcase/pages/tabs/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tabs/routes.ts
rename to apps/showcase/pages/tabs/routes.ts
diff --git a/apps/showcase/pages/tag/index.ts b/apps/showcase/pages/tag/index.ts
new file mode 100644
index 00000000000..4c67accd2d1
--- /dev/null
+++ b/apps/showcase/pages/tag/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/tag/accessibilitydoc';
+import { BasicDoc } from '@/doc/tag/basicdoc';
+import { IconDoc } from '@/doc/tag/icondoc';
+import { ImportDoc } from '@/doc/tag/importdoc';
+import { PillDoc } from '@/doc/tag/pilldoc';
+import { SeverityDoc } from '@/doc/tag/severitydoc';
+import { TagDocModule } from '@/doc/tag/tagdoc.module';
+import { TemplateDoc } from '@/doc/tag/templatedoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TagDocModule]
+})
+export class TagDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'pill',
+ label: 'Pill',
+ component: PillDoc
+ },
+ {
+ id: 'icon',
+ label: 'Icon',
+ component: IconDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tag/routes.ts b/apps/showcase/pages/tag/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tag/routes.ts
rename to apps/showcase/pages/tag/routes.ts
diff --git a/apps/showcase/pages/tailwind/index.ts b/apps/showcase/pages/tailwind/index.ts
new file mode 100644
index 00000000000..499a4bdf461
--- /dev/null
+++ b/apps/showcase/pages/tailwind/index.ts
@@ -0,0 +1,67 @@
+import { AnimationsDoc } from '@/doc/tailwind/animationsdoc';
+import { ColorPaletteDoc } from '@/doc/tailwind/colorpalettedoc';
+import { ExtensionsDoc } from '@/doc/tailwind/extensionsdoc';
+import { FormDoc } from '@/doc/tailwind/formdoc';
+import { HeadlessDoc } from '@/doc/tailwind/headlessdoc';
+import { OverrideDoc } from '@/doc/tailwind/overridedoc';
+import { OverviewDoc } from '@/doc/tailwind/overviewdoc';
+import { PluginDoc } from '@/doc/tailwind/plugindoc';
+import { TailwindDocModule } from '@/doc/tailwind/tailwinddoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TailwindDocModule]
+})
+export class TailwindDemo {
+ docs = [
+ {
+ id: 'overview',
+ label: 'Overview',
+ component: OverviewDoc
+ },
+ {
+ id: 'plugin',
+ label: 'Plugin',
+ component: PluginDoc
+ },
+ {
+ id: 'extensions',
+ label: 'Extensions',
+ component: ExtensionsDoc
+ },
+ {
+ id: 'override',
+ label: 'Override',
+ component: OverrideDoc
+ },
+ {
+ id: 'samples',
+ label: 'Samples',
+ description: 'Example uses cases with PrimeNG and Tailwind CSS.',
+ children: [
+ {
+ id: 'color-palette',
+ label: 'Color Palette',
+ component: ColorPaletteDoc
+ },
+ {
+ id: 'form',
+ label: 'Form',
+ component: FormDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+ {
+ id: 'animations',
+ label: 'Animations',
+ component: AnimationsDoc
+ }
+ ]
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tailwind/routes.ts b/apps/showcase/pages/tailwind/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tailwind/routes.ts
rename to apps/showcase/pages/tailwind/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/team/index.ts b/apps/showcase/pages/team/index.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/team/index.ts
rename to apps/showcase/pages/team/index.ts
diff --git a/apps/showcase/src/app/showcase/pages/team/routes.ts b/apps/showcase/pages/team/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/team/routes.ts
rename to apps/showcase/pages/team/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/templates/apollo/apollo.ts b/apps/showcase/pages/templates/apollo/apollo.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/pages/templates/apollo/apollo.ts
rename to apps/showcase/pages/templates/apollo/apollo.ts
index 6127692303e..9c79adf6b27 100644
--- a/apps/showcase/src/app/showcase/pages/templates/apollo/apollo.ts
+++ b/apps/showcase/pages/templates/apollo/apollo.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { ApolloLogo } from './apollologo';
import { ApolloSeparator } from './apolloseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/apollo/apollologo.ts b/apps/showcase/pages/templates/apollo/apollologo.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/pages/templates/apollo/apollologo.ts
rename to apps/showcase/pages/templates/apollo/apollologo.ts
index 1b348d2acb1..edb3bb92d26 100644
--- a/apps/showcase/src/app/showcase/pages/templates/apollo/apollologo.ts
+++ b/apps/showcase/pages/templates/apollo/apollologo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/apollo/apolloseparator.ts b/apps/showcase/pages/templates/apollo/apolloseparator.ts
similarity index 86%
rename from apps/showcase/src/app/showcase/pages/templates/apollo/apolloseparator.ts
rename to apps/showcase/pages/templates/apollo/apolloseparator.ts
index 8ffb5ade884..1f48b3982a9 100644
--- a/apps/showcase/src/app/showcase/pages/templates/apollo/apolloseparator.ts
+++ b/apps/showcase/pages/templates/apollo/apolloseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantis.ts b/apps/showcase/pages/templates/atlantis/atlantis.ts
similarity index 93%
rename from apps/showcase/src/app/showcase/pages/templates/atlantis/atlantis.ts
rename to apps/showcase/pages/templates/atlantis/atlantis.ts
index 75e152361e2..b2444f8f3ab 100644
--- a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantis.ts
+++ b/apps/showcase/pages/templates/atlantis/atlantis.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { AtlantisLogo } from './atlantislogo';
import { AtlantisSeparator } from './atlantisseparator';
@Component({
diff --git a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantislogo.ts b/apps/showcase/pages/templates/atlantis/atlantislogo.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/atlantis/atlantislogo.ts
rename to apps/showcase/pages/templates/atlantis/atlantislogo.ts
index 125c52bdd1e..effc44be0d6 100644
--- a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantislogo.ts
+++ b/apps/showcase/pages/templates/atlantis/atlantislogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantisseparator.ts b/apps/showcase/pages/templates/atlantis/atlantisseparator.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/pages/templates/atlantis/atlantisseparator.ts
rename to apps/showcase/pages/templates/atlantis/atlantisseparator.ts
index 258776d4f01..88d53947512 100644
--- a/apps/showcase/src/app/showcase/pages/templates/atlantis/atlantisseparator.ts
+++ b/apps/showcase/pages/templates/atlantis/atlantisseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/avalon/avalon.ts b/apps/showcase/pages/templates/avalon/avalon.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/pages/templates/avalon/avalon.ts
rename to apps/showcase/pages/templates/avalon/avalon.ts
index 7ba4b6ab9f8..ecd0ed9b9ae 100644
--- a/apps/showcase/src/app/showcase/pages/templates/avalon/avalon.ts
+++ b/apps/showcase/pages/templates/avalon/avalon.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { AvalonLogo } from './avalonlogo';
import { AvalonSeparator } from './avalonseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/avalon/avalonlogo.ts b/apps/showcase/pages/templates/avalon/avalonlogo.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/pages/templates/avalon/avalonlogo.ts
rename to apps/showcase/pages/templates/avalon/avalonlogo.ts
index 0a1fa325d1e..3d4d400e8ac 100644
--- a/apps/showcase/src/app/showcase/pages/templates/avalon/avalonlogo.ts
+++ b/apps/showcase/pages/templates/avalon/avalonlogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/avalon/avalonseparator.ts b/apps/showcase/pages/templates/avalon/avalonseparator.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/avalon/avalonseparator.ts
rename to apps/showcase/pages/templates/avalon/avalonseparator.ts
index 6334546fb60..817cf9d2329 100644
--- a/apps/showcase/src/app/showcase/pages/templates/avalon/avalonseparator.ts
+++ b/apps/showcase/pages/templates/avalon/avalonseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/diamond/diamond.ts b/apps/showcase/pages/templates/diamond/diamond.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/pages/templates/diamond/diamond.ts
rename to apps/showcase/pages/templates/diamond/diamond.ts
index dec183ef86d..cda33c6e15a 100644
--- a/apps/showcase/src/app/showcase/pages/templates/diamond/diamond.ts
+++ b/apps/showcase/pages/templates/diamond/diamond.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { DiamondLogo } from './diamondlogo';
import { DiamondSeparator } from './diamondseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/diamond/diamondlogo.ts b/apps/showcase/pages/templates/diamond/diamondlogo.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/diamond/diamondlogo.ts
rename to apps/showcase/pages/templates/diamond/diamondlogo.ts
index a8e97158d35..5227b957d77 100644
--- a/apps/showcase/src/app/showcase/pages/templates/diamond/diamondlogo.ts
+++ b/apps/showcase/pages/templates/diamond/diamondlogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/diamond/diamondseparator.ts b/apps/showcase/pages/templates/diamond/diamondseparator.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/pages/templates/diamond/diamondseparator.ts
rename to apps/showcase/pages/templates/diamond/diamondseparator.ts
index 74807eb61a5..03d47d17248 100644
--- a/apps/showcase/src/app/showcase/pages/templates/diamond/diamondseparator.ts
+++ b/apps/showcase/pages/templates/diamond/diamondseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/freya/freya.ts b/apps/showcase/pages/templates/freya/freya.ts
similarity index 93%
rename from apps/showcase/src/app/showcase/pages/templates/freya/freya.ts
rename to apps/showcase/pages/templates/freya/freya.ts
index 4222431a5ba..649207f8626 100644
--- a/apps/showcase/src/app/showcase/pages/templates/freya/freya.ts
+++ b/apps/showcase/pages/templates/freya/freya.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { FreyaLogo } from './freyalogo';
import { FreyaSeparator } from './freyaseparator';
@Component({
diff --git a/apps/showcase/src/app/showcase/pages/templates/freya/freyalogo.ts b/apps/showcase/pages/templates/freya/freyalogo.ts
similarity index 97%
rename from apps/showcase/src/app/showcase/pages/templates/freya/freyalogo.ts
rename to apps/showcase/pages/templates/freya/freyalogo.ts
index 0a24d04f0e5..69b44563d06 100644
--- a/apps/showcase/src/app/showcase/pages/templates/freya/freyalogo.ts
+++ b/apps/showcase/pages/templates/freya/freyalogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/freya/freyaseparator.ts b/apps/showcase/pages/templates/freya/freyaseparator.ts
similarity index 83%
rename from apps/showcase/src/app/showcase/pages/templates/freya/freyaseparator.ts
rename to apps/showcase/pages/templates/freya/freyaseparator.ts
index 7276073f99a..234b439ab34 100644
--- a/apps/showcase/src/app/showcase/pages/templates/freya/freyaseparator.ts
+++ b/apps/showcase/pages/templates/freya/freyaseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore-routing.module.ts b/apps/showcase/pages/templates/learnmore/learnmore-routing.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore-routing.module.ts
rename to apps/showcase/pages/templates/learnmore/learnmore-routing.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.component.html b/apps/showcase/pages/templates/learnmore/learnmore.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.component.html
rename to apps/showcase/pages/templates/learnmore/learnmore.component.html
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.component.ts b/apps/showcase/pages/templates/learnmore/learnmore.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.component.ts
rename to apps/showcase/pages/templates/learnmore/learnmore.component.ts
diff --git a/apps/showcase/pages/templates/learnmore/learnmore.module.ts b/apps/showcase/pages/templates/learnmore/learnmore.module.ts
new file mode 100644
index 00000000000..c7b9d0fc70d
--- /dev/null
+++ b/apps/showcase/pages/templates/learnmore/learnmore.module.ts
@@ -0,0 +1,31 @@
+import { CommonModule } from '@angular/common';
+import { NgModule } from '@angular/core';
+
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateFeaturesAnimationInlineModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimationinline';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
+import { LearnMoreRoutingModule } from './learnmore-routing.module';
+import { LearnMoreComponent } from './learnmore.component';
+@NgModule({
+ declarations: [LearnMoreComponent],
+ imports: [
+ CommonModule,
+ LearnMoreRoutingModule,
+ TemplateHeroModule,
+ TemplateSeparatorModule,
+ TemplateYoutubeModule,
+ TemplateLicenseModule,
+ TemplateFeaturesModule,
+ TemplateFeaturesAnimationModule,
+ TemplateConfigurationModule,
+ TemplateRelatedModule,
+ TemplateFeaturesAnimationInlineModule
+ ]
+})
+export class LearnMoreModule {}
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.scss b/apps/showcase/pages/templates/learnmore/learnmore.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.scss
rename to apps/showcase/pages/templates/learnmore/learnmore.scss
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/templatedata.json b/apps/showcase/pages/templates/learnmore/templatedata.json
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/learnmore/templatedata.json
rename to apps/showcase/pages/templates/learnmore/templatedata.json
diff --git a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidon.ts b/apps/showcase/pages/templates/poseidon/poseidon.ts
similarity index 92%
rename from apps/showcase/src/app/showcase/pages/templates/poseidon/poseidon.ts
rename to apps/showcase/pages/templates/poseidon/poseidon.ts
index 4ebd0fe189e..262dfa9e170 100644
--- a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidon.ts
+++ b/apps/showcase/pages/templates/poseidon/poseidon.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { PoseidonLogo } from './poseidonlogo';
import { PoseidonSeparator } from './poseidonseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonlogo.ts b/apps/showcase/pages/templates/poseidon/poseidonlogo.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonlogo.ts
rename to apps/showcase/pages/templates/poseidon/poseidonlogo.ts
index 37f8c4727c9..fec49509419 100644
--- a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonlogo.ts
+++ b/apps/showcase/pages/templates/poseidon/poseidonlogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonseparator.ts b/apps/showcase/pages/templates/poseidon/poseidonseparator.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonseparator.ts
rename to apps/showcase/pages/templates/poseidon/poseidonseparator.ts
index ac902e20dba..ddb038ccc18 100644
--- a/apps/showcase/src/app/showcase/pages/templates/poseidon/poseidonseparator.ts
+++ b/apps/showcase/pages/templates/poseidon/poseidonseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/sakai/sakai.ts b/apps/showcase/pages/templates/sakai/sakai.ts
similarity index 91%
rename from apps/showcase/src/app/showcase/pages/templates/sakai/sakai.ts
rename to apps/showcase/pages/templates/sakai/sakai.ts
index 97936184979..c1ec34b8f7b 100644
--- a/apps/showcase/src/app/showcase/pages/templates/sakai/sakai.ts
+++ b/apps/showcase/pages/templates/sakai/sakai.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { SakaiLogo } from './sakailogo';
import { SakaiSeparator } from './sakaiseparator';
@Component({
diff --git a/apps/showcase/src/app/showcase/pages/templates/sakai/sakailogo.ts b/apps/showcase/pages/templates/sakai/sakailogo.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/sakai/sakailogo.ts
rename to apps/showcase/pages/templates/sakai/sakailogo.ts
index 7a7e050470c..c78c0f66693 100644
--- a/apps/showcase/src/app/showcase/pages/templates/sakai/sakailogo.ts
+++ b/apps/showcase/pages/templates/sakai/sakailogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/sakai/sakaiseparator.ts b/apps/showcase/pages/templates/sakai/sakaiseparator.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/pages/templates/sakai/sakaiseparator.ts
rename to apps/showcase/pages/templates/sakai/sakaiseparator.ts
index e5e2fabf89c..60660a10708 100644
--- a/apps/showcase/src/app/showcase/pages/templates/sakai/sakaiseparator.ts
+++ b/apps/showcase/pages/templates/sakai/sakaiseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/templates-routing.module.ts b/apps/showcase/pages/templates/templates-routing.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/templates-routing.module.ts
rename to apps/showcase/pages/templates/templates-routing.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/templates/templates.component.html b/apps/showcase/pages/templates/templates.component.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/templates.component.html
rename to apps/showcase/pages/templates/templates.component.html
diff --git a/apps/showcase/src/app/showcase/pages/templates/templates.component.ts b/apps/showcase/pages/templates/templates.component.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/templates.component.ts
rename to apps/showcase/pages/templates/templates.component.ts
diff --git a/apps/showcase/src/app/showcase/pages/templates/templates.module.ts b/apps/showcase/pages/templates/templates.module.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/templates/templates.module.ts
rename to apps/showcase/pages/templates/templates.module.ts
diff --git a/apps/showcase/src/app/showcase/pages/templates/ultima/ultima.ts b/apps/showcase/pages/templates/ultima/ultima.ts
similarity index 94%
rename from apps/showcase/src/app/showcase/pages/templates/ultima/ultima.ts
rename to apps/showcase/pages/templates/ultima/ultima.ts
index c8549485204..f57f74a5106 100644
--- a/apps/showcase/src/app/showcase/pages/templates/ultima/ultima.ts
+++ b/apps/showcase/pages/templates/ultima/ultima.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { UltimaLogo } from './ultimalogo';
import { UltimaSeparator } from './ultimaseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/ultima/ultimalogo.ts b/apps/showcase/pages/templates/ultima/ultimalogo.ts
similarity index 98%
rename from apps/showcase/src/app/showcase/pages/templates/ultima/ultimalogo.ts
rename to apps/showcase/pages/templates/ultima/ultimalogo.ts
index 50d55075ccc..69839a9b649 100644
--- a/apps/showcase/src/app/showcase/pages/templates/ultima/ultimalogo.ts
+++ b/apps/showcase/pages/templates/ultima/ultimalogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/ultima/ultimaseparator.ts b/apps/showcase/pages/templates/ultima/ultimaseparator.ts
similarity index 95%
rename from apps/showcase/src/app/showcase/pages/templates/ultima/ultimaseparator.ts
rename to apps/showcase/pages/templates/ultima/ultimaseparator.ts
index 7766cc34f98..63f4162cb14 100644
--- a/apps/showcase/src/app/showcase/pages/templates/ultima/ultimaseparator.ts
+++ b/apps/showcase/pages/templates/ultima/ultimaseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/verona/verona.ts b/apps/showcase/pages/templates/verona/verona.ts
similarity index 93%
rename from apps/showcase/src/app/showcase/pages/templates/verona/verona.ts
rename to apps/showcase/pages/templates/verona/verona.ts
index 59af05fdb47..d2240a16106 100644
--- a/apps/showcase/src/app/showcase/pages/templates/verona/verona.ts
+++ b/apps/showcase/pages/templates/verona/verona.ts
@@ -1,12 +1,12 @@
+import { TemplateConfigurationModule } from '@/components/template/templateconfiguration';
+import { TemplateFeaturesModule } from '@/components/template/templatefeatures';
+import { TemplateFeaturesAnimationModule } from '@/components/template/templatefeaturesanimation/templatefeaturesanimation';
+import { TemplateHeroModule } from '@/components/template/templatehero/templatehero';
+import { TemplateLicenseModule } from '@/components/template/templatelicense';
+import { TemplateRelatedModule } from '@/components/template/templaterelated';
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { TemplateYoutubeModule } from '@/components/template/templateyoutube';
import { Component } from '@angular/core';
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
import { VeronaLogo } from './veronalogo';
import { VeronaSeparator } from './veronaseparator';
diff --git a/apps/showcase/src/app/showcase/pages/templates/verona/veronalogo.ts b/apps/showcase/pages/templates/verona/veronalogo.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/pages/templates/verona/veronalogo.ts
rename to apps/showcase/pages/templates/verona/veronalogo.ts
index b0599dcee0d..9186f25b057 100644
--- a/apps/showcase/src/app/showcase/pages/templates/verona/veronalogo.ts
+++ b/apps/showcase/pages/templates/verona/veronalogo.ts
@@ -1,5 +1,5 @@
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/src/app/showcase/pages/templates/verona/veronaseparator.ts b/apps/showcase/pages/templates/verona/veronaseparator.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/pages/templates/verona/veronaseparator.ts
rename to apps/showcase/pages/templates/verona/veronaseparator.ts
index 3566496694f..500cf206d42 100644
--- a/apps/showcase/src/app/showcase/pages/templates/verona/veronaseparator.ts
+++ b/apps/showcase/pages/templates/verona/veronaseparator.ts
@@ -1,6 +1,6 @@
+import { TemplateSeparatorModule } from '@/components/template/templateseparator';
+import { AppConfigService } from '@/service/appconfigservice';
import { Component, inject } from '@angular/core';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { AppConfigService } from '@service/appconfigservice';
@Component({
standalone: true,
diff --git a/apps/showcase/pages/terminal/index.ts b/apps/showcase/pages/terminal/index.ts
new file mode 100644
index 00000000000..cfffce0efa4
--- /dev/null
+++ b/apps/showcase/pages/terminal/index.ts
@@ -0,0 +1,31 @@
+import { AccessibilityDoc } from '@/doc/terminal/accessibilitydoc';
+import { BasicDoc } from '@/doc/terminal/basicdoc';
+import { ImportDoc } from '@/doc/terminal/importdoc';
+import { TerminalDocModule } from '@/doc/terminal/terminaldoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TerminalDocModule]
+})
+export class TerminalDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/terminal/routes.ts b/apps/showcase/pages/terminal/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/terminal/routes.ts
rename to apps/showcase/pages/terminal/routes.ts
diff --git a/apps/showcase/pages/textarea/index.ts b/apps/showcase/pages/textarea/index.ts
new file mode 100755
index 00000000000..4afb095d30c
--- /dev/null
+++ b/apps/showcase/pages/textarea/index.ts
@@ -0,0 +1,79 @@
+import { AccessibilityDoc } from '@/doc/textarea/accessibilitydoc';
+import { AutoResizeDoc } from '@/doc/textarea/autoresizedoc';
+import { BasicDoc } from '@/doc/textarea/basicdoc';
+import { DisabledDoc } from '@/doc/textarea/disableddoc';
+import { FilledDoc } from '@/doc/textarea/filleddoc';
+import { FloatlabelDoc } from '@/doc/textarea/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/textarea/iftalabeldoc';
+import { ImportDoc } from '@/doc/textarea/importdoc';
+import { InvalidDoc } from '@/doc/textarea/invaliddoc';
+import { ReactiveFormsDoc } from '@/doc/textarea/reactiveformsdoc';
+import { SizesDoc } from '@/doc/textarea/sizesdoc';
+import { TextareaDocModule } from '@/doc/textarea/texteareadoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ standalone: true,
+ imports: [TextareaDocModule],
+ template: ` `
+})
+export class TextareaDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'autoresize',
+ label: 'AutoResize',
+ component: AutoResizeDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatlabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/textarea/routes.ts b/apps/showcase/pages/textarea/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/textarea/routes.ts
rename to apps/showcase/pages/textarea/routes.ts
diff --git a/apps/showcase/pages/theming/index.ts b/apps/showcase/pages/theming/index.ts
new file mode 100644
index 00000000000..289058bc88f
--- /dev/null
+++ b/apps/showcase/pages/theming/index.ts
@@ -0,0 +1,199 @@
+import { ArchitectureDoc } from '@/doc/theming/architecturedoc';
+import { CaseDoc } from '@/doc/theming/casedoc';
+import { ColorsDoc } from '@/doc/theming/colorsdoc';
+import { ComponentDoc } from '@/doc/theming/componentdoc';
+import { DarkModeDoc } from '@/doc/theming/darkmodedoc';
+import { DefinePresetDoc } from '@/doc/theming/definepresetdoc';
+import { DtDoc } from '@/doc/theming/dtdoc';
+import { FocusRingDoc } from '@/doc/theming/focusringdoc';
+import { FontDoc } from '@/doc/theming/fontdoc';
+import { FormsDoc } from '@/doc/theming/formsdoc';
+import { LibrariesDoc } from '@/doc/theming/librariesdoc';
+import { NoirDoc } from '@/doc/theming/noirdoc';
+import { OptionsDoc } from '@/doc/theming/optionsdoc';
+import { PaletteDoc } from '@/doc/theming/palettedoc';
+import { PresetsDoc } from '@/doc/theming/presetsdoc';
+import { PrimaryDoc } from '@/doc/theming/primarydoc';
+import { ResetDoc } from '@/doc/theming/resetdoc';
+import { ReversedKeysDoc } from '@/doc/theming/reversedkeysdoc';
+import { ScaleDoc } from '@/doc/theming/scaledoc';
+import { ScopedTokensDoc } from '@/doc/theming/scopedtokensdoc';
+import { SpecificityDoc } from '@/doc/theming/specifitydoc';
+import { SurfaceDoc } from '@/doc/theming/surfacedoc';
+import { ThemeDoc } from '@/doc/theming/themedoc';
+import { ThemingDocModule } from '@/doc/theming/themingdoc.module';
+import { UpdatePresetDoc } from '@/doc/theming/updatepresetdoc';
+import { UpdatePrimaryPaletteDoc } from '@/doc/theming/updateprimarypalettedoc';
+import { UpdateSurfacePaletteDoc } from '@/doc/theming/updatesurfacepalettedoc';
+import { UsePresetDoc } from '@/doc/theming/usepresetdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ imports: [ThemingDocModule],
+ standalone: true
+})
+export class ThemingDemo {
+ docs = [
+ {
+ id: 'architecture',
+ label: 'Architecture',
+ component: ArchitectureDoc
+ },
+ {
+ id: 'configuration',
+ label: 'Configuration API',
+ children: [
+ {
+ id: 'theme',
+ label: 'Theme',
+ component: ThemeDoc
+ },
+ {
+ id: 'options',
+ label: 'Options',
+ component: OptionsDoc
+ }
+ ]
+ },
+ {
+ id: 'presets',
+ label: 'Presets',
+ component: PresetsDoc
+ },
+ {
+ id: 'casestyle',
+ label: 'Case Style',
+ component: CaseDoc
+ },
+ {
+ id: 'reserved',
+ label: 'Reserved Keys',
+ component: ReversedKeysDoc
+ },
+ {
+ id: 'customization',
+ label: 'Customization',
+ children: [
+ {
+ id: 'definepreset',
+ label: 'definePreset',
+ component: DefinePresetDoc
+ },
+ {
+ id: 'primary',
+ label: 'Primary',
+ component: PrimaryDoc
+ },
+ {
+ id: 'noir',
+ label: 'Noir',
+ component: NoirDoc
+ },
+ {
+ id: 'surface',
+ label: 'Surface',
+ component: SurfaceDoc
+ },
+ {
+ id: 'font',
+ label: 'Font',
+ component: FontDoc
+ },
+ {
+ id: 'forms',
+ label: 'Forms',
+ component: FormsDoc
+ },
+ {
+ id: 'focusring',
+ label: 'Focus Ring',
+ component: FocusRingDoc
+ },
+ {
+ id: 'component',
+ label: 'Component',
+ component: ComponentDoc
+ }
+ ]
+ },
+ {
+ id: 'scopedtokens',
+ label: 'Scoped Tokens',
+ component: ScopedTokensDoc
+ },
+ {
+ id: 'utils',
+ label: 'Utils',
+ children: [
+ {
+ id: 'usepreset',
+ label: 'usePreset',
+ component: UsePresetDoc
+ },
+ {
+ id: 'updatepreset',
+ label: 'updatePreset',
+ component: UpdatePresetDoc
+ },
+ {
+ id: 'updateprimarypalette',
+ label: 'updatePrimaryPalette',
+ component: UpdatePrimaryPaletteDoc
+ },
+ {
+ id: 'updatesurfacepalette',
+ label: 'updateSurfacePalette',
+ component: UpdateSurfacePaletteDoc
+ },
+ {
+ id: 'dt',
+ label: '$dt',
+ component: DtDoc
+ },
+ {
+ id: 'Palette',
+ label: 'palette',
+ component: PaletteDoc
+ }
+ ]
+ },
+ {
+ id: 'colors',
+ label: 'Colors',
+ component: ColorsDoc
+ },
+ {
+ id: 'darkmode',
+ label: 'Dark Mode',
+ component: DarkModeDoc
+ },
+ {
+ id: 'csslayer',
+ label: 'CSS Layer',
+ description: 'The PrimeNG CSS layer only applies to styled mode when layering is enabled explicitly at theme configuration, in unstyled mode the built-in CSS classes are not included and as a result no layer is necessary.',
+ children: [
+ {
+ id: 'specificity',
+ label: 'Specificity',
+ component: SpecificityDoc
+ },
+ {
+ id: 'reset',
+ label: 'Reset',
+ component: ResetDoc
+ },
+ {
+ id: 'libraries',
+ label: 'Libraries',
+ component: LibrariesDoc
+ }
+ ]
+ },
+ {
+ id: 'scale',
+ label: 'Scale',
+ component: ScaleDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/theming/routes.ts b/apps/showcase/pages/theming/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/theming/routes.ts
rename to apps/showcase/pages/theming/routes.ts
diff --git a/apps/showcase/pages/tieredmenu/index.ts b/apps/showcase/pages/tieredmenu/index.ts
new file mode 100644
index 00000000000..cb2204c9207
--- /dev/null
+++ b/apps/showcase/pages/tieredmenu/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/tieredmenu/accessibilitydoc';
+import { BasicDoc } from '@/doc/tieredmenu/basicdoc';
+import { CommandDoc } from '@/doc/tieredmenu/commanddoc';
+import { ImportDoc } from '@/doc/tieredmenu/importdoc';
+import { PopupDoc } from '@/doc/tieredmenu/popupdoc';
+import { RouterDoc } from '@/doc/tieredmenu/routerdoc';
+import { TemplateDoc } from '@/doc/tieredmenu/templatedoc';
+import { TieredMenuDocModule } from '@/doc/tieredmenu/tieredmenudoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TieredMenuDocModule]
+})
+export class TieredMenuDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'popup',
+ label: 'Popup',
+ component: PopupDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'command',
+ label: 'Command',
+ component: CommandDoc
+ },
+ {
+ id: 'router',
+ label: 'Router',
+ component: RouterDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tieredmenu/routes.ts b/apps/showcase/pages/tieredmenu/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tieredmenu/routes.ts
rename to apps/showcase/pages/tieredmenu/routes.ts
diff --git a/apps/showcase/pages/timeline/index.ts b/apps/showcase/pages/timeline/index.ts
new file mode 100644
index 00000000000..fd44472b58b
--- /dev/null
+++ b/apps/showcase/pages/timeline/index.ts
@@ -0,0 +1,56 @@
+import { AccessibilityDoc } from '@/doc/timeline/accessibilitydoc';
+import { AlignmentDoc } from '@/doc/timeline/alignmentdoc';
+import { BasicDoc } from '@/doc/timeline/basicdoc';
+import { HorizontalDoc } from '@/doc/timeline/horizontaldoc';
+import { ImportDoc } from '@/doc/timeline/importdoc';
+import { OppositeDoc } from '@/doc/timeline/oppositedoc';
+import { TemplateDoc } from '@/doc/timeline/templatedoc';
+import { TimelineDocModule } from '@/doc/timeline/timelinedoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TimelineDocModule],
+ styleUrl: './timelinedemo.scss'
+})
+export class TimelineDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'alignment',
+ label: 'Alignment',
+ component: AlignmentDoc
+ },
+ {
+ id: 'opposite',
+ label: 'Opposite',
+ component: OppositeDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'horizontal',
+ label: 'Horizontal',
+ component: HorizontalDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/timeline/routes.ts b/apps/showcase/pages/timeline/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/timeline/routes.ts
rename to apps/showcase/pages/timeline/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/timeline/timelinedemo.scss b/apps/showcase/pages/timeline/timelinedemo.scss
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/timeline/timelinedemo.scss
rename to apps/showcase/pages/timeline/timelinedemo.scss
diff --git a/apps/showcase/pages/toast/index.ts b/apps/showcase/pages/toast/index.ts
new file mode 100644
index 00000000000..42e45d5a6d9
--- /dev/null
+++ b/apps/showcase/pages/toast/index.ts
@@ -0,0 +1,79 @@
+import { AccessibilityDoc } from '@/doc/toast/accessibilitydoc';
+import { AnimationDoc } from '@/doc/toast/animationdoc';
+import { BasicDoc } from '@/doc/toast/basicdoc';
+import { HeadlessDoc } from '@/doc/toast/headlessdoc';
+import { ImportDoc } from '@/doc/toast/importdoc';
+import { MultipleDoc } from '@/doc/toast/multipledoc';
+import { PositionDoc } from '@/doc/toast/positiondoc';
+import { ResponsiveDoc } from '@/doc/toast/responsivedoc';
+import { SeverityDoc } from '@/doc/toast/severitydoc';
+import { StickyDoc } from '@/doc/toast/stickydoc';
+import { TemplateDoc } from '@/doc/toast/templatedoc';
+import { ToastDocModule } from '@/doc/toast/toastdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ToastDocModule]
+})
+export class ToastDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'severity',
+ label: 'Severity',
+ component: SeverityDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'sticky',
+ label: 'Sticky',
+ component: StickyDoc
+ },
+ {
+ id: 'templating',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'headless',
+ label: 'Headless',
+ component: HeadlessDoc
+ },
+ {
+ id: 'responsive',
+ label: 'Responsive',
+ component: ResponsiveDoc
+ },
+ {
+ id: 'animation',
+ label: 'Animation',
+ component: AnimationDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/toast/routes.ts b/apps/showcase/pages/toast/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/toast/routes.ts
rename to apps/showcase/pages/toast/routes.ts
diff --git a/apps/showcase/src/app/showcase/pages/toast/toastdemo.html b/apps/showcase/pages/toast/toastdemo.html
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/toast/toastdemo.html
rename to apps/showcase/pages/toast/toastdemo.html
diff --git a/apps/showcase/pages/togglebutton/index.ts b/apps/showcase/pages/togglebutton/index.ts
new file mode 100644
index 00000000000..3181b30df58
--- /dev/null
+++ b/apps/showcase/pages/togglebutton/index.ts
@@ -0,0 +1,60 @@
+import { AccessibilityDoc } from '@/doc/togglebutton/accessibilitydoc';
+import { BasicDoc } from '@/doc/togglebutton/basicdoc';
+import { CustomizedDoc } from '@/doc/togglebutton/customizeddoc';
+import { DisabledDoc } from '@/doc/togglebutton/disableddoc';
+import { ImportDoc } from '@/doc/togglebutton/importdoc';
+import { InvalidDoc } from '@/doc/togglebutton/invaliddoc';
+import { ReactiveFormsDoc } from '@/doc/togglebutton/reactiveformsdoc';
+import { SizesDoc } from '@/doc/togglebutton/sizesdoc';
+import { ToggleButtonDocModule } from '@/doc/togglebutton/togglebuttondoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ToggleButtonDocModule]
+})
+export class ToggleButtonDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'customized',
+ label: 'Customized',
+ component: CustomizedDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/togglebutton/routes.ts b/apps/showcase/pages/togglebutton/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/togglebutton/routes.ts
rename to apps/showcase/pages/togglebutton/routes.ts
diff --git a/apps/showcase/pages/toggleswitch/index.ts b/apps/showcase/pages/toggleswitch/index.ts
new file mode 100644
index 00000000000..a12433ffebc
--- /dev/null
+++ b/apps/showcase/pages/toggleswitch/index.ts
@@ -0,0 +1,55 @@
+import { AccessibilityDoc } from '@/doc/toggleswitch/accessibilitydoc';
+import { BasicDoc } from '@/doc/toggleswitch/basicdoc';
+import { DisabledDoc } from '@/doc/toggleswitch/disableddoc';
+import { ImportDoc } from '@/doc/toggleswitch/importdoc';
+import { InputSwitchDocModule } from '@/doc/toggleswitch/inputswitchdoc.module';
+import { InvalidDoc } from '@/doc/toggleswitch/invaliddoc';
+import { PreselectionDoc } from '@/doc/toggleswitch/preselectiondoc';
+import { ReactiveFormsDoc } from '@/doc/toggleswitch/reactiveformsdoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [InputSwitchDocModule]
+})
+export class ToggleSwitchDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'preselection',
+ label: 'Preselection',
+ component: PreselectionDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/toggleswitch/routes.ts b/apps/showcase/pages/toggleswitch/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/toggleswitch/routes.ts
rename to apps/showcase/pages/toggleswitch/routes.ts
diff --git a/apps/showcase/pages/toolbar/index.ts b/apps/showcase/pages/toolbar/index.ts
new file mode 100644
index 00000000000..cce326b08e9
--- /dev/null
+++ b/apps/showcase/pages/toolbar/index.ts
@@ -0,0 +1,37 @@
+import { BasicDoc } from '@/doc/toolbar/basicdoc';
+import { ImportDoc } from '@/doc/toolbar/importdoc';
+import { Component } from '@angular/core';
+
+import { AccessibilityDoc } from '@/doc/toolbar/accessibilitydoc';
+import { CustomDoc } from '@/doc/toolbar/customdoc';
+import { ToolbarDocModule } from '@/doc/toolbar/toolbardoc.module';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [ToolbarDocModule]
+})
+export class ToolbarDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'custom',
+ label: 'Custom',
+ component: CustomDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/toolbar/routes.ts b/apps/showcase/pages/toolbar/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/toolbar/routes.ts
rename to apps/showcase/pages/toolbar/routes.ts
diff --git a/apps/showcase/pages/tooltip/index.ts b/apps/showcase/pages/tooltip/index.ts
new file mode 100644
index 00000000000..7dbc9a84442
--- /dev/null
+++ b/apps/showcase/pages/tooltip/index.ts
@@ -0,0 +1,68 @@
+import { AccessibilityDoc } from '@/doc/tooltip/accessibilitydoc';
+import { AutoHideDoc } from '@/doc/tooltip/autohidedoc';
+import { CustomDoc } from '@/doc/tooltip/customdoc';
+import { DelayDoc } from '@/doc/tooltip/delaydoc';
+import { EventDoc } from '@/doc/tooltip/eventdoc';
+import { ImportDoc } from '@/doc/tooltip/importdoc';
+import { OptionsDoc } from '@/doc/tooltip/optionsdoc';
+import { PositionDoc } from '@/doc/tooltip/positiondoc';
+import { TooltipDocModule } from '@/doc/tooltip/tooltipdoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TooltipDocModule]
+})
+export class TooltipDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'position',
+ label: 'Position',
+ component: PositionDoc
+ },
+ {
+ id: 'event',
+ label: 'Event',
+ component: EventDoc
+ },
+ {
+ id: 'autohide',
+ label: 'Auto Hide',
+ component: AutoHideDoc
+ },
+ {
+ id: 'delay',
+ label: 'Delay',
+ component: DelayDoc
+ },
+ {
+ id: 'custom',
+ label: 'Custom',
+ component: CustomDoc
+ },
+ {
+ id: 'options',
+ label: 'Tooltip Options',
+ component: OptionsDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tooltip/routes.ts b/apps/showcase/pages/tooltip/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tooltip/routes.ts
rename to apps/showcase/pages/tooltip/routes.ts
diff --git a/apps/showcase/pages/tree/index.ts b/apps/showcase/pages/tree/index.ts
new file mode 100644
index 00000000000..865b4078199
--- /dev/null
+++ b/apps/showcase/pages/tree/index.ts
@@ -0,0 +1,114 @@
+import { AccessibilityDoc } from '@/doc/tree/accessibilitydoc';
+import { BasicDoc } from '@/doc/tree/basicdoc';
+import { CheckboxDoc } from '@/doc/tree/checkboxdoc';
+import { ContextMenuDoc } from '@/doc/tree/contextmenudoc';
+import { ControlledDoc } from '@/doc/tree/controlleddoc';
+import { DragDropDoc } from '@/doc/tree/dragdropdoc';
+import { EventDoc } from '@/doc/tree/eventdoc';
+import { FilterDoc } from '@/doc/tree/filterdoc';
+import { ImportDoc } from '@/doc/tree/importdoc';
+import { LazyDoc } from '@/doc/tree/lazydoc';
+import { MultipleDoc } from '@/doc/tree/multipledoc';
+import { SingleDoc } from '@/doc/tree/singledoc';
+import { TemplateDoc } from '@/doc/tree/templatedoc';
+import { TreeDocModule } from '@/doc/tree/treedoc.module';
+import { VirtualScrollDoc } from '@/doc/tree/virtualscrolldoc';
+import { LazyVirtualScrollDoc } from '@/doc/tree/virtualscrolllazydoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TreeDocModule]
+})
+export class TreeDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'selection',
+ label: 'Selection',
+ children: [
+ {
+ id: 'single',
+ label: 'Single',
+ component: SingleDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'checkbox',
+ label: 'Checkbox',
+ component: CheckboxDoc
+ }
+ ]
+ },
+ {
+ id: 'event',
+ label: 'Events',
+ component: EventDoc
+ },
+ {
+ id: 'lazy',
+ label: 'Lazy',
+ component: LazyDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'virtualscroll',
+ label: 'Virtual Scroll',
+ children: [
+ {
+ id: 'preload',
+ label: 'Preload',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'lazyvirtualscroll',
+ label: 'Lazy',
+ component: LazyVirtualScrollDoc
+ }
+ ]
+ },
+ {
+ id: 'dragdrop',
+ label: 'DragDrop',
+ component: DragDropDoc
+ },
+ {
+ id: 'contextmenu',
+ label: 'Context Menu',
+ component: ContextMenuDoc
+ },
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/tree/routes.ts b/apps/showcase/pages/tree/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/tree/routes.ts
rename to apps/showcase/pages/tree/routes.ts
diff --git a/apps/showcase/pages/treeselect/index.ts b/apps/showcase/pages/treeselect/index.ts
new file mode 100644
index 00000000000..b1240578d10
--- /dev/null
+++ b/apps/showcase/pages/treeselect/index.ts
@@ -0,0 +1,116 @@
+import { AccessibilityDoc } from '@/doc/treeselect/accessibilitydoc';
+import { BasicDoc } from '@/doc/treeselect/basicdoc';
+import { CheckboxDoc } from '@/doc/treeselect/checkboxdoc';
+import { DisabledDoc } from '@/doc/treeselect/disableddoc';
+import { FilledDoc } from '@/doc/treeselect/filleddoc';
+import { FilterDoc } from '@/doc/treeselect/filterdoc';
+import { FloatLabelDoc } from '@/doc/treeselect/floatlabeldoc';
+import { IftaLabelDoc } from '@/doc/treeselect/iftalabeldoc';
+import { ImportDoc } from '@/doc/treeselect/importdoc';
+import { InvalidDoc } from '@/doc/treeselect/invaliddoc';
+import { LazyDoc } from '@/doc/treeselect/lazydoc';
+import { MultipleDoc } from '@/doc/treeselect/multipledoc';
+import { ReactiveFormsDoc } from '@/doc/treeselect/reactiveformsdoc';
+import { SizesDoc } from '@/doc/treeselect/sizesdoc';
+import { TemplateDoc } from '@/doc/treeselect/templatedoc';
+import { TreeSelectDocModule } from '@/doc/treeselect/treeselectdoc.module';
+import { VirtualScrollDoc } from '@/doc/treeselect/virtualscrolldoc';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TreeSelectDocModule]
+})
+export class TreeSelectDemo {
+ docs = [
+ {
+ id: 'import',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'reactive-forms',
+ label: 'Reactive Forms',
+ component: ReactiveFormsDoc
+ },
+ {
+ id: 'multiple',
+ label: 'Multiple',
+ component: MultipleDoc
+ },
+ {
+ id: 'checkbox',
+ label: 'Checkbox',
+ component: CheckboxDoc
+ },
+ {
+ id: 'virtual-scroll-doc',
+ label: 'Virtual Scroll',
+ component: VirtualScrollDoc
+ },
+ {
+ id: 'lazy',
+ label: 'Lazy',
+ component: LazyDoc
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'floatlabel',
+ label: 'Float Label',
+ component: FloatLabelDoc
+ },
+ {
+ id: 'iftalabel',
+ label: 'Ifta Label',
+ component: IftaLabelDoc
+ },
+ {
+ id: 'sizes',
+ label: 'Sizes',
+ component: SizesDoc
+ },
+ {
+ id: 'filled',
+ label: 'Filled',
+ component: FilledDoc
+ },
+ {
+ id: 'invalid',
+ label: 'Invalid',
+ component: InvalidDoc
+ },
+ {
+ id: 'disabled',
+ label: 'Disabled',
+ component: DisabledDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/treeselect/routes.ts b/apps/showcase/pages/treeselect/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/treeselect/routes.ts
rename to apps/showcase/pages/treeselect/routes.ts
diff --git a/apps/showcase/pages/treetable/index.ts b/apps/showcase/pages/treetable/index.ts
new file mode 100644
index 00000000000..24c342fdf4e
--- /dev/null
+++ b/apps/showcase/pages/treetable/index.ts
@@ -0,0 +1,246 @@
+import { AccessibilityDoc } from '@/doc/treetable/accessibilitydoc';
+import { BasicDoc } from '@/doc/treetable/basicdoc';
+import { ColumnGroupDoc } from '@/doc/treetable/columngroupdoc';
+import { ResizeExpandDoc } from '@/doc/treetable/columnresizeexpanddoc';
+import { ResizeFitDoc } from '@/doc/treetable/columnresizefitdoc';
+import { ResizeScrollableDoc } from '@/doc/treetable/columnresizescrollabledoc';
+import { ColumnToggleDoc } from '@/doc/treetable/columntoggledoc';
+import { ConditionalStyleDoc } from '@/doc/treetable/conditionalstyledoc';
+import { ContextMenuDoc } from '@/doc/treetable/contextmenudoc';
+import { ControlledDoc } from '@/doc/treetable/controlleddoc';
+import { DynamicColumnsDoc } from '@/doc/treetable/dynamiccolumnsdoc';
+import { FilterDoc } from '@/doc/treetable/filterdoc';
+import { ScrollFlexibleDoc } from '@/doc/treetable/flexiblescrolldoc';
+import { GridlinesDoc } from '@/doc/treetable/gridlinesdoc';
+import { ImportDoc } from '@/doc/treetable/importdoc';
+import { LazyLoadDoc } from '@/doc/treetable/lazyloaddoc';
+import { PaginatorBasicDoc } from '@/doc/treetable/paginatorbasicdoc';
+import { PaginatorLocaleDoc } from '@/doc/treetable/paginatorlocaledoc';
+import { PaginatorTemplateDoc } from '@/doc/treetable/paginatortemplatedoc';
+import { ReorderDoc } from '@/doc/treetable/reorderdoc';
+import { FrozenColumnsDoc } from '@/doc/treetable/scrollfrozencolumnsdoc';
+import { ScrollHorizontalDoc } from '@/doc/treetable/scrollhorizontaldoc';
+import { ScrollVerticalDoc } from '@/doc/treetable/scrollverticaldoc';
+import { SelectionCheckboxDoc } from '@/doc/treetable/selectioncheckboxdoc';
+import { SelectionEventsDoc } from '@/doc/treetable/selectioneventscdoc';
+import { SelectionMultipleDoc } from '@/doc/treetable/selectionmultipledoc';
+import { SelectionSingleDoc } from '@/doc/treetable/selectionsingledoc';
+import { SizeDoc } from '@/doc/treetable/sizedoc';
+import { SortMultipleColumnsDoc } from '@/doc/treetable/sortmultiplecolumnsdoc';
+import { SortSingleColumnDoc } from '@/doc/treetable/sortsinglecolumndoc';
+import { TemplateDoc } from '@/doc/treetable/templatedoc';
+import { TreeTableDocModule } from '@/doc/treetable/treetabledoc.module';
+import { Component } from '@angular/core';
+
+@Component({
+ template: ` `,
+ standalone: true,
+ imports: [TreeTableDocModule]
+})
+export class TreeTableDemo {
+ docs = [
+ {
+ id: 'import-demo',
+ label: 'Import',
+ component: ImportDoc
+ },
+ {
+ id: 'basic',
+ label: 'Basic',
+ component: BasicDoc
+ },
+ {
+ id: 'dynamiccolumns',
+ label: 'Dynamic Columns',
+ component: DynamicColumnsDoc
+ },
+ {
+ id: 'controlled',
+ label: 'Controlled',
+ component: ControlledDoc
+ },
+ {
+ id: 'template',
+ label: 'Template',
+ component: TemplateDoc
+ },
+ {
+ id: 'size',
+ label: 'Size',
+ component: SizeDoc
+ },
+ {
+ id: 'gridlines',
+ label: 'Grid Lines',
+ component: GridlinesDoc
+ },
+ {
+ id: 'paginator',
+ label: 'Paginator',
+ children: [
+ {
+ id: 'paginatorbasic',
+ label: 'Basic',
+ component: PaginatorBasicDoc
+ },
+ {
+ id: 'paginatorlocale',
+ label: 'Locale',
+ component: PaginatorLocaleDoc
+ },
+ {
+ id: 'paginatortemplate',
+ label: 'Template',
+ component: PaginatorTemplateDoc
+ }
+ ]
+ },
+ {
+ id: 'sort',
+ label: 'Sort',
+ children: [
+ {
+ id: 'sortsinglecolumn',
+ label: 'Single Column',
+ component: SortSingleColumnDoc
+ },
+ {
+ id: 'sortmultiplecolumns',
+ label: 'Multiple Columns',
+ component: SortMultipleColumnsDoc
+ }
+ // {
+ // id: 'sortremovable',
+ // label: 'Removable Sort',
+ // component: SortRemovableDoc
+ // }
+ ]
+ },
+ {
+ id: 'filter',
+ label: 'Filter',
+ component: FilterDoc
+ },
+ {
+ id: 'selection',
+ label: 'Selection',
+ children: [
+ {
+ id: 'selectionsingle',
+ label: 'Single',
+ component: SelectionSingleDoc
+ },
+ {
+ id: 'selectionmultiple',
+ label: 'Multiple',
+ component: SelectionMultipleDoc
+ },
+ {
+ id: 'checkbox',
+ label: 'Checkbox',
+ component: SelectionCheckboxDoc
+ },
+ {
+ id: 'events',
+ label: 'Events',
+ component: SelectionEventsDoc
+ }
+ ]
+ },
+ {
+ id: 'columngroup',
+ label: 'Column Group',
+ component: ColumnGroupDoc
+ },
+ {
+ id: 'lazyload',
+ label: 'Lazy Load',
+ component: LazyLoadDoc
+ },
+ // {
+ // id: 'edit',
+ // label: 'Edit',
+ // component: EditDoc,
+ // },
+ {
+ id: 'scroll',
+ label: 'Scroll',
+ children: [
+ {
+ id: 'vertical',
+ label: 'Vertical',
+ component: ScrollVerticalDoc
+ },
+ {
+ id: 'flexible',
+ label: 'Flexible',
+ component: ScrollFlexibleDoc
+ },
+ {
+ id: 'horizontal',
+ label: 'Horizontal',
+ component: ScrollHorizontalDoc
+ },
+ {
+ id: 'frozencolumns',
+ label: 'Frozen Columns',
+ component: FrozenColumnsDoc
+ }
+ ]
+ },
+ {
+ id: 'columnresize',
+ label: 'Column Resize',
+ children: [
+ {
+ id: 'fitmode',
+ label: 'Fit Mode',
+ component: ResizeFitDoc
+ },
+ {
+ id: 'expandmode',
+ label: 'Expand Mode',
+ component: ResizeExpandDoc
+ },
+ {
+ id: 'scrollable',
+ label: 'Scrollable',
+ component: ResizeScrollableDoc
+ }
+ ]
+ },
+ {
+ id: 'reorder',
+ label: 'Reorder',
+ component: ReorderDoc
+ },
+ {
+ id: 'columntoggle',
+ label: 'Column Toggle',
+ component: ColumnToggleDoc
+ },
+ {
+ id: 'conditionalstyle',
+ label: 'Conditional Style',
+ component: ConditionalStyleDoc
+ },
+ {
+ id: 'contextmenu',
+ label: 'Context Menu',
+ component: ContextMenuDoc
+ },
+
+ {
+ id: 'accessibility',
+ label: 'Accessibility',
+ component: AccessibilityDoc
+ }
+ ];
+}
diff --git a/apps/showcase/src/app/showcase/pages/treetable/routes.ts b/apps/showcase/pages/treetable/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/treetable/routes.ts
rename to apps/showcase/pages/treetable/routes.ts
diff --git a/apps/showcase/pages/uikit/index.ts b/apps/showcase/pages/uikit/index.ts
new file mode 100755
index 00000000000..d4806da3069
--- /dev/null
+++ b/apps/showcase/pages/uikit/index.ts
@@ -0,0 +1,359 @@
+import { AppConfigService } from '@/service/appconfigservice';
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { Meta, Title } from '@angular/platform-browser';
+import { RippleModule } from 'primeng/ripple';
+import { Subscription } from 'rxjs';
+
+@Component({
+ standalone: true,
+ imports: [CommonModule, RippleModule],
+ template: `
+
+
+
+
+
+
+
+
+
+
+
+
UP-TO-DATE
+
Best Features of Figma
+
PrimeOne for Figma uses the latest powerful features like components, variants, auto layout, styles, variables and interactive components. It'll always follow the best practices.
+
+
+
+
+ Auto Layout
+
+
+
+ Variants
+
+
+
+ Variables and Styles
+
+
+
+ Interactive Components
+
+
+
+ Boolean, Instance Swap and Text Properties
+
+
+
+ Nested Instances
+
+
+
+
+
+
+
ENTERPRISE GRADE
+
Powerful System
+
Save countless hours on every project with a carefully designed system that uses Prime UI Suite components. Start producing design results in no time.
+
+
+
+
+ Numerous Components
+
+
+
+ Icon Library
+
+
+
+ Easy Customization
+
+
+
+ Atomic Approach
+
+
+
+
+
+
+
+
+
+
+
+
+
DARK MODE
+
Two Themes
+
PrimeOne is designed based on Aura Light and Aura Dark themes. Easily change the themes of your designs using Figma's Swap Library feature or Tokens Studio Sets.
+
+
+
+
+ Aura Light
+
+
+
+ Aura Dark
+
+
+
+
+
+
+
TOKENS STUDIO
+
Tokens Support
+
Empower yourself with unprecedented control over your designs. Tokens Studio integration unlocks a whole new level of flexibility, allowing you to create and manage design tokens seamlessly.
+
+
+
+
+ Countless Design Tokens
+
+
+
+ Light and Dark Sets
+
+
+
+ Well Documented
+
+
+
+ Primitive, Semantic and Component Tokens
+
+
+
+
+
+
+
+
+
+
+
+
+
Pricing
+
Choose the right plan for your business. Whether you are an individual or a member of a team, UI Kit is available for affordable prices.
+
View License Details
+
+
+
+
+
+
Single Designer
+
For individual designers
+
+
+ $99
+ $49
+
+
+
+
+
+ 1 Designer
+
+
+
+ Auto Layout & Variants
+
+
+
+ Interactive Components
+
+
+
+ Tokens Studio Support
+
+
+
+ Lifetime Support
+
+
+
+ Use on Unlimited Projects
+
+
+
+
Buy Now
+
+
+
+
+
+
+
+
Team
+
For small teams
+
+
+
+
+
+
+ Up to 5 Designers
+
+
+
+ Auto Layout & Variants
+
+
+
+ Interactive Components
+
+
+
+ Tokens Studio Support
+
+
+
+ Lifetime Support
+
+
+
+ Use on Unlimited Projects
+
+
+
+
Buy Now
+
+
+
+
+
+
+
+
Enterprise
+
For large teams
+
+
+ EXCLUSIVE DEALS
+
+
+
+
+
+ Unlimited Designers
+
+
+
+ Auto Layout & Variants
+
+
+
+ Interactive Components
+
+
+
+ Tokens Studio Support
+
+
+
+ Lifetime Support
+
+
+
+ Use on Unlimited Projects
+
+
+
+
Contact Us
+
+
+
+
+
+
+
+
Frequently Asked Questions
+
+
+
What do I get when I purchase a license?
+
You'll be able to download two Figma files for light and dark themes.
+
+
Is there a recurring fee or is the license perpetual?
+
UI Kit license is perpetual so requires one time payment, not subscription based.
+
+
Can I use UI Kit license for commercial projects?
+
Yes, your license allows you to sell your projects that utilize the UI Kit implementations.
+
+
Can I create multiple projects for multiple clients?
+
There is no limit, you are able to use UI Kit in multiple projects for multiple clients.
+
+
+
We're a reseller, are we able to purchase a license on behalf of our client?
+
+ Yes, after the purchase, please
+ contact us so we can transfer the license to your client.
+
+
+
Does the enterprise license include contractors within the organization?
+
Yes, contractors are also able to use the UI Kit within your company.
+
+
Can subsidiary company of a larger organization share the enterprise license?
+
No, enterprise license is per company so each subsidiary company needs to purchase a separate license.
+
+
What does "free updates" mean?
+
All updates will be totally free of charge for existing customers for an unlimited period.
+
+
+
How can I get support?
+
+ Support is provided by PrimeTek via
+ a dedicated forum channel monitored
+ by PrimeTek support staff.
+
+
+
What does lifetime support mean?
+
Support service at the forum does not have a time limit.
+
+
Can I include UI Kit in an open source project?
+
Due to the license, it is not possible to use the UI Kit in an open source project where the design files are publicly available.
+
+
+
+
+ `
+})
+export class UIKitDemo {
+ subscription: Subscription;
+
+ constructor(
+ private configService: AppConfigService,
+ private titleService: Title,
+ private metaService: Meta
+ ) {
+ this.titleService.setTitle('UI Kit - PrimeNG');
+ this.metaService.updateTag({ name: 'description', content: 'PrimeNG Angular UI Kit' });
+ }
+
+ get isDarkMode(): boolean {
+ return this.configService.appState().darkTheme;
+ }
+}
diff --git a/apps/showcase/src/app/showcase/pages/uikit/routes.ts b/apps/showcase/pages/uikit/routes.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/pages/uikit/routes.ts
rename to apps/showcase/pages/uikit/routes.ts
diff --git a/apps/showcase/router/app.routes.ts b/apps/showcase/router/app.routes.ts
new file mode 100644
index 00000000000..e14fb38d640
--- /dev/null
+++ b/apps/showcase/router/app.routes.ts
@@ -0,0 +1,303 @@
+import { AppMainComponent } from '@/components/layout/app.main.component';
+import { LandingComponent } from '@/pages/landing/landing.component';
+import { Routes } from '@angular/router';
+
+export const routes: Routes = [
+ { path: '', component: LandingComponent, pathMatch: 'full' },
+ {
+ path: '',
+ component: AppMainComponent,
+ children: [
+ { path: '', redirectTo: 'installation', pathMatch: 'full' },
+ { path: 'accessibility', redirectTo: 'guides/accessibility', pathMatch: 'full' },
+ { path: 'autocomplete', loadChildren: () => import('@/pages/autocomplete/routes') },
+ {
+ path: 'installation',
+ loadChildren: () => import('@/pages/installation/routes')
+ },
+ {
+ path: 'configuration',
+ loadChildren: () => import('@/pages/configuration/routes')
+ },
+ { path: 'playground', loadChildren: () => import('@/pages/playground/routes') },
+ { path: 'roadmap', loadChildren: () => import('@/pages/roadmap/routes') },
+ { path: 'team', loadChildren: () => import('@/pages/team/routes') },
+ { path: 'partners', loadChildren: () => import('@/pages/partners/routes') },
+ {
+ path: 'theming',
+ loadChildren: () => import('@/pages/theming/routes')
+ },
+ { path: 'icons', loadChildren: () => import('@/pages/icons/routes') },
+ {
+ path: 'customicons',
+ loadChildren: () => import('@/pages/customicons/routes')
+ },
+ { path: 'accordion', loadChildren: () => import('@/pages/accordion/routes') },
+ { path: 'avatar', loadChildren: () => import('@/pages/avatar/routes') },
+ { path: 'blockui', loadChildren: () => import('@/pages/blockui/routes') },
+ { path: 'badge', loadChildren: () => import('@/pages/badge/routes') },
+ { path: 'breadcrumb', loadChildren: () => import('@/pages/breadcrumb/routes') },
+ { path: 'button', loadChildren: () => import('@/pages/button/routes') },
+ {
+ path: 'datepicker',
+ loadChildren: () => import('@/pages/datepicker/routes')
+ },
+ { path: 'card', loadChildren: () => import('@/pages/card/routes') },
+ {
+ path: 'cascadeselect',
+ loadChildren: () => import('@/pages/cascadeselect/routes')
+ },
+ { path: 'carousel', loadChildren: () => import('@/pages/carousel/routes') },
+ { path: 'chart', loadChildren: () => import('@/pages/chart/routes') },
+ { path: 'checkbox', loadChildren: () => import('@/pages/checkbox/routes') },
+ { path: 'chip', loadChildren: () => import('@/pages/chip/routes') },
+ {
+ path: 'colorpicker',
+ loadChildren: () => import('@/pages/colorpicker/routes')
+ },
+ { path: 'colors', loadChildren: () => import('@/pages/colors/routes') },
+ {
+ path: 'confirmdialog',
+ loadChildren: () => import('@/pages/confirmdialog/routes')
+ },
+ {
+ path: 'confirmpopup',
+ loadChildren: () => import('@/pages/confirmpopup/routes')
+ },
+ {
+ path: 'contextmenu',
+ loadChildren: () => import('@/pages/contextmenu/routes')
+ },
+ {
+ path: 'dataview',
+ loadChildren: () => import('@/pages/dataview/routes')
+ },
+ { path: 'defer', loadChildren: () => import('@/pages/defer/routes') },
+ { path: 'dialog', loadChildren: () => import('@/pages/dialog/routes') },
+ { path: 'dock', loadChildren: () => import('@/pages/dock/routes') },
+ { path: 'divider', loadChildren: () => import('@/pages/divider/routes') },
+ {
+ path: 'dynamicdialog',
+ loadChildren: () => import('@/pages/dynamicdialog/routes')
+ },
+ {
+ path: 'dragdrop',
+ loadChildren: () => import('@/pages/dragdrop/routes')
+ },
+ { path: 'select', loadChildren: () => import('@/pages/select/routes') },
+ {
+ path: 'iconfield',
+ loadChildren: () => import('@/pages/iconfield/routes')
+ },
+ {
+ path: 'iftalabel',
+ loadChildren: () => import('@/pages/iftalabel/routes')
+ },
+ { path: 'editor', loadChildren: () => import('@/pages/editor/routes') },
+ {
+ path: 'floatlabel',
+ loadChildren: () => import('@/pages/floatlabel/routes')
+ },
+ {
+ path: 'fieldset',
+ loadChildren: () => import('@/pages/fieldset/routes')
+ },
+ {
+ path: 'fileupload',
+ loadChildren: () => import('@/pages/fileupload/routes')
+ },
+ {
+ path: 'filterservice',
+ loadChildren: () => import('@/pages/filterservice/routes')
+ },
+ {
+ path: 'focustrap',
+ loadChildren: () => import('@/pages/focustrap/routes')
+ },
+ {
+ path: 'galleria',
+ loadChildren: () => import('@/pages/galleria/routes')
+ },
+ { path: 'image', loadChildren: () => import('@/pages/image/routes') },
+ { path: 'inplace', loadChildren: () => import('@/pages/inplace/routes') },
+ { path: 'fluid', loadChildren: () => import('@/pages/fluid/routes') },
+ {
+ path: 'metergroup',
+ loadChildren: () => import('@/pages/metergroup/routes')
+ },
+ {
+ path: 'inputmask',
+ loadChildren: () => import('@/pages/inputmask/routes')
+ },
+ {
+ path: 'inputnumber',
+ loadChildren: () => import('@/pages/inputnumber/routes')
+ },
+ {
+ path: 'inputotp',
+ loadChildren: () => import('@/pages/inputotp/routes')
+ },
+ {
+ path: 'toggleswitch',
+ loadChildren: () => import('@/pages/toggleswitch/routes')
+ },
+ {
+ path: 'inputtext',
+ loadChildren: () => import('@/pages/inputtext/routes')
+ },
+ {
+ path: 'inputgroup',
+ loadChildren: () => import('@/pages/inputgroup/routes')
+ },
+ {
+ path: 'textarea',
+ loadChildren: () => import('@/pages/textarea/routes')
+ },
+ { path: 'knob', loadChildren: () => import('@/pages/knob/routes') },
+ {
+ path: 'keyfilter',
+ loadChildren: () => import('@/pages/keyfilter/routes')
+ },
+ { path: 'listbox', loadChildren: () => import('@/pages/listbox/routes') },
+ { path: 'lts', loadChildren: () => import('@/pages/lts/routes') },
+ {
+ path: 'megamenu',
+ loadChildren: () => import('@/pages/megamenu/routes')
+ },
+ { path: 'menu', loadChildren: () => import('@/pages/menu/routes') },
+ { path: 'menubar', loadChildren: () => import('@/pages/menubar/routes') },
+ { path: 'message', loadChildren: () => import('@/pages/message/routes') },
+ {
+ path: 'multiselect',
+ loadChildren: () => import('@/pages/multiselect/routes')
+ },
+ {
+ path: 'orderlist',
+ loadChildren: () => import('@/pages/orderlist/routes')
+ },
+ {
+ path: 'organizationchart',
+ loadChildren: () => import('@/pages/organizationchart/routes')
+ },
+ { path: 'popover', loadChildren: () => import('@/pages/popover/routes') },
+ {
+ path: 'paginator',
+ loadChildren: () => import('@/pages/paginator/routes')
+ },
+ { path: 'panel', loadChildren: () => import('@/pages/panel/routes') },
+ {
+ path: 'panelmenu',
+ loadChildren: () => import('@/pages/panelmenu/routes')
+ },
+ {
+ path: 'password',
+ loadChildren: () => import('@/pages/password/routes')
+ },
+ {
+ path: 'picklist',
+ loadChildren: () => import('@/pages/picklist/routes')
+ },
+ {
+ path: 'progressbar',
+ loadChildren: () => import('@/pages/progressbar/routes')
+ },
+ {
+ path: 'progressspinner',
+ loadChildren: () => import('@/pages/progressspinner/routes')
+ },
+ {
+ path: 'radiobutton',
+ loadChildren: () => import('@/pages/radiobutton/routes')
+ },
+ { path: 'rating', loadChildren: () => import('@/pages/rating/routes') },
+ { path: 'ripple', loadChildren: () => import('@/pages/ripple/routes') },
+ {
+ path: 'scrollpanel',
+ loadChildren: () => import('@/pages/scrollpanel/routes')
+ },
+ {
+ path: 'scrolltop',
+ loadChildren: () => import('@/pages/scrolltop/routes')
+ },
+ {
+ path: 'selectbutton',
+ loadChildren: () => import('@/pages/selectbutton/routes')
+ },
+ { path: 'drawer', loadChildren: () => import('@/pages/drawer/routes') },
+ {
+ path: 'skeleton',
+ loadChildren: () => import('@/pages/skeleton/routes')
+ },
+ { path: 'slider', loadChildren: () => import('@/pages/slider/routes') },
+ {
+ path: 'speeddial',
+ loadChildren: () => import('@/pages/speeddial/routes')
+ },
+ {
+ path: 'splitbutton',
+ loadChildren: () => import('@/pages/splitbutton/routes')
+ },
+ {
+ path: 'splitter',
+ loadChildren: () => import('@/pages/splitter/routes')
+ },
+ { path: 'stepper', loadChildren: () => import('@/pages/stepper/routes') },
+ { path: 'steps', loadChildren: () => import('@/pages/steps/routes') },
+ { path: 'support', loadChildren: () => import('@/pages/support/routes') },
+ {
+ path: 'styleclass',
+ loadChildren: () => import('@/pages/styleclass/routes')
+ },
+ { path: 'tag', loadChildren: () => import('@/pages/tag/routes') },
+ { path: 'table', loadChildren: () => import('@/pages/table/routes') },
+ { path: 'tabs', loadChildren: () => import('@/pages/tabs/routes') },
+ {
+ path: 'tailwind',
+ loadChildren: () => import('@/pages/tailwind/routes')
+ },
+ {
+ path: 'terminal',
+ loadChildren: () => import('@/pages/terminal/routes')
+ },
+ {
+ path: 'tieredmenu',
+ loadChildren: () => import('@/pages/tieredmenu/routes')
+ },
+ {
+ path: 'timeline',
+ loadChildren: () => import('@/pages/timeline/routes')
+ },
+ { path: 'toast', loadChildren: () => import('@/pages/toast/routes') },
+ {
+ path: 'togglebutton',
+ loadChildren: () => import('@/pages/togglebutton/routes')
+ },
+ { path: 'toolbar', loadChildren: () => import('@/pages/toolbar/routes') },
+ { path: 'tooltip', loadChildren: () => import('@/pages/tooltip/routes') },
+ { path: 'tree', loadChildren: () => import('@/pages/tree/routes') },
+ {
+ path: 'treeselect',
+ loadChildren: () => import('@/pages/treeselect/routes')
+ },
+ {
+ path: 'treetable',
+ loadChildren: () => import('@/pages/treetable/routes')
+ },
+ {
+ path: 'virtualscroller',
+ loadChildren: () => import('@/pages/scroller/routes')
+ },
+ { path: 'uikit', loadChildren: () => import('@/pages/uikit/routes') },
+ { path: 'autofocus', loadChildren: () => import('@/pages/autofocus/routes') },
+ { path: 'overlay', loadChildren: () => import('@/pages/overlay/routes') },
+ {
+ path: 'animateonscroll',
+ loadChildren: () => import('@/pages/animateonscroll/routes')
+ },
+ { path: 'templates', loadChildren: () => import('@/pages/templates/templates.module').then((m) => m.TemplatesModule) },
+ { path: 'guides', loadChildren: () => import('@/pages/guides/guides.module').then((m) => m.GuidesModule) }
+ ]
+ },
+ { path: 'notfound', loadChildren: () => import('@/pages/notfound/routes') },
+ { path: '**', redirectTo: '/notfound' }
+];
diff --git a/apps/showcase/routes.txt b/apps/showcase/router/routes.txt
similarity index 100%
rename from apps/showcase/routes.txt
rename to apps/showcase/router/routes.txt
diff --git a/apps/showcase/api-generator/build-apidoc.ts b/apps/showcase/scripts/build-apidoc.ts
similarity index 99%
rename from apps/showcase/api-generator/build-apidoc.ts
rename to apps/showcase/scripts/build-apidoc.ts
index e945f2b4dc7..08d8de3092b 100644
--- a/apps/showcase/api-generator/build-apidoc.ts
+++ b/apps/showcase/scripts/build-apidoc.ts
@@ -7,7 +7,7 @@ const fs = require('fs');
//@ts-ignore
const rootDir = path.resolve(__dirname, '../');
//@ts-ignore
-const outputPath = path.resolve(rootDir, '@doc/apidoc');
+const outputPath = path.resolve(rootDir, '@/doc/apidoc');
const staticMessages = {
methods: "Defines methods that can be accessed by the component's reference.",
diff --git a/apps/showcase/api-generator/build-themedoc.ts b/apps/showcase/scripts/build-themedoc.ts
similarity index 98%
rename from apps/showcase/api-generator/build-themedoc.ts
rename to apps/showcase/scripts/build-themedoc.ts
index dbf6f7f9662..d1dc5ad3595 100644
--- a/apps/showcase/api-generator/build-themedoc.ts
+++ b/apps/showcase/scripts/build-themedoc.ts
@@ -7,7 +7,7 @@ const fs = require('fs');
//@ts-ignore
const rootDir = path.resolve(__dirname, '../');
//@ts-ignore
-const outputPath = path.resolve(rootDir, '@doc/apidoc');
+const outputPath = path.resolve(rootDir, '@/doc/apidoc');
async function themedoc() {
const app = await TypeDoc.Application.bootstrapWithPlugins({
diff --git a/apps/showcase/api-generator/build-theming.ts b/apps/showcase/scripts/build-theming.ts
similarity index 98%
rename from apps/showcase/api-generator/build-theming.ts
rename to apps/showcase/scripts/build-theming.ts
index f77767077d0..5478ecd6303 100644
--- a/apps/showcase/api-generator/build-theming.ts
+++ b/apps/showcase/scripts/build-theming.ts
@@ -7,7 +7,7 @@ const fs = require('fs');
//@ts-ignore
const rootDir = path.resolve(__dirname, '../');
//@ts-ignore
-const outputPath = path.resolve(rootDir, '@doc/apidoc');
+const outputPath = path.resolve(rootDir, '@/doc/apidoc');
// const staticMessages = {
// methods: "Defines methods that can be accessed by the component's reference.",
diff --git a/apps/showcase/api-generator/themedoc.json b/apps/showcase/scripts/themedoc.json
similarity index 100%
rename from apps/showcase/api-generator/themedoc.json
rename to apps/showcase/scripts/themedoc.json
diff --git a/apps/showcase/api/index.js b/apps/showcase/server/api/index.js
similarity index 100%
rename from apps/showcase/api/index.js
rename to apps/showcase/server/api/index.js
diff --git a/apps/showcase/server/app.config.server.ts b/apps/showcase/server/app.config.server.ts
new file mode 100644
index 00000000000..eba9ffe1bfd
--- /dev/null
+++ b/apps/showcase/server/app.config.server.ts
@@ -0,0 +1,9 @@
+import { appConfig } from '@/app/app.config';
+import { ApplicationConfig, mergeApplicationConfig } from '@angular/core';
+import { provideServerRendering } from '@angular/platform-server';
+
+const serverConfig: ApplicationConfig = {
+ providers: [provideServerRendering()]
+};
+
+export const config = mergeApplicationConfig(appConfig, serverConfig);
diff --git a/apps/showcase/server/main.server.ts b/apps/showcase/server/main.server.ts
new file mode 100644
index 00000000000..8ec13024a48
--- /dev/null
+++ b/apps/showcase/server/main.server.ts
@@ -0,0 +1,7 @@
+import { AppComponent } from '@/components/layout/app.component';
+import { config } from '@/server/app.config.server';
+import { bootstrapApplication } from '@angular/platform-browser';
+
+const bootstrap = () => bootstrapApplication(AppComponent, config);
+
+export default bootstrap;
diff --git a/apps/showcase/server.ts b/apps/showcase/server/server.ts
similarity index 97%
rename from apps/showcase/server.ts
rename to apps/showcase/server/server.ts
index 4382faf534d..6f442498828 100644
--- a/apps/showcase/server.ts
+++ b/apps/showcase/server/server.ts
@@ -1,9 +1,9 @@
import { APP_BASE_HREF } from '@angular/common';
import { CommonEngine } from '@angular/ssr';
import express from 'express';
-import { fileURLToPath } from 'node:url';
import { dirname, join, resolve } from 'node:path';
-import bootstrap from './src/main.server';
+import { fileURLToPath } from 'node:url';
+import bootstrap from './main.server';
// The Express app is exported so that it can be used by serverless Functions.
export function app(): express.Express {
const server = express();
diff --git a/apps/showcase/src/app/showcase/service/appconfigservice.ts b/apps/showcase/service/appconfigservice.ts
similarity index 96%
rename from apps/showcase/src/app/showcase/service/appconfigservice.ts
rename to apps/showcase/service/appconfigservice.ts
index 83eb54d4f4e..2f8d001e697 100644
--- a/apps/showcase/src/app/showcase/service/appconfigservice.ts
+++ b/apps/showcase/service/appconfigservice.ts
@@ -1,6 +1,6 @@
+import { AppState } from '@/domain/appstate';
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
import { computed, effect, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';
-import { AppState } from '@domain/appstate';
@Injectable({
providedIn: 'root'
diff --git a/apps/showcase/src/app/showcase/service/carservice.ts b/apps/showcase/service/carservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/carservice.ts
rename to apps/showcase/service/carservice.ts
diff --git a/apps/showcase/src/app/showcase/service/countryservice.ts b/apps/showcase/service/countryservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/countryservice.ts
rename to apps/showcase/service/countryservice.ts
diff --git a/apps/showcase/src/app/showcase/service/customerservice.ts b/apps/showcase/service/customerservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/customerservice.ts
rename to apps/showcase/service/customerservice.ts
diff --git a/apps/showcase/src/app/showcase/service/eventservice.ts b/apps/showcase/service/eventservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/eventservice.ts
rename to apps/showcase/service/eventservice.ts
diff --git a/apps/showcase/src/app/showcase/service/jsonservice.ts b/apps/showcase/service/jsonservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/jsonservice.ts
rename to apps/showcase/service/jsonservice.ts
diff --git a/apps/showcase/src/app/showcase/service/nodeservice.ts b/apps/showcase/service/nodeservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/nodeservice.ts
rename to apps/showcase/service/nodeservice.ts
diff --git a/apps/showcase/src/app/showcase/service/photoservice.ts b/apps/showcase/service/photoservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/photoservice.ts
rename to apps/showcase/service/photoservice.ts
diff --git a/apps/showcase/src/app/showcase/service/platformservice.ts b/apps/showcase/service/platformservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/platformservice.ts
rename to apps/showcase/service/platformservice.ts
diff --git a/apps/showcase/src/app/showcase/service/productservice.ts b/apps/showcase/service/productservice.ts
similarity index 99%
rename from apps/showcase/src/app/showcase/service/productservice.ts
rename to apps/showcase/service/productservice.ts
index 253aae60235..c57d81ca47f 100755
--- a/apps/showcase/src/app/showcase/service/productservice.ts
+++ b/apps/showcase/service/productservice.ts
@@ -1,7 +1,7 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
-import { Product } from '@domain/product';
+import { Product } from '@/domain/product';
@Injectable()
export class ProductService {
diff --git a/apps/showcase/src/app/showcase/service/ticketservice.ts b/apps/showcase/service/ticketservice.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/service/ticketservice.ts
rename to apps/showcase/service/ticketservice.ts
diff --git a/apps/showcase/src/app/showcase/doc/Image/basicdoc.ts b/apps/showcase/src/app/showcase/doc/Image/basicdoc.ts
deleted file mode 100644
index 05f6648b785..00000000000
--- a/apps/showcase/src/app/showcase/doc/Image/basicdoc.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Image is used as the native img element and supports all properties that the native element has. For multiple image, see Galleria.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Image } from 'primeng/image';
-
-@Component({
- selector: 'image-basic-demo',
- templateUrl: './image-basic-demo.html',
- standalone: true,
- imports: [Image]
-})
-export class ImageBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/Image/importdoc.ts b/apps/showcase/src/app/showcase/doc/Image/importdoc.ts
deleted file mode 100644
index b26d468229c..00000000000
--- a/apps/showcase/src/app/showcase/doc/Image/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'image-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Image } from 'primeng/image';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/Image/templatedoc.ts b/apps/showcase/src/app/showcase/doc/Image/templatedoc.ts
deleted file mode 100644
index 91046ea852b..00000000000
--- a/apps/showcase/src/app/showcase/doc/Image/templatedoc.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- An eye icon is displayed by default when the image is hovered in preview mode. Use the indicator template for custom content.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ImageModule } from 'primeng/image';
-
-@Component({
- selector: 'image-template-demo',
- templateUrl: './image-template-demo.html',
- standalone: true,
- imports: [ImageModule]
-})
-export class ImageTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/basicdoc.ts b/apps/showcase/src/app/showcase/doc/accordion/basicdoc.ts
deleted file mode 100644
index 97bd220957d..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/basicdoc.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Accordion is defined using AccordionPanel , AccordionHeader and AccordionContent components. Each AccordionPanel must contain a unique value property to specify the active item.
-
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
- Header III
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
- Header III
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
- `,
-
- html: `
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
- Header III
-
-
-At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-
-@Component({
- selector: 'accordion-basic-demo',
- templateUrl: './accordion-basic-demo.html',
- standalone: true,
- imports: [AccordionModule]
-})
-export class AccordionBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/accordion/controlleddoc.ts
deleted file mode 100644
index d459d9efd27..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/controlleddoc.ts
+++ /dev/null
@@ -1,163 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'controlled-doc',
- template: `
-
- Panels can be controlled programmatically using value property as a model.
-
-
-
-
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
-
- `
-})
-export class ControlledDoc {
- active = '0';
-
- code: Code = {
- basic: `
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'accordion-controlled-demo',
- templateUrl: './accordion-controlled-demo.html',
- standalone: true,
- imports: [AccordionModule, ButtonModule]
-})
-export class AccordionControlledDemo {
- activeIndex: number | undefined = 0;
-
- activeIndexChange(index : number){
- this.activeIndex = index
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/disableddoc.ts b/apps/showcase/src/app/showcase/doc/accordion/disableddoc.ts
deleted file mode 100644
index f984daf025a..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/disableddoc.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- Enabling disabled property of an AccordionTab prevents user interaction.
-
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
- Header IV
-
-
-
-
- `
-})
-export class DisabledDoc {
- code: Code = {
- basic: `
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
- Header IV
-
- `,
-
- html: `
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
- Header IV
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-
-@Component({
- selector: 'accordion-disabled-demo',
- templateUrl: './accordion-disabled-demo.html',
- standalone: true,
- imports: [AccordionModule]
-})
-export class AccordionDisabledDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/accordion/dynamicdoc.ts
deleted file mode 100644
index 620922b3cfc..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/dynamicdoc.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-doc',
- template: `
-
- AccordionPanel can be generated dynamically using the standard @for block.
-
-
-
-
- @for (tab of tabs; track tab.title) {
-
- {{ tab.title }}
-
- {{ tab.content }}
-
-
- }
-
-
-
-
- `
-})
-export class DynamicDoc {
- tabs = [
- { title: 'Title 1', content: 'Content 1', value: '0' },
- { title: 'Title 2', content: 'Content 2', value: '1' },
- { title: 'Title 3', content: 'Content 3', value: '2' }
- ];
-
- code: Code = {
- basic: `
- @for (tab of tabs; track tab.title) {
-
- {{ tab.title }}
-
- {{ tab.content }}
-
-
- }
- `,
-
- html: `
-
- @for (tab of tabs; track tab.title) {
-
- {{ tab.title }}
-
- {{ tab.content }}
-
-
- }
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'accordion-dynamic-demo',
- templateUrl: './accordion-dynamic-demo.html',
- standalone: true,
- imports: [AccordionModule, CommonModule]
-})
-export class AccordionDynamicDemo {
- tabs = [
- { title: 'Title 1', content: 'Content 1', value: '0' },
- { title: 'Title 2', content: 'Content 2', value: '1' },
- { title: 'Title 3', content: 'Content 3', value: '2' },
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/importdoc.ts b/apps/showcase/src/app/showcase/doc/accordion/importdoc.ts
deleted file mode 100644
index e554edbad6e..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'accordion-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Accordion, AccordionTab } from 'primeng/accordion';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/multipledoc.ts b/apps/showcase/src/app/showcase/doc/accordion/multipledoc.ts
deleted file mode 100644
index a4b5d366bc6..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/multipledoc.ts
+++ /dev/null
@@ -1,134 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
- Only one tab at a time can be active by default, enabling multiple property changes this behavior to allow multiple tabs. In this case activeIndex needs to be an array.
-
-
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
- `
-})
-export class MultipleDoc {
- code: Code = {
- basic: `
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
- Header I
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Header II
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- Header III
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-
-@Component({
- selector: 'accordion-multiple-demo',
- templateUrl: './accordion-multiple-demo.html',
- standalone: true,
- imports: [AccordionModule]
-})
-export class AccordionMultipleDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/accordion/templatedoc.ts b/apps/showcase/src/app/showcase/doc/accordion/templatedoc.ts
deleted file mode 100644
index 0ea06dcb3ed..00000000000
--- a/apps/showcase/src/app/showcase/doc/accordion/templatedoc.ts
+++ /dev/null
@@ -1,253 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Accordion is customized with toggleicon template.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Amy Elsner
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Onyama Limba
-
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Ioni Bowcher
-
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Amy Elsner
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Onyama Limba
-
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Ioni Bowcher
-
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Amy Elsner
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Onyama Limba
-
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
-
- @if (active) {
-
- } @else {
-
- }
-
-
-
- Ioni Bowcher
-
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { AccordionModule } from 'primeng/accordion';
-import { AvatarModule } from 'primeng/avatar';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'accordion-template-demo',
- templateUrl: './accordion-template-demo.html',
- standalone: true,
- imports: [AccordionModule, AvatarModule, BadgeModule]
-})
-export class AccordionTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/animateonscroll/basicdoc.ts b/apps/showcase/src/app/showcase/doc/animateonscroll/basicdoc.ts
deleted file mode 100644
index ae3a5d81a72..00000000000
--- a/apps/showcase/src/app/showcase/doc/animateonscroll/basicdoc.ts
+++ /dev/null
@@ -1,289 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Animation classes are defined with the enterClass and leaveClass properties. This example utilizes PrimeFlex animations however any valid CSS animation is supported.
-
-
-
- Scroll Down
-
-
-
-
-
-
- fade-in
-
-
-
- fade-left
-
-
-
- fade-right
-
-
-
- zoom
-
-
-
- flip-left
-
-
-
- flip-y
-
-
-
- scalein
-
-
-
- `,
- styles: [
- `
- :host {
- @keyframes slidedown-icon {
- 0% {
- transform: translateY(0);
- }
-
- 50% {
- transform: translateY(20px);
- }
-
- 100% {
- transform: translateY(0);
- }
- }
-
- .slidedown-icon {
- animation: slidedown-icon;
- animation-duration: 3s;
- animation-iteration-count: infinite;
- }
-
- .box {
- background-image: radial-gradient(var(--primary-300), var(--primary-600));
- border-radius: 50% !important;
- color: var(--primary-color-text);
- }
- }
- `
- ]
-})
-export class BasicDoc {
- code: Code = {
- basic: `
- Scroll Down
-
-
-
-
-
-
- fade-in
-
-
-
- fade-left
-
-
-
- fade-right
-
-
-
- zoom
-
-
-
- flip-left
-
-
-
- flip-y
-
-
-
- scalein
-
`,
- html: `
-
- Scroll Down
-
-
-
-
-
-
- fade-in
-
-
-
- fade-left
-
-
-
- fade-right
-
-
-
- zoom
-
-
-
- flip-left
-
-
-
- flip-y
-
-
-
- scalein
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { AnimateOnScroll } from 'primeng/animateonscroll';
-
-@Component({
- selector: 'animate-on-scroll-basic-demo',
- templateUrl: './animate-on-scroll-basic-demo.html',
- standalone: true,
- imports: [AnimateOnScroll],
- styles: [
- \`
- :host {
- @keyframes slidedown-icon {
- 0% {
- transform: translateY(0);
- }
-
- 50% {
- transform: translateY(20px);
- }
-
- 100% {
- transform: translateY(0);
- }
- }
-
- .slidedown-icon {
- animation: slidedown-icon;
- animation-duration: 3s;
- animation-iteration-count: infinite;
- }
-
- .box {
- background-image: radial-gradient(var(--primary-300), var(--primary-600));
- border-radius: 50% !important;
- color: var(--primary-color-text);
- }
- }
- \`
- ]
-})
-export class AnimateOnScrollBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/animateonscroll/importdoc.ts b/apps/showcase/src/app/showcase/doc/animateonscroll/importdoc.ts
deleted file mode 100644
index d2b332fa59c..00000000000
--- a/apps/showcase/src/app/showcase/doc/animateonscroll/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'animate-on-scroll-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { AnimateOnScroll } from 'primeng/animateonscroll';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/accessibilitydoc.ts
deleted file mode 100644
index fe3ae19ff7d..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/accessibilitydoc.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'autocomplete-accessibility-doc',
- template: `
- Screen Reader
-
- Value to describe the component can either be provided via label tag combined with inputId prop or using ariaLabelledBy , ariaLabel props. The input element has combobox role in addition to
- aria-autocomplete , aria-haspopup and aria-expanded attributes. The relation between the input and the popup is created with aria-controls and aria-activedescendant attribute is used to instruct
- screen reader which option to read during keyboard navigation within the popup list.
-
- In multiple mode, chip list uses listbox role whereas each chip has the option role with aria-label set to the label of the chip.
-
- The popup list has an id that refers to the aria-controls attribute of the input element and uses listbox as the role. Each list item has option role and an id to match the aria-activedescendant of the
- input element.
-
-
-
-
-
- Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input element when popup is not visible. If the popup is open and an item is highlighted then popup gets closed, item gets selected and focus moves to the next focusable element.
-
-
-
- up arrow
-
- Highlights the previous item if popup is visible.
-
-
-
- down arrow
-
- Highlights the next item if popup is visible.
-
-
-
- enter
-
- Selects the highlighted item and closes the popup if popup is visible.
-
-
-
- home
-
- Highlights the first item if popup is visible.
-
-
-
- end
-
- Highlights the last item if popup is visible.
-
-
-
- escape
-
- Hides the popup.
-
-
-
-
-
- Chips Input Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- backspace
-
- Deletes the previous chip if the input field is empty.
-
-
-
- left arrow
-
- Moves focus to the previous chip if available and input field is empty.
-
-
-
-
-
- Chip Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- left arrow
-
- Moves focus to the previous chip if available.
-
-
-
- right arrow
-
- Moves focus to the next chip, if there is none then input field receives the focus.
-
-
-
- backspace
-
- Deletes the chips and adds focus to the input field.
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Username
-
-
-Email
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/basicdoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/basicdoc.ts
deleted file mode 100644
index c20b8c5a341..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/basicdoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- AutoComplete uses ngModel for two-way binding, requires a list of suggestions and a completeMethod to query for the results. The completeMethod gets the query text as event.query property and should update the
- suggestions with the search results.
-
-
-
- `
-})
-export class BasicDoc {
- items: any[] | undefined;
-
- value: any;
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-basic-demo',
- templateUrl: './autocomplete-basic-demo.html',
- imports: [AutoComplete, FormsModule],
- standalone: true,
-})
-export class AutocompleteBasicDemo {
- items: any[] | undefined;
-
- value: any;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map(item => event.query + '-' + item);
- }
-}`
- };
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/disableddoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/disableddoc.ts
deleted file mode 100644
index 56c6c11bb47..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/disableddoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'disabled-doc',
- template: `
- When disabled is present, the element cannot be edited and focused.
-
-
- `
-})
-export class DisabledDoc {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { AutoComplete } from 'primeng/autocomplete';
-import { FormsModule } from '@angular/forms';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-disabled-demo',
- templateUrl: './autocomplete-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, AutoComplete]
-})
-export class AutocompleteDisabledDemo {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map(item => event.query + '-' + item);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/filleddoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/filleddoc.ts
deleted file mode 100644
index cb2fb0bc0bd..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/filleddoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'filled-doc',
- template: `
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
- `
-})
-export class FilledDoc {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-filled-demo',
- templateUrl: './autocomplete-filled-demo.html',
- imports: [AutoComplete, FormsModule],
- standalone: true,
-})
-export class AutocompleteFilledDemo {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map(item => event.query + '-' + item);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/floatlabeldoc.ts
deleted file mode 100644
index bb6814a040e..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/floatlabeldoc.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'float-label-doc',
- template: `
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
- `
-})
-export class FloatLabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- items: any[] | undefined;
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-import { FloatLabel } from 'primeng/floatlabel';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-float-label-demo',
- templateUrl: './autocomplete-float-label-demo.html',
- standalone: true,
- imports: [FormsModule, AutoComplete, FloatLabel]
-})
-export class AutocompleteFloatLabelDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- items: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}`
- };
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/groupdoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/groupdoc.ts
deleted file mode 100644
index c0b48555535..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/groupdoc.ts
+++ /dev/null
@@ -1,202 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FilterService, SelectItemGroup } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'grouped-doc',
- template: `
- Option grouping is enabled when group property is set to true . group template is available to customize the option groups. All templates get the option instance as the default local template variable.
-
-
-
-
-
-
-
{{ group.label }}
-
-
-
-
- `
-})
-export class GroupDoc implements OnInit {
- selectedCity: any;
-
- filteredGroups: any[] | undefined;
-
- groupedCities: SelectItemGroup[] | undefined;
-
- constructor(private filterService: FilterService) {}
-
- ngOnInit() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-
- filterGroupedCity(event: AutoCompleteCompleteEvent) {
- let query = event.query;
- let filteredGroups = [];
-
- for (let optgroup of this.groupedCities as SelectItemGroup[]) {
- let filteredSubOptions = this.filterService.filter(optgroup.items, ['label'], query, 'contains');
- if (filteredSubOptions && filteredSubOptions.length) {
- filteredGroups.push({
- label: optgroup.label,
- value: optgroup.value,
- items: filteredSubOptions
- });
- }
- }
-
- this.filteredGroups = filteredGroups;
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ group.label }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ group.label }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FilterService, SelectItemGroup } from 'primeng/api';
-import { AutoComplete } from 'primeng/autocomplete';
-import { FormsModule } from '@angular/forms';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-grouped-demo',
- templateUrl: './autocomplete-grouped-demo.html',
- standalone: true,
- imports: [AutoComplete, FormsModule],
- })
-export class AutocompleteGroupedDemo implements OnInit {
- selectedCity: any;
-
- filteredGroups: any[] | undefined;
-
- groupedCities: SelectItemGroup[] | undefined;
-
- constructor(private filterService: FilterService) { }
-
- ngOnInit() {
- this.groupedCities = [
- {
- label: 'Germany', value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA', value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan', value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-
- filterGroupedCity(event: AutoCompleteCompleteEvent) {
- let query = event.query;
- let filteredGroups = [];
-
- for (let optgroup of this.groupedCities) {
- let filteredSubOptions = this.filterService.filter(optgroup.items, ['label'], query, "contains");
- if (filteredSubOptions && filteredSubOptions.length) {
- filteredGroups.push({
- label: optgroup.label,
- value: optgroup.value,
- items: filteredSubOptions
- });
- }
- }
-
- this.filteredGroups = filteredGroups;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/iftalabeldoc.ts
deleted file mode 100644
index fe4dcdeb061..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/iftalabeldoc.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'ifta-label-doc',
- template: `
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
- `
-})
-export class IftaLabelDoc {
- items: any[] | undefined;
-
- value: any;
- code: Code = {
- basic: `
-
- Identifier
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoCompleteModule } from 'primeng/autocomplete';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-ifta-label-demo',
- templateUrl: './autocomplete-ifta-label-demo.html',
- standalone: true,
- imports: [FormsModule, AutoCompleteModule, IftaLabelModule]
-})
-export class AutocompleteIftaLabelDemo {
- items: any[] | undefined;
-
- value: any;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}`
- };
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/importdoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/importdoc.ts
deleted file mode 100644
index 1566084d587..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'autocomplete-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { AutoComplete } from 'primeng/autocomplete';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/invaliddoc.ts
deleted file mode 100644
index f11da2cf471..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/invaliddoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'invalid-doc',
- template: `
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
- `
-})
-export class InvalidDoc {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-invalid-demo',
- templateUrl: './autocomplete-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, AutoComplete]
-})
-export class AutocompleteInvalidDemo {
- items: any[] | undefined;
-
- selectedItem: any;
-
- suggestions: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.suggestions = [...Array(10).keys()].map(item => event.query + '-' + item);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/multipledoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/multipledoc.ts
deleted file mode 100644
index de9f36f584a..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/multipledoc.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-multiple-demo',
- template: `
- Multiple mode is enabled using multiple property used to select more than one value from the autocomplete. In this case, value reference should be an array.
-
-
-
With Typeahead
-
-
-
Without Typeahead
-
-
- `
-})
-export class MultipleDoc {
- value1: any[] | undefined;
-
- value2: any[] | undefined;
-
- items: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- code: Code = {
- basic: `With Typeahead
-
-
-Without Typeahead
- `,
-
- html: `
-
With Typeahead
-
-
-
Without Typeahead
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-multiple-demo',
- templateUrl: './autocomplete-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, AutoComplete]
-})
-export class AutocompleteMultipleDemo {
- value1: any[] | undefined;
-
- value2: any[] | undefined;
-
- items: any[] | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/reactiveformsdoc.ts
deleted file mode 100644
index 8997644769c..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/reactiveformsdoc.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Component } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
- AutoComplete can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
- `
-})
-export class ReactiveFormsDoc {
- items: any[] | undefined;
-
- formGroup: FormGroup | undefined;
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { CountryService } from '@service/countryservice';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { AutoComplete } from 'primeng/autocomplete';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-reactive-forms-demo',
- templateUrl: './autocomplete-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, AutoComplete],
- providers: [CountryService]
-})
-export class AutocompleteReactiveFormsDemo implements OnInit {
- items: any[] | undefined;
-
- formGroup: FormGroup | undefined;
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCountry: new FormControl(undefined),
- });
- }
-}`
- };
-
- search(event: AutoCompleteCompleteEvent) {
- this.items = [...Array(10).keys()].map((item) => event.query + '-' + item);
- }
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCountry: new FormControl(undefined)
- });
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/sizesdoc.ts
deleted file mode 100644
index fadb21fe17c..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/sizesdoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
- AutoComplete provides small and large sizes as alternatives to the base.
-
-
- `
-})
-export class SizesDoc {
- items: any[] | undefined;
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'autocomplete-size-demo',
- templateUrl: './autocomplete-size-demo.html',
- imports: [AutoComplete, FormsModule],
- standalone: true,
-})
-export class AutocompleteSizesDemo {
- items: any[] | undefined;
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- search() {
- this.items = [];
- }
-
-}`
- };
-
- search() {
- this.items = [];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/templatedoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/templatedoc.ts
deleted file mode 100644
index 84a8aa0da29..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/templatedoc.ts
+++ /dev/null
@@ -1,159 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { CountryService } from '@service/countryservice';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-template-demo',
- template: `
- AutoComplete offers multiple templates for customization through templating.
-
-
-
-
-
-
-
{{ country.name }}
-
-
-
- Available Countries
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- countries: any[] | undefined;
-
- selectedCountryAdvanced: any[] | undefined;
-
- filteredCountries: any[] | undefined;
-
- constructor(private countryService: CountryService) {}
-
- ngOnInit() {
- this.countryService.getCountries().then((countries) => {
- this.countries = countries;
- });
- }
-
- filterCountry(event: AutoCompleteCompleteEvent) {
- let filtered: any[] = [];
- let query = event.query;
-
- for (let i = 0; i < (this.countries as any[]).length; i++) {
- let country = (this.countries as any[])[i];
- if (country.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {
- filtered.push(country);
- }
- }
- this.filteredCountries = filtered;
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ country.name }}
-
-
-
- Available Countries
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
{{ country.name }}
-
-
-
- Available Countries
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { CountryService } from '@service/countryservice';
-import { AutoCompleteModule } from 'primeng/autocomplete';
-import { FormsModule } from '@angular/forms';
-import { ButtonModule } from 'primeng/button';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-template-demo',
- templateUrl: './autocomplete-template-demo.html',
- standalone: true,
- imports: [FormsModule, AutoCompleteModule, ButtonModule],
- providers: [CountryService]
-})
-export class AutocompleteTemplateDemo {
- countries: any[] | undefined;
-
- selectedCountryAdvanced: any[] | undefined;
-
- filteredCountries: any[] | undefined;
-
- constructor(private countryService: CountryService) {}
-
- ngOnInit() {
- this.countryService.getCountries().then((countries) => {
- this.countries = countries;
- });
- }
-
- filterCountry(event: AutoCompleteCompleteEvent) {
- let filtered: any[] = [];
- let query = event.query;
-
- for (let i = 0; i < (this.countries as any[]).length; i++) {
- let country = (this.countries as any[])[i];
- if (country.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {
- filtered.push(country);
- }
- }
-
- this.filteredCountries = filtered;
- }
-}`,
-
- service: ['CountryService'],
-
- data: `
-//CountryService
-{
- "name": "Afghanistan",
- "code": "AF"
-}
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autocomplete/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/autocomplete/virtualscrolldoc.ts
deleted file mode 100644
index dc1f4cb1933..00000000000
--- a/apps/showcase/src/app/showcase/doc/autocomplete/virtualscrolldoc.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-virtual-scroll-demo',
- template: `
-
- Virtual scrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable virtual scrolling to avoid
- performance issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
-
-
-
- `
-})
-export class VirtualScrollDoc {
- selectedItem: any;
-
- filteredItems: any[] | undefined;
-
- items: any[] | undefined;
-
- filterItems(event: AutoCompleteCompleteEvent) {
- //in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side
- let filtered: any[] = [];
- let query = event.query;
-
- for (let i = 0; i < (this.items as any[]).length; i++) {
- let item = (this.items as any[])[i];
- if (item.label.toLowerCase().indexOf(query.toLowerCase()) == 0) {
- filtered.push(item);
- }
- }
-
- this.filteredItems = filtered;
- }
-
- ngOnInit() {
- this.items = [];
- for (let i = 0; i < 10000; i++) {
- this.items.push({ label: 'Item ' + i, value: 'Item ' + i });
- }
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { AutoComplete } from 'primeng/autocomplete';
-import { FormsModule } from '@angular/forms';
-
-interface AutoCompleteCompleteEvent {
- originalEvent: Event;
- query: string;
-}
-
-@Component({
- selector: 'autocomplete-virtual-scroll-demo',
- templateUrl: './autocomplete-virtual-scroll-demo.html',
- standalone: true,
- imports: [FormsModule, AutoComplete]
-})
-export class AutocompleteVirtualScrollDemo {
- selectedItem: any;
-
- filteredItems: any[] | undefined;
-
- items: any[] | undefined;
-
- filterItems(event: AutoCompleteCompleteEvent) {
- //in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side
- let filtered: any[] = [];
- let query = event.query;
-
- for (let i = 0; i < (this.items as any[]).length; i++) {
- let item = (this.items as any[])[i];
- if (item.label.toLowerCase().indexOf(query.toLowerCase()) == 0) {
- filtered.push(item);
- }
- }
-
- this.filteredItems = filtered;
- }
-
- ngOnInit() {
- this.items = [];
- for (let i = 0; i < 10000; i++) {
- this.items.push({ label: 'Item ' + i, value: 'Item ' + i });
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autofocus/basicdoc.ts b/apps/showcase/src/app/showcase/doc/autofocus/basicdoc.ts
deleted file mode 100644
index 5808689703d..00000000000
--- a/apps/showcase/src/app/showcase/doc/autofocus/basicdoc.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'auto-focus-basic-demo',
- template: `
-
- AutoFocus is applied to any focusable input element on initial load. It's disabled by default and needs to be enabled manually.
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: `
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { AutoFocus } from 'primeng/autofocus';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'auto-focus-basic-demo',
- templateUrl: './auto-focus-basic-demo.html',
- standalone: true,
- imports: [AutoFocus, InputTextModule]
-})
-export class AutoFocusBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/autofocus/importdoc.ts b/apps/showcase/src/app/showcase/doc/autofocus/importdoc.ts
deleted file mode 100644
index 12d22d6c483..00000000000
--- a/apps/showcase/src/app/showcase/doc/autofocus/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'auto-focus-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { AutoFocus } from 'primeng/autofocus';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/badgedoc.ts b/apps/showcase/src/app/showcase/doc/avatar/badgedoc.ts
deleted file mode 100644
index 21be9d73e38..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/badgedoc.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-badge-demo',
- template: `
-
- A badge can be added to an Avatar with the Badge directive.
-
-
-
- `
-})
-export class BadgeDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Avatar } from 'primeng/avatar';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'avatar-badge-demo',
- templateUrl: './avatar-badge-demo.html',
- standalone: true,
- imports: [Avatar, BadgeModule]
-})
-export class AvatarBadgeDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/icondoc.ts b/apps/showcase/src/app/showcase/doc/avatar/icondoc.ts
deleted file mode 100644
index e3d1f1291e5..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/icondoc.ts
+++ /dev/null
@@ -1,92 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-icon-demo',
- template: `
-
- A font icon is displayed as an Avatar with the icon property.
-
-
-
- `
-})
-export class IconDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { AvatarModule } from 'primeng/avatar';
-import { OverlayBadgeModule } from 'primeng/overlaybadge';
-
-@Component({
- selector: 'avatar-icon-demo',
- templateUrl: './avatar-icon-demo.html',
- standalone: true,
- imports: [AvatarModule, OverlayBadgeModule]
-})
-export class AvatarIconDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/imagedoc.ts b/apps/showcase/src/app/showcase/doc/avatar/imagedoc.ts
deleted file mode 100644
index c98d9383682..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/imagedoc.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-image-demo',
- template: `
-
- Use the image property to display an image as an Avatar.
-
-
-
- `
-})
-export class ImageDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { AvatarModule } from 'primeng/avatar';
-import { OverlayBadgeModule } from 'primeng/overlaybadge';
-
-@Component({
- selector: 'avatar-image-demo',
- templateUrl: './avatar-image-demo.html',
- standalone: true,
- imports: [AvatarModule, OverlayBadgeModule]
-})
-export class AvatarImageDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/importdoc.ts b/apps/showcase/src/app/showcase/doc/avatar/importdoc.ts
deleted file mode 100644
index af30807e026..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/importdoc.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- html: `import { Avatar } from 'primeng/avatar';
-import { AvatarGroup } from 'primeng/avatargroup';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/labeldoc.ts b/apps/showcase/src/app/showcase/doc/avatar/labeldoc.ts
deleted file mode 100644
index 404324b9f02..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/labeldoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-label-demo',
- template: `
-
- A letter Avatar is defined with the label property.
-
-
-
- `
-})
-export class LabelDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { AvatarModule } from 'primeng/avatar';
-import { OverlayBadgeModule } from 'primeng/overlaybadge';
-
-@Component({
- selector: 'avatar-label-demo',
- templateUrl: './avatar-label-demo.html',
- standalone: true,
- imports: [AvatarModule, OverlayBadgeModule]
-})
-export class AvatarLabelDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/sizedoc.ts b/apps/showcase/src/app/showcase/doc/avatar/sizedoc.ts
deleted file mode 100644
index 5cfee333ef7..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/sizedoc.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-size-demo',
- template: `
-
- size property defines the size of the Avatar with large and xlarge as possible values.
-
-
-
- `
-})
-export class SizeDoc {
- code: Code = {
- basic: `
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Avatar } from 'primeng/avatar';
-
-@Component({
- selector: 'avatar-size-demo',
- templateUrl: './avatar-size-demo.html',
- standalone: true,
- imports: [Avatar]
-})
-export class AvatarSizeDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/avatar/templatedoc.ts b/apps/showcase/src/app/showcase/doc/avatar/templatedoc.ts
deleted file mode 100644
index f29bd52a25d..00000000000
--- a/apps/showcase/src/app/showcase/doc/avatar/templatedoc.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'avatar-template-demo',
- template: `
-
- Content can easily be customized with the dynamic content instead of using the built-in modes.
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
- Content
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Avatar } from 'primeng/avatar';
-
-@Component({
- selector: 'avatar-template-demo',
- templateUrl: './avatar-template-demo.html',
- standalone: true,
- imports: [Avatar]
-})
-export class AvatarTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/basicdoc.ts b/apps/showcase/src/app/showcase/doc/badge/basicdoc.ts
deleted file mode 100644
index f776a96650f..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/basicdoc.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-basic-demo',
- template: `
-
- Content of the badge is specified using the value property.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'badge-basic-demo',
- templateUrl: './badge-basic-demo.html',
- standalone: true,
- imports: [BadgeModule]
-})
-export class BadgeBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/buttondoc.ts b/apps/showcase/src/app/showcase/doc/badge/buttondoc.ts
deleted file mode 100644
index cbb7c748f1b..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/buttondoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-button-demo',
- template: `
-
- Buttons have built-in support for badges to display a badge inline.
-
-
-
-
-
- `
-})
-export class ButtonDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'badge-button-demo',
- templateUrl: './badge-button-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class BadgeButtonDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/directivedoc.ts b/apps/showcase/src/app/showcase/doc/badge/directivedoc.ts
deleted file mode 100644
index 545d0f77dc3..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/directivedoc.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-directive-demo',
- template: `
-
- Content of the badge is specified using the value property.
-
-
-
-
-
- `
-})
-export class DirectiveDoc {
- code: Code = {
- basic: ` `,
- html: `
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'badge-directive-demo',
- templateUrl: './badge-directive-demo.html',
- standalone: true,
- imports: [BadgeModule]
-})
-export class BadgeDirectiveDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/importdoc.ts b/apps/showcase/src/app/showcase/doc/badge/importdoc.ts
deleted file mode 100644
index 8afe62531d5..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/importdoc.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { BadgeModule } from 'primeng/badge';
-import { OverlayBadgeModule } from 'primeng/overlaybadge';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/positiondoc.ts b/apps/showcase/src/app/showcase/doc/badge/positiondoc.ts
deleted file mode 100644
index 61fc74cac34..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/positiondoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-position-demo',
- template: `
-
- A Badge can be positioned at the top right corner of an element by adding p-overlay-badge style class to the element and embedding the badge inside.
-
-
-
-
-
-
-
- `
-})
-export class PositionDoc {
- code: Code = {
- basic: ` `,
- html: `
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'badge-position-demo',
- templateUrl: './badge-position-demo.html',
- standalone: true,
- imports: [BadgeModule]
-})
-export class BadgePositionDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/severitydoc.ts b/apps/showcase/src/app/showcase/doc/badge/severitydoc.ts
deleted file mode 100644
index c73e3040ad4..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/severitydoc.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-severity-demo',
- template: `
-
- Severity defines the color of the badge, possible values are success , info , warn and danger
-
-
-
- `
-})
-export class SeverityDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'badge-severity-demo',
- templateUrl: './badge-severity-demo.html',
- standalone: true,
- imports: [BadgeModule]
-})
-export class BadgeSeverityDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/badge/sizedoc.ts b/apps/showcase/src/app/showcase/doc/badge/sizedoc.ts
deleted file mode 100644
index da5ddf02a25..00000000000
--- a/apps/showcase/src/app/showcase/doc/badge/sizedoc.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'badge-size-demo',
- template: `
-
- Badge sizes are adjusted with the badgeSize property that accepts small , large and xlarge as the possible alternatives to the default size. Currently sizes only apply to component mode.
-
-
-
- `
-})
-export class SizeDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'badge-size-demo',
- templateUrl: './badge-size-demo.html',
- standalone: true,
- imports: [BadgeModule]
-})
-export class BadgeSizeDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/blockui/basicdoc.ts b/apps/showcase/src/app/showcase/doc/blockui/basicdoc.ts
deleted file mode 100644
index 264226fdd93..00000000000
--- a/apps/showcase/src/app/showcase/doc/blockui/basicdoc.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'block-ui-basic-demo',
- template: `
-
- The element to block should be placed as a child of BlockUI and blocked property is required to control the state.
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class BasicDoc {
- blockedPanel: boolean = false;
-
- code: Code = {
- basic: `
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
- `,
- html: `
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
- cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { BlockUI } from 'primeng/blockui';
-import { ButtonModule } from 'primeng/button';
-import { PanelModule } from 'primeng/panel';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'block-ui-basic-demo',
- templateUrl: './block-ui-basic-demo.html',
- standalone: true,
- imports: [BlockUI, ButtonModule, PanelModule, Ripple]
-})
-export class BlockUiBasicDemo {
- blockedPanel: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/blockui/documentdoc.ts b/apps/showcase/src/app/showcase/doc/blockui/documentdoc.ts
deleted file mode 100644
index 94270928448..00000000000
--- a/apps/showcase/src/app/showcase/doc/blockui/documentdoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'block-ui-document-demo',
- template: `
-
- If the target element is not specified, BlockUI blocks the document by default.
-
-
-
- `
-})
-export class DocumentDoc {
- blockedDocument: boolean = false;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- blockDocument() {
- this.blockedDocument = true;
- setTimeout(() => {
- this.blockedDocument = false;
- this.cd.markForCheck();
- }, 3000);
- }
-
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component, ChangeDetectorRef } from '@angular/core';
-import { BlockUI } from 'primeng/blockui';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'block-ui-document-demo',
- templateUrl: './block-ui-document-demo.html',
- standalone: true,
- imports: [BlockUI, ButtonModule, Ripple]
-})
-export class BlockUiDocumentDemo {
- blockedDocument: boolean = false;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- blockDocument() {
- this.blockedDocument = true;
- setTimeout(() => {
- this.blockedDocument = false;
- this.cd.markForCheck();
- }, 3000);
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/blockui/importdoc.ts b/apps/showcase/src/app/showcase/doc/blockui/importdoc.ts
deleted file mode 100644
index 17e51f814f6..00000000000
--- a/apps/showcase/src/app/showcase/doc/blockui/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'block-ui-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { BlockUI } from 'primeng/blockui';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/breadcrumb/basicdoc.ts b/apps/showcase/src/app/showcase/doc/breadcrumb/basicdoc.ts
deleted file mode 100644
index 1218a2b5eb0..00000000000
--- a/apps/showcase/src/app/showcase/doc/breadcrumb/basicdoc.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'breadcrumb-basic-demo',
- template: `
-
- Breadcrumb provides contextual information about page hierarchy.
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [{ label: 'Electronics' }, { label: 'Computer' }, { label: 'Accessories' }, { label: 'Keyboard' }, { label: 'Wireless' }];
-
- this.home = { icon: 'pi pi-home', routerLink: '/' };
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Breadcrumb } from 'primeng/breadcrumb';
-
-@Component({
- selector: 'breadcrumb-basic-demo',
- templateUrl: './breadcrumb-basic-demo.html',
- standalone: true,
- imports: [Breadcrumb]
-})
-export class BreadcrumbBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [
- { label: 'Electronics' },
- { label: 'Computer' },
- { label: 'Accessories' },
- { label: 'Keyboard' },
- { label: 'Wireless' }
- ];
-
- this.home = { icon: 'pi pi-home', routerLink: '/' };
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/breadcrumb/importdoc.ts b/apps/showcase/src/app/showcase/doc/breadcrumb/importdoc.ts
deleted file mode 100644
index 05a16e7af4f..00000000000
--- a/apps/showcase/src/app/showcase/doc/breadcrumb/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'breadcrumb-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Breadcrumb } from 'primeng/breadcrumb';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/breadcrumb/routerdoc.ts b/apps/showcase/src/app/showcase/doc/breadcrumb/routerdoc.ts
deleted file mode 100644
index 59c825f33e4..00000000000
--- a/apps/showcase/src/app/showcase/doc/breadcrumb/routerdoc.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'breadcrumb-router-demo',
- template: `
-
- Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.
-
-
-
- `
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [{ icon: 'pi pi-home', route: '/installation' }, { label: 'Components' }, { label: 'Form' }, { label: 'InputText', route: '/inputtext' }];
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ item.label }}
-
-
-
-
- {{ item.label }}
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Breadcrumb } from 'primeng/breadcrumb';
-import { RouterModule } from '@angular/router';
-
-@Component({
- selector: 'breadcrumb-router-demo',
- templateUrl: './breadcrumb-router-demo.html',
- standalone: true,
- imports: [Breadcrumb, RouterModule]
-})
-export class BreadcrumbRouterDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [{ icon: 'pi pi-home', route: '/installation' }, { label: 'Components' }, { label: 'Form' }, { label: 'InputText', route: '/inputtext' }];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/breadcrumb/templatedoc.ts b/apps/showcase/src/app/showcase/doc/breadcrumb/templatedoc.ts
deleted file mode 100644
index fe27201531e..00000000000
--- a/apps/showcase/src/app/showcase/doc/breadcrumb/templatedoc.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'breadcrumb-template-demo',
- template: `
-
- Custom content can be placed inside the items using the item template. The divider between the items has its own separator template.
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [{ icon: 'pi pi-sitemap' }, { icon: 'pi pi-book' }, { icon: 'pi pi-wallet' }, { icon: 'pi pi-shopping-bag' }, { icon: 'pi pi-calculator' }];
-
- this.home = { icon: 'pi pi-home' };
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- /
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Breadcrumb } from 'primeng/breadcrumb';
-import { RouterModule } from '@angular/router';
-
-@Component({
- selector: 'breadcrumb-template-demo',
- templateUrl: './breadcrumb-template-demo.html',
- standalone: true,
- imports: [Breadcrumb, RouterModule]
-})
-export class BreadcrumbTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- home: MenuItem | undefined;
-
- ngOnInit() {
- this.items = [{ icon: 'pi pi-sitemap' }, { icon: 'pi pi-book' }, { icon: 'pi pi-wallet' }, { icon: 'pi pi-shopping-bag' }, { icon: 'pi pi-calculator' }];
-
- this.home = { icon: 'pi pi-home' };
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/button/accessibilitydoc.ts
deleted file mode 100644
index dd9e9733e63..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/accessibilitydoc.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-accessibility-doc',
- template: `
-
- Screen Reader
-
- Button component renders a native button element that implicitly includes any passed prop. Text to describe the button is defined with the aria-label prop, if not present label prop is used as the value. If the button is
- icon only or custom templating is used, it is recommended to use aria-label so that screen readers would be able to read the element properly.
-
-
-
-
-
- Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the button.
-
-
-
- enter
-
- Activates the button.
-
-
-
- space
-
- Activates the button.
-
-
-
-
- `
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `
-
-
-
-
- Youtube
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/badgedoc.ts b/apps/showcase/src/app/showcase/doc/button/badgedoc.ts
deleted file mode 100644
index 410aefc86e6..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/badgedoc.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-badge-demo',
- template: `
-
- Buttons have built-in badge support with badge and badgeClass properties.
-
-
-
- `
-})
-export class BadgeDoc {
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-badge-demo',
- templateUrl: './button-badge-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonBadgeDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/basicdoc.ts b/apps/showcase/src/app/showcase/doc/button/basicdoc.ts
deleted file mode 100644
index 304820d7ece..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/basicdoc.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-basic-demo',
- template: `
-
- Text to display on a button is defined with the label property.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-basic-demo',
- templateUrl: './button-basic-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonBasicDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/directivedoc.ts b/apps/showcase/src/app/showcase/doc/button/directivedoc.ts
deleted file mode 100644
index b2e320c8500..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/directivedoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-directive-demo',
- template: `
-
-
- Button can also be used as directive using pButton along with pButtonLabel and pButtonIcon helper directives. In contrary of p-button component, pButton directive does not utilize ripple effect, use
- pRipple directive to enable ripple.
-
-
-
-
-
- label
-
-
-
- `
-})
-export class DirectiveDoc {
- code: Code = {
- basic: `
-
- label
- `,
-
- html: `
-
-
- label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-import { RippleModule } from 'primeng/ripple';
-
-@Component({
- selector: 'button-directive-demo',
- templateUrl: './button-directive-demo.html',
- standalone: true,
- imports: [ButtonModule, RippleModule]
-})
-export class ButtonDirectiveDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/disableddoc.ts b/apps/showcase/src/app/showcase/doc/button/disableddoc.ts
deleted file mode 100644
index 09e06f17a0b..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/disableddoc.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-disabled-demo',
- templateUrl: './button-disabled-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonDisabledDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/iconsdoc.ts b/apps/showcase/src/app/showcase/doc/button/iconsdoc.ts
deleted file mode 100644
index 94bfabfe2b4..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/iconsdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-icons-demo',
- template: `
-
- Icon of a button is specified with icon property and position is configured using iconPos attribute.
-
-
-
- `
-})
-export class IconsDoc {
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-icons-demo',
- templateUrl: './button-icons-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonIconsDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/importdoc.ts b/apps/showcase/src/app/showcase/doc/button/importdoc.ts
deleted file mode 100644
index b25089a111b..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ButtonModule } from 'primeng/button';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/loadingdoc.ts b/apps/showcase/src/app/showcase/doc/button/loadingdoc.ts
deleted file mode 100644
index 39971dbcff0..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/loadingdoc.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-loading-demo',
- template: `
-
- Busy state is controlled with the loading property.
-
-
-
- `
-})
-export class LoadingDoc {
- loading: boolean = false;
-
- constructor(private readonly cdr: ChangeDetectorRef) {}
-
- load() {
- this.loading = true;
-
- setTimeout(() => {
- this.loading = false;
- this.cdr.markForCheck();
- }, 2000);
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-loading-demo',
- templateUrl: './button-loading-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonLoadingDemo {
- loading: boolean = false;
-
- load() {
- this.loading = true;
-
- setTimeout(() => {
- this.loading = false
- }, 2000);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/outlineddoc.ts b/apps/showcase/src/app/showcase/doc/button/outlineddoc.ts
deleted file mode 100644
index fa1f0df6caf..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/outlineddoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-outlined-demo',
- template: `
-
- Outlined buttons display a border without a background initially.
-
-
-
- `
-})
-export class OutlinedDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-outlined-demo',
- templateUrl: './button-outlined-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonOutlinedDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/raiseddoc.ts b/apps/showcase/src/app/showcase/doc/button/raiseddoc.ts
deleted file mode 100644
index 247a5dd819f..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/raiseddoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-raised-demo',
- template: `
-
- Raised buttons display a shadow to indicate elevation.
-
-
-
- `
-})
-export class RaisedDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-raised-demo',
- templateUrl: './button-raised-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonRaisedDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/raisedtextdoc.ts b/apps/showcase/src/app/showcase/doc/button/raisedtextdoc.ts
deleted file mode 100644
index 599a7308308..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/raisedtextdoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-raisedtext-demo',
- template: `
-
- Text buttons can be displayed as raised for elevation.
-
-
-
- `
-})
-export class RaisedTextDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-raisedtext-demo',
- templateUrl: './button-raisedtext-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonRaisedtextDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/roundeddoc.ts b/apps/showcase/src/app/showcase/doc/button/roundeddoc.ts
deleted file mode 100644
index fcbd26288d2..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/roundeddoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-rounded-demo',
- template: `
-
- Rounded buttons have a circular border radius.
-
-
-
- `
-})
-export class RoundedDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-rounded-demo',
- templateUrl: './button-rounded-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonRoundedDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/severitydoc.ts b/apps/showcase/src/app/showcase/doc/button/severitydoc.ts
deleted file mode 100644
index b34da7f2cff..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/severitydoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-severity-demo',
- template: `
-
- Severity defines the type of button.
-
-
-
- `
-})
-export class SeverityDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-severity-demo',
- templateUrl: './button-severity-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonSeverityDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/button/sizesdoc.ts
deleted file mode 100644
index 9a6c01aefe0..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/sizesdoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-sizes-demo',
- template: `
-
- Button provides small and large sizes as alternatives to the standard.
-
-
-
- `
-})
-export class SizesDoc {
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-sizes-demo',
- templateUrl: './button-sizes-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonSizesDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/templatedoc.ts b/apps/showcase/src/app/showcase/doc/button/templatedoc.ts
deleted file mode 100644
index 588cae9c6cc..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/templatedoc.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-template-demo',
- template: `
-
- Custom content inside a button is defined as children.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-template-demo',
- templateUrl: './button-template-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonTemplateDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/button/textdoc.ts b/apps/showcase/src/app/showcase/doc/button/textdoc.ts
deleted file mode 100644
index a1b58701bda..00000000000
--- a/apps/showcase/src/app/showcase/doc/button/textdoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'button-text-demo',
- template: `
-
- Text buttons are displayed as textual elements.
-
-
-
- `
-})
-export class TextDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'button-text-demo',
- templateUrl: './button-text-demo.html',
- standalone: true,
- imports: [ButtonModule]
-})
-export class ButtonTextDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/card/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/card/accessibilitydoc.ts
deleted file mode 100644
index 9a66446c684..00000000000
--- a/apps/showcase/src/app/showcase/doc/card/accessibilitydoc.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'card-accessibility-doc',
- template: `
-
-
Screen Reader
-
- A card can be utilized in many use cases as a result no role is enforced, in fact a role may not be necessary if the card is used for presentational purposes only. Any valid attribute is passed to the container element so if you
- require to use one of the landmark roles like region , you may use the role property.
-
-
-
Keyboard Support
-
Component does not include any interactive elements.
-
- `
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `
- Content
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/card/advanceddoc.ts b/apps/showcase/src/app/showcase/doc/card/advanceddoc.ts
deleted file mode 100644
index 54c8ceda491..00000000000
--- a/apps/showcase/src/app/showcase/doc/card/advanceddoc.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'card-advanced-demo',
- template: `
-
- Card content can be customized further with subHeader , header and footer properties.
-
-
-
-
-
-
- Advanced Card
- Card subtitle
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate neque
- quas!
-
-
-
-
-
-
-
- `
-})
-export class AdvancedDoc {
- code: Code = {
- basic: `
-
-
-
- Advanced Card
- Card subtitle
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt
- quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate neque quas!
-
-
-
-
- `,
-
- html: `
-
-
-
-
- Advanced Card
- Card subtitle
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt
- quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate neque quas!
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { CardModule } from 'primeng/card';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'card-advanced-demo',
- templateUrl: './card-advanced-demo.html',
- standalone: true,
- imports: [CardModule, ButtonModule]
-})
-export class CardAdvancedDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/card/basicdoc.ts b/apps/showcase/src/app/showcase/doc/card/basicdoc.ts
deleted file mode 100644
index 687413c5f01..00000000000
--- a/apps/showcase/src/app/showcase/doc/card/basicdoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'card-basic-demo',
- template: `
-
- A simple Card is created with a header property along with the content as children.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate neque
- quas!
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate neque
- quas!
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { CardModule } from 'primeng/card';
-
-@Component({
- selector: 'card-basic-demo',
- templateUrl: './card-basic-demo.html',
- standalone: true,
- imports: [CardModule]
-})
-export class CardBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/card/importdoc.ts b/apps/showcase/src/app/showcase/doc/card/importdoc.ts
deleted file mode 100644
index a5c54140e66..00000000000
--- a/apps/showcase/src/app/showcase/doc/card/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'card-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Card } from 'primeng/card';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/carousel/basicdoc.ts b/apps/showcase/src/app/showcase/doc/carousel/basicdoc.ts
deleted file mode 100644
index 4d203c53ea6..00000000000
--- a/apps/showcase/src/app/showcase/doc/carousel/basicdoc.ts
+++ /dev/null
@@ -1,262 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'carousel-basic-demo',
- template: `
-
- Carousel requires a collection of items as its value along with a template to render each item.
-
-
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
{{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { CarouselModule } from 'primeng/carousel';
-import { ButtonModule } from 'primeng/button';
-import { TagModule } from 'primeng/tag';
-
-@Component({
- selector: 'carousel-basic-demo',
- templateUrl: './carousel-basic-demo.html',
- standalone: true,
- imports: [CarouselModule, ButtonModule, TagModule],
- providers: [ProductService]
-})
-export class CarouselBasicDemo implements OnInit {
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1400px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '1199px',
- numVisible: 3,
- numScroll: 1
- },
- {
- breakpoint: '767px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '575px',
- numVisible: 1,
- numScroll: 1
- }
- ]
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.detectChanges();
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1400px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '1199px',
- numVisible: 3,
- numScroll: 1
- },
- {
- breakpoint: '767px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '575px',
- numVisible: 1,
- numScroll: 1
- }
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/carousel/importdoc.ts b/apps/showcase/src/app/showcase/doc/carousel/importdoc.ts
deleted file mode 100644
index a2d3bb175cd..00000000000
--- a/apps/showcase/src/app/showcase/doc/carousel/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'carousel-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Carousel } from 'primeng/carousel';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/carousel/responsivedoc.ts b/apps/showcase/src/app/showcase/doc/carousel/responsivedoc.ts
deleted file mode 100644
index d9922145d08..00000000000
--- a/apps/showcase/src/app/showcase/doc/carousel/responsivedoc.ts
+++ /dev/null
@@ -1,267 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'responsive-doc',
- template: `
-
-
- Carousel supports specific configuration per screen size with the responsiveOptions property that takes an array of objects where each object defines the max-width breakpoint , numVisible for the number of items
- items per page and numScroll for number of items to scroll. When responsiveOptions is defined, the numScroll
- and
- numVisible properties of the Carousel are used as default when there is breakpoint that applies.
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
{{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class ResponsiveDoc implements OnInit {
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { Carousel } from 'primeng/carousel';
-import { ButtonModule } from 'primeng/button';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'carousel-responsive-demo',
- templateUrl: './carousel-responsive-demo.html',
- standalone: true,
- imports: [Carousel, ButtonModule, Tag],
- providers: [ProductService]
-})
-export class CarouselResponsiveDemo {
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- });
-
-
- this.responsiveOptions = [
- {
- breakpoint: '1400px',
- numVisible: 2,
- numScroll: 1,
- },
- {
- breakpoint: '1199px',
- numVisible: 3,
- numScroll: 1,
- },
- {
- breakpoint: '767px',
- numVisible: 2,
- numScroll: 1,
- },
- {
- breakpoint: '575px',
- numVisible: 1,
- numScroll: 1,
- },
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.detectChanges();
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1400px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '1199px',
- numVisible: 3,
- numScroll: 1
- },
- {
- breakpoint: '767px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '575px',
- numVisible: 1,
- numScroll: 1
- }
- ];
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/carousel/templatedoc.ts b/apps/showcase/src/app/showcase/doc/carousel/templatedoc.ts
deleted file mode 100644
index fbbe04ea4ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/carousel/templatedoc.ts
+++ /dev/null
@@ -1,267 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'carousel-template-demo',
- template: `
-
- Custom content projection is available using the header and footer templates.
-
-
-
-
- Header content
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
{{ '$' + product.price }}
-
-
-
-
-
-
-
-
- Footer content
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.detectChanges();
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1199px',
- numVisible: 1,
- numScroll: 1
- },
- {
- breakpoint: '991px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '767px',
- numVisible: 1,
- numScroll: 1
- }
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
- Header content
-
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
- Footer content
-
- `,
- html: `
-
-
- Header content
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
- Footer content
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { Carousel } from 'primeng/carousel';
-import { ButtonModule } from 'primeng/button';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'carousel-template-demo',
- templateUrl: './carousel-template-demo.html',
- standalone: true,
- imports: [Carousel, ButtonModule, Tag],
- providers: [ProductService]
-})
-export class CarouselTemplateDemo implements OnInit{
- products: Product[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1199px',
- numVisible: 1,
- numScroll: 1
- },
- {
- breakpoint: '991px',
- numVisible: 2,
- numScroll: 1
- },
- {
- breakpoint: '767px',
- numVisible: 1,
- numScroll: 1
- }
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/carousel/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/carousel/verticaldoc.ts
deleted file mode 100644
index 8752e27057c..00000000000
--- a/apps/showcase/src/app/showcase/doc/carousel/verticaldoc.ts
+++ /dev/null
@@ -1,237 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'carousel-vertical-demo',
- template: `
-
- To create a vertical Carousel, orientation needs to be set to vertical along with a verticalViewPortHeight .
-
-
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
{{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class VerticalDoc implements OnInit {
- products: Product[] | undefined;
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.detectChanges();
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- {{ product.name }}
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
- {{ '$' + product.price }}
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { Carousel } from 'primeng/carousel';
-import { ButtonModule } from 'primeng/button';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'carousel-vertical-demo',
- templateUrl: './carousel-vertical-demo.html',
- standalone: true,
- imports: [Carousel, ButtonModule, Tag],
- providers: [ProductService]
-})
-export class CarouselVerticalDemo implements OnInit {
- products: Product[] | undefined;
-
- responsiveOptions: any[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- });
-
- this.responsiveOptions = [
- {
- breakpoint: '1024px',
- numVisible: 3,
- numScroll: 3
- },
- {
- breakpoint: '768px',
- numVisible: 2,
- numScroll: 2
- },
- {
- breakpoint: '560px',
- numVisible: 1,
- numScroll: 1
- }
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
- scss: `
-:host ::ng-deep {
- .product-item {
- .product-item-content {
- border: 1px solid var(--surface-d);
- border-radius: 3px;
- margin: .3rem;
- text-align: center;
- padding: 2rem 0;
- }
-
- .product-image {
- width: 50%;
- box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)
- }
- }
-}`,
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/accessibilitydoc.ts
deleted file mode 100644
index 174da5d2ea1..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/accessibilitydoc.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-accessibility-doc',
- template: `
- Screen Reader
-
- Value to describe the component can either be provided with ariaLabelledBy or ariaLabel props. The cascadeselect element has a combobox role in addition to aria-haspopup and aria-expanded attributes.
- The relation between the combobox and the popup is created with aria-controls that refers to the id of the popup.
-
-
- The popup list has an id that refers to the aria-controls attribute of the combobox element and uses tree as the role. Each list item has a treeitem role along with aria-label ,
- aria-selected and aria-expanded attributes. The container element of a treenode has the group role. The aria-setsize , aria-posinset and aria-level attributes are calculated implicitly and
- added to each treeitem.
-
-
-
-
-
- Closed State Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the cascadeselect element.
-
-
-
- space
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
- down arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
-
-
- Popup Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Hides the popup and moves focus to the next tabbable element.
-
-
- shift + tab
- Hides the popup and moves focus to the previous tabbable element.
-
-
-
- enter
-
- Selects the focused option and closes the popup.
-
-
-
- space
-
- Selects the focused option and closes the popup.
-
-
-
- escape
-
- Closes the popup, moves focus to the cascadeselect element.
-
-
-
- down arrow
-
- Moves focus to the next option.
-
-
-
- up arrow
-
- Moves focus to the previous option.
-
-
-
- right arrow
-
- If option is closed, opens the option otherwise moves focus to the first child option.
-
-
-
- left arrow
-
- If option is open, closes the option otherwise moves focus to the parent option.
-
-
-
-
`
-})
-export class AccessibilityDoc {
- @Input() id: string;
-
- @Input() title: string;
-
- code: Code = {
- basic: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/basicdoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/basicdoc.ts
deleted file mode 100644
index 78276d7be5c..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/basicdoc.ts
+++ /dev/null
@@ -1,202 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-basic-demo',
- template: `
-
-
- CascadeSelect requires a value to bind and a collection of arbitrary objects with a nested hierarchy.
- optionGroupLabel is used for the text of a category and optionGroupChildren is to define the children of the category. Note that order of the optionGroupChildren matters and it should correspond to the data
- hierarchy.
-
-
-
-
- `
-})
-export class BasicDoc {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-basic-demo',
- templateUrl: './cascade-select-basic-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectBasicDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/disableddoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/disableddoc.ts
deleted file mode 100644
index 8edf0509d75..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/disableddoc.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-disabled-demo',
- templateUrl: './cascade-select-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectDisabledDemo {
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/filleddoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/filleddoc.ts
deleted file mode 100644
index d06502b0c22..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/filleddoc.ts
+++ /dev/null
@@ -1,198 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-filled-demo',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-filled-demo',
- templateUrl: './cascade-select-filled-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectFilledDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/floatlabeldoc.ts
deleted file mode 100644
index 6f8eb0a2390..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/floatlabeldoc.ts
+++ /dev/null
@@ -1,255 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-float-label-demo',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: 'cascade-select-float-label-demo',
- templateUrl: './cascade-select-float-label-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect, FloatLabel]
-})
-export class CascadeSelectFloatLabelDemo implements OnInit {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/iftalabeldoc.ts
deleted file mode 100644
index 42dfcb05365..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/iftalabeldoc.ts
+++ /dev/null
@@ -1,209 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-ifta-label-demo',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
-
- `
-})
-export class IftaLabelDoc {
- countries: any[] | undefined;
-
- selectedCity: any;
- code: Code = {
- basic: `
-
- City
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelectModule } from 'primeng/cascadeselect';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'cascade-select-ifta-label-demo',
- templateUrl: './cascade-select-ifta-label-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelectModule, IftaLabelModule]
-})
-export class CascadeSelectIftaLabelDemo implements OnInit {
-
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/importdoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/importdoc.ts
deleted file mode 100644
index 1e12cb08d0e..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { CascadeSelect } from 'primeng/cascadeselect';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/invaliddoc.ts
deleted file mode 100644
index 1cbc0db5def..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/invaliddoc.ts
+++ /dev/null
@@ -1,207 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-invalid-demo',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-invalid-demo',
- templateUrl: './cascade-select-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectInvalidDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/loadingdoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/loadingdoc.ts
deleted file mode 100644
index 16a7e60f3ea..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/loadingdoc.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-loading-demo',
- template: `
-
- Loading state can be used loading property.
-
-
-
- `
-})
-export class LoadingDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-loading-demo',
- templateUrl: './cascade-select-loading-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectLoadingDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/reactiveformsdoc.ts
deleted file mode 100644
index 736dbd13f08..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/reactiveformsdoc.ts
+++ /dev/null
@@ -1,217 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- CascadeSelect can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
-
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-reactive-forms-demo',
- templateUrl: './cascade-select-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, CascadeSelect]
-})
-export class CascadeSelectReactiveFormsDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
-
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/sizesdoc.ts
deleted file mode 100644
index ed4563dd164..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/sizesdoc.ts
+++ /dev/null
@@ -1,212 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-sizes-demo',
- template: `
-
- CascadeSelect provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- countries: any[] | undefined;
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelect } from 'primeng/cascadeselect';
-
-@Component({
- selector: 'cascade-select-sizes-demo',
- templateUrl: './cascade-select-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelect]
-})
-export class CascadeSelectSizesDemo implements OnInit {
- countries: any[] | undefined;
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/cascadeselect/templatedoc.ts b/apps/showcase/src/app/showcase/doc/cascadeselect/templatedoc.ts
deleted file mode 100644
index b54c698464e..00000000000
--- a/apps/showcase/src/app/showcase/doc/cascadeselect/templatedoc.ts
+++ /dev/null
@@ -1,275 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'cascade-select-template-demo',
- template: `
-
-
- Label of an option is used as the display text of an item by default, for custom content support define an
- option template that gets the option instance as a parameter. In addition value , dropdownicon , loadingicon , and optiongroupicon slots are provided for further customization.
-
-
-
-
-
-
-
-
-
-
{{ option.cname || option.name }}
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
{{ option.cname || option.name }}
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
{{ option.cname || option.name }}
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CascadeSelectModule } from 'primeng/cascadeselect';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'cascade-select-template-demo',
- templateUrl: './cascade-select-template-demo.html',
- standalone: true,
- imports: [FormsModule, CascadeSelectModule, ButtonModule]
-})
-export class CascadeSelectTemplateDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCity: any;
-
- ngOnInit() {
- this.countries = [
- {
- name: 'Australia',
- code: 'AU',
- states: [
- {
- name: 'New South Wales',
- cities: [
- { cname: 'Sydney', code: 'A-SY' },
- { cname: 'Newcastle', code: 'A-NE' },
- { cname: 'Wollongong', code: 'A-WO' }
- ]
- },
- {
- name: 'Queensland',
- cities: [
- { cname: 'Brisbane', code: 'A-BR' },
- { cname: 'Townsville', code: 'A-TO' }
- ]
- }
- ]
- },
- {
- name: 'Canada',
- code: 'CA',
- states: [
- {
- name: 'Quebec',
- cities: [
- { cname: 'Montreal', code: 'C-MO' },
- { cname: 'Quebec City', code: 'C-QU' }
- ]
- },
- {
- name: 'Ontario',
- cities: [
- { cname: 'Ottawa', code: 'C-OT' },
- { cname: 'Toronto', code: 'C-TO' }
- ]
- }
- ]
- },
- {
- name: 'United States',
- code: 'US',
- states: [
- {
- name: 'California',
- cities: [
- { cname: 'Los Angeles', code: 'US-LA' },
- { cname: 'San Diego', code: 'US-SD' },
- { cname: 'San Francisco', code: 'US-SF' }
- ]
- },
- {
- name: 'Florida',
- cities: [
- { cname: 'Jacksonville', code: 'US-JA' },
- { cname: 'Miami', code: 'US-MI' },
- { cname: 'Tampa', code: 'US-TA' },
- { cname: 'Orlando', code: 'US-OR' }
- ]
- },
- {
- name: 'Texas',
- cities: [
- { cname: 'Austin', code: 'US-AU' },
- { cname: 'Dallas', code: 'US-DA' },
- { cname: 'Houston', code: 'US-HO' }
- ]
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chart/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/chart/accessibilitydoc.ts
deleted file mode 100644
index 6b27166023e..00000000000
--- a/apps/showcase/src/app/showcase/doc/chart/accessibilitydoc.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chart-accessibility-doc',
- template: `
-
-
-
Screen Reader
-
- Chart components internally use canvas element, refer to the
- Chart.js accessibility
- guide for more information. The canvas element can be customized with canvasProps property to define aria roles and properties, in addition any content inside the component is directly passed as a child of the canvas to be
- able to provide fallback content like a table.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- html: ` `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chart/basicdoc.ts b/apps/showcase/src/app/showcase/doc/chart/basicdoc.ts
deleted file mode 100644
index d4c2811165a..00000000000
--- a/apps/showcase/src/app/showcase/doc/chart/basicdoc.ts
+++ /dev/null
@@ -1,189 +0,0 @@
-import { isPlatformBrowser } from '@angular/common';
-import { ChangeDetectorRef, Component, effect, inject, OnInit, PLATFORM_ID } from '@angular/core';
-import { Code } from '@domain/code';
-import { AppConfigService } from '@service/appconfigservice';
-
-@Component({
- selector: 'chart-basic-demo',
- template: `
-
-
- A chart is configured with 3 properties; type , data and options . Chart type is defined using the type property that accepts pie , doughtnut , line , bar , radar and
- polarArea as a value. The data defines datasets represented with the chart and the options provide numerous customization options to customize the presentation.
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- basicData: any;
-
- basicOptions: any;
-
- platformId = inject(PLATFORM_ID);
-
- configService = inject(AppConfigService);
-
- constructor(private cd: ChangeDetectorRef) {}
-
- themeEffect = effect(() => {
- if (this.configService.theme()) {
- this.initChart();
- this.cd.markForCheck();
- }
- });
-
- ngOnInit() {
- this.initChart();
- }
-
- initChart() {
- if (isPlatformBrowser(this.platformId)) {
- const documentStyle = getComputedStyle(document.documentElement);
- const textColor = documentStyle.getPropertyValue('--p-text-color');
- const textColorSecondary = documentStyle.getPropertyValue('--p-text-muted-color');
- const surfaceBorder = documentStyle.getPropertyValue('--p-content-border-color');
-
- this.basicData = {
- labels: ['Q1', 'Q2', 'Q3', 'Q4'],
- datasets: [
- {
- label: 'Sales',
- data: [540, 325, 702, 620],
- backgroundColor: ['rgba(249, 115, 22, 0.2)', 'rgba(6, 182, 212, 0.2)', 'rgb(107, 114, 128, 0.2)', 'rgba(139, 92, 246, 0.2)'],
- borderColor: ['rgb(249, 115, 22)', 'rgb(6, 182, 212)', 'rgb(107, 114, 128)', 'rgb(139, 92, 246)'],
- borderWidth: 1
- }
- ]
- };
-
- this.basicOptions = {
- plugins: {
- legend: {
- labels: {
- color: textColor
- }
- }
- },
- scales: {
- x: {
- ticks: {
- color: textColorSecondary
- },
- grid: {
- color: surfaceBorder
- }
- },
- y: {
- beginAtZero: true,
- ticks: {
- color: textColorSecondary
- },
- grid: {
- color: surfaceBorder
- }
- }
- }
- };
- }
- }
-
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { isPlatformBrowser } from '@angular/common';
-import { ChangeDetectorRef, Component, effect, inject, OnInit, PLATFORM_ID } from '@angular/core';
-import { AppConfigService } from '@service/appconfigservice';
-import { ChartModule } from 'primeng/chart';
-
-@Component({
- selector: 'chart-basic-demo',
- templateUrl: './chart-basic-demo.html',
- standalone: true,
- imports: [ChartModule]
-})
-export class ChartBasicDemo implements OnInit {
- basicData: any;
-
- basicOptions: any;
-
- platformId = inject(PLATFORM_ID);
-
- configService = inject(AppConfigService);
-
- constructor(private cd: ChangeDetectorRef) {}
-
- themeEffect = effect(() => {
- if (this.configService.theme() && isPlatformBrowser(this.platformId)) {
- this.initChart();
- this.cd.markForCheck();
- }
- });
-
- ngOnInit() {
- this.initChart();
- }
-
- initChart() {
- if (isPlatformBrowser(this.platformId)) {
- const documentStyle = getComputedStyle(document.documentElement);
- const textColor = documentStyle.getPropertyValue('--p-text-color');
- const textColorSecondary = documentStyle.getPropertyValue('--p-text-muted-color');
- const surfaceBorder = documentStyle.getPropertyValue('--p-content-border-color');
-
- this.basicData = {
- labels: ['Q1', 'Q2', 'Q3', 'Q4'],
- datasets: [
- {
- label: 'Sales',
- data: [540, 325, 702, 620],
- backgroundColor: [
- 'rgba(249, 115, 22, 0.2)',
- 'rgba(6, 182, 212, 0.2)',
- 'rgb(107, 114, 128, 0.2)',
- 'rgba(139, 92, 246, 0.2)',
- ],
- borderColor: ['rgb(249, 115, 22)', 'rgb(6, 182, 212)', 'rgb(107, 114, 128)', 'rgb(139, 92, 246)'],
- borderWidth: 1,
- },
- ],
- };
-
- this.basicOptions = {
- plugins: {
- legend: {
- labels: {
- color: textColor,
- },
- },
- },
- scales: {
- x: {
- ticks: {
- color: textColorSecondary,
- },
- grid: {
- color: surfaceBorder,
- },
- },
- y: {
- beginAtZero: true,
- ticks: {
- color: textColorSecondary,
- },
- grid: {
- color: surfaceBorder,
- },
- },
- },
- };
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chart/importdoc.ts b/apps/showcase/src/app/showcase/doc/chart/importdoc.ts
deleted file mode 100644
index b63cd126383..00000000000
--- a/apps/showcase/src/app/showcase/doc/chart/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chart-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ChartModule } from 'primeng/chart';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/accessibilitydoc.ts
deleted file mode 100644
index 8b5b54b51c8..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/accessibilitydoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-accessibility-doc',
- template: `
-
- Screen Reader
-
- Checkbox component uses a hidden native checkbox element internally that is only visible to screen readers. Value to describe the component can either be provided via label tag combined with inputId prop or using
- ariaLabelledBy , ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the checkbox.
-
-
-
- space
-
- Toggles the checked state.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Remember Me
-
-
-Remember Me
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/basicdoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/basicdoc.ts
deleted file mode 100644
index 278563c1e94..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-basic-demo',
- template: `
-
- Binary checkbox is used as a controlled input with ngModel and binary properties.
-
-
-
- `
-})
-export class BasicDoc {
- checked: any = null;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-basic-demo',
- templateUrl: './checkbox-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxBasicDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/disableddoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/disableddoc.ts
deleted file mode 100644
index 869cd03d554..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/disableddoc.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- checked1: boolean = false;
-
- checked2: boolean = true;
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-disabled-demo',
- templateUrl: './checkbox-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxDisabledDemo {
- checked1: boolean = false;
-
- checked2: boolean = true;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/dynamicdoc.ts
deleted file mode 100644
index bfc4af729cc..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/dynamicdoc.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-dynamic-demo',
- template: `
-
- Checkboxes can be generated using a list of values.
-
-
-
-
-
-
{{ category.name }}
-
-
-
-
- `
-})
-export class DynamicDoc {
- selectedCategories: any[] = [];
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' }
- ];
-
- code: Code = {
- basic: `
-
-
{{ category.name }}
-
`,
-
- html: `
-
-
-
-
{{ category.name }}
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { CheckboxModule } from 'primeng/checkbox';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'checkbox-dynamic-demo',
- templateUrl: './checkbox-dynamic-demo.html',
- standalone: true,
- imports: [FormsModule, CheckboxModule, CommonModule]
-})
-export class CheckboxDynamicDemo {
- selectedCategories: any[] = [];
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' },
- ];
-
- ngOnInit() {
- this.selectedCategories = [this.categories[1]];
- }
-}`
- };
-
- ngOnInit() {
- this.selectedCategories = [this.categories[1]];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/filleddoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/filleddoc.ts
deleted file mode 100644
index a51853f5f50..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-filled-demo',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-filled-demo',
- templateUrl: './checkbox-filled-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxFilledDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/importdoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/importdoc.ts
deleted file mode 100644
index ad6c8cb5acf..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Checkbox } from 'primeng/checkbox';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/indeterminatedoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/indeterminatedoc.ts
deleted file mode 100644
index 210a49cec9d..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/indeterminatedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-indeterminate-demo',
- template: `
-
- When indeterminate is present, the checkbox masks the actual value visually.
-
-
-
- `
-})
-export class IndeterminateDoc {
- checked: any = null;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-indeterminate-demo',
- templateUrl: './checkbox-indeterminate-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxIndeterminateDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/invaliddoc.ts
deleted file mode 100644
index fe5c6c9530a..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-invalid-demo',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-invalid-demo',
- templateUrl: './checkbox-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxInvalidDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/labeldoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/labeldoc.ts
deleted file mode 100644
index d829ea15aa7..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/labeldoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-label-demo',
- template: `
-
- The label attribute provides a label text for the checkbox. This label is also clickable and toggles the checked state.
-
-
-
- `
-})
-export class LabelDoc {
- selectedValues: string[] = [];
-
- code: Code = {
- basic: `
- `,
-
- html: `
-`,
-
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'checkbox-label-demo',
- templateUrl: './checkbox-label-demo.html'
-})
-export class CheckboxLabelDemo {
- selectedValues: string[] = [];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/multipledoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/multipledoc.ts
deleted file mode 100644
index 53b66d79265..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/multipledoc.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-multiple-demo',
- template: `
-
- Multiple checkboxes can be grouped together.
-
-
-
- `
-})
-export class MultipleDoc {
- pizza: string[] = [];
-
- code: Code = {
- basic: `
-
-
-`,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-multiple-demo',
- templateUrl: './checkbox-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxMultipleDemo {
- pizza: string[] = [];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/reactiveformsdoc.ts
deleted file mode 100644
index 9a9f42dcadf..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/reactiveformsdoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Checkbox can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- city: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: `
-
- New York
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-reactive-forms-demo',
- templateUrl: './checkbox-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Checkbox]
-})
-export class CheckboxReactiveFormsDemo implements OnInit{
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- city: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/checkbox/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/checkbox/sizesdoc.ts
deleted file mode 100644
index 2214149b479..00000000000
--- a/apps/showcase/src/app/showcase/doc/checkbox/sizesdoc.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-sizes-demo',
- template: `
-
- Checkbox provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- size: any = null;
-
- code: Code = {
- basic: `
-
-`,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Checkbox } from 'primeng/checkbox';
-
-@Component({
- selector: 'checkbox-sizes-demo',
- templateUrl: './checkbox-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, Checkbox]
-})
-export class CheckboxSizesDemo {
- size: any = null;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chip/basicdoc.ts b/apps/showcase/src/app/showcase/doc/chip/basicdoc.ts
deleted file mode 100644
index 003032db792..00000000000
--- a/apps/showcase/src/app/showcase/doc/chip/basicdoc.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chip-basic-demo',
- template: `
-
-
- A basic chip with a text is created with the label property. In addition when removable is added, a delete icon is displayed to remove a chip, the optional onRemove event is available to get notified when a chip
- is hidden.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Chip } from 'primeng/chip';
-
-@Component({
- selector: 'chip-basic-demo',
- templateUrl: './chip-basic-demo.html',
- standalone: true,
- imports: [Chip]
-})
-export class ChipBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chip/icondoc.ts b/apps/showcase/src/app/showcase/doc/chip/icondoc.ts
deleted file mode 100644
index 2fc04eeda5c..00000000000
--- a/apps/showcase/src/app/showcase/doc/chip/icondoc.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chip-icon-demo',
- template: `
-
- A font icon next to the label can be displayed with the icon property.
-
-
-
- `
-})
-export class IconDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Chip } from 'primeng/chip';
-
-@Component({
- selector: 'chip-icon-demo',
- templateUrl: './chip-icon-demo.html',
- standalone: true,
- imports: [Chip]
-})
-export class ChipIconDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chip/imagedoc.ts b/apps/showcase/src/app/showcase/doc/chip/imagedoc.ts
deleted file mode 100644
index 6238ace250c..00000000000
--- a/apps/showcase/src/app/showcase/doc/chip/imagedoc.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chip-image-demo',
- template: `
-
- The image property is used to display an image like an avatar.
-
-
-
- `
-})
-export class ImageDoc {
- code: Code = {
- basic: `
-
-
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Chip } from 'primeng/chip';
-
-@Component({
- selector: 'chip-image-demo',
- templateUrl: './chip-image-demo.html',
- standalone: true,
- imports: [Chip]
-})
-export class ChipImageDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chip/importdoc.ts b/apps/showcase/src/app/showcase/doc/chip/importdoc.ts
deleted file mode 100644
index afaab682567..00000000000
--- a/apps/showcase/src/app/showcase/doc/chip/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chip-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Chip } from 'primeng/chip';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/chip/templatedoc.ts b/apps/showcase/src/app/showcase/doc/chip/templatedoc.ts
deleted file mode 100644
index 3cc2074662d..00000000000
--- a/apps/showcase/src/app/showcase/doc/chip/templatedoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'chip-template-demo',
- template: `
-
- Content can easily be customized with the dynamic content instead of using the built-in modes.
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
- P
-
-
- PRIME
-
- `,
- html: `
-
-
- P
-
-
- PRIME
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Chip } from 'primeng/chip';
-
-@Component({
- selector: 'chip-template-demo',
- templateUrl: './chip-template-demo.html',
- standalone: true,
- imports: [Chip]
-})
-export class ChipTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/basicdoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/basicdoc.ts
deleted file mode 100644
index 11c33f36f08..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-picker-basic-demo',
- template: `
-
- ColorPicker is used as a controlled input with ngModel property.
-
-
-
- `
-})
-export class BasicDoc {
- color: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ColorPicker } from 'primeng/colorpicker';
-
-@Component({
- selector: 'color-picker-basic-demo',
- templateUrl: './color-picker-basic-demo.html',
- standalone: true,
- imports: [FormsModule, ColorPicker]
-})
-export class ColorPickerBasicDemo {
- color: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/disableddoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/disableddoc.ts
deleted file mode 100644
index 071a22926e7..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-picker-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- color: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ColorPicker } from 'primeng/colorpicker';
-
-@Component({
- selector: 'color-picker-format-demo',
- templateUrl: './color-picker-format-demo.html',
- standalone: true,
- imports: [FormsModule, ColorPicker]
-})
-export class ColorPickerDisabledDemo {
- color: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/formatdoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/formatdoc.ts
deleted file mode 100644
index 2bb163cc4ed..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/formatdoc.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-picker-format-demo',
- template: `
-
- Default color format to use in value binding is hex and other possible values can be rgb and hsb using the format property.
-
-
-
-
-
RGB
-
-
{{ 'r:' + colorRGB.r + ' g:' + colorRGB.g + ' b:' + colorRGB.b }}
-
-
-
HSB
-
-
{{ 'h:' + colorHSB.h + ' s:' + colorHSB.s + ' b:' + colorHSB.b }}
-
-
-
- `
-})
-export class FormatDoc {
- color: string = '#6466f1';
-
- colorRGB: any = { r: 100, g: 102, b: 241 };
-
- colorHSB: any = { h: 239, s: 59, b: 95 };
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: `
-
-
-
RGB
-
-
{{ 'r:' + colorRGB.r + ' g:' + colorRGB.g + ' b:' + colorRGB.b }}
-
-
-
HSB
-
-
{{ 'h:' + colorHSB.h + ' s:' + colorHSB.s + ' b:' + colorHSB.b }}
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ColorPicker } from 'primeng/colorpicker';
-
-@Component({
- selector: 'color-picker-format-demo',
- templateUrl: './color-picker-format-demo.html',
- standalone: true,
- imports: [FormsModule, ColorPicker]
-})
-export class ColorPickerFormatDemo {
- color: string = '#6466f1';
-
- colorRGB: any = { r: 100, g: 102, b: 241 };
-
- colorHSB: any = { h: 239, s: 59, b: 95 };
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/importdoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/importdoc.ts
deleted file mode 100644
index 66337b85ffd..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-picker-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ColorPicker } from 'primeng/colorpicker';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/inlinedoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/inlinedoc.ts
deleted file mode 100644
index 651d584048b..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/inlinedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-picker-inline-demo',
- template: `
-
- ColorPicker is displayed as a popup by default, add inline property to customize this behavior.
-
-
-
- `
-})
-export class InlineDoc {
- color: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ColorPicker } from 'primeng/colorpicker';
-
-@Component({
- selector: 'color-picker-inline-demo',
- templateUrl: './color-picker-inline-demo.html',
- standalone: true,
- imports: [FormsModule, ColorPicker]
-})
-export class ColorPickerInlineDemo {
- color: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/colorpicker/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/colorpicker/reactiveformsdoc.ts
deleted file mode 100644
index d8b020eb59a..00000000000
--- a/apps/showcase/src/app/showcase/doc/colorpicker/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- ColorPicker can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- color: new FormControl()
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { ColorPicker } from 'primeng/colorpicker';
-
-@Component({
- selector: 'color-picker-reactive-forms-demo',
- templateUrl: './color-picker-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, ColorPicker]
-})
-export class ColorPickerReactiveFormsDemo {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- color: new FormControl()
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/configuration/importdoc.ts b/apps/showcase/src/app/showcase/doc/configuration/importdoc.ts
deleted file mode 100644
index 912f558c391..00000000000
--- a/apps/showcase/src/app/showcase/doc/configuration/importdoc.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'import-doc',
- template: `
-
- Configuration is managed by the PrimeNGConfig instance imported from primeng/api and injected via dependency injection.
-
-
- `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { PrimeNGConfig } from 'primeng/api';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/accessibilitydoc.ts
deleted file mode 100644
index 4df0c3b08fd..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/accessibilitydoc.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-accessibility-doc',
- template: `
-
- Screen Reader
-
- ConfirmDialog component uses alertdialog role along with aria-labelledby referring to the header element however any attribute is passed to the root element so you may use aria-labelledby to override this default
- behavior. In addition aria-modal is added since focus is kept within the popup.
-
-
- It is recommended to use a trigger component that can be accessed with keyboard such as a button, if not adding
- tabIndex would be necessary.
-
-
- When confirm function is used and a trigger is passed as a parameter, ConfirmDialog adds aria-expanded state attribute and aria-controls to the trigger so that the relation between the trigger and the popup is
- defined.
-
-
-
-
- If the dialog is controlled with the visible property aria-expanded and aria-controls need to be handled explicitly.
-
-
-
- Overlay Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the next the focusable element within the popup.
-
-
- shift + tab
- Moves focus to the previous the focusable element within the popup.
-
-
- escape
- Closes the popup and moves focus to the trigger.
-
-
-
-
-
- Buttons Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Triggers the action, closes the popup and moves focus to the trigger.
-
-
- space
- Triggers the action, closes the popup and moves focus to the trigger.
-
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code1: Code = {
- typescript: `confirm1() {
-this.confirmationService.confirm({
- message: 'Are you sure that you want to proceed?',
- header: 'Confirmation',
- icon: 'pi pi-exclamation-triangle',
- accept: () => acceptFunc(),
- reject: () => rejectFunc()
-});
-
-
-
-
- `
- };
-
- code2: Code = {
- html: `
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/basicdoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/basicdoc.ts
deleted file mode 100644
index b4b2fa1a4ea..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/basicdoc.ts
+++ /dev/null
@@ -1,169 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-basic-demo',
- template: `
-
- ConfirmDialog is defined using p-confirmDialog tag and an instance of ConfirmationService is required to display it bycalling confirm method.
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class BasicDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm1(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Are you sure that you want to proceed?',
- header: 'Confirmation',
- closable: true,
- closeOnEscape: true,
- icon: 'pi pi-exclamation-triangle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Save'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted' });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'You have rejected',
- life: 3000
- });
- }
- });
- }
-
- confirm2(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Do you want to delete this record?',
- header: 'Danger Zone',
- icon: 'pi pi-info-circle',
- rejectLabel: 'Cancel',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Delete',
- severity: 'danger'
- },
-
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Record deleted' });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected' });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmDialog } from 'primeng/confirmdialog';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'confirm-dialog-basic-demo',
- templateUrl: './confirm-dialog-basic-demo.html',
- standalone: true,
- imports: [ConfirmDialog, ToastModule, ButtonModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmDialogBasicDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirm1(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Are you sure that you want to proceed?',
- header: 'Confirmation',
- closable: true,
- closeOnEscape: true,
- icon: 'pi pi-exclamation-triangle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true,
- },
- acceptButtonProps: {
- label: 'Save',
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted' });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'You have rejected',
- life: 3000,
- });
- },
- });
- }
-
- confirm2(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Do you want to delete this record?',
- header: 'Danger Zone',
- icon: 'pi pi-info-circle',
- rejectLabel: 'Cancel',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true,
- },
- acceptButtonProps: {
- label: 'Delete',
- severity: 'danger',
- },
-
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Record deleted' });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected' });
- },
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/headlessdoc.ts
deleted file mode 100644
index ae46bec6faa..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/headlessdoc.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-headless-demo',
- template: `
-
- Headless mode allows you to customize the entire user interface instead of the default elements.
-
-
-
-
-
-
-
-
-
-
{{ message.header }}
-
{{ message.message }}
-
-
-
-
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class HeadlessDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm() {
- this.confirmationService.confirm({
- header: 'Are you sure?',
- message: 'Please confirm to proceed.',
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted' });
- },
- reject: () => {
- this.messageService.add({ severity: 'info', summary: 'Rejected', detail: 'You have rejected' });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
{{ message.header }}
-
{{ message.message }}
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
{{ message.header }}
-
{{ message.message }}
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmDialog } from 'primeng/confirmdialog';
-import { ButtonModule } from 'primeng/button';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'confirm-dialog-headless-demo',
- templateUrl: './confirm-dialog-headless-demo.html',
- standalone: true,
- imports: [ConfirmDialog, ButtonModule, ToastModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmDialogHeadlessDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirm() {
- this.confirmationService.confirm({
- header: 'Are you sure?',
- message: 'Please confirm to proceed.',
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted' });
- },
- reject: () => {
- this.messageService.add({ severity: 'info', summary: 'Rejected', detail: 'You have rejected' });
- },
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/importdoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/importdoc.ts
deleted file mode 100644
index 4f64a45b1cd..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ConfirmDialog } from 'primeng/confirmdialog';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/positiondoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/positiondoc.ts
deleted file mode 100644
index 0d3a5945f65..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/positiondoc.ts
+++ /dev/null
@@ -1,257 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-position-demo',
- template: `
-
- The position property of the confirm options is used to display a Dialog at all edges and corners of the screen.
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class PositionDoc {
- position: string = 'center';
-
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirmPosition(position: string) {
- this.position = position;
-
- this.confirmationService.confirm({
- message: 'Are you sure you want to proceed?',
- header: 'Confirmation',
- icon: 'pi pi-info-circle',
- rejectButtonStyleClass: 'p-button-text',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- text: true
- },
- acceptButtonProps: {
- label: 'Save',
- text: true
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Request submitted' });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'Process incomplete',
- life: 3000
- });
- },
- key: 'positionDialog'
- });
- }
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmDialog } from 'primeng/confirmdialog';
-import { ButtonModule } from 'primeng/button';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'confirm-dialog-position-demo',
- templateUrl: './confirm-dialog-position-demo.html',
- standalone: true,
- imports: [ConfirmDialog, ButtonModule, ToastModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmDialogPositionDemo {
- position: string = 'center';
-
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirmPosition(position: string) {
- this.position = position;
-
- this.confirmationService.confirm({
- message: 'Are you sure you want to proceed?',
- header: 'Confirmation',
- icon: 'pi pi-info-circle',
- rejectButtonStyleClass: 'p-button-text',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- text: true,
- },
- acceptButtonProps: {
- label: 'Save',
- text: true,
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Request submitted' });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'Process incomplete',
- life: 3000,
- });
- },
- key: 'positionDialog',
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmdialog/templatedoc.ts b/apps/showcase/src/app/showcase/doc/confirmdialog/templatedoc.ts
deleted file mode 100644
index 6da9269eb9b..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmdialog/templatedoc.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-dialog-template-demo',
- template: `
-
-
- Properties of the dialog are defined in two ways, message , icon , header properties can either be defined using confirm method or declaratively on p-confirmDialog ng-template by header , message ,
- icon and footer templates. If these values are unlikely to change then declarative approach would be useful, still properties defined in a ng-template can be overridden with confirm method call.
-
-
- In addition, buttons at footer section can be customized by passing your own UI, important note to make confirmation work with a custom UI is defining a local ng-template variable for the dialog and assign accept()-reject() methods to
- your own buttons.
-
-
-
-
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class TemplateDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm() {
- this.confirmationService.confirm({
- header: 'Confirmation',
- message: 'Please confirm to proceed moving forward.',
- icon: 'pi pi-exclamation-circle',
- rejectButtonProps: {
- label: 'Cancel',
- icon: 'pi pi-times',
- outlined: true,
- size: 'small'
- },
- acceptButtonProps: {
- label: 'Save',
- icon: 'pi pi-check',
- size: 'small'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
{{ message.message }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmDialog } from 'primeng/confirmdialog';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'confirm-dialog-template-demo',
- templateUrl: './confirm-dialog-template-demo.html',
- standalone: true,
- imports: [ConfirmDialog, ToastModule, ButtonModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmDialogTemplateDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirm() {
- this.confirmationService.confirm({
- header: 'Confirmation',
- message: 'Please confirm to proceed moving forward.',
- icon: 'pi pi-exclamation-circle',
- rejectButtonProps: {
- label: 'Cancel',
- icon: 'pi pi-times',
- outlined: true,
- size: 'small'
- },
- acceptButtonProps: {
- label: 'Save',
- icon: 'pi pi-check',
- size: 'small'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmpopup/basicdoc.ts b/apps/showcase/src/app/showcase/doc/confirmpopup/basicdoc.ts
deleted file mode 100644
index f2a608636a9..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmpopup/basicdoc.ts
+++ /dev/null
@@ -1,147 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-popup-basic-demo',
- template: `
-
- ConfirmPopup is defined using p-confirmPopup tag and an instance of ConfirmationService is required to display it bycalling confirm method.
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class BasicDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm1(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Are you sure you want to proceed?',
- icon: 'pi pi-exclamation-triangle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Save'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
- confirm2(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Do you want to delete this record?',
- icon: 'pi pi-info-circle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Delete',
- severity: 'danger'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Record deleted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ButtonModule } from 'primeng/button';
-import { ToastModule } from 'primeng/toast';
-import { ConfirmPopupModule } from 'primeng/confirmpopup';
-
-@Component({
- selector: 'confirm-popup-basic-demo',
- templateUrl: './confirm-popup-basic-demo.html',
- standalone: true,
- imports: [ButtonModule, ToastModule, ConfirmPopupModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmPopupBasicDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirm1(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Are you sure you want to proceed?',
- icon: 'pi pi-exclamation-triangle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Save'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
- confirm2(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Do you want to delete this record?',
- icon: 'pi pi-info-circle',
- rejectButtonProps: {
- label: 'Cancel',
- severity: 'secondary',
- outlined: true
- },
- acceptButtonProps: {
- label: 'Delete',
- severity: 'danger'
- },
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'Record deleted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmpopup/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/confirmpopup/headlessdoc.ts
deleted file mode 100644
index 4c96868ff0f..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmpopup/headlessdoc.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-popup-headless-demo',
- template: `
-
- Headless mode allows you to customize the entire user interface instead of the default elements.
-
-
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class HeadlessDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Save your current process?',
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ message.message }}
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmPopupModule } from 'primeng/confirmpopup';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'confirm-popup-headless-demo',
- templateUrl: './confirm-popup-headless-demo.html',
- standalone: true,
- imports: [ConfirmPopupModule, ToastModule, ButtonModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmPopupHeadlessDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
- confirm(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Save your current process?',
- accept: () => {
- this.messageService.add({ severity: 'info', summary: 'Confirmed', detail: 'You have accepted', life: 3000 });
- },
- reject: () => {
- this.messageService.add({ severity: 'error', summary: 'Rejected', detail: 'You have rejected', life: 3000 });
- }
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmpopup/importdoc.ts b/apps/showcase/src/app/showcase/doc/confirmpopup/importdoc.ts
deleted file mode 100644
index a6837048433..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmpopup/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-popup-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ConfirmPopupModule } from 'primeng/confirmpopup';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/confirmpopup/templatedoc.ts b/apps/showcase/src/app/showcase/doc/confirmpopup/templatedoc.ts
deleted file mode 100644
index 9d2c8b27b1e..00000000000
--- a/apps/showcase/src/app/showcase/doc/confirmpopup/templatedoc.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'confirm-popup-template-demo',
- template: `
-
- Content section can be customized using content template.
-
-
-
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
-
- `,
- providers: [ConfirmationService, MessageService]
-})
-export class TemplateDoc {
- constructor(
- private confirmationService: ConfirmationService,
- private messageService: MessageService
- ) {}
-
- confirm(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Please confirm to proceed moving forward.',
- icon: 'pi pi-exclamation-circle',
- rejectButtonProps: {
- icon: 'pi pi-times',
- label: 'Cancel',
- outlined: true
- },
- acceptButtonProps: {
- icon: 'pi pi-check',
- label: 'Confirm'
- },
- accept: () => {
- this.messageService.add({
- severity: 'info',
- summary: 'Confirmed',
- detail: 'You have accepted',
- life: 3000
- });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'You have rejected',
- life: 3000
- });
- }
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
{{ message.message }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
{{ message.message }}
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ConfirmationService, MessageService } from 'primeng/api';
-import { ConfirmPopupModule } from 'primeng/confirmpopup';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'confirm-popup-template-demo',
- templateUrl: './confirm-popup-template-demo.html',
- standalone: true,
- imports: [ConfirmPopupModule, ToastModule, ButtonModule],
- providers: [ConfirmationService, MessageService]
-})
-export class ConfirmPopupTemplateDemo {
- constructor(private confirmationService: ConfirmationService, private messageService: MessageService) {}
-
-
- confirm(event: Event) {
- this.confirmationService.confirm({
- target: event.target as EventTarget,
- message: 'Please confirm to proceed moving forward.',
- icon: 'pi pi-exclamation-circle',
- rejectButtonProps: {
- icon: 'pi pi-times',
- label: 'Cancel',
- outlined: true,
- },
- acceptButtonProps: {
- icon: 'pi pi-check',
- label: 'Confirm',
- },
- accept: () => {
- this.messageService.add({
- severity: 'info',
- summary: 'Confirmed',
- detail: 'You have accepted',
- life: 3000,
- });
- },
- reject: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'Rejected',
- detail: 'You have rejected',
- life: 3000,
- });
- },
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/basicdoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/basicdoc.ts
deleted file mode 100644
index 376ea6ea0ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/basicdoc.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'context-menu-basic-demo',
- template: `
-
-
- ContextMenu can be attached to a particular element whose local template variable name is defined using the
- target property.
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- { label: 'Copy', icon: 'pi pi-copy' },
- { label: 'Rename', icon: 'pi pi-file-edit' }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: `
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { ContextMenu } from 'primeng/contextmenu';
-
-@Component({
- selector: 'context-menu-basic-demo',
- templateUrl: './context-menu-basic-demo.html',
- standalone: true,
- imports: [ContextMenu]
-})
-export class ContextMenuBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- { label: 'Copy', icon: 'pi pi-copy' },
- { label: 'Rename', icon: 'pi pi-file-edit' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/commanddoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/commanddoc.ts
deleted file mode 100644
index 7533e99ec22..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/commanddoc.ts
+++ /dev/null
@@ -1,258 +0,0 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { ContextMenu } from 'primeng/contextmenu';
-
-interface Users {
- id: number;
- name: string;
- image: string;
- role: string;
-}
-
-@Component({
- selector: 'context-menu-command-demo',
- template: `
-
- The function to invoke when an item is clicked is defined using the command property.
-
-
-
-
-
-
-
-
{{ user.name }}
-
-
-
-
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class CommandDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- @ViewChild('cm') cm: ContextMenu;
-
- selectedUser: Users;
-
- users: Users[];
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.users = [
- { id: 0, name: 'Amy Elsner', image: 'amyelsner.png', role: 'Admin' },
- { id: 1, name: 'Anna Fali', image: 'annafali.png', role: 'Member' },
- { id: 2, name: 'Asiya Javayant', image: 'asiyajavayant.png', role: 'Member' },
- { id: 3, name: 'Bernardo Dominic', image: 'bernardodominic.png', role: 'Guest' },
- { id: 4, name: 'Elwin Sharvill', image: 'elwinsharvill.png', role: 'Member' }
- ];
-
- this.items = [
- {
- label: 'Roles',
- icon: 'pi pi-users',
- items: [
- {
- label: 'Admin',
- command: () => {
- this.selectedUser.role = 'Admin';
- }
- },
- {
- label: 'Member',
- command: () => {
- this.selectedUser.role = 'Member';
- }
- },
- {
- label: 'Guest',
- command: () => {
- this.selectedUser.role = 'Guest';
- }
- }
- ]
- },
- {
- label: 'Invite',
- icon: 'pi pi-user-plus',
- command: () => {
- this.messageService.add({
- severity: 'success',
- summary: 'Success',
- detail: 'Invitation sent!',
- life: 3000
- });
- }
- }
- ];
- }
-
- getBadge(user) {
- if (user.role === 'Member') return 'info';
- else if (user.role === 'Guest') return 'warn';
- else return null;
- }
-
- onContextMenu(event, user) {
- this.selectedUser = user;
- this.cm.show(event);
- }
-
- onHide() {
- this.selectedUser = null;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
{{ user.name }}
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
{{ user.name }}
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit, ViewChild } from '@angular/core';
-import { ContextMenu } from 'primeng/contextmenu';
-import { MenuItem, MessageService } from 'primeng/api';
-import { ToastModule } from 'primeng/toast';
-import { ContextMenu } from 'primeng/contextmenu';
-import { CommonModule } from '@angular/common';
-import { Tag } from 'primeng/tag';
-
-interface Users {
- id: number;
- name: string;
- image: string;
- role: string;
-}
-
-@Component({
- selector: 'context-menu-command-demo',
- templateUrl: './context-menu-command-demo.html',
- standalone: true,
- imports: [ContextMenu, ToastModule, CommonModule, Tag],
- providers: [MessageService]
-})
-export class ContextMenuCommandDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- @ViewChild('cm') cm: ContextMenu;
-
- selectedUser : Users
-
- users : Users[];
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.users = [
- { id: 0, name: 'Amy Elsner', image: 'amyelsner.png', role: 'Admin' },
- { id: 1, name: 'Anna Fali', image: 'annafali.png', role: 'Member' },
- { id: 2, name: 'Asiya Javayant', image: 'asiyajavayant.png', role: 'Member' },
- { id: 3, name: 'Bernardo Dominic', image: 'bernardodominic.png', role: 'Guest' },
- { id: 4, name: 'Elwin Sharvill', image: 'elwinsharvill.png', role: 'Member' }
- ];
-
- this.items = [
- {
- label: 'Roles',
- icon: 'pi pi-users',
- items: [
- {
- label: 'Admin',
- command: () => {
- this.selectedUser.role = 'Admin';
- }
- },
- {
- label: 'Member',
- command: () => {
- this.selectedUser.role = 'Member';
- }
- },
- {
- label: 'Guest',
- command: () => {
- this.selectedUser.role = 'Guest';
- }
- }
- ]
- },
- {
- label: 'Invite',
- icon: 'pi pi-user-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Invitation sent!', life: 3000 });
- }
- }
- ];
- }
-
- getBadge(user) {
- if (user.role === 'Member') return 'info';
- else if (user.role === 'Guest') return 'warn';
- else return null;
- }
-
- onContextMenu(event, user) {
- this.selectedUser = user;
- this.cm.show(event);
- }
-
- onHide() {
- this.selectedUser = null;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/documentdoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/documentdoc.ts
deleted file mode 100644
index 1ce99e55531..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/documentdoc.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'context-menu-document-demo',
- template: `
-
- Setting global property to true attaches the context menu to the document.
-
-
-
Right-Click anywhere on this page to view the global ContextMenu.
-
-
-
- `
-})
-export class DocumentDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Translate',
- icon: 'pi pi-language'
- },
- {
- label: 'Speech',
- icon: 'pi pi-volume-up',
- items: [
- {
- label: 'Start',
- icon: 'pi pi-caret-right'
- },
- {
- label: 'Stop',
- icon: 'pi pi-pause'
- }
- ]
- },
- {
- separator: true
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: `
-
Right-Click anywhere on this page to view the global ContextMenu.
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { ContextMenu } from 'primeng/contextmenu';
-
-@Component({
- selector: 'context-menu-document-demo',
- templateUrl: './context-menu-document-demo.html',
- standalone: true,
- imports: [ContextMenu]
-})
-export class ContextMenuDocumentDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Translate',
- icon: 'pi pi-language'
- },
- {
- label: 'Speech',
- icon: 'pi pi-volume-up',
- items: [
- {
- label: 'Start',
- icon: 'pi pi-caret-right'
- },
- {
- label: 'Stop',
- icon: 'pi pi-pause'
- }
- ]
- },
- {
- separator: true
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ]
- }
-}`,
-
- module: `
-import { CommonModule } from '@angular/common';
-import { NgModule } from '@angular/core';
-import { ContextMenu } from 'primeng/contextmenu';
-import { ContextMenuDemo } from './contextmenudemo';
-
-@NgModule({
- imports: [CommonModule, ContextMenu],
- declarations: [ContextMenuDemo]
-})
-export class ContextMenuDemoModule {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/importdoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/importdoc.ts
deleted file mode 100644
index ae5d9589bf6..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'context-menu-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ContextMenu } from 'primeng/contextmenu';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/routerdoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/routerdoc.ts
deleted file mode 100644
index 78832ef72b5..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/routerdoc.ts
+++ /dev/null
@@ -1,236 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'context-menu-router-demo',
- template: `
-
- Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { ContextMenu } from 'primeng/contextmenu';
-import { Router } from '@angular/router';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'context-menu-router-demo',
- templateUrl: './context-menu-router-demo.html',
- standalone: true,
- imports: [ContextMenu, CommonModule],
-})
-export class ContextMenuRouterDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router Link',
- icon: 'pi pi-palette',
- route: '/theming'
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- url: 'https://angular.io//'
- }
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router Link',
- icon: 'pi pi-palette',
- route: '/theming'
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- url: 'https://angular.io//'
- }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/contextmenu/templatedoc.ts b/apps/showcase/src/app/showcase/doc/contextmenu/templatedoc.ts
deleted file mode 100644
index b582fc9e8fd..00000000000
--- a/apps/showcase/src/app/showcase/doc/contextmenu/templatedoc.ts
+++ /dev/null
@@ -1,380 +0,0 @@
-import { Component, OnInit, ViewChild } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { ContextMenu } from 'primeng/contextmenu';
-
-@Component({
- selector: 'context-menu-template-demo',
- template: `
-
- ContextMenu offers item customization with the item template that receives the menuitem instance from the model as a parameter.
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
- {{ product.category }}
-
-
-
${{ product.price }}
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- @ViewChild('cm') cm: ContextMenu;
-
- selectedId!: string;
-
- data = [
- {
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
- },
- {
- id: '1001',
- code: 'nvklal433',
- name: 'Black Watch',
- description: 'Product Description',
- image: 'black-watch.jpg',
- price: 72,
- category: 'Accessories',
- quantity: 61,
- inventoryStatus: 'INSTOCK',
- rating: 4
- },
- {
- id: '1002',
- code: 'zz21cz3c1',
- name: 'Blue Band',
- description: 'Product Description',
- image: 'blue-band.jpg',
- price: 79,
- category: 'Fitness',
- quantity: 2,
- inventoryStatus: 'LOWSTOCK',
- rating: 3
- },
- {
- id: '1003',
- code: '244wgerg2',
- name: 'Blue T-Shirt',
- description: 'Product Description',
- image: 'blue-t-shirt.jpg',
- price: 29,
- category: 'Clothing',
- quantity: 25,
- inventoryStatus: 'INSTOCK',
- rating: 5
- },
- {
- id: '1004',
- code: 'h456wer53',
- name: 'Bracelet',
- description: 'Product Description',
- image: 'bracelet.jpg',
- price: 15,
- category: 'Accessories',
- quantity: 73,
- inventoryStatus: 'INSTOCK',
- rating: 4
- }
- ];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Favorite',
- icon: 'pi pi-star',
- shortcut: '⌘+D'
- },
- {
- label: 'Add',
- icon: 'pi pi-shopping-cart',
- shortcut: '⌘+A'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp',
- badge: '2'
- },
- {
- label: 'Instagram',
- icon: 'pi pi-instagram',
- badge: '3'
- }
- ]
- }
- ];
- }
-
- onContextMenu(event) {
- this.cm.target = event.currentTarget;
- this.cm.show(event);
- }
-
- onHide() {
- this.selectedId = undefined;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
{{ product.name }}
-
-
- {{ product.category }}
-
-
-
${{ product.price }}
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
{{ product.name }}
-
-
- {{ product.category }}
-
-
-
${{ product.price }}
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit, ViewChild } from '@angular/core';
-import { ContextMenu } from 'primeng/contextmenu';
-import { MenuItem } from 'primeng/api';
-import { ContextMenu } from 'primeng/contextmenu';
-import { CommonModule } from '@angular/common';
-import { Ripple } from 'primeng/ripple';
-import { BadgeModule } from 'primeng/badge';
-
-@Component({
- selector: 'context-menu-template-demo',
- templateUrl: './context-menu-template-demo.html',
- standalone: true,
- imports: [ContextMenu, CommonModule, Ripple, BadgeModule]
-})
-export class ContextMenuTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- @ViewChild('cm') cm: ContextMenu;
-
- selectedId!: string;
-
- data = [
- {
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
- },
- {
- id: '1001',
- code: 'nvklal433',
- name: 'Black Watch',
- description: 'Product Description',
- image: 'black-watch.jpg',
- price: 72,
- category: 'Accessories',
- quantity: 61,
- inventoryStatus: 'INSTOCK',
- rating: 4
- },
- {
- id: '1002',
- code: 'zz21cz3c1',
- name: 'Blue Band',
- description: 'Product Description',
- image: 'blue-band.jpg',
- price: 79,
- category: 'Fitness',
- quantity: 2,
- inventoryStatus: 'LOWSTOCK',
- rating: 3
- },
- {
- id: '1003',
- code: '244wgerg2',
- name: 'Blue T-Shirt',
- description: 'Product Description',
- image: 'blue-t-shirt.jpg',
- price: 29,
- category: 'Clothing',
- quantity: 25,
- inventoryStatus: 'INSTOCK',
- rating: 5
- },
- {
- id: '1004',
- code: 'h456wer53',
- name: 'Bracelet',
- description: 'Product Description',
- image: 'bracelet.jpg',
- price: 15,
- category: 'Accessories',
- quantity: 73,
- inventoryStatus: 'INSTOCK',
- rating: 4
- }
- ];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Favorite',
- icon: 'pi pi-star',
- shortcut: '⌘+D'
- },
- {
- label: 'Add',
- icon: 'pi pi-shopping-cart',
- shortcut: '⌘+A'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp',
- badge: '2'
- },
- {
- label: 'Instagram',
- icon: 'pi pi-instagram',
- badge: '3'
- }
- ]
- }
- ];
- }
-
- onContextMenu(event) {
- this.cm.target = event.currentTarget;
- this.cm.show(event);
- }
-
- onHide() {
- this.selectedId = undefined;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/customicons/imagedoc.ts b/apps/showcase/src/app/showcase/doc/customicons/imagedoc.ts
deleted file mode 100644
index 4f80787fe63..00000000000
--- a/apps/showcase/src/app/showcase/doc/customicons/imagedoc.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'image-doc',
- template: `
-
- Any type of image can be used as an icon.
-
-
- `
-})
-export class ImageDoc {
- code: Code = {
- basic: `
-
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dataview/basicdoc.ts b/apps/showcase/src/app/showcase/doc/dataview/basicdoc.ts
deleted file mode 100644
index 4d6233bccb7..00000000000
--- a/apps/showcase/src/app/showcase/doc/dataview/basicdoc.ts
+++ /dev/null
@@ -1,291 +0,0 @@
-import { Component, inject, signal } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'data-view-basic-demo',
- template: `
-
- DataView requires a value to display along with a list template that receives an object in the collection to return content.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ item.category }}
-
{{ item.name }}
-
-
-
- {{ item.rating }}
-
-
-
-
-
-
{{ '$' + item.price }}
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- products = signal([]);
-
- productService = inject(ProductService);
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
{{ item.category }}
-
{{ item.name }}
-
-
-
- {{
- item.rating
- }}
-
-
-
-
-
-
{{
- '$' + item.price
- }}
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ item.category }}
-
{{ item.name }}
-
-
-
- {{
- item.rating
- }}
-
-
-
-
-
-
{{
- '$' + item.price
- }}
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { DataView } from 'primeng/dataview';
-import { ButtonModule } from 'primeng/button';
-import { Tag } from 'primeng/tag';
-import { CommonModule } from '@angular/common';
-import { signal } from '@angular/core';
-
-@Component({
- selector: 'data-view-basic-demo',
- templateUrl: './data-view-basic-demo.html',
- standalone: true,
- imports: [DataView, ButtonModule, Tag, CommonModule],
- providers: [ProductService]
-})
-export class DataViewBasicDemo {
- products = signal([]);
-
- productService = inject(ProductService);
- ngOnInit() {
- this.productService.getProducts().then((data) => {
- const d = data.slice(0, 5);
- this.products.set([...d])
- });
- }
-
- getSeverity(product: Product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warn';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- getSeverity(product: Product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warn';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-
- ngOnInit() {
- this.productService.getProducts().then((data) => {
- const d = data.slice(0, 5);
- this.products.set([...d]);
- });
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/dataview/importdoc.ts b/apps/showcase/src/app/showcase/doc/dataview/importdoc.ts
deleted file mode 100644
index 4c672afbe11..00000000000
--- a/apps/showcase/src/app/showcase/doc/dataview/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'data-view-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DataView } from 'primeng/dataview';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dataview/loadingdoc.ts b/apps/showcase/src/app/showcase/doc/dataview/loadingdoc.ts
deleted file mode 100644
index 57f82fe620a..00000000000
--- a/apps/showcase/src/app/showcase/doc/dataview/loadingdoc.ts
+++ /dev/null
@@ -1,330 +0,0 @@
-import { Component, signal } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'data-view-loading-demo',
- template: `
-
- While data is being loaded. Skeleton component may be used to indicate the busy state.
-
-
-
- `
-})
-export class LoadingDoc {
- layout: string = 'grid';
-
- products = signal([]);
-
- options: string[] = ['list', 'grid'];
-
- constructor(private productService: ProductService) {}
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { DataView } from 'primeng/dataview';
-import { CommonModule } from '@angular/common';
-import { Skeleton } from 'primeng/skeleton';
-import { SelectButton } from 'primeng/selectbutton';
-import { signal } from '@angular/core';
-
-@Component({
- selector: 'data-view-loading-demo',
- templateUrl: './data-view-loading-demo.html',
- standalone: true,
- imports: [DataView, CommonModule, Skeleton, SelectButton],
- providers: [ProductService]
-})
-export class DataViewLoadingDemo {
- layout: string = 'grid';
-
- products = signal([]);
-
- options: string[] = ['list', 'grid'];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProducts().then((data) => (this.products.set([...data.slice(0,12)])));
- }
-
- getSeverity(product: Product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warning';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-
- counterArray(n: number): any[] {
- return Array(n);
- }
-
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- getSeverity(product: Product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warning';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-
- counterArray(n: number): any[] {
- return Array(n);
- }
-
- ngOnInit() {
- this.productService.getProducts().then((data) => this.products.set([...data.slice(0, 12)]));
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/accessibilitydoc.ts
deleted file mode 100644
index cf66d3d15fa..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/accessibilitydoc.ts
+++ /dev/null
@@ -1,241 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'date-picker-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided via label tag combined with inputId prop or using aria-labelledby , aria-label props. The input element has combobox role in addition to
- aria-autocomplete as "none", aria-haspopup as "dialog" and aria-expanded attributes. The relation between the input and the popup is created with aria-controls attribute that refers to the id of the popup.
-
-
- The optional DatePicker button requires includes aria-haspopup , aria-expanded for states along with aria-controls to define the relation between the popup and the button. The value to read is retrieved from the
- chooseDate
- key of the aria property from the locale API. This label is also used for the aria-label of the popup as well. When there is a value selected, it is formatted and appended to the label to be
- able to notify users about the current value.
-
-
-
- Popup has a dialog role along with aria-modal and aria-label . The navigation buttons at the header has an aria-label retrieved from the prevYear , nextYear , prevMonth ,
- nextMonth ,prevDecade and nextDecade keys of the locale aria API. Similarly month picker button uses the chooseMonth and year picker button uses the chooseYear keys.
-
-
-
- Main date table uses grid role that contains th elements with col as the scope along with abbr tag resolving to the full name of the month. Each date cell has an aria-label referring to the full date value.
- Buttons at the footer utilize their readable labels as aria-label as well. Selected date also receives the aria-selected attribute.
-
-
-
- Timepicker spinner buttons get their labels for aria-label from the aria locale API using the prevHour , nextHour , prevMinute , nextMinute , prevSecond , nextSecond , am and
- pm keys.
-
-
- DatePicker also includes a hidden section that is only available to screen readers with aria-live as "polite". This element is updated when the selected date changes to instruct the user about the current date selected.
-
-
-
-
-
Choose Date Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- space
-
- Opens popup and moves focus to the selected date, if there is none focuses on today.
-
-
-
- enter
-
- Opens popup and moves focus to the selected date, if there is none focuses on today.
-
-
-
-
-
-
Popup Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- escape
-
- Closes the popup and moves focus to the input element.
-
-
-
- tab
-
- Moves focus to the next focusable element within the popup.
-
-
- shift + tab
- Moves focus to the next focusable element within the popup.
-
-
-
-
-
-
Header Buttons Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Triggers the button action.
-
-
-
- space
-
- Triggers the button action.
-
-
-
-
-
-
Date Grid Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Selects the date, closes the popup and moves focus to the input element.
-
-
-
- space
-
- Selects the date, closes the popup and moves focus to the input element.
-
-
-
- up arrow
-
- Moves focus to the same day of the previous week.
-
-
-
- down arrow
-
- Moves focus to the same day of the next week.
-
-
-
- right arrow
-
- Moves focus to the next day.
-
-
-
- left arrow
-
- Moves focus to the previous day.
-
-
-
- home
-
- Moves focus to the first day of the current week.
-
-
-
- end
-
- Moves focus to the last day of the current week.
-
-
-
- page up
-
- Changes the date to previous month in date picker mode. Moves to previous year in month picker mode and previous decade in year picker.
-
-
- shift + page up
- Changes the date to previous year in date picker mode. Has no effect in month or year picker
-
-
-
- page down
-
- Changes the date to next month in date picker mode. Moves to next year in month picker mode and next decade in year picker.
-
-
- shift + page down
- Changes the date to next year in date picker mode. Has no effect in month or year picker
-
-
-
-
-
-
Footer Buttons Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Triggers the button action.
-
-
-
- space
-
- Triggers the button action.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Date
-
-
-Date
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/basicdoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/basicdoc.ts
deleted file mode 100644
index d55e9115b5e..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-basic-demo',
- template: `
-
- Two-way value binding is defined using the standard ngModel directive referencing to a Date property.
-
-
-
- `
-})
-export class BasicDoc {
- date: Date | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { DatePicker } from 'primeng/datepicker';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'datepicker-basic-demo',
- templateUrl: './datepicker-basic-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerBasicDemo {
- date: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/disableddoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/disableddoc.ts
deleted file mode 100644
index b5efbd6e977..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- date: Date | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-disabled-demo',
- templateUrl: './datepicker-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerDisabledDemo {
- date: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/filleddoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/filleddoc.ts
deleted file mode 100644
index be13b122339..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-filled-demo',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- date: Date[] | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-filled-demo',
- templateUrl: './datepicker-filled-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerFilledDemo {
- date: Date[] | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/floatlabeldoc.ts
deleted file mode 100644
index 19b52022e6e..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/floatlabeldoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-float-label-demo',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1: Date | undefined;
-
- value2: Date | undefined;
-
- value3: Date | undefined;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: 'datepicker-float-label-demo',
- templateUrl: './datepicker-float-label-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker, FloatLabel]
-})
-export class DatePickerFloatLabelDemo {
- value1: Date | undefined;
-
- value2: Date | undefined;
-
- value3: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/formatdoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/formatdoc.ts
deleted file mode 100644
index aa1e96bcb6c..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/formatdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-format-demo',
- template: `
-
- Default date format is mm/dd/yy which can be customized using the dateFormat property. Following options can be a part of the format.
-
- d - day of month (no leading zero)
- dd - day of month (two digit)
- o - day of the year (no leading zeros)
- oo - day of the year (three digit)
- D - day name short
- DD - day name long
- m - month of year (no leading zero)
- mm - month of year (two digit)
- M - month name short
- MM - month name long
- y - year (two digit)
- yy - year (four digit)
- @ - Unix timestamp (ms since 01/01/1970)
- ! - Windows ticks (100ns since 01/01/0001)
- '...' - literal text
- '' - single quote
- anything else - literal text
-
-
-
-
- `
-})
-export class FormatDoc {
- date: Date | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-format-demo',
- templateUrl: './datepicker-format-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerFormatDemo {
- date: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/icondoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/icondoc.ts
deleted file mode 100644
index b76e5725a0e..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/icondoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-icon-demo',
- template: `
-
- An additional icon is displayed next to the input field when showIcon is present.
-
-
-
-
-
-
-
-
Custom Icon
-
-
-
-
-
-
-
-
- `
-})
-export class IconDoc {
- date1: Date | undefined;
-
- date2: Date | undefined;
-
- date3: Date | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
Custom Icon
-
-
-
-
-
-
- `,
-
- typescript: `import { Component } from '@angular/core';
-import { DatePickerModule } from 'primeng/datepicker';
-import { FormsModule } from '@angular/forms';
-import { FluidModule } from 'primeng/fluid';
-
-@Component({
- selector: 'datepicker-icon-demo',
- templateUrl: './datepicker-icon-demo.html',
- standalone: true,
- imports: [DatePickerModule, FormsModule, FluidModule]
-})
-export class DatePickerIconDemo {
- date1: Date | undefined;
-
- date2: Date | undefined;
-
- date3: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/iftalabeldoc.ts
deleted file mode 100644
index 52012c92bc4..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/iftalabeldoc.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-ifta-label-demo',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: Date | undefined;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePickerModule } from 'primeng/datepicker';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'datepicker-ifta-label-demo',
- templateUrl: './datepicker-ifta-label-demo.html',
- standalone: true,
- imports: [FormsModule, DatePickerModule, IftaLabelModule]
-})
-export class DatePickerIftaLabelDemo {
- value: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/importdoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/importdoc.ts
deleted file mode 100644
index 8f31318aa85..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DatePicker } from 'primeng/datepicker';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/inlinedoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/inlinedoc.ts
deleted file mode 100644
index 16812301df1..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/inlinedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-inline-demo',
- template: `
-
- DatePicker is displayed as a popup by default, add inline property to customize this behavior.
-
-
-
- `
-})
-export class InlineDoc {
- date: Date[] | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-inline-demo',
- templateUrl: './datepicker-inline-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerInlineDemo {
- date: Date[] | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/invaliddoc.ts
deleted file mode 100644
index 82bd4899db4..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-invalid-demo',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- date: Date | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-invalid-demo',
- templateUrl: './datepicker-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerInvalidDemo {
- date: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/multipledoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/multipledoc.ts
deleted file mode 100644
index 6eb522f2e0d..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/multipledoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-multiple-demo',
- template: `
-
- In order to choose multiple dates, set selectionMode as multiple . In this mode, the value binding should be an array.
-
-
-
- `
-})
-export class MultipleDoc {
- dates: Date[] | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-multiple-demo',
- templateUrl: './datepicker-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerMultipleDemo {
- dates: Date[] | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/rangedoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/rangedoc.ts
deleted file mode 100644
index 5f57bf3e904..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/rangedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-range-demo',
- template: `
-
- A range of dates can be selected by defining selectionMode as range , in this case the bound value would be an array with two values where first date is the start of the range and second date is the end.
-
-
-
- `
-})
-export class RangeDoc {
- rangeDates: Date[] | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-range-demo',
- templateUrl: './datepicker-range-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerRangeDemo {
- rangeDates: Date[] | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/reactiveformsdoc.ts
deleted file mode 100644
index 65c05ac454f..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- DatePicker can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- date: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { DatePicker } from 'primeng/datepicker';
-
-@Component({
- selector: 'datepicker-reactive-forms-demo',
- templateUrl: './datepicker-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, DatePicker]
-})
-export class DatePickerReactiveFormsDemo {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- date: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/sizesdoc.ts
deleted file mode 100644
index ad9d2ca7276..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/sizesdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datepicker-sizes-demo',
- template: `
-
- DatePicker provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1: Date | undefined;
-
- value2: Date | undefined;
-
- value3: Date | undefined;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { DatePicker } from 'primeng/datepicker';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'datepicker-basic-demo',
- templateUrl: './datepicker-basic-demo.html',
- standalone: true,
- imports: [FormsModule, DatePicker]
-})
-export class DatePickerBasicDemo {
- value1: Date | undefined;
-
- value2: Date | undefined;
-
- value3: Date | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/datepicker/templatedoc.ts b/apps/showcase/src/app/showcase/doc/datepicker/templatedoc.ts
deleted file mode 100644
index a3315892107..00000000000
--- a/apps/showcase/src/app/showcase/doc/datepicker/templatedoc.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'calendar-template-demo',
- template: `
-
- Calendar UI accepts custom content using header and footer templates.
-
-
-
- `
-})
-export class TemplateDoc {
- date: Date[] | undefined;
-
- code: Code = {
- basic: `
- Header
- Footer
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-
-@Component({
- selector: 'calendar-template-demo',
- templateUrl: './calendar-template-demo.html'
-})
-export class CalendarTemplateDemo {
- date: Date[] | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/defer/basicdoc.ts b/apps/showcase/src/app/showcase/doc/defer/basicdoc.ts
deleted file mode 100644
index c253e3a4602..00000000000
--- a/apps/showcase/src/app/showcase/doc/defer/basicdoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Defer is applied to a container element with pDefer directive where content needs to be placed inside an ng-template.
-
-
-
Content is not loaded yet, scroll down to initialize it.
-
-
-
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class BasicDoc {
- constructor(private messageService: MessageService) {}
-
- onLoad() {
- this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
`,
- html: `
-
- Content is not loaded yet, scroll down to initialize it.
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, Input } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Defer } from 'primeng/defer';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'defer-basic-demo',
- templateUrl: './defer-basic-demo.html',
- standalone: true,
- imports: [Defer, ToastModule],
- providers: [MessageService]
-})
-export class DeferBasicDemo {
- constructor(private messageService: MessageService) {}
-
- onLoad() {
- this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/defer/datatabledoc.ts b/apps/showcase/src/app/showcase/doc/defer/datatabledoc.ts
deleted file mode 100644
index c370337cc26..00000000000
--- a/apps/showcase/src/app/showcase/doc/defer/datatabledoc.ts
+++ /dev/null
@@ -1,156 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Car } from '@domain/car';
-import { Code } from '@domain/code';
-import { CarService } from '@service/carservice';
-
-@Component({
- selector: 'datatable-doc',
- template: `
-
- Defer is applied to a container element with pDefer directive where content needs to be placed inside an ng-template.
-
-
-
Table is not loaded yet, scroll down to initialize it.
-
-
-
-
-
-
-
- Vin
- Year
- Brand
- Color
-
-
-
-
- {{ car.vin }}
- {{ car.year }}
- {{ car.brand }}
- {{ car.color }}
-
-
-
-
-
-
-
- `,
- providers: [MessageService, CarService]
-})
-export class DataTableDoc {
- cars: Car[] | undefined;
-
- constructor(
- private carService: CarService,
- private messageService: MessageService
- ) {}
-
- initData() {
- this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
- this.carService.getCarsSmall().then((cars) => (this.cars = cars));
- }
-
- code: Code = {
- basic: `
-
-
-
-
- Vin
- Year
- Brand
- Color
-
-
-
-
- {{car.vin}}
- {{car.year}}
- {{car.brand}}
- {{car.color}}
-
-
-
-
-
`,
- html: `
-
- Table is not loaded yet, scroll down to initialize it.
-
-
-
-
-
-
-
-
- Vin
- Year
- Brand
- Color
-
-
-
-
- {{car.vin}}
- {{car.year}}
- {{car.brand}}
- {{car.color}}
-
-
-
-
-
-
`,
- typescript: `import { Component, Input } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Car } from '@domain/car';
-import { CarService } from '@service/carservice';
-import { Defer } from 'primeng/defer';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'defer-data-table-demo',
- templateUrl: './defer-data-table-demo.html',
- standalone: true,
- imports: [Defer, ToastModule],
- providers: [MessageService, CarService]
-})
-export class DeferDataTableDemo {
- cars: Car[] | undefined;
-
- constructor(private carService: CarService, private messageService: MessageService) {}
-
- initData() {
- this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
- this.carService.getCarsSmall().then((cars) => (this.cars = cars));
- }
-}`,
- data: `{
- vin: 'ee8a89d8',
- brand: 'Fiat',
- year: 1987,
- color: 'Maroon'
-}`,
- service: ['CarService']
- };
- extFiles = [
- {
- path: 'src/domain/car.ts',
- content: `
-export interface Car {
- id?;
- vin?;
- year?;
- brand?;
- color?;
- price?;
- saleDate?;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/defer/importdoc.ts b/apps/showcase/src/app/showcase/doc/defer/importdoc.ts
deleted file mode 100644
index ae912087df8..00000000000
--- a/apps/showcase/src/app/showcase/doc/defer/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'defer-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Defer } from 'primeng/defer';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/dialog/accessibilitydoc.ts
deleted file mode 100644
index b513c1869bf..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/accessibilitydoc.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-accessibility-doc',
- template: `
-
- Screen Reader
-
- Dialog component uses dialog role along with aria-labelledby referring to the header element however any attribute is passed to the root element so you may use aria-labelledby to override this default behavior. In
- addition aria-modal is added since focus is kept within the popup.
-
-
- It is recommended to use a trigger component that can be accessed with keyboard such as a button, if not adding
- tabIndex would be necessary.
-
- Trigger element also requires aria-expanded and aria-controls to be handled explicitly.
-
- Close element is a button with an aria-label that refers to the aria.close property of the locale API by default, you may usecloseButtonProps to customize the element
- and override the default aria-label .
-
-
-
-
- Overlay Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the next the focusable element within the dialog.
-
-
- shift + tab
- Moves focus to the previous the focusable element within the dialog.
-
-
- escape
- Closes the dialog if closeOnEscape is true.
-
-
-
-
- Close Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Closes the dialog.
-
-
- space
- Closes the dialog.
-
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `
-
-
- Content
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/basicdoc.ts b/apps/showcase/src/app/showcase/doc/dialog/basicdoc.ts
deleted file mode 100644
index e7c9e3d0abf..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/basicdoc.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-basic-demo',
- template: `
-
- Dialog is used as a container and visibility is controlled with visible property.
-
-
-
- `
-})
-export class BasicDoc {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- code: Code = {
- basic: `
-
- Update your information.
-
- Username
-
-
-
- Email
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Dialog } from 'primeng/dialog';
-import { ButtonModule } from 'primeng/button';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'dialog-basic-demo',
- templateUrl: './dialog-basic-demo.html',
- standalone: true,
- imports: [Dialog, ButtonModule, InputTextModule]
-})
-export class DialogBasicDemo {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/dialog/headlessdoc.ts
deleted file mode 100644
index 06f7107f27a..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/headlessdoc.ts
+++ /dev/null
@@ -1,338 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-headless-demo',
- template: `
-
- Headless mode allows you to customize the entire user interface instead of the default elements.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
-
-
-
-
- `
-})
-export class HeadlessDoc {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- closeDialog() {
- this.visible = false;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Dialog } from 'primeng/dialog';
-import { ButtonModule } from 'primeng/button';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'dialog-headless-demo',
- templateUrl: './dialog-headless-demo.html',
- standalone: true,
- imports: [Dialog, ButtonModule, InputTextModule]
-})
-export class DialogHeadlessDemo {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- closeDialog() {
- this.visible = false;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/importdoc.ts b/apps/showcase/src/app/showcase/doc/dialog/importdoc.ts
deleted file mode 100644
index 5fff25e0bab..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Dialog } from 'primeng/dialog';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/positiondoc.ts b/apps/showcase/src/app/showcase/doc/dialog/positiondoc.ts
deleted file mode 100644
index 644538be747..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/positiondoc.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-position-demo',
- template: `
-
- The position property is used to display a Dialog at all edges and corners of the screen.
-
-
-
-
-
-
- Update your information.
-
- Username
-
-
-
- Email
-
-
-
-
-
-
- `
-})
-export class PositionDoc {
- visible: boolean = false;
-
- position: string = 'center';
-
- showDialog(position: string) {
- this.position = position;
- this.visible = true;
- }
-
- code: Code = {
- basic: `
-
-
-
- Update your information.
-
- Username
-
-
-
- Email
-
-
-
- `,
-
- html: `
-
-
-
-
- Update your information.
-
- Username
-
-
-
- Email
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Dialog } from 'primeng/dialog';
-import { ButtonModule } from 'primeng/button';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'dialog-position-demo',
- templateUrl: './dialog-position-demo.html',
- standalone: true,
- imports: [Dialog, ButtonModule, InputTextModule]
-})
-export class DialogPositionDemo {
- visible: boolean = false;
-
- position: string = 'center';
-
- showDialog(position: string) {
- this.position = position;
- this.visible = true;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/responsivedoc.ts b/apps/showcase/src/app/showcase/doc/dialog/responsivedoc.ts
deleted file mode 100644
index 107dad1a104..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/responsivedoc.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-responsive-demo',
- template: `
-
-
- Dialog width can be adjusted per screen size with the breakpoints option where a key defines the max-width for the breakpoint and value for the corresponding width. When no breakpoint matches width defined in
- style property is used.
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class ResponsiveDoc {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- code: Code = {
- basic: `
-
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Dialog } from 'primeng/dialog';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'dialog-responsive-demo',
- templateUrl: './dialog-responsive-demo.html',
- standalone: true,
- imports: [Dialog, ButtonModule]
-})
-export class DialogResponsiveDemo {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dialog/templatedoc.ts b/apps/showcase/src/app/showcase/doc/dialog/templatedoc.ts
deleted file mode 100644
index 2bc663ab509..00000000000
--- a/apps/showcase/src/app/showcase/doc/dialog/templatedoc.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dialog-template-demo',
- template: `
-
- Dialog can be customized using header and footer templates.
-
-
-
- `
-})
-export class TemplateDoc {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- code: Code = {
- basic: `
-
-
-
-
- Update your information.
-
-
- Username
-
-
-
-
- Email
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Dialog } from 'primeng/dialog';
-import { ButtonModule } from 'primeng/button';
-import { InputTextModule } from 'primeng/inputtext';
-import { AvatarModule } from 'primeng/avatar';
-
-@Component({
- selector: 'dialog-template-demo',
- templateUrl: './dialog-template-demo.html',
- standalone: true,
- imports: [Dialog, ButtonModule, InputTextModule, AvatarModule]
-})
-export class DialogTemplateDemo {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/divider/basicdoc.ts b/apps/showcase/src/app/showcase/doc/divider/basicdoc.ts
deleted file mode 100644
index 325f5e1b910..00000000000
--- a/apps/showcase/src/app/showcase/doc/divider/basicdoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'divider-basic-demo',
- template: `
-
- Divider is basically placed between the items to separate.
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
- voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
- Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis
- voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Donec vel volutpat ipsum. Integer nunc magna, posuere ut tincidunt eget, egestas vitae sapien. Morbi dapibus luctus odio.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
- Lorem ipsum dolor sit amet...
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
-
-
-
- At vero eos et accusamus et iusto odio dignissimos...
-
-
-
- Temporibus autem quibusdam et aut officiis...
-
`,
-
- html: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
- voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis
- voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Donec vel volutpat ipsum. Integer nunc magna, posuere ut tincidunt eget, egestas vitae sapien. Morbi dapibus luctus odio.
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DividerModule } from 'primeng/divider';
-
-@Component({
- selector: 'divider-basic-demo',
- templateUrl: './divider-basic-demo.html',
- standalone: true,
- imports: [DividerModule]
-})
-export class DividerBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/divider/importdoc.ts b/apps/showcase/src/app/showcase/doc/divider/importdoc.ts
deleted file mode 100644
index 73c6b152f1e..00000000000
--- a/apps/showcase/src/app/showcase/doc/divider/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'divider-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DividerModule } from 'primeng/divider';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/divider/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/divider/verticaldoc.ts
deleted file mode 100644
index b7661806499..00000000000
--- a/apps/showcase/src/app/showcase/doc/divider/verticaldoc.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'divider-vertical-demo',
- template: `
-
- Vertical divider is enabled by setting the layout property as vertical .
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
- voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- `
-})
-export class VerticalDoc {
- code: Code = {
- basic: `
- Lorem ipsum dolor sit amet...
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
-
-
-
- At vero eos et accusamus et iusto odio dignissimos...
-
`,
-
- html: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
- Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam
- voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DividerModule } from 'primeng/divider';
-
-@Component({
- selector: 'divider-vertical-demo',
- templateUrl: './divider-vertical-demo.html',
- standalone: true,
- imports: [DividerModule]
-})
-export class DividerVerticalDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dock/advanceddoc.ts b/apps/showcase/src/app/showcase/doc/dock/advanceddoc.ts
deleted file mode 100644
index b12eecd2b7d..00000000000
--- a/apps/showcase/src/app/showcase/doc/dock/advanceddoc.ts
+++ /dev/null
@@ -1,1053 +0,0 @@
-import { Component, OnDestroy, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { TerminalService } from 'primeng/terminal';
-import { Subscription } from 'rxjs';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'dock-advanced-demo',
- template: `
-
-
- Dock requires a collection of menuitems as its model . Default location is bottom and other sides are also available when defined with the position property. Content of the dock component is defined by
- item template.
-
-
-
-
-
-
-
-
-
-
-
- Fri 13:07
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
- providers: [MessageService, TerminalService, PhotoService, NodeService]
-})
-export class AdvancedDoc implements OnInit, OnDestroy {
- displayTerminal: boolean | undefined;
-
- displayFinder: boolean | undefined;
-
- displayGalleria: boolean | undefined;
-
- dockItems: MenuItem[] | undefined;
-
- menubarItems: any[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- images: any[] | undefined;
-
- nodes: any[] | undefined;
-
- subscription: Subscription | undefined;
-
- constructor(
- private galleriaService: PhotoService,
- private nodeService: NodeService,
- private messageService: MessageService,
- private terminalService: TerminalService
- ) {}
-
- ngOnInit() {
- this.dockItems = [
- {
- label: 'Finder',
- tooltipOptions: {
- tooltipLabel: 'Finder',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/finder.svg',
- command: () => {
- this.displayFinder = true;
- }
- },
- {
- label: 'Terminal',
- tooltipOptions: {
- tooltipLabel: 'Terminal',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/terminal.svg',
- command: () => {
- this.displayTerminal = true;
- }
- },
- {
- label: 'App Store',
- tooltipOptions: {
- tooltipLabel: 'App Store',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/appstore.svg',
- command: () => {
- this.messageService.add({
- severity: 'error',
- summary: 'An unexpected error occurred while signing in.',
- detail: 'UNTRUSTED_CERT_TITLE',
- key: 'tc'
- });
- }
- },
- {
- label: 'Safari',
- tooltipOptions: {
- tooltipLabel: 'Safari',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/safari.svg',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Safari has stopped working', key: 'tc' });
- }
- },
- {
- label: 'Photos',
- tooltipOptions: {
- tooltipLabel: 'Photos',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/photos.svg',
- command: () => {
- this.displayGalleria = true;
- }
- },
- {
- label: 'GitHub',
- tooltipOptions: {
- tooltipLabel: 'GitHub',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/github.svg'
- },
- {
- label: 'Trash',
- tooltipOptions: {
- tooltipLabel: 'Trash',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/trash.png',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Empty Trash', key: 'tc' });
- }
- }
- ];
-
- this.menubarItems = [
- {
- label: 'Finder',
- styleClass: 'menubar-root'
- },
- {
- label: 'File',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-plus',
- items: [
- {
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- separator: true
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
- items: [
- {
- label: 'Print',
- icon: 'pi pi-fw pi-print'
- }
- ]
- },
- {
- icon: 'pi pi-fw pi-bars',
- label: 'List'
- }
- ]
- }
- ]
- },
- {
- label: 'Events',
- items: [
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- },
- {
- label: 'Archieve',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- }
- ]
- },
- {
- label: 'Quit'
- }
- ];
-
- this.responsiveOptions = [
- {
- breakpoint: '1024px',
- numVisible: 3
- },
- {
- breakpoint: '768px',
- numVisible: 2
- },
- {
- breakpoint: '560px',
- numVisible: 1
- }
- ];
-
- this.subscription = this.terminalService.commandHandler.subscribe((command) => this.commandHandler(command));
-
- this.galleriaService.getImages().then((data) => (this.images = data));
- this.nodeService.getFiles().then((data) => (this.nodes = data));
- }
-
- commandHandler(text: any) {
- let response;
- let argsIndex = text.indexOf(' ');
- let command = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
-
- switch (command) {
- case 'date':
- response = 'Today is ' + new Date().toDateString();
- break;
-
- case 'greet':
- response = 'Hola ' + text.substring(argsIndex + 1) + '!';
- break;
-
- case 'random':
- response = Math.floor(Math.random() * 100);
- break;
-
- default:
- response = 'Unknown command: ' + command;
- break;
- }
-
- if (response) {
- this.terminalService.sendResponse(response as string);
- }
- }
-
- ngOnDestroy() {
- if (this.subscription) {
- this.subscription.unsubscribe();
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- Fri 13:07
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
- Fri 13:07
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnDestroy, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { TerminalModule } from 'primeng/terminal';
-import { TerminalService } from 'primeng/terminal';
-import { Subscription } from 'rxjs';
-import { NodeService } from '@service/nodeservice';
-import { PhotoService } from '@service/photoservice';
-import { DockModule } from 'primeng/dock';
-import { MenubarModule } from 'primeng/menubar';
-import { ToastModule } from 'primeng/toast';
-import { DialogModule } from 'primeng/dialog';
-import { TreeModule } from 'primeng/tree';
-import { GalleriaModule } from 'primeng/galleria';
-import { TooltipModule } from 'primeng/tooltip';
-
-@Component({
- selector: 'dock-advanced-demo',
- templateUrl: './dock-advanced-demo.html',
- imports: [DockModule, MenubarModule, ToastModule, DialogModule, TreeModule, TerminalModule, GalleriaModule, TooltipModule],
- standalone: true,
- styles: [
- \` :host ::ng-deep {
- .dock-window {
- width: 100%;
- height: 450px;
- position: relative;
- background-image: url('https://primefaces.org/cdn/primeng/images/dock/window.jpg');
- background-repeat: no-repeat;
- background-size: cover;
- }
-
- .p-dock {
- z-index: 1000;
- }
-
- .dock-advanced {
- .p-dialog-mask,
- .p-toast {
- position: absolute;
- }
-
- .p-dialog {
- .p-dialog-header {
- padding: .2rem;
- }
-
- .p-dialog-content {
- padding: 0;
- }
-
- p {
- margin-top: 0;
- }
-
- .p-terminal {
- background-color: #212121;
- color: #ffffff;
- border: 0 none;
- min-height: 18rem;
- height: 100%;
-
- .p-terminal-command {
- color: #80CBC4;
- }
-
- .p-terminal-prompt {
- color: #FFD54F;
- }
-
- .p-terminal-response {
- color: #9FA8DA;
- }
- }
-
- .p-tree {
- height: 100%;
- border-radius: 0;
- border-left-width: 0;
- border-right-width: 0;
- border-bottom-width: 0;
- }
- }
-
- .p-toast {
- top: 20px;
- }
- }
-
- .p-menubar {
- padding-top: 0;
- padding-bottom: 0;
- border-radius: 0;
-
- .p-menuitem:first-child {
- font-weight: bold;
- padding: 0 1rem;
- }
-
- .p-menuitem-link {
- padding: 0.5rem .75rem;
- }
-
- .p-menubar-root-list > .p-menuitem > .p-menuitem-link {
- padding: 0.5rem .75rem;
-
- > .p-submenu-icon {
- display: none;
- }
- }
-
- .p-menubar-end {
- span, i {
- padding: 0 .75rem;
- }
- }
- }
- }
-
- .dark-tooltip {
- .p-tooltip {
- .p-tooltip-arrow {
- border-top-color: var(--surface-900);
- }
-
- .p-tooltip-text {
- background-color: var(--surface-900);
- }
- }
- }\`
- ],
- providers: [MessageService, TerminalService, PhotoService, NodeService]
-})
-export class DockAdvancedDemo implements OnInit {
- displayTerminal: boolean | undefined;
-
- displayFinder: boolean | undefined;
-
- displayGalleria: boolean | undefined;
-
- dockItems: MenuItem[] | undefined;
-
- menubarItems: any[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- images: any[] | undefined;
-
- nodes: any[] | undefined;
-
- subscription: Subscription | undefined;
-
- constructor(private galleriaService: PhotoService, private nodeService: NodeService, private messageService: MessageService, private terminalService: TerminalService) {}
-
- ngOnInit() {
- this.dockItems = [
- {
- label: 'Finder',
- tooltipOptions: {
- tooltipLabel: 'Finder',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/finder.svg',
- command: () => {
- this.displayFinder = true;
- }
- },
- {
- label: 'Terminal',
- tooltipOptions: {
- tooltipLabel: 'Terminal',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/terminal.svg',
- command: () => {
- this.displayTerminal = true;
- }
- },
- {
- label: 'App Store',
- tooltipOptions: {
- tooltipLabel: 'App Store',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/appstore.svg',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'An unexpected error occurred while signing in.', detail: 'UNTRUSTED_CERT_TITLE', key: 'tc' });
- }
- },
- {
- label: 'Safari',
- tooltipOptions: {
- tooltipLabel: 'Safari',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/safari.svg',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Safari has stopped working', key: 'tc' });
- }
- },
- {
- label: 'Photos',
- tooltipOptions: {
- tooltipLabel: 'Photos',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/photos.svg',
- command: () => {
- this.displayGalleria = true;
- }
- },
- {
- label: 'GitHub',
- tooltipOptions: {
- tooltipLabel: 'GitHub',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/github.svg'
- },
- {
- label: 'Trash',
- tooltipOptions: {
- tooltipLabel: 'Trash',
- tooltipPosition: 'top',
- positionTop: -15,
- positionLeft: 15,
- showDelay: 1000
- },
- icon: 'https://primefaces.org/cdn/primeng/images/dock/trash.png',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Empty Trash', key: 'tc' });
- }
- }
- ];
-
- this.menubarItems = [
- {
- label: 'Finder',
- styleClass: 'menubar-root'
- },
- {
- label: 'File',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-plus',
- items: [
- {
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- separator: true
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
- items: [
- {
- label: 'Print',
- icon: 'pi pi-fw pi-print'
- }
- ]
- },
- {
- icon: 'pi pi-fw pi-bars',
- label: 'List'
- }
- ]
- }
- ]
- },
- {
- label: 'Events',
- items: [
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- },
- {
- label: 'Archieve',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- }
- ]
- },
- {
- label: 'Quit'
- }
- ];
-
- this.responsiveOptions = [
- {
- breakpoint: '1024px',
- numVisible: 3
- },
- {
- breakpoint: '768px',
- numVisible: 2
- },
- {
- breakpoint: '560px',
- numVisible: 1
- }
- ];
-
- this.subscription = this.terminalService.commandHandler.subscribe((command) => this.commandHandler(command));
-
- this.galleriaService.getImages().then((data) => (this.images = data));
- this.nodeService.getFiles().then((data) => (this.nodes = data));
- }
-
- commandHandler(text: any) {
- let response;
- let argsIndex = text.indexOf(' ');
- let command = argsIndex !== -1 ? text.substring(0, argsIndex) : text;
-
- switch (command) {
- case 'date':
- response = 'Today is ' + new Date().toDateString();
- break;
-
- case 'greet':
- response = 'Hola ' + text.substring(argsIndex + 1) + '!';
- break;
-
- case 'random':
- response = Math.floor(Math.random() * 100);
- break;
-
- default:
- response = 'Unknown command: ' + command;
- break;
- }
-
- if (response) {
- this.terminalService.sendResponse(response as string);
- }
- }
-
- ngOnDestroy() {
- if (this.subscription) {
- this.subscription.unsubscribe();
- }
- }
-}`,
- scss: `
-:host ::ng-deep {
- .dock-window {
- width: 100%;
- height: 450px;
- position: relative;
- background-image: url('https://primefaces.org/cdn/primeng/images/dock/window.jpg');
- background-repeat: no-repeat;
- background-size: cover;
- }
-
- .p-dock {
- z-index: 1000;
- }
-
- .dock-advanced {
- .p-dialog-mask,
- .p-toast {
- position: absolute;
- }
-
- .p-dialog {
- .p-dialog-header {
- padding: .2rem;
- }
-
- .p-dialog-content {
- padding: 0;
- }
-
- p {
- margin-top: 0;
- }
-
- .p-terminal {
- background-color: #212121;
- color: #ffffff;
- border: 0 none;
- min-height: 18rem;
- height: 100%;
-
- .p-terminal-command {
- color: #80CBC4;
- }
-
- .p-terminal-prompt {
- color: #FFD54F;
- }
-
- .p-terminal-response {
- color: #9FA8DA;
- }
- }
-
- .p-tree {
- height: 100%;
- border-radius: 0;
- border-left-width: 0;
- border-right-width: 0;
- border-bottom-width: 0;
- }
- }
-
- .p-toast {
- top: 20px;
- }
- }
-
- .p-menubar {
- padding-top: 0;
- padding-bottom: 0;
- border-radius: 0;
-
- .p-menuitem:first-child {
- font-weight: bold;
- padding: 0 1rem;
- }
-
- .p-menuitem-link {
- padding: 0.5rem .75rem;
- }
-
- .p-menubar-root-list > .p-menuitem > .p-menuitem-link {
- padding: 0.5rem .75rem;
-
- > .p-submenu-icon {
- display: none;
- }
- }
-
- .p-menubar-end {
- span, i {
- padding: 0 .75rem;
- }
- }
- }
-}
-
-.dark-tooltip {
- .p-tooltip {
- .p-tooltip-arrow {
- border-top-color: var(--surface-900);
- }
-
- .p-tooltip-text {
- background-color: var(--surface-900);
- }
- }
-}`,
- service: ['PhotoService', 'NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dock/basicdoc.ts b/apps/showcase/src/app/showcase/doc/dock/basicdoc.ts
deleted file mode 100644
index 9dc8263fb35..00000000000
--- a/apps/showcase/src/app/showcase/doc/dock/basicdoc.ts
+++ /dev/null
@@ -1,195 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dock-basic-demo',
- template: `
-
-
- Dock requires a collection of menuitems as its model . Default location is bottom and other sides are also available when defined with the position property. Content of the dock component is defined by
- item template.
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- position: string = 'bottom';
-
- positionOptions = [
- {
- label: 'Bottom',
- value: 'bottom'
- },
- {
- label: 'Top',
- value: 'top'
- },
- {
- label: 'Left',
- value: 'left'
- },
- {
- label: 'Right',
- value: 'right'
- }
- ];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Finder',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/finder.svg'
- },
- {
- label: 'App Store',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/appstore.svg'
- },
- {
- label: 'Photos',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/photos.svg'
- },
- {
- label: 'Trash',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/trash.png'
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Dock } from 'primeng/dock';
-import { RadioButton } from 'primeng/radiobutton';
-import { CommonModule } from '@angular/common';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'dock-basic-demo',
- templateUrl: './dock-basic-demo.html',
- styles: [
- \` .dock-window {
- width: 100%;
- height: 450px;
- position: relative;
- background-image: url('https://primefaces.org/cdn/primeng/images/dock/window.jpg');
- background-repeat: no-repeat;
- background-size: cover;
- }
-
- .p-dock {
- z-index: 1000;
- }\`
- ],
- standalone: true,
- imports: [Dock, RadioButton, CommonModule, FormsModule]
-})
-export class DockBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- position: string = 'bottom';
-
- positionOptions = [
- {
- label: 'Bottom',
- value: 'bottom'
- },
- {
- label: 'Top',
- value: 'top'
- },
- {
- label: 'Left',
- value: 'left'
- },
- {
- label: 'Right',
- value: 'right'
- }
- ];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Finder',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/finder.svg'
- },
- {
- label: 'App Store',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/appstore.svg'
- },
- {
- label: 'Photos',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/photos.svg'
- },
- {
- label: 'Trash',
- icon: 'https://primefaces.org/cdn/primeng/images/dock/trash.png'
- }
- ];
- }
-}`,
-
- scss: `
-:host ::ng-deep {
- .dock-window {
- width: 100%;
- height: 450px;
- position: relative;
- background-image: url('https://primefaces.org/cdn/primeng/images/dock/window.jpg');
- background-repeat: no-repeat;
- background-size: cover;
- }
-
- .p-dock {
- z-index: 1000;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dock/importdoc.ts b/apps/showcase/src/app/showcase/doc/dock/importdoc.ts
deleted file mode 100644
index 9c0c70f50b3..00000000000
--- a/apps/showcase/src/app/showcase/doc/dock/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dock-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Dock } from 'primeng/dock';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dragdrop/basicdoc.ts b/apps/showcase/src/app/showcase/doc/dragdrop/basicdoc.ts
deleted file mode 100644
index 487595d9106..00000000000
--- a/apps/showcase/src/app/showcase/doc/dragdrop/basicdoc.ts
+++ /dev/null
@@ -1,210 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-
-@Component({
- selector: 'drag-drop-basic-demo',
- template: `
-
-
- pDraggable and pDroppable are attached to a target element to add drag-drop behavior. The value of a Directive attribute is required and it defines the scope to match draggables with droppables. Droppable scope can also
- be an array to accept multiple droppables.
-
-
-
-
-
-
- {{ product.name }}
-
-
-
-
-
Drop Zone
-
-
- {{ product.name }}
-
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- availableProducts: Product[] | undefined;
-
- selectedProducts: Product[] | undefined;
-
- draggedProduct: Product | undefined | null;
-
- ngOnInit() {
- this.selectedProducts = [];
- this.availableProducts = [
- { id: '1', name: 'Black Watch' },
- { id: '2', name: 'Bamboo Watch' }
- ];
- }
-
- dragStart(product: Product) {
- this.draggedProduct = product;
- }
-
- drop() {
- if (this.draggedProduct) {
- let draggedProductIndex = this.findIndex(this.draggedProduct);
- this.selectedProducts = [...(this.selectedProducts as Product[]), this.draggedProduct];
- this.availableProducts = this.availableProducts?.filter((val, i) => i != draggedProductIndex);
- this.draggedProduct = null;
- }
- }
-
- dragEnd() {
- this.draggedProduct = null;
- }
-
- findIndex(product: Product) {
- let index = -1;
- for (let i = 0; i < (this.availableProducts as Product[]).length; i++) {
- if (product.id === (this.availableProducts as Product[])[i].id) {
- index = i;
- break;
- }
- }
- return index;
- }
-
- code: Code = {
- basic: `
-
`,
- html: `
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { DragDropModule } from 'primeng/dragdrop';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'drag-drop-basic-demo',
- templateUrl: './drag-drop-basic-demo.html',
- styles: [
- \`:host ::ng-deep {
- [pDraggable] {
- cursor: move;
- }
- }\`
- ],
- standalone: true,
- imports: [DragDropModule, CommonModule]
-})
-export class DragDropBasicDemo implements OnInit {
- availableProducts: Product[] | undefined;
-
- selectedProducts: Product[] | undefined;
-
- draggedProduct: Product | undefined | null;
-
- ngOnInit() {
- this.selectedProducts = [];
- this.availableProducts = [
- {id:'1', name: 'Black Watch'},
- {id:'2', name: 'Bamboo Watch'}
- ]
- }
-
- dragStart(product: Product) {
- this.draggedProduct = product;
- }
-
- drop() {
- if (this.draggedProduct) {
- let draggedProductIndex = this.findIndex(this.draggedProduct);
- this.selectedProducts = [...(this.selectedProducts as Product[]), this.draggedProduct];
- this.availableProducts = this.availableProducts?.filter((val, i) => i != draggedProductIndex);
- this.draggedProduct = null;
- }
- }
-
- dragEnd() {
- this.draggedProduct = null;
- }
-
- findIndex(product: Product) {
- let index = -1;
- for (let i = 0; i < (this.availableProducts as Product[]).length; i++) {
- if (product.id === (this.availableProducts as Product[])[i].id) {
- index = i;
- break;
- }
- }
- return index;
- }
-}`,
- scss: `
-:host ::ng-deep {
- [pDraggable] {
- cursor: move;
- }
-}`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/dragdrop/datatabledoc.ts b/apps/showcase/src/app/showcase/doc/dragdrop/datatabledoc.ts
deleted file mode 100644
index e6733052ec8..00000000000
--- a/apps/showcase/src/app/showcase/doc/dragdrop/datatabledoc.ts
+++ /dev/null
@@ -1,426 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'drag-drop-data-table-demo',
- template: `
-
- Drag and Drop to Table
-
-
-
-
-
-
-
-
-
-
{{ product.name }}
-
- {{ product.category }}
-
-
-
{{ product.price }}
-
-
-
-
-
-
-
-
-
- ID
- Category
- Name
- Price
-
-
-
-
- {{ product.id }}
- {{ product.category }}
- {{ product.name }}
- {{ product.price }}
-
-
-
-
-
-
- `
-})
-export class DataTableDoc implements OnInit {
- availableProducts: Product[] | undefined;
-
- selectedProducts: Product[] | undefined;
-
- draggedProduct: Product | undefined | null;
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.selectedProducts = [];
- this.productService.getProductsSmall().then((products) => (this.availableProducts = products));
- }
-
- dragStart(product: Product) {
- this.draggedProduct = product;
- }
-
- drop() {
- if (this.draggedProduct) {
- let draggedProductIndex = this.findIndex(this.draggedProduct);
- this.selectedProducts = [...(this.selectedProducts as Product[]), this.draggedProduct];
- this.availableProducts = this.availableProducts?.filter((val, i) => i != draggedProductIndex);
- this.draggedProduct = null;
- }
- }
-
- dragEnd() {
- this.draggedProduct = null;
- }
-
- findIndex(product: Product) {
- let index = -1;
- for (let i = 0; i < (this.availableProducts as Product[]).length; i++) {
- if (product.id === (this.availableProducts as Product[])[i].id) {
- index = i;
- break;
- }
- }
- return index;
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- {{product.name}}
-
-
-
- {{product.category}}
-
-
-
-
- {{product.price}}
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
- Category
-
-
- Name
-
-
- Price
-
-
-
-
-
-
- {{product.id}}
-
-
- {{product.category}}
-
-
- {{product.name}}
-
-
- {{product.price}}
-
-
-
-
-
-
`,
- html: `
-
-
-
-
-
-
-
-
- {{product.name}}
-
-
-
- {{product.category}}
-
-
-
-
- {{product.price}}
-
-
-
-
-
-
-
-
-
-
-
- ID
-
-
- Category
-
-
- Name
-
-
- Price
-
-
-
-
-
-
- {{product.id}}
-
-
- {{product.category}}
-
-
- {{product.name}}
-
-
- {{product.price}}
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { DragDropModule } from 'primeng/dragdrop';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'drag-drop-data-table-demo',
- templateUrl: './drag-drop-data-table-demo.html',
- styles: [
- \`:host ::ng-deep {
- .drag-column {
- padding-right: .5em;
- }
-
- .drop-column {
- border: 1px solid transparent;
- transition: border-color .2s;
-
- &.p-draggable-enter {
- border-color: var(--primary-color);
- }
- }
-
- .product-item {
- display: flex;
- align-items: center;
- padding: 1rem;
- width: 100%;
- border-bottom: 1px solid var(--surface-d);
-
- img {
- width: 75px;
- box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
- margin-right: 1rem;
- }
-
- .product-list-detail {
- flex: 1 1 0;
- }
-
- .product-list-action {
- display: flex;
- flex-direction: column;
- align-items: flex-end;
- }
-
- .product-category-icon {
- vertical-align: middle;
- margin-right: .5rem;
- }
-
- .product-category {
- vertical-align: middle;
- line-height: 1;
- }
- }
-
- [pDraggable] {
- cursor: move;
- }
-
- @media screen and (max-width: 576px) {
- .product-item {
- flex-wrap: wrap;
-
- .image-container {
- width: 100%;
- text-align: center;
- }
-
- img {
- margin: 0 0 1rem 0;
- width: 100px;
- }
- }
- }
- }\`
- ],
- standalone: true,
- imports: [DragDropModule, TableModule, Tag, CommonModule],
- providers: [ProductService]
-})
-export class DragDropDataTableDemo implements OnInit {
- availableProducts: Product[] | undefined;
-
- selectedProducts: Product[] | undefined;
-
- draggedProduct: Product | undefined | null;
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.selectedProducts = [];
- this.productService.getProductsSmall().then((products) => (this.availableProducts = products));
- }
-
- dragStart(product: Product) {
- this.draggedProduct = product;
- }
-
- drop() {
- if (this.draggedProduct) {
- let draggedProductIndex = this.findIndex(this.draggedProduct);
- this.selectedProducts = [...(this.selectedProducts as Product[]), this.draggedProduct];
- this.availableProducts = this.availableProducts?.filter((val, i) => i != draggedProductIndex);
- this.draggedProduct = null;
- }
- }
-
- dragEnd() {
- this.draggedProduct = null;
- }
-
- findIndex(product: Product) {
- let index = -1;
- for (let i = 0; i < (this.availableProducts as Product[]).length; i++) {
- if (product.id === (this.availableProducts as Product[])[i].id) {
- index = i;
- break;
- }
- }
- return index;
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-...
-{
- "id": "1000",
- "code": "f230fh0g3",
- "name": "Bamboo Watch",
- "description": "Product Description",
- "image": "bamboo-watch.jpg",
- "price": 65,
- "category": "Accessories",
- "quantity": 24,
- "inventoryStatus": "INSTOCK",
- "rating": 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/dragdrop/importdoc.ts b/apps/showcase/src/app/showcase/doc/dragdrop/importdoc.ts
deleted file mode 100644
index 93a182d3a8e..00000000000
--- a/apps/showcase/src/app/showcase/doc/dragdrop/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'drag-drop-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DragDropModule } from 'primeng/dragdrop';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/drawer/accessibilitydoc.ts
deleted file mode 100644
index 5eaea0ab865..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/accessibilitydoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'drawer-accessibility-doc',
- template: `
-
- Screen Reader
-
- Drawer component uses complementary role by default, since any attribute is passed to the root element aria role can be changed depending on your use case and additional attributes like aria-labelledby can be added. In
- addition aria-modal is added since focus is kept within the drawer when opened.
-
-
- It is recommended to use a trigger component that can be accessed with keyboard such as a button, if not adding
- tabIndex would be necessary.
-
- Trigger element also requires aria-expanded and aria-controls to be handled explicitly.
-
-
-
- Overlay Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the next the focusable element within the drawer.
-
-
- shift + tab
- Moves focus to the previous the focusable element within the drawer.
-
-
- escape
- Closes the dialog if closeOnEscape is true.
-
-
-
-
-
- Close Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Closes the drawer.
-
-
- space
- Closes the drawer.
-
-
-
-
-
- `
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `
-
- content
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/basicdoc.ts b/apps/showcase/src/app/showcase/doc/drawer/basicdoc.ts
deleted file mode 100644
index 0aac1384dcf..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/basicdoc.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Drawer is used as a container and visibility is controlled with a binding to visible .
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- `
-})
-export class BasicDoc {
- visible: boolean = false;
-
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
`,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DrawerModule } from 'primeng/drawer';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'drawer-basic-demo',
- templateUrl: './drawer-basic-demo.html',
- standalone: true,
- imports: [DrawerModule, ButtonModule]
-})
-export class DrawerBasicDemo {
- visible: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/drawer/headlessdoc.ts
deleted file mode 100644
index 49996f3164d..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/headlessdoc.ts
+++ /dev/null
@@ -1,660 +0,0 @@
-import { Component, ViewChild } from '@angular/core';
-import { Code } from '@domain/code';
-import { Drawer } from 'primeng/drawer';
-
-@Component({
- selector: 'headless-doc',
- template: `
-
- Headless mode allows you to customize the entire user interface instead of the default elements.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Your Logo
-
-
-
-
-
-
-
-
-
- FAVORITES
-
-
-
-
-
-
-
-
- APPLICATION
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class HeadlessDoc {
- @ViewChild('drawerRef') drawerRef!: Drawer;
-
- closeCallback(e): void {
- this.drawerRef.close(e);
- }
-
- visible: boolean = false;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- Your Logo
-
-
-
-
-
-
-
-
-
- FAVORITES
-
-
-
-
-
-
-
-
- APPLICATION
-
-
-
-
-
-
-
-
-
-
-
`,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Your Logo
-
-
-
-
-
-
-
-
-
- FAVORITES
-
-
-
-
-
-
-
-
- APPLICATION
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, ViewChild } from '@angular/core';
-import { DrawerModule } from 'primeng/drawer';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-import { AvatarModule } from 'primeng/avatar';
-import { StyleClass } from 'primeng/styleclass';
-import { Drawer } from 'primeng/drawer';
-
-@Component({
- selector: 'drawer-headless-demo',
- templateUrl: './drawer-headless-demo.html',
- standalone: true,
- imports: [DrawerModule, ButtonModule, Ripple, AvatarModule, StyleClass]
-})
-export class DrawerHeadlessDemo {
- @ViewChild('drawerRef') drawerRef!: Drawer;
-
- closeCallback(e): void {
- this.drawerRef.close(e);
- }
-
- visible: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/importdoc.ts b/apps/showcase/src/app/showcase/doc/drawer/importdoc.ts
deleted file mode 100644
index 0efd35ea1fc..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'drawer-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DrawerModule } from 'primeng/drawer';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/positiondoc.ts b/apps/showcase/src/app/showcase/doc/drawer/positiondoc.ts
deleted file mode 100644
index 6fb510dfcb7..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/positiondoc.ts
+++ /dev/null
@@ -1,156 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'position-doc',
- template: `
-
- Drawer location is configured with the position property that can take left , right , top and bottom as a value.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- `
-})
-export class PositionDoc {
- visible1: boolean = false;
-
- visible2: boolean = false;
-
- visible3: boolean = false;
-
- visible4: boolean = false;
-
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
`,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DrawerModule } from 'primeng/drawer';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'drawer-position-demo',
- templateUrl: './drawer-position-demo.html',
- standalone: true,
- imports: [DrawerModule, ButtonModule]
-})
-export class DrawerPositionDemo {
- visible1: boolean = false;
-
- visible2: boolean = false;
-
- visible3: boolean = false;
-
- visible4: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/sizedoc.ts b/apps/showcase/src/app/showcase/doc/drawer/sizedoc.ts
deleted file mode 100644
index 39a37aea4b8..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/sizedoc.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'size-doc',
- template: `
-
- Drawer dimension can be defined with style or class properties, this responsive example utilizes Tailwind.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
- `
-})
-export class SizeDoc {
- visible: boolean = false;
-
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
-
-
`,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DrawerModule } from 'primeng/drawer';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'drawer-size-demo',
- templateUrl: './drawer-size-demo.html',
- standalone: true,
- imports: [DrawerModule, ButtonModule]
-})
-export class DrawerSizeDemo {
- visible: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/drawer/templatedoc.ts b/apps/showcase/src/app/showcase/doc/drawer/templatedoc.ts
deleted file mode 100644
index cc6bd20e33a..00000000000
--- a/apps/showcase/src/app/showcase/doc/drawer/templatedoc.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Drawer is customizable by header , content , footer templates.
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat.
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- visible: boolean = false;
-
- code: Code = {
- basic: `
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
-
-
-
-
-
-
-
-
`,
-
- html: `
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat.
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { DrawerModule } from 'primeng/drawer';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'drawer-template-demo',
- templateUrl: './drawer-template-demo.html',
- standalone: true,
- imports: [DrawerModule, ButtonModule]
-})
-export class DrawerTemplateDemo {
- visible: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dynamicdialog/importdoc.ts b/apps/showcase/src/app/showcase/doc/dynamicdialog/importdoc.ts
deleted file mode 100644
index 0d3980db23a..00000000000
--- a/apps/showcase/src/app/showcase/doc/dynamicdialog/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-dialog-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { DynamicDialog } from 'primeng/dynamicdialog';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/dynamicdialog/usagedoc.ts b/apps/showcase/src/app/showcase/doc/dynamicdialog/usagedoc.ts
deleted file mode 100644
index 5b970f93a98..00000000000
--- a/apps/showcase/src/app/showcase/doc/dynamicdialog/usagedoc.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'usage-doc',
- template: `
-
- To use dynamic dialog, a reference should be declared as DynamicDialogRef after the DialogService injected into the component.
-
-
- `,
- providers: [DialogService]
-})
-export class UsageDoc {
- ref: DynamicDialogRef | undefined;
-
- constructor(public dialogService: DialogService) {}
-
- code: Code = {
- typescript: `
-import { Component, OnDestroy } from '@angular/core';
-import { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';
-import { Product } from '@domain/product';
-import { ProductListDemo } from './productlistdemo';
-
-@Component({
- templateUrl: './dynamicdialogdemo.html',
- providers: [DialogService]
-})
-export class DynamicDialogDemo implements OnDestroy {
-
- ref: DynamicDialogRef | undefined;
-
- constructor(public dialogService: DialogService) {}
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/editor/basicdoc.ts b/apps/showcase/src/app/showcase/doc/editor/basicdoc.ts
deleted file mode 100644
index 8b216636667..00000000000
--- a/apps/showcase/src/app/showcase/doc/editor/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'editor-basic-demo',
- template: `
-
- A model can be bound using the standard ngModel directive.
-
-
-
- `
-})
-export class BasicDoc {
- text: string | undefined;
-
- code: Code = {
- basic: `
`,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Editor } from 'primeng/editor';
-
-@Component({
- selector: 'editor-basic-demo',
- templateUrl: './editor-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Editor]
-})
-export class EditorBasicDemo {
- text: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/editor/importdoc.ts b/apps/showcase/src/app/showcase/doc/editor/importdoc.ts
deleted file mode 100644
index 621729081ec..00000000000
--- a/apps/showcase/src/app/showcase/doc/editor/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'editor-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Editor } from 'primeng/editor';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/editor/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/editor/reactiveformsdoc.ts
deleted file mode 100644
index 4859440e248..00000000000
--- a/apps/showcase/src/app/showcase/doc/editor/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Editor can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl()
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: `
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Editor } from 'primeng/editor';
-
-@Component({
- selector: 'editor-reactive-forms-demo',
- templateUrl: './editor-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Editor],
- })
-export class EditorReactiveFormsDemo implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl()
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/editor/readonlydoc.ts b/apps/showcase/src/app/showcase/doc/editor/readonlydoc.ts
deleted file mode 100644
index 8e6a4db8d4a..00000000000
--- a/apps/showcase/src/app/showcase/doc/editor/readonlydoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'editor-readonly-demo',
- template: `
-
- When readonly is present, the value cannot be edited.
-
-
-
- `
-})
-export class ReadOnlyDoc {
- text: string = 'Always bet on Prime!';
-
- code: Code = {
- basic: `
`,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Editor } from 'primeng/editor';
-
-@Component({
- selector: 'editor-readonly-demo',
- templateUrl: './editor-readonly-demo.html',
- standalone: true,
- imports: [FormsModule, Editor]
-})
-export class EditorReadonlyDemo {
- text: string = 'Always bet on Prime!';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fieldset/basicdoc.ts b/apps/showcase/src/app/showcase/doc/fieldset/basicdoc.ts
deleted file mode 100644
index 2b851368a87..00000000000
--- a/apps/showcase/src/app/showcase/doc/fieldset/basicdoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'fieldset-basic-demo',
- template: `
-
- PrimeIcons is available at npm, run the following command to download it to your project.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FieldsetModule } from 'primeng/fieldset';
-
-@Component({
- selector: 'fieldset-basic-demo',
- templateUrl: './fieldset-basic-demo.html',
- standalone: true,
- imports: [FieldsetModule]
-})
-export class FieldsetBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fieldset/importdoc.ts b/apps/showcase/src/app/showcase/doc/fieldset/importdoc.ts
deleted file mode 100644
index 31967fd14c5..00000000000
--- a/apps/showcase/src/app/showcase/doc/fieldset/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'fieldset-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Fieldset } from 'primeng/fieldset';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fieldset/templatedoc.ts b/apps/showcase/src/app/showcase/doc/fieldset/templatedoc.ts
deleted file mode 100644
index 6c6f6c30133..00000000000
--- a/apps/showcase/src/app/showcase/doc/fieldset/templatedoc.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'fieldset-template-demo',
- template: `
-
- Header section can also be defined with custom content instead of primitive values.
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FieldsetModule } from 'primeng/fieldset';
-import { AvatarModule } from 'primeng/avatar';
-
-@Component({
- selector: 'fieldset-template-demo',
- templateUrl: './fieldset-template-demo.html',
- standalone: true,
- imports: [FieldsetModule, AvatarModule]
-})
-export class FieldsetTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fieldset/toggleabledoc.ts b/apps/showcase/src/app/showcase/doc/fieldset/toggleabledoc.ts
deleted file mode 100644
index e2d40388f0f..00000000000
--- a/apps/showcase/src/app/showcase/doc/fieldset/toggleabledoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'fieldset-toggleable-demo',
- template: `
-
- Content of the fieldset can be expanded and collapsed using toggleable option, default state is defined with collapsed option.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class ToggleableDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FieldsetModule } from 'primeng/fieldset';
-
-@Component({
- selector: 'fieldset-toggleable-demo',
- templateUrl: './fieldset-toggleable-demo.html',
- standalone: true,
- imports: [FieldsetModule]
-})
-export class FieldsetToggleableDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fileupload/advanceddoc.ts b/apps/showcase/src/app/showcase/doc/fileupload/advanceddoc.ts
deleted file mode 100644
index 59262b9f6cf..00000000000
--- a/apps/showcase/src/app/showcase/doc/fileupload/advanceddoc.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface UploadEvent {
- originalEvent: Event;
- files: File[];
-}
-
-@Component({
- selector: 'file-upload-advanced-demo',
- template: `
-
- FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.
-
-
-
-
-
- Drag and drop files to here to upload.
-
-
-
- {{ file.name }} - {{ file.size }} bytes
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class AdvancedDoc {
- uploadedFiles: any[] = [];
-
- constructor(private messageService: MessageService) {}
-
- onUpload(event: UploadEvent) {
- for (let file of event.files) {
- this.uploadedFiles.push(file);
- }
-
- this.messageService.add({ severity: 'info', summary: 'File Uploaded', detail: '' });
- }
-
- code: Code = {
- basic: `
-
- Drag and drop files to here to upload.
-
-
-
- {{ file.name }} - {{ file.size }} bytes
-
-
- `,
- html: `
-
-
-
- Drag and drop files to here to upload.
-
-
-
- {{ file.name }} - {{ file.size }} bytes
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { FileUpload } from 'primeng/fileupload';
-import { ToastModule } from 'primeng/toast';
-import { CommonModule } from '@angular/common';
-
-interface UploadEvent {
- originalEvent: Event;
- files: File[];
-}
-
-@Component({
- selector: 'file-upload-advanced-demo',
- templateUrl: './file-upload-advanced-demo.html',
- standalone: true,
- imports: [FileUpload, ToastModule, CommonModule],
- providers: [MessageService]
-})
-export class FileUploadAdvancedDemo {
- uploadedFiles: any[] = [];
-
- constructor(private messageService: MessageService) {}
-
- onUpload(event:UploadEvent) {
- for(let file of event.files) {
- this.uploadedFiles.push(file);
- }
-
- this.messageService.add({severity: 'info', summary: 'File Uploaded', detail: ''});
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fileupload/basicdoc.ts b/apps/showcase/src/app/showcase/doc/fileupload/basicdoc.ts
deleted file mode 100644
index dc5e416c1ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/fileupload/basicdoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface UploadEvent {
- originalEvent: Event;
- files: File[];
-}
-
-@Component({
- selector: 'file-upload-basic-demo',
- template: `
-
- FileUpload basic mode provides a simpler UI as an alternative to default advanced mode.
-
-
-
- `,
- providers: [MessageService]
-})
-export class BasicDoc {
- constructor(private messageService: MessageService) {}
-
- onUpload(event: UploadEvent) {
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded with Basic Mode' });
- }
-
- code: Code = {
- basic: `
-
`,
- html: `
`,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { FileUpload } from 'primeng/fileupload';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-
-interface UploadEvent {
- originalEvent: Event;
- files: File[];
-}
-
-@Component({
- selector: 'file-upload-basic-demo',
- templateUrl: './file-upload-basic-demo.html',
- standalone: true,
- imports: [FileUpload, ToastModule, ButtonModule],
- providers: [MessageService]
-})
-export class FileUploadBasicDemo {
- constructor(private messageService: MessageService) {}
-
- onUpload(event: UploadEvent) {
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded with Basic Mode' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fileupload/customdoc.ts b/apps/showcase/src/app/showcase/doc/fileupload/customdoc.ts
deleted file mode 100644
index 285db13986f..00000000000
--- a/apps/showcase/src/app/showcase/doc/fileupload/customdoc.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'file-upload-custom-demo',
- template: `
-
- FileUpload basic mode provides a simpler UI as an alternative to default advanced mode.
-
-
-
- `,
- providers: [MessageService]
-})
-export class CustomDoc {
- constructor(private messageService: MessageService) {}
-
- async customUploader(event) {
- const file = event.files[0];
- const reader = new FileReader();
- let blob = await fetch(file.objectURL).then((r) => r.blob()); //blob:url
-
- reader.readAsDataURL(blob);
-
- reader.onloadend = function () {
- const base64data = reader.result;
- };
-
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded with Basic Mode' });
- }
-
- code: Code = {
- basic: `
`,
- html: `
-
`,
- typescript: `
-import { Component, Input } from '@angular/core';
-import { MessageService } from 'primeng/api';
-
-@Component({
- selector: 'file-upload-custom-demo',
- templateUrl: './file-upload-custom-demo.html',
- providers: [MessageService]
-})
-export class CustomDoc {
-
- constructor(private messageService: MessageService) {}
-
- async customUploader(event) {
- const file = event.files[0];
- const reader = new FileReader();
- let blob = await fetch(file.objectURL).then((r) => r.blob()); //blob:url
-
- reader.readAsDataURL(blob);
-
- reader.onloadend = function () {
- const base64data = reader.result;
- };
-
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded with Basic Mode' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fileupload/importdoc.ts b/apps/showcase/src/app/showcase/doc/fileupload/importdoc.ts
deleted file mode 100644
index b9b45a73f39..00000000000
--- a/apps/showcase/src/app/showcase/doc/fileupload/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'file-upload-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { FileUpload } from 'primeng/fileupload';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fileupload/templatedoc.ts b/apps/showcase/src/app/showcase/doc/fileupload/templatedoc.ts
deleted file mode 100644
index 90bcc027794..00000000000
--- a/apps/showcase/src/app/showcase/doc/fileupload/templatedoc.ts
+++ /dev/null
@@ -1,478 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { MessageService, PrimeNGConfig } from 'primeng/api';
-
-@Component({
- selector: 'file-upload-template-demo',
- template: `
-
-
- Uploader UI is customizable using a ng-template called file that gets the File instance as the implicit variable. Second ng-template named content can be used to place custom
- content inside the content section which would be useful to implement a user interface to manage the uploaded files such as removing them. This template gets the selected files as the implicit variable. Third and final ng-template
- option is toolbar to display custom content at toolbar.
-
-
-
-
-
-
-
-
- {{ totalSize }}B / 1Mb
-
-
-
-
-
-
0">
-
Pending
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
0">
-
Completed
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
-
-
-
-
-
-
Drag and drop files to here to upload.
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class TemplateDoc {
- files = [];
-
- totalSize: number = 0;
-
- totalSizePercent: number = 0;
-
- constructor(
- private config: PrimeNGConfig,
- private messageService: MessageService
- ) {}
-
- choose(event, callback) {
- callback();
- }
-
- onRemoveTemplatingFile(event, file, removeFileCallback, index) {
- removeFileCallback(event, index);
- this.totalSize -= parseInt(this.formatSize(file.size));
- this.totalSizePercent = this.totalSize / 10;
- }
-
- onClearTemplatingUpload(clear) {
- clear();
- this.totalSize = 0;
- this.totalSizePercent = 0;
- }
-
- onTemplatedUpload() {
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded', life: 3000 });
- }
-
- onSelectedFiles(event) {
- this.files = event.currentFiles;
- this.files.forEach((file) => {
- this.totalSize += parseInt(this.formatSize(file.size));
- });
- this.totalSizePercent = this.totalSize / 10;
- }
-
- uploadEvent(callback) {
- callback();
- }
-
- formatSize(bytes) {
- const k = 1024;
- const dm = 3;
- const sizes = this.config.translation.fileSizeTypes;
- if (bytes === 0) {
- return `0 ${sizes[0]}`;
- }
-
- const i = Math.floor(Math.log(bytes) / Math.log(k));
- const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));
-
- return `${formattedSize} ${sizes[i]}`;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- {{ totalSize }}B / 1Mb
-
-
-
-
-
-
0">
-
Pending
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
0">
-
Completed
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
-
-
-
-
-
-
Drag and drop files to here to upload.
-
-
- `,
- html: `
-
-
-
-
-
-
- {{ totalSize }}B / 1Mb
-
-
-
-
-
-
0">
-
Pending
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
0">
-
Completed
-
-
-
-
-
-
{{ file.name }}
-
{{ formatSize(file.size) }}
-
-
-
-
-
-
-
-
-
-
-
-
Drag and drop files to here to upload.
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { MessageService, PrimeNGConfig} from 'primeng/api';
-import { FileUpload } from 'primeng/fileupload';
-import { ButtonModule } from 'primeng/button';
-import { CommonModule } from '@angular/common';
-import { BadgeModule } from 'primeng/badge';
-import { HttpClientModule } from '@angular/common/http';
-import { ProgressBar } from 'primeng/progressbar';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'file-upload-template-demo',
- templateUrl: './file-upload-template-demo.html',
- standalone: true,
- imports: [FileUpload, ButtonModule, BadgeModule, ProgressBar, ToastModule, HttpClientModule, CommonModule],
- providers: [MessageService]
-})
-export class FileUploadTemplateDemo {
- files = [];
-
- totalSize : number = 0;
-
- totalSizePercent : number = 0;
-
- constructor(private config: PrimeNGConfig, private messageService: MessageService) {}
-
- choose(event, callback) {
- callback();
- }
-
- onRemoveTemplatingFile(event, file, removeFileCallback, index) {
- removeFileCallback(event, index);
- this.totalSize -= parseInt(this.formatSize(file.size));
- this.totalSizePercent = this.totalSize / 10;
- }
-
- onClearTemplatingUpload(clear) {
- clear();
- this.totalSize = 0;
- this.totalSizePercent = 0;
- }
-
- onTemplatedUpload() {
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded', life: 3000 });
- }
-
- onSelectedFiles(event) {
- this.files = event.currentFiles;
- this.files.forEach((file) => {
- this.totalSize += parseInt(this.formatSize(file.size));
- });
- this.totalSizePercent = this.totalSize / 10;
- }
-
- uploadEvent(callback) {
- callback();
- }
-
- formatSize(bytes) {
- const k = 1024;
- const dm = 3;
- const sizes = this.config.translation.fileSizeTypes;
- if (bytes === 0) {
- return \`0 \${sizes[0]}\`;
- }
-
- const i = Math.floor(Math.log(bytes) / Math.log(k));
- const formattedSize = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));
-
- return \`\${formattedSize} \${sizes[i]}\`;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/filterservice/importdoc.ts b/apps/showcase/src/app/showcase/doc/filterservice/importdoc.ts
deleted file mode 100644
index 678299235ae..00000000000
--- a/apps/showcase/src/app/showcase/doc/filterservice/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filter-service-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { FilterService } from 'primeng/api';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/filterservice/usagedoc.ts b/apps/showcase/src/app/showcase/doc/filterservice/usagedoc.ts
deleted file mode 100644
index 8762a1ee16a..00000000000
--- a/apps/showcase/src/app/showcase/doc/filterservice/usagedoc.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'usage-doc',
- template: `
-
- FilterService needs to be injected into your component. Filters are accessed with FilterService.filters .
-
-
- `
-})
-export class UsageDoc {
- code: Code = {
- typescript: `export class FilterServiceDemo implements OnInit {
-
- constructor(private filterService: FilterService) {}
-
- ngOnInit() {
- const value = 'PrimeNG';
-
- this.filterService.filters.equals(value, 'NG'); //false
- this.filterService.filters.equals(value, 8); //false
- this.filterService.filters.equals(value, new Date()); //false
- this.filterService.filters.contains(value, 'NG'); //true
- this.filterService.filters.startsWith(value, 'NG'); //false
- this.filterService.filters.endsWith(value, 'NG'); //true
- this.filterService.filters.lt(10, 20); //true
- this.filterService.filters.gt(50, 20); //true
- this.filterService.filters.in(value, ['PrimeFaces', 'PrimeNG']); //true
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/floatlabel/basicdoc.ts b/apps/showcase/src/app/showcase/doc/floatlabel/basicdoc.ts
deleted file mode 100644
index 6e5717f9f82..00000000000
--- a/apps/showcase/src/app/showcase/doc/floatlabel/basicdoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- FloatLabel is used by wrapping the input and its label.
-
-
-
- `
-})
-export class BasicDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
- Username
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FloatLabelModule } from "primeng/floatlabel"
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'float-label-basic-demo',
- templateUrl: './float-label-basic-demo.html',
- standalone: true,
- imports: [FloatLabelModule, InputTextModule, FormsModule]
-})
-export class FloatLabelBasicDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/floatlabel/importdoc.ts b/apps/showcase/src/app/showcase/doc/floatlabel/importdoc.ts
deleted file mode 100644
index ac7be559c83..00000000000
--- a/apps/showcase/src/app/showcase/doc/floatlabel/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'float-label-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { FloatLabel } from 'primeng/floatlabel';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/floatlabel/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/floatlabel/invaliddoc.ts
deleted file mode 100644
index 876aa6026df..00000000000
--- a/apps/showcase/src/app/showcase/doc/floatlabel/invaliddoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- When the form element is invalid, the label is also highlighted.
-
-
-
- `
-})
-export class InvalidDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
- Username
-
-
-
-
- Username
-
-
-
-
- Username
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FloatLabelModule } from "primeng/floatlabel"
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'float-label-invalid-demo',
- templateUrl: './float-label-invalid-demo.html',
- standalone: true,
- imports: [FloatLabelModule, InputTextModule, FormsModule]
-})
-export class FloatLabelInvalidDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fluid/basicdoc.ts b/apps/showcase/src/app/showcase/doc/fluid/basicdoc.ts
deleted file mode 100644
index bde160486ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/fluid/basicdoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Components with the fluid option like InputText have the ability to span the full width of their component. Enabling the fluid for each component individually may be cumbersome so wrap the content with
- Fluid to instead for an easier alternative.
-
- Any component that has the fluid property can be nested inside the Fluid component. The fluid property of a child component has higher precedence than the fluid container as shown in the last sample.
-
-
-
- Non-Fluid
-
-
-
- Fluid Prop
-
-
-
- Fluid Container
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
- Non-Fluid
-
-
-
- Fluid Prop
-
-
-
- Fluid Container
-
- `,
-
- html: `
-
- Non-Fluid
-
-
-
- Fluid Prop
-
-
-
- Fluid Container
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Fluid } from 'primeng/fluid';
-
-@Component({
- selector: 'fluid-basic-demo',
- templateUrl: './fluid-basic-demo.html',
- standalone: true,
- imports: [Fluid]
-})
-export class FluidBasicDemo {
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/fluid/importdoc.ts b/apps/showcase/src/app/showcase/doc/fluid/importdoc.ts
deleted file mode 100644
index 0af50cc1f30..00000000000
--- a/apps/showcase/src/app/showcase/doc/fluid/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'fluid-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Fluid } from 'primeng/fluid';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/focustrap/basicdoc.ts b/apps/showcase/src/app/showcase/doc/focustrap/basicdoc.ts
deleted file mode 100644
index 34d7bf1ba4e..00000000000
--- a/apps/showcase/src/app/showcase/doc/focustrap/basicdoc.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'focus-trap-basic-demo',
- template: `
-
- FocusTrap is applied to a container element with the pFocusTrap directive.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
I agree to the terms and conditions.
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- name: string = '';
-
- email: string = '';
-
- accept: boolean = false;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
I agree to the terms and conditions.
-
-
-
-
`,
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
I agree to the terms and conditions.
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { FocusTrapModule } from 'primeng/focustrap';
-import { ButtonModule } from 'primeng/button';
-import { FormsModule } from '@angular/forms';
-import { InputTextModule } from 'primeng/inputtext';
-import { CheckboxModule } from 'primeng/checkbox';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputIconModule } from 'primeng/inputicon';
-import { AutoFocusModule } from 'primeng/autofocus';
-
-@Component({
- selector: 'focus-trap-basic-demo',
- templateUrl: './focus-trap-basic-demo.html',
- standalone: true,
- imports: [FocusTrapModule, ButtonModule, FormsModule, InputTextModule, CheckboxModule, IconFieldModule, InputIconModule, AutoFocusModule]
-})
-export class FocusTrapBasicDemo {
- name: string = '';
-
- email: string = '';
-
- accept: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/focustrap/importdoc.ts b/apps/showcase/src/app/showcase/doc/focustrap/importdoc.ts
deleted file mode 100644
index 6dda3db6fe3..00000000000
--- a/apps/showcase/src/app/showcase/doc/focustrap/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'focus-trap-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { FocusTrap } from 'primeng/focustrap';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/advanceddoc.ts b/apps/showcase/src/app/showcase/doc/galleria/advanceddoc.ts
deleted file mode 100644
index be80b70ff5a..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/advanceddoc.ts
+++ /dev/null
@@ -1,410 +0,0 @@
-import { isPlatformBrowser } from '@angular/common';
-import { ChangeDetectorRef, Component, Inject, OnDestroy, OnInit, PLATFORM_ID, ViewChild } from '@angular/core';
-import { Galleria } from 'primeng/galleria';
-import { Code } from '@domain/code';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-advanced-doc',
- template: `
-
- Galleria can be extended further to implement complex requirements.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class AdvancedDoc implements OnInit, OnDestroy {
- images: any[] | undefined;
-
- showThumbnails: boolean | undefined;
-
- fullscreen: boolean = false;
-
- activeIndex: number = 0;
-
- onFullScreenListener: any;
-
- @ViewChild('galleria') galleria: Galleria | undefined;
-
- constructor(
- @Inject(PLATFORM_ID) private platformId: any,
- private photoService: PhotoService,
- private cd: ChangeDetectorRef
- ) {}
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- this.bindDocumentListeners();
- }
-
- onThumbnailButtonClick() {
- this.showThumbnails = !this.showThumbnails;
- }
-
- toggleFullScreen() {
- if (this.fullscreen) {
- this.closePreviewFullScreen();
- } else {
- this.openPreviewFullScreen();
- }
-
- this.cd.detach();
- }
-
- openPreviewFullScreen() {
- let elem = this.galleria?.element.nativeElement.querySelector('.p-galleria');
- if (elem.requestFullscreen) {
- elem.requestFullscreen();
- } else if (elem['mozRequestFullScreen']) {
- /* Firefox */
- elem['mozRequestFullScreen']();
- } else if (elem['webkitRequestFullscreen']) {
- /* Chrome, Safari & Opera */
- elem['webkitRequestFullscreen']();
- } else if (elem['msRequestFullscreen']) {
- /* IE/Edge */
- elem['msRequestFullscreen']();
- }
- }
-
- onFullScreenChange() {
- this.fullscreen = !this.fullscreen;
- this.cd.detectChanges();
- this.cd.reattach();
- }
-
- closePreviewFullScreen() {
- if (isPlatformBrowser(this.platformId)) {
- if (document.exitFullscreen) {
- document.exitFullscreen();
- } else if (document['mozCancelFullScreen']) {
- document['mozCancelFullScreen']();
- } else if (document['webkitExitFullscreen']) {
- document['webkitExitFullscreen']();
- } else if (document['msExitFullscreen']) {
- document['msExitFullscreen']();
- }
- }
- }
-
- bindDocumentListeners() {
- if (isPlatformBrowser(this.platformId)) {
- this.onFullScreenListener = this.onFullScreenChange.bind(this);
- document.addEventListener('fullscreenchange', this.onFullScreenListener);
- document.addEventListener('mozfullscreenchange', this.onFullScreenListener);
- document.addEventListener('webkitfullscreenchange', this.onFullScreenListener);
- document.addEventListener('msfullscreenchange', this.onFullScreenListener);
- }
- }
-
- unbindDocumentListeners() {
- if (isPlatformBrowser(this.platformId)) {
- document.removeEventListener('fullscreenchange', this.onFullScreenListener);
- document.removeEventListener('mozfullscreenchange', this.onFullScreenListener);
- document.removeEventListener('webkitfullscreenchange', this.onFullScreenListener);
- document.removeEventListener('msfullscreenchange', this.onFullScreenListener);
- this.onFullScreenListener = null;
- }
- }
-
- ngOnDestroy() {
- this.unbindDocumentListeners();
- }
-
- galleriaClass() {
- return `custom-galleria ${this.fullscreen ? 'fullscreen' : ''}`;
- }
-
- fullScreenIcon() {
- return `pi ${this.fullscreen ? 'pi-window-minimize' : 'pi-window-maximize'}`;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
- `,
- typescript: `import { ChangeDetectorRef, Component, OnInit, OnDestroy, ViewChild, PLATFORM_ID, Inject } from '@angular/core';
-import { Galleria } from 'primeng/galleria';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-advanced-demo',
- templateUrl: './galleria-advanced-demo.html',
- styles: [
- \`:host ::ng-deep {
- .custom-galleria {
- &.p-galleria {
- &.fullscreen {
- display: flex;
- flex-direction: column;
-
- .p-galleria-content {
- flex-grow: 1;
- justify-content: center;
- }
- }
-
- .p-galleria-content {
- position: relative;
- }
-
- .p-galleria-thumbnail-wrapper {
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- }
-
- .p-galleria-thumbnail-items-container {
- width: 100%;
- }
-
- .custom-galleria-footer {
- display: flex;
- align-items: center;
- background-color: rgba(0, 0, 0, .9);
- color: #ffffff;
-
- > button {
- background-color: transparent;
- color: #ffffff;
- border: 0 none;
- border-radius: 0;
- margin: .2rem 0;
-
- &.fullscreen-button {
- margin-left: auto;
- }
-
- &:hover {
- background-color: rgba(255, 255, 255, 0.1);
- }
- }
- }
-
- .title-container {
- > span {
- font-size: .9rem;
- padding-left: .829rem;
-
- &.title {
- font-weight: bold;
- }
- }
- }
- }
- }
- }\`
- ],
- standalone: true,
- imports: [ButtonModule, GalleriaModule],
- providers: [PhotoService]
-})
-export class GalleriaAdvancedDemo implements OnInit, OnDestroy {
-
- images: any[] | undefined;
-
- showThumbnails: boolean | undefined;
-
- fullscreen: boolean = false;
-
- activeIndex: number = 0;
-
- onFullScreenListener: any;
-
- @ViewChild('galleria') galleria: Galleria | undefined;
-
- constructor(@Inject(PLATFORM_ID) private platformId: any, private photoService: PhotoService, private cd: ChangeDetectorRef) {}
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- this.bindDocumentListeners();
- }
-
- onThumbnailButtonClick() {
- this.showThumbnails = !this.showThumbnails;
- }
-
- toggleFullScreen() {
- if (this.fullscreen) {
- this.closePreviewFullScreen();
- } else {
- this.openPreviewFullScreen();
- }
-
- this.cd.detach();
- }
-
- openPreviewFullScreen() {
- let elem = this.galleria?.element.nativeElement.querySelector('.p-galleria');
- if (elem.requestFullscreen) {
- elem.requestFullscreen();
- } else if (elem['mozRequestFullScreen']) {
- /* Firefox */
- elem['mozRequestFullScreen']();
- } else if (elem['webkitRequestFullscreen']) {
- /* Chrome, Safari & Opera */
- elem['webkitRequestFullscreen']();
- } else if (elem['msRequestFullscreen']) {
- /* IE/Edge */
- elem['msRequestFullscreen']();
- }
- }
-
- onFullScreenChange() {
- this.fullscreen = !this.fullscreen;
- this.cd.detectChanges();
- this.cd.reattach();
- }
-
- closePreviewFullScreen() {
- if (document.exitFullscreen) {
- document.exitFullscreen();
- } else if (document['mozCancelFullScreen']) {
- document['mozCancelFullScreen']();
- } else if (document['webkitExitFullscreen']) {
- document['webkitExitFullscreen']();
- } else if (document['msExitFullscreen']) {
- document['msExitFullscreen']();
- }
- }
-
- bindDocumentListeners() {
- this.onFullScreenListener = this.onFullScreenChange.bind(this);
- document.addEventListener('fullscreenchange', this.onFullScreenListener);
- document.addEventListener('mozfullscreenchange', this.onFullScreenListener);
- document.addEventListener('webkitfullscreenchange', this.onFullScreenListener);
- document.addEventListener('msfullscreenchange', this.onFullScreenListener);
- }
-
- unbindDocumentListeners() {
- document.removeEventListener('fullscreenchange', this.onFullScreenListener);
- document.removeEventListener('mozfullscreenchange', this.onFullScreenListener);
- document.removeEventListener('webkitfullscreenchange', this.onFullScreenListener);
- document.removeEventListener('msfullscreenchange', this.onFullScreenListener);
- this.onFullScreenListener = null;
- }
-
- ngOnDestroy() {
- this.unbindDocumentListeners();
- }
-
- galleriaClass() {
- return \`custom-galleria \${this.fullscreen ? 'fullscreen' : ''}\`;
- }
-
- fullScreenIcon() {
- return \`pi \${this.fullscreen ? 'pi-window-minimize' : 'pi-window-maximize'}\`;
- }
-}`,
- data: `
-/* PhotoService */
-{
- itemImageSrc: 'https://primeng.org/images/galleria/galleria1.jpg',
- thumbnailImageSrc: 'https://primeng.org/images/galleria/galleria1s.jpg',
- alt: 'Description for Image 1',
- title: 'Title 1'
-},
-...`,
-
- service: ['PhotoService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/basicdoc.ts b/apps/showcase/src/app/showcase/doc/galleria/basicdoc.ts
deleted file mode 100644
index e08ecf70c24..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/basicdoc.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-basic-demo',
- template: `
-
- Galleria requires a value as a collection of images, item template for the higher resolution image and thumbnail template to display as a thumbnail.
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- images: any[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(private photoService: PhotoService) {}
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { PhotoService } from '@service/photoservice';
-import { GalleriaModule } from 'primeng/galleria';
-
-@Component({
- selector: 'galleria-basic-demo',
- templateUrl: './galleria-basic-demo.html',
- standalone: true,
- imports: [GalleriaModule],
- providers: [PhotoService]
-})
-export class GalleriaBasicDemo implements OnInit {
- images: any[] | undefined;
-
- responsiveOptions: any[] | undefined;
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- this.responsiveOptions = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
- }
-}`,
- data: `
-/* PhotoService */
-{
- itemImageSrc: 'https://primeng.org/images/galleria/galleria1.jpg',
- thumbnailImageSrc: 'https://primeng.org/images/galleria/galleria1s.jpg',
- alt: 'Description for Image 1',
- title: 'Title 1'
-},
-...`,
- service: ['PhotoService']
- };
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- this.responsiveOptions = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/galleria/controlleddoc.ts
deleted file mode 100644
index 81b0db20ac8..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/controlleddoc.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-controlled-demo',
- template: `
-
- Galleria can be controlled programmatically using the activeIndex property.
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class ControlledDoc implements OnInit {
- images: any[] | undefined;
-
- get activeIndex(): number {
- return this._activeIndex;
- }
-
- set activeIndex(newValue) {
- if (this.images && 0 <= newValue && newValue <= this.images.length - 1) {
- this._activeIndex = newValue;
- }
- }
-
- _activeIndex: number = 2;
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- }
-
- next() {
- this.activeIndex++;
- }
-
- prev() {
- this.activeIndex--;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { PhotoService } from '@service/photoservice';
-import { GalleriaModule } from 'primeng/galleria';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'galleria-controlled-demo',
- templateUrl: './galleria-controlled-demo.html',
- standalone: true,
- imports: [GalleriaModule, ButtonModule],
- providers: [PhotoService]
-})
-export class GalleriaControlledDemo implements OnInit {
- images: any[] | undefined;
-
- get activeIndex(): number {
- return this._activeIndex;
- }
-
- set activeIndex(newValue) {
- if (this.images && 0 <= newValue && newValue <= this.images.length - 1) {
- this._activeIndex = newValue;
- }
- }
-
- _activeIndex: number = 2;
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- }
-
- next() {
- this.activeIndex++;
- }
-
- prev() {
- this.activeIndex--;
- }
-}`,
- data: `
-/* PhotoService */
-{
- itemImageSrc: 'https://primeng.org/images/galleria/galleria1.jpg',
- thumbnailImageSrc: 'https://primeng.org/images/galleria/galleria1s.jpg',
- alt: 'Description for Image 1',
- title: 'Title 1'
-},
-...`,
- service: ['PhotoService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/importdoc.ts b/apps/showcase/src/app/showcase/doc/galleria/importdoc.ts
deleted file mode 100644
index dda1bc18383..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'galleria-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { GalleriaModule } from 'primeng/galleria';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/indicator/templatedoc.ts b/apps/showcase/src/app/showcase/doc/galleria/indicator/templatedoc.ts
deleted file mode 100644
index 1210026861d..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/indicator/templatedoc.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Indicator content can be customized with the indicator template.
-
-
-
-
-
-
-
-
- {{ index + 1 }}
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- images: any[] | undefined;
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => {
- this.images = images;
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- {{ index + 1 }}
-
-
- `,
- html: `
-
-
-
-
-
-
-
- {{index + 1}}
-
-
-
-
`,
- typescript: `
-import { Component, OnInit } from '@angular/core';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-indicator-template-demo',
- templateUrl: './galleria-indicator-template-demo.html'
-})
-export class GalleriaIndicatorTemplateDemo implements OnInit {
- images: any[] | undefined;
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => {
- this.images = images;
- });
- }
-}`,
- data: `
-/* PhotoService */
-{
- itemImageSrc: 'https://primeng.org/images/galleria/galleria1.jpg',
- thumbnailImageSrc: 'https://primeng.org/images/galleria/galleria1s.jpg',
- alt: 'Description for Image 1',
- title: 'Title 1'
-},
-...`,
- service: ['PhotoService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/galleria/responsivedoc.ts b/apps/showcase/src/app/showcase/doc/galleria/responsivedoc.ts
deleted file mode 100644
index b4472610800..00000000000
--- a/apps/showcase/src/app/showcase/doc/galleria/responsivedoc.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { PhotoService } from '@service/photoservice';
-
-@Component({
- selector: 'galleria-responsive-demo',
- template: `
-
- Galleria responsiveness is defined with the responsiveOptions property.
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class ResponsiveDoc implements OnInit {
- images: any[] | undefined;
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4
- },
- {
- breakpoint: '575px',
- numVisible: 1
- }
- ];
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { PhotoService } from '@service/photoservice';
-import { GalleriaModule } from 'primeng/galleria';
-
-@Component({
- selector: 'galleria-responsive-demo',
- templateUrl: './galleria-responsive-demo.html',
- standalone: true,
- imports: [GalleriaModule],
- providers: [PhotoService]
-})
-export class GalleriaResponsiveDemo implements OnInit {
- images: any[] | undefined;
-
- responsiveOptions: any[] = [
- {
- breakpoint: '1300px',
- numVisible: 4,
- },
- {
- breakpoint: '575px',
- numVisible: 1,
- },
- ];
-
-
- constructor(private photoService: PhotoService) {}
-
- ngOnInit() {
- this.photoService.getImages().then((images) => (this.images = images));
- }
-}`,
- data: `
-/* PhotoService */
-{
- itemImageSrc: 'https://primeng.org/images/galleria/galleria1.jpg',
- thumbnailImageSrc: 'https://primeng.org/images/galleria/galleria1s.jpg',
- alt: 'Description for Image 1',
- title: 'Title 1'
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/basicdoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/basicdoc.ts
deleted file mode 100644
index e961b6e794a..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/basicdoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- A group is created by wrapping the input and icon with the IconField component. Each icon is defined as a child of InputIcon component. In addition, position of the icon can be changed using iconPosition property
- that the default value is right and also left option is available.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputIcon } from 'primeng/inputicon';
-import { IconField } from 'primeng/iconfield';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'iconfield-basic-demo',
- templateUrl: './iconfield-basic-demo.html',
- standalone: true,
- imports: [InputIcon, IconField, InputTextModule, FormsModule]
-})
-export class IconfieldBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/floatlabeldoc.ts
deleted file mode 100644
index 8fb168051e3..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/floatlabeldoc.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'float-label-doc',
- template: `
-
- FloatLabel visually integrates a label with its form element. Visit FloatLabel documentation for more information.
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
- Over Label
-
-
-
-
-
-
-
- In Label
-
-
-
-
-
-
-
- On Label
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputIconModule } from 'primeng/inputicon';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-import { FloatLabelModule } from 'primeng/floatlabel';
-
-@Component({
- selector: 'iconfield-float-label-demo',
- templateUrl: './iconfield-float-label-demo.html',
- standalone: true,
- imports: [InputIconModule, IconFieldModule, InputTextModule, FloatLabelModule, FormsModule]
-})
-export class IconFieldFloatLabelDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/iftalabeldoc.ts
deleted file mode 100644
index 966c9d2b390..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/iftalabeldoc.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'ifta-label-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
- Username
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputIconModule } from 'primeng/inputicon';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'iconfield-ifta-label-demo',
- templateUrl: './iconfield-ifta-label-demo.html',
- standalone: true,
- imports: [InputIconModule, IconFieldModule, InputTextModule, IftaLabelModule, FormsModule]
-})
-export class IconFieldIftaLabelDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/importdoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/importdoc.ts
deleted file mode 100644
index a69a1ad0b56..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/importdoc.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icon-field-import-doc',
- template: `
`
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { IconField } from 'primeng/iconfield';
-import { InputIcon } from 'primeng/inputicon';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/sizesdoc.ts
deleted file mode 100644
index 8102402f803..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/sizesdoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
-
- A group is created by wrapping the input and icon with the IconField component. Each icon is defined as a child of InputIcon component. In addition, position of the icon can be changed using iconPosition property
- that the default value is right and also left option is available.
-
-
-
-
- `
-})
-export class SizesDoc {
- value1 = null;
-
- value2 = null;
-
- value3 = null;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputIcon } from 'primeng/inputicon';
-import { IconField } from 'primeng/iconfield';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'iconfield-sizes-demo',
- templateUrl: './iconfield-sizes-demo.html',
- standalone: true,
- imports: [InputIcon, IconField, InputTextModule, FormsModule]
-})
-export class IconfieldSizesDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iconfield/templatedoc.ts b/apps/showcase/src/app/showcase/doc/iconfield/templatedoc.ts
deleted file mode 100644
index ed763e14cfa..00000000000
--- a/apps/showcase/src/app/showcase/doc/iconfield/templatedoc.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- An eye icon is displayed by default when the image is hovered in preview mode. Use the indicator template for custom content.
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- `,
-
- html: `
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputIcon } from 'primeng/inputicon';
-import { IconField } from 'primeng/iconfield';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'iconfield-template-demo',
- templateUrl: './iconfield-template-demo.html',
- standalone: true,
- imports: [InputIcon, IconField, InputTextModule, FormsModule]
-})
-export class IconFieldTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/basicdoc.ts b/apps/showcase/src/app/showcase/doc/icons/basicdoc.ts
deleted file mode 100644
index d25787f85b2..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/basicdoc.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- PrimeIcons use the pi pi-{icon} syntax such as pi pi-check . A standalone icon can be displayed using an element such as i or span
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
-
-
`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/colordoc.ts b/apps/showcase/src/app/showcase/doc/icons/colordoc.ts
deleted file mode 100644
index a4de5bef825..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/colordoc.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-doc',
- template: `
-
- Icon color is defined with the color property which is inherited from parent by default.
-
-
-
-
-
-
-
-
- `
-})
-export class ColorDoc {
- code: Code = {
- basic: `
-
-
-
`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/downloaddoc.ts b/apps/showcase/src/app/showcase/doc/icons/downloaddoc.ts
deleted file mode 100644
index 5d5d9b004ab..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/downloaddoc.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'download-doc',
- template: `
-
- PrimeIcons is available at npm, run the following command to download it to your project.
-
-
- `
-})
-export class DownloadDoc {
- code: Code = {
- command: `npm install primeicons`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/importdoc.ts b/apps/showcase/src/app/showcase/doc/icons/importdoc.ts
deleted file mode 100644
index 359df959afa..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/importdoc.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'import-doc',
- template: `
-
- CSS file of the icon library needs to be imported in styles.scss of your application.
-
-
- `
-})
-export class ImportDoc {
- code: Code = {
- scss: `@import "primeicons/primeicons.css";`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/listdoc.ts b/apps/showcase/src/app/showcase/doc/icons/listdoc.ts
deleted file mode 100644
index 910a07bb824..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/listdoc.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { Component } from '@angular/core';
-import { default as IconData } from '@data/icons.json';
-
-@Component({
- selector: 'list-doc',
- template: `
-
-
- Here is the full list of PrimeIcons. More icons will be added periodically and you may also
- request new icons at the issue tracker.
-
-
-
-
-
-
-
-
-
-
pi-{{ icon.properties.name }}
-
-
-
- `
-})
-export class ListDoc {
- icons: any;
-
- filteredIcons: any[];
-
- selectedIcon: any;
-
- ngOnInit() {
- this.icons = IconData.icons.sort((icon1, icon2) => {
- if (icon1.properties.name < icon2.properties.name) return -1;
- else if (icon1.properties.name < icon2.properties.name) return 1;
- else return 0;
- });
- this.filteredIcons = IconData.icons;
- }
-
- onFilter(event: KeyboardEvent): void {
- let searchText = (
event.target).value;
- let sanitizedInput = searchText?.replace(/[^\w\s]/gi, '').replace(/\s/g, '');
-
- if (!searchText) {
- this.filteredIcons = this.icons;
- } else {
- this.filteredIcons = this.icons.filter((icon) => {
- return (
- icon.icon.tags.some((tag) =>
- tag
- .replace(/[^\w\s]/gi, '')
- .replace(/\s/g, '')
- .includes(sanitizedInput.toLowerCase())
- ) ||
- icon.properties.name
- .replace(/[^\w\s]/gi, '')
- .replace(/\s/g, '')
- .toLowerCase()
- .includes(sanitizedInput.toLowerCase())
- );
- });
- }
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/icons/sizedoc.ts b/apps/showcase/src/app/showcase/doc/icons/sizedoc.ts
deleted file mode 100644
index be156b12348..00000000000
--- a/apps/showcase/src/app/showcase/doc/icons/sizedoc.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'size-doc',
- template: `
-
- Size of an icon is controlled with the font-size property of the element.
-
-
-
-
-
-
-
-
- `
-})
-export class SizeDoc {
- code: Code = {
- basic: `
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iftalabel/basicdoc.ts b/apps/showcase/src/app/showcase/doc/iftalabel/basicdoc.ts
deleted file mode 100644
index 5eae6d2cafd..00000000000
--- a/apps/showcase/src/app/showcase/doc/iftalabel/basicdoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- IftaLabel is used by wrapping the input and its label.
-
-
-
- `
-})
-export class BasicDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
- Username
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { IftaLabelModule } from 'primeng/iftalabel';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'ifta-label-basic-demo',
- templateUrl: './ifta-label-basic-demo.html',
- standalone: true,
- imports: [IftaLabelModule, InputTextModule, FormsModule]
-})
-export class IftaLabelBasicDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iftalabel/importdoc.ts b/apps/showcase/src/app/showcase/doc/iftalabel/importdoc.ts
deleted file mode 100644
index 7cdf6a160a9..00000000000
--- a/apps/showcase/src/app/showcase/doc/iftalabel/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'ifta-label-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { IftaLabelModule } from 'primeng/iftalabel';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/iftalabel/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/iftalabel/invaliddoc.ts
deleted file mode 100644
index 4ca22784116..00000000000
--- a/apps/showcase/src/app/showcase/doc/iftalabel/invaliddoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- When the form element is invalid, the label is also highlighted.
-
-
-
- `
-})
-export class InvalidDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
- Username
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { IftaLabelModule } from 'primeng/iftalabel';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'ifta-label-invalid-demo',
- templateUrl: './ifta-label-invalid-demo.html',
- standalone: true,
- imports: [IftaLabelModule, InputTextModule, FormsModule]
-})
-export class IftaLabelInvalidDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inplace/basicdoc.ts b/apps/showcase/src/app/showcase/doc/inplace/basicdoc.ts
deleted file mode 100644
index debf831154a..00000000000
--- a/apps/showcase/src/app/showcase/doc/inplace/basicdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Inplace component requires display and content templates to define the content of each state.
-
-
-
-
- View Content
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- View Content
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
-
- `,
- html: `
-
-
- View Content
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { InplaceModule } from 'primeng/inplace';
-
-@Component({
- selector: 'inplace-basic-demo',
- templateUrl: './inplace-basic-demo.html',
- standalone: true,
- imports: [InplaceModule]
-})
-export class InplaceBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inplace/imagedoc.ts b/apps/showcase/src/app/showcase/doc/inplace/imagedoc.ts
deleted file mode 100644
index 7a5059ce77b..00000000000
--- a/apps/showcase/src/app/showcase/doc/inplace/imagedoc.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'image-doc',
- template: `
-
- Any content such as an image can be placed inside an Inplace.
-
-
-
-
-
-
- View Photo
-
-
-
-
-
-
-
-
- `
-})
-export class ImageDoc {
- code: Code = {
- basic: `
-
-
-
- View Photo
-
-
-
-
-
- `,
- html: `
-
-
-
-
- View Photo
-
-
-
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { InplaceModule } from 'primeng/inplace';
-
-@Component({
- selector: 'inplace-image-demo',
- templateUrl: './inplace-image-demo.html',
- standalone: true,
- imports: [InplaceModule]
-})
-export class InplaceImageDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inplace/importdoc.ts b/apps/showcase/src/app/showcase/doc/inplace/importdoc.ts
deleted file mode 100644
index 4a5275aa383..00000000000
--- a/apps/showcase/src/app/showcase/doc/inplace/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'inplace-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { InplaceModule } from 'primeng/inplace';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inplace/inputdoc.ts b/apps/showcase/src/app/showcase/doc/inplace/inputdoc.ts
deleted file mode 100644
index 97e79147c9d..00000000000
--- a/apps/showcase/src/app/showcase/doc/inplace/inputdoc.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-doc',
- template: `
-
-
- Inplace can be used within a form to display a value as read only before making it editable. The
- closable property adds a close button next to the content to switch back to read only mode.
-
-
-
-
- `
-})
-export class InputDoc {
- code: Code = {
- basic: `
-
- Click to Edit
-
-
-
-
-
-
-
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { InplaceModule } from 'primeng/inplace';
-import { InputTextModule } from 'primeng/inputtext';
-import { AutoFocusModule } from 'primeng/autofocus';
-
-@Component({
- selector: 'inplace-input-demo',
- templateUrl: './inplace-input-demo.html',
- standalone: true,
- imports: [InplaceModule, InputTextModule, AutoFocusModule]
-})
-export class InplaceInputDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inplace/lazydoc.ts b/apps/showcase/src/app/showcase/doc/inplace/lazydoc.ts
deleted file mode 100644
index b3ed9100450..00000000000
--- a/apps/showcase/src/app/showcase/doc/inplace/lazydoc.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'lazy-doc',
- template: `
-
- Using the onActivate event, data can be loaded in a lazy manner before displaying it in a table.
-
-
-
-
- View Data
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
-
-
-
- `
-})
-export class LazyDoc {
- products: Product[] | undefined;
-
- constructor(private productService: ProductService) {}
-
- code: Code = {
- basic: `
-
- View Data
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
- `,
- html: `
-
-
- View Data
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { InplaceModule } from 'primeng/inplace';
-import { TableModule } from 'primeng/table';
-
-@Component({
- selector: 'inplace-lazy-demo',
- templateUrl: './inplace-lazy-demo.html',
- standalone: true,
- imports: [InplaceModule, TableModule],
- providers: [ProductService]
-})
-export class InplaceLazyDemo {
- products: Product[] | undefined;
-
- constructor(private productService: ProductService) {}
-
- loadData() {
- this.productService.getProductsMini().then((products) => (this.products = products));
- }
-}`,
- data: `
-/* ProductService */
-{
-id: '1000',
-code: 'f230fh0g3',
-name: 'Bamboo Watch',
-description: 'Product Description',
-image: 'bamboo-watch.jpg',
-price: 65,
-category: 'Accessories',
-quantity: 24,
-inventoryStatus: 'INSTOCK',
-rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- loadData() {
- this.productService.getProductsMini().then((products) => (this.products = products));
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
-id?: string;
-code?: string;
-name?: string;
-description?: string;
-price?: number;
-quantity?: number;
-inventoryStatus?: string;
-category?: string;
-image?: string;
-rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/basicdoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/basicdoc.ts
deleted file mode 100644
index 55e2d8db8c9..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/basicdoc.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-@Component({
- selector: 'basic-doc',
- template: `
-
- A group is created by wrapping the input and add-ons with the p-inputgroup component. Each add-on element is defined as a child of p-inputgroup-addon component.
-
-
-
- `
-})
-export class BasicDoc {
- text1: string | undefined;
-
- text2: string | undefined;
-
- number: string | undefined;
-
- selectedCity: City | undefined;
-
- cities: City[] = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- $
-
- .00
-
-
-
- www
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroupModule } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { InputTextModule } from 'primeng/inputtext';
-import { SelectModule } from 'primeng/select';
-import { InputNumberModule } from 'primeng/inputnumber';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'input-group-basic-demo',
- templateUrl: './input-group-basic-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroupModule, InputGroupAddonModule, InputTextModule, SelectModule, InputNumberModule]
-})
-export class InputGroupBasicDemo {
- text1: string | undefined;
-
- text2: string | undefined;
-
- number: string | undefined;
-
- selectedCity: City | undefined;
-
- cities: City[] = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/buttondoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/buttondoc.ts
deleted file mode 100644
index bb2a4ce1b74..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/buttondoc.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { MenuItem } from 'primeng/api';
-
-@Component({
- selector: 'button-doc',
- template: `
-
- Buttons can be placed at either side of an input element.
-
-
-
- `
-})
-export class ButtonDoc {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [{ label: 'Web Search' }, { label: 'AI Assistant' }, { label: 'History' }];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroup } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { InputTextModule } from 'primeng/inputtext';
-import { ButtonModule } from 'primeng/button';
-import { MenuModule } from 'primeng/menu';
-import { MenuItem } from 'primeng/api';
-
-@Component({
- selector: 'input-group-button-demo',
- templateUrl: './input-group-button-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroup, InputGroupAddonModule, InputTextModule, ButtonModule, MenuModule]
-})
-export class InputGroupButtonDemo {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [{ label: 'Web Search' }, { label: 'AI Assistant' }, { label: 'History' }];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/checkboxdoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/checkboxdoc.ts
deleted file mode 100644
index c47418cda33..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/checkboxdoc.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'checkbox-doc',
- template: `
-
- Checkbox and RadioButton components can be combined with an input element under the same group.
-
-
-
- `
-})
-export class CheckboxDoc {
- radioValue1: boolean = false;
-
- checked1: boolean = false;
-
- checked2: boolean = false;
-
- category: string | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroup } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { InputTextModule } from 'primeng/inputtext';
-import { Checkbox } from 'primeng/checkbox';
-import { RadioButton } from 'primeng/radiobutton';
-
-@Component({
- selector: 'input-group-checkbox-demo',
- templateUrl: './input-group-checkbox-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroup, InputGroupAddonModule, InputTextModule, Checkbox, RadioButton]
-})
-export class InputGroupCheckboxDemo {
- radioValue1: boolean = false;
-
- checked1: boolean = false;
-
- checked2: boolean = false;
-
- category: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/floatlabeldoc.ts
deleted file mode 100644
index 03346b41742..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/floatlabeldoc.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'float-label-doc',
- template: `
-
-
- FloatLabel visually integrates a label with its form element. Visit
- FloatLabel documentation for more information.
-
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
-
-
-
-
- Over Label
-
-
-
-
- $
-
-
- In Label
-
- .00
-
-
-
- www
-
-
- On Label
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroupModule } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { InputTextModule } from 'primeng/inputtext';
-import { InputNumberModule } from 'primeng/inputnumber';
-import { FloatLabelModule } from 'primeng/floatlabel';
-
-@Component({
- selector: 'input-group-float-label-demo',
- templateUrl: './input-group-float-label-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroupModule, InputGroupAddonModule, InputTextModule, FloatLabelModule]
-})
-export class InputGroupFloatLabelDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/iftalabeldoc.ts
deleted file mode 100644
index 49932544961..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/iftalabeldoc.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'ifta-label-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
-
-
-
-
-
- Price
-
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: number = 10;
-
- code: Code = {
- basic: `
-
-
-
-
-
- Price
-
- `,
-
- html: `
-
-
-
-
-
-
- Price
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroupModule } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { SelectModule } from 'primeng/select';
-import { IftaLabelModule } from 'primeng/iftalabel';
-import { InputNumberModule } from 'primeng/inputnumber';
-
-@Component({
- selector: 'input-group-ifta-label-demo',
- templateUrl: './input-group-ifta-label-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroupModule, InputGroupAddonModule, IftaLabelModule , InputNumberModule]
-})
-export class InputGroupIftaLabelDemo {
- value: number = 10;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/importdoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/importdoc.ts
deleted file mode 100644
index c0b2860af29..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/importdoc.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-group-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { InputGroup } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputgroup/multipledoc.ts b/apps/showcase/src/app/showcase/doc/inputgroup/multipledoc.ts
deleted file mode 100644
index e63f7474afa..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputgroup/multipledoc.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
- Multiple add-ons can be placed inside the same group.
-
-
-
- `
-})
-export class MultipleDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- $
- .00
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { InputGroup } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'input-group-multiple-demo',
- templateUrl: './input-group-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, InputGroup, InputGroupAddonModule, InputTextModule]
-})
-export class InputGroupMultipleDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/accessibilitydoc.ts
deleted file mode 100644
index 931b39ef5f5..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/accessibilitydoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-mask-accessibility-doc',
- template: `
-
- Screen Reader
-
- InputMask component renders a native input element that implicitly includes any passed prop. Value to describe the component can either be provided via label tag combined with id prop or using ariaLabelledBy ,
- ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Date
-
-
-Phone
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/basicdoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/basicdoc.ts
deleted file mode 100644
index 288df86857d..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- InputMask is used as a controlled input with ngModel properties.
-
-
-
- `
-})
-export class BasicDoc {
- value: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-mask-basic-demo',
- templateUrl: './input-mask-basic-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask]
-})
-export class InputMaskBasicDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/disableddoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/disableddoc.ts
deleted file mode 100644
index 9be0be3dfb1..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- value: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-mask-disabled-demo',
- templateUrl: './input-mask-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask]
-})
-export class InputMaskDisabledDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/filleddoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/filleddoc.ts
deleted file mode 100644
index ef8a9d1ea05..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- value: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-mask-filled-demo',
- templateUrl: './input-mask-filled-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask]
-})
-export class InputMaskFilledDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/floatlabeldoc.ts
deleted file mode 100644
index 360122074e6..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/floatlabeldoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
- FloatLabel visually integrates a label with its form element. Visit FloatLabel documentation for more information.
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatlabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-import { FloatLabel } from "primeng/floatlabel"
-
-@Component({
- selector: 'input-mask-floatlabel-demo',
- templateUrl: './input-mask-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask, FloatLabel]
-})
-export class InputMaskFloatlabelDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/iftalabeldoc.ts
deleted file mode 100644
index c2bc65e168a..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/iftalabeldoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
- SSN
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMaskModule } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'input-mask-iftalabel-demo',
- templateUrl: './input-mask-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, InputMaskModule, IftaLabelModule]
-})
-export class InputMaskIftaLabelDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/importdoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/importdoc.ts
deleted file mode 100644
index 49c112524d6..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-mask-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { InputMask } from 'primeng/inputmask';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/invaliddoc.ts
deleted file mode 100644
index 219615f4cc8..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- value: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-mask-invalid-demo',
- templateUrl: './input-mask-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask]
-})
-export class InputMaskInvalidDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/maskdoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/maskdoc.ts
deleted file mode 100644
index 1309f46e830..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/maskdoc.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-mask-mask-demo',
- template: `
-
-
- Mask format can be a combination of the following definitions; a for alphabetic characters, 9 for numeric characters and * for alphanumberic characters. In addition, formatting characters like ( ,
- ) , - are also accepted.
-
-
-
-
-
-
-
-
- `
-})
-export class MaskDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `SSN
-
-Phone
-
-Serial Number
- `,
-
- html: `
-
-
-
- `,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-import { Fluid } from 'primeng/fluid';
-
-@Component({
- selector: 'input-mask-mask-demo',
- templateUrl: './input-mask-mask-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask, Fluid]
-})
-export class InputMaskMaskDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/reactiveformsdoc.ts
deleted file mode 100644
index 1cecb0481cf..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/reactiveformsdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- InputMask can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { InputMask } from 'primeng/inputmask';
-
-@Component({
- selector: 'input-mask-reactive-forms-demo',
- templateUrl: './input-mask-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, InputMask]
-})
-export class InputMaskReactiveFormsDemo implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputmask/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/inputmask/sizesdoc.ts
deleted file mode 100644
index 6d6a9fed688..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputmask/sizesdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- InputMask provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputMask } from 'primeng/inputmask';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-mask-sizes-demo',
- templateUrl: './input-mask-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, InputMask]
-})
-export class InputMaskSizesDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/accessibilitydoc.ts
deleted file mode 100644
index 2fd3600e346..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/accessibilitydoc.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-number-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided via label tag combined with inputId prop or using ariaLabelledBy , ariaLabel props. The input element uses spinbutton role in addition to the
- aria-valuemin , aria-valuemax and aria-valuenow attributes.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input.
-
-
-
- up arrow
-
- Increments the value.
-
-
-
- down arrow
-
- Decrements the value.
-
-
-
- home
-
- Set the minimum value if provided.
-
-
-
- end
-
- Set the maximum value if provided.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Price
-
-
-Number
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/disableddoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/disableddoc.ts
deleted file mode 100644
index a29166acf57..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- value1: number = 50;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-number-disabled-demo',
- templateUrl: './input-number-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber]
-})
-export class InputNumberDisabledDemo {
- value1: number = 50;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/filleddoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/filleddoc.ts
deleted file mode 100644
index c50d1402ad2..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- value1!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-number-filled-demo',
- templateUrl: './input-number-filled-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber]
-})
-export class InputNumberFilledDemo {
- value1!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/floatlabeldoc.ts
deleted file mode 100644
index f40d41013d8..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/floatlabeldoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'float-label-doc',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatlabelDoc {
- value1: number | undefined;
-
- value2: number | undefined;
-
- value3: number | undefined;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: 'input-number-float-label-demo',
- templateUrl: './input-number-float-label-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber, FloatLabel]
-})
-export class InputNumberFloatLabelDemo {
- value1: number | undefined;
-
- value2: number | undefined;
-
- value3: number | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/iftalabeldoc.ts
deleted file mode 100644
index 511625e2228..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/iftalabeldoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'ifta-label-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: number | undefined;
-
- code: Code = {
- basic: `
-
- Price
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumberModule } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'input-number-ifta-label-demo',
- templateUrl: './input-number-ifta-label-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumberModule, IftaLabelModule]
-})
-export class InputNumberIftaLabelDemo {
- value: number | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/importdoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/importdoc.ts
deleted file mode 100644
index fef09ed5c3b..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-number-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { InputNumber } from 'primeng/inputnumber';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/invaliddoc.ts
deleted file mode 100644
index 49149eaf673..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- value1!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-number-invalid-demo',
- templateUrl: './input-number-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber]
-})
-export class InputNumberInvalidDemo {
- value1!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/localedoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/localedoc.ts
deleted file mode 100644
index c81cad53368..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/localedoc.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'locale-doc',
- template: `
-
- Localization information such as grouping and decimal symbols are defined with the locale property which defaults to the user locale.
-
-
-
-
-
United States Locale
-
-
-
-
-
-
- `
-})
-export class LocaleDoc {
- value1: number = 151351;
-
- value2: number = 115744;
-
- value3: number = 635524;
-
- value4: number = 732762;
-
- code: Code = {
- basic: `
-
-
- `,
-
- html: `
-
-
-
- United States Locale
-
-
-
-
-
- `,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-import { Fluid } from 'primeng/fluid';
-
-@Component({
- selector: 'input-number-locale-demo',
- templateUrl: './input-number-locale-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber, Fluid]
-})
-export class InputNumberLocaleDemo {
- value1: number = 151351;
-
- value2: number = 115744;
-
- value3: number = 635524;
-
- value4: number = 732762;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/reactiveformsdoc.ts
deleted file mode 100644
index c77fe79abca..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- InputNumber can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(1234)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { InputNumber } from 'primeng/inputnumber';
-
-@Component({
- selector: 'input-number-reactive-forms-demo',
- templateUrl: './input-number-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, InputNumber],
-})
-export class InputNumberReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(1234)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/sizesdoc.ts
deleted file mode 100644
index ad6ceaa9fb0..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/sizesdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- InputNumber provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1!: number;
-
- value2!: number;
-
- value3!: number;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-number-sizes-demo',
- templateUrl: './input-number-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber]
-})
-export class InputNumberSizesDemo {
- value1!: number;
-
- value2!: number;
-
- value3!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputnumber/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/inputnumber/verticaldoc.ts
deleted file mode 100644
index a4045f42b9a..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputnumber/verticaldoc.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Buttons can also placed vertically by setting buttonLayout as vertical .
-
-
-
- `
-})
-export class VerticalDoc {
- value1: number = 50;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputNumber } from 'primeng/inputnumber';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-number-vertical-demo',
- templateUrl: './input-number-vertical-demo.html',
- standalone: true,
- imports: [FormsModule, InputNumber]
-})
-export class InputNumberVerticalDemo {
- value1: number = 50;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputotp/basicdoc.ts b/apps/showcase/src/app/showcase/doc/inputotp/basicdoc.ts
deleted file mode 100644
index 9d408dea83f..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputotp/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way value binding is defined using ngModel . The number of characters is defined with the length property, which is set to 4 by default.
-
-
-
- `
-})
-export class BasicDoc {
- value: any;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputOtp } from 'primeng/inputotp';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-otp-basic-demo',
- templateUrl: './input-otp-basic-demo.html',
- standalone: true,
- imports: [FormsModule, InputOtp]
-})
-export class InputOtpBasicDemo {
- value : any
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputotp/importdoc.ts b/apps/showcase/src/app/showcase/doc/inputotp/importdoc.ts
deleted file mode 100644
index cf736d46a25..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputotp/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-otp-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { InputOtp } from 'primeng/inputotp';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputotp/maskdoc.ts b/apps/showcase/src/app/showcase/doc/inputotp/maskdoc.ts
deleted file mode 100644
index 18b7a4b1783..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputotp/maskdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'mask-doc',
- template: `
-
- Enable the mask option to hide the values in the input fields.
-
-
-
- `
-})
-export class MaskDoc {
- value: any;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputOtp } from 'primeng/inputotp';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-otp-mask-demo',
- templateUrl: './input-otp-mask-demo.html',
- standalone: true,
- imports: [FormsModule, InputOtp]
-})
-export class InputOtpMaskDemo {
- value: any;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputotp/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/inputotp/sizesdoc.ts
deleted file mode 100644
index a87bca77b6d..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputotp/sizesdoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- InputOtp provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1: any;
-
- value2: any;
-
- value3: any;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputOtp } from 'primeng/inputotp';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-otp-sizes-demo',
- templateUrl: './input-otp-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, InputOtp]
-})
-export class InputOtpSizesDemo {
- value : any
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputotp/templatedoc.ts b/apps/showcase/src/app/showcase/doc/inputotp/templatedoc.ts
deleted file mode 100644
index ec25811cdcc..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputotp/templatedoc.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Define a template with your own UI elements with bindings to the provided events and attributes to replace the default design.
-
-
-
- `,
- styles: [
- `
- .custom-otp-input {
- width: 40px;
- font-size: 36px;
- border: 0 none;
- appearance: none;
- text-align: center;
- transition: all 0.2s;
- background: transparent;
- border-bottom: 2px solid var(--p-inputtext-border-color);
- border-radius: 0px;
- }
-
- .custom-otp-input:focus {
- outline: 0 none;
- border-bottom-color: var(--p-primary-color);
- }
- `
- ]
-})
-export class TemplateDoc {
- value: any;
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputOtpModule } from 'primeng/inputotp';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-otp-template-demo',
- templateUrl: './input-otp-template-demo.html',
- standalone: true,
- imports: [FormsModule, InputOtpModule],
- styles: [
- \`
- .custom-otp-input {
- width: 40px;
- font-size: 36px;
- border: 0 none;
- appearance: none;
- text-align: center;
- transition: all 0.2s;
- background: transparent;
- border-bottom: 2px solid var(--p-inputtext-border-color);
- border-radius: 0px;
- }
-
- .custom-otp-input:focus {
- outline: 0 none;
- border-bottom-color: var(--p-primary-color);
- }
- \`
- ],
-})
-
-export class InputOtpTemplateDemo {
- value: any;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/accessibilitydoc.ts
deleted file mode 100644
index 605f8b658ca..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/accessibilitydoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-text-accessibility-doc',
- template: `
-
- Screen Reader
-
- InputText component renders a native input element that implicitly includes any passed prop. Value to describe the component can either be provided via label tag combined with id prop or using aria-labelledby ,
- aria-label props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Firstname
-
-
-Lastname
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/basicdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/basicdoc.ts
deleted file mode 100644
index 9397bbd8234..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- InputText is used as a controlled input with ngModel property.
-
-
-
-
-
- `
-})
-export class BasicDoc {
- value: string;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-text-basic-demo',
- templateUrl: './input-text-basic-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule]
-})
-export class InputTextBasicDemo {
- value: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/disableddoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/disableddoc.ts
deleted file mode 100644
index 17685197783..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
-
-
- `
-})
-export class DisabledDoc {
- value: string | undefined = 'Disabled';
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-text-disabled-demo',
- templateUrl: './input-text-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule]
-})
-export class InputTextDisabledDemo {
- value: string | undefined = "Disabled"
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/filleddoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/filleddoc.ts
deleted file mode 100644
index 3ecc0d69f82..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
-
-
- `
-})
-export class FilledDoc {
- value: string;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-text-filled-demo',
- templateUrl: './input-text-filled-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule]
-})
-export class InputTextFilledDemo {
- value: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/floatlabeldoc.ts
deleted file mode 100644
index e811d1412f9..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/floatlabeldoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
-
- FloatLabel visually integrates a label with its form element. Visit
- FloatLabel documentation for more information.
-
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: 'input-text-floatlabel-demo',
- templateUrl: './input-text-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule, FloatLabel]
-})
-export class InputTextFloatlabelDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/iconsdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/iconsdoc.ts
deleted file mode 100644
index 2c7e1f00de9..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/iconsdoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icons-doc',
- template: `
-
-
- Icons can be placed inside an input element by wrapping both the input and the icon with an element that has either
- .p-input-icon-left or p-input-icon-right class.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class IconsDoc {
- value: string | undefined;
-
- value2: string | undefined;
-
- code: Code = {
- basic: `
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'input-text-icons-demo',
- templateUrl: './input-text-icons-demo.html'
-})
-export class InputTextIconsDemo {
- value: string | undefined;
-
- value2: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/iftalabeldoc.ts
deleted file mode 100644
index 73e753e5864..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/iftalabeldoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: string | undefined;
-
- code: Code = {
- basic: `
-
- Username
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'input-text-iftalabel-demo',
- templateUrl: './input-text-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule, IftaLabelModule]
-})
-export class InputTextIftaLabelDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/importdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/importdoc.ts
deleted file mode 100644
index f90e2626e8e..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/importdoc.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-text-import-doc',
- template: ` `
-})
-export class ImportDoc {
- value1: string;
-
- code: Code = {
- typescript: `import { InputTextModule } from 'primeng/inputtext';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/invaliddoc.ts
deleted file mode 100644
index 07cbd4abf86..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
-
-
- `
-})
-export class InvalidDoc {
- value: string | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-text-invalid-demo',
- templateUrl: './input-text-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule]
-})
-export class InputTextInvalidDemo {
- value: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/keyfilterdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/keyfilterdoc.ts
deleted file mode 100644
index 55edfdcd929..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/keyfilterdoc.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'key-filter-doc',
- template: `
-
- InputText has built-in key filtering support to block certain keys, refer to keyfilter page for more information.
-
-
-
-
-
- `
-})
-export class KeyFilterDoc {
- value: number | undefined;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
-
`,
-
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'input-text-key-filter-demo',
- templateUrl: './input-text-key-filter-demo.html'
-})
-export class InputTextKeyFilterDemo {
- value: number | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/reactiveformsdoc.ts
deleted file mode 100644
index ac28dcadc84..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/reactiveformsdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- InputText can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'input-text-reactive-forms-demo',
- templateUrl: './input-text-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, InputTextModule]
-})
-export class InputTextReactiveFormsDemo implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/inputtext/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/inputtext/sizesdoc.ts
deleted file mode 100644
index 658ab655b18..00000000000
--- a/apps/showcase/src/app/showcase/doc/inputtext/sizesdoc.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- InputText provides small and large sizes as alternatives to the standard.
-
-
-
-
-
-
-
- `
-})
-export class SizesDoc {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-
- code: Code = {
- basic: `
-
- `,
-
- html: `
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'input-text-sizes-demo',
- templateUrl: './input-text-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextModule]
-})
-export class InputTextSizesDemo {
- value1: string | undefined;
-
- value2: string | undefined;
-
- value3: string | undefined;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/installation/animationsdoc.ts b/apps/showcase/src/app/showcase/doc/installation/animationsdoc.ts
deleted file mode 100644
index 6da7148fbdc..00000000000
--- a/apps/showcase/src/app/showcase/doc/installation/animationsdoc.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'animations-doc',
- template: `
-
-
- Various components utilize Angular animations to enhance the user experience. To enable animations in your application, you must import the BrowserAnimationsModule . If you prefer to disable animations globally, you can import
- NoopAnimationsModule instead.
-
- Starting from Angular 17, you can also use the provideAnimationsAsync function for configuring animations in a more efficient way, especially in larger applications where optimizing load times is crucial.
-
-
-
- `
-})
-export class AnimationsDoc {
- code: Code = {
- typescript: `// app.config.ts
-import { ApplicationConfig } from '@angular/core';
-import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
-
-export const appConfig: ApplicationConfig = {
- providers: [
- // Other providers...
- provideAnimationsAsync(),
- ],
-};`
- };
-
- code2: Code = {
- typescript: `// main.ts
-import {bootstrapApplication} from '@angular/platform-browser';
-import {appConfig} from './app/app.config';
-import {AppComponent} from './app/app.component';
-
-bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));
-`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/installation/downloaddoc.ts b/apps/showcase/src/app/showcase/doc/installation/downloaddoc.ts
deleted file mode 100644
index b5567bf14ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/installation/downloaddoc.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'download-doc',
- template: `
-
- PrimeNG is available for download on the npm registry.
-
-
- `
-})
-export class DownloadDoc {
- code: Code = {
- command: `npm install primeng`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/keyfilter/importdoc.ts b/apps/showcase/src/app/showcase/doc/keyfilter/importdoc.ts
deleted file mode 100644
index ccb254081e0..00000000000
--- a/apps/showcase/src/app/showcase/doc/keyfilter/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'key-filter-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { KeyFilter } from 'primeng/keyfilter';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/keyfilter/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/keyfilter/reactiveformsdoc.ts
deleted file mode 100644
index bdda00d16cf..00000000000
--- a/apps/showcase/src/app/showcase/doc/keyfilter/reactiveformsdoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- KeyFilter can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- Integer
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(1234)
- });
- }
-
- code: Code = {
- basic: `
- Integer
-
- `,
-
- html: `
-
- Integer
-
-
-`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'key-filter-reactive-forms-demo',
- templateUrl: './key-filter-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, InputTextModule]
-})
-export class KeyFilterReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(1234)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/knob/accessibilitydoc.ts
deleted file mode 100644
index f38a4dfa765..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/accessibilitydoc.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'knob-accessibility-doc',
- template: `
-
- Screen Reader
-
- Knob element component uses slider role in addition to the aria-valuemin , aria-valuemax and aria-valuenow attributes. Value to describe the component can be defined using ariaLabelledBy and
- ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the slider.
-
-
-
-
- left arrow
- down arrow
-
-
- Decrements the value.
-
-
-
-
- right arrow
- up arrow
-
-
- Increments the value.
-
-
-
- home
-
- Set the minimum value.
-
-
-
- end
-
- Set the maximum value.
-
-
-
- page up
-
- Increments the value by 10 steps.
-
-
-
- page down
-
- Decrements the value by 10 steps.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Number
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/basicdoc.ts b/apps/showcase/src/app/showcase/doc/knob/basicdoc.ts
deleted file mode 100644
index 5416cffa2ed..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Knob is an input component and used with the standard ngModel directive.
-
-
-
- `
-})
-export class BasicDoc {
- value!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-basic-demo',
- templateUrl: './knob-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobBasicDemo {
- value!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/colordoc.ts b/apps/showcase/src/app/showcase/doc/knob/colordoc.ts
deleted file mode 100644
index b983b83a722..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/colordoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'color-doc',
- template: `
-
- Colors are customized with the textColor , rangeColor and valueColor properties.
-
-
-
- `
-})
-export class ColorDoc {
- value: number = 50;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-color-demo',
- templateUrl: './knob-color-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobColorDemo {
- value: number = 50;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/disableddoc.ts b/apps/showcase/src/app/showcase/doc/knob/disableddoc.ts
deleted file mode 100644
index 80a6c16d817..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, a visual hint is applied to indicate that the Knob cannot be interacted with.
-
-
-
- `
-})
-export class DisabledDoc {
- value: number = 75;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-disabled-demo',
- templateUrl: './knob-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobDisabledDemo {
- value: number = 75;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/importdoc.ts b/apps/showcase/src/app/showcase/doc/knob/importdoc.ts
deleted file mode 100644
index ab542c5f6e7..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'knob-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Knob } from 'primeng/knob';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/minmaxdoc.ts b/apps/showcase/src/app/showcase/doc/knob/minmaxdoc.ts
deleted file mode 100644
index 83a06e3bfc8..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/minmaxdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'min-max-doc',
- template: `
-
- Boundaries are configured with the min and max properties whose defaults are 0 and 100 respectively.
-
-
-
- `
-})
-export class MinMaxDoc {
- value: number = 10;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-min-max-demo',
- templateUrl: './knob-min-max-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobMinMaxDemo {
- value: number = 10;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/knob/reactiveformsdoc.ts
deleted file mode 100644
index 703e8a78f43..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Knob can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(32)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-reactive-forms-demo',
- templateUrl: './knob-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Knob]
-})
-export class KnobReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(32)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/readonlydoc.ts b/apps/showcase/src/app/showcase/doc/knob/readonlydoc.ts
deleted file mode 100644
index ccbec77055d..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/readonlydoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'readonly-doc',
- template: `
-
- When readonly present, value cannot be edited.
-
-
-
- `
-})
-export class ReadonlyDoc {
- value: number = 50;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-readonly-demo',
- templateUrl: './knob-readonly-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobReadonlyDemo {
- value: number = 50;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/sizedoc.ts b/apps/showcase/src/app/showcase/doc/knob/sizedoc.ts
deleted file mode 100644
index ddf201fd91f..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/sizedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'size-doc',
- template: `
-
- Diameter of the knob is defined in pixels using the size property.
-
-
-
- `
-})
-export class SizeDoc {
- value: number = 60;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-size-demo',
- templateUrl: './knob-size-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobSizeDemo {
- value: number = 60;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/stepdoc.ts b/apps/showcase/src/app/showcase/doc/knob/stepdoc.ts
deleted file mode 100644
index 0ee8ae54384..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/stepdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'step-doc',
- template: `
-
- Size of each movement is defined with the step property.
-
-
-
- `
-})
-export class StepDoc {
- value!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-step-demo',
- templateUrl: './knob-step-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobStepDemo {
- value!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/knob/templatedoc.ts b/apps/showcase/src/app/showcase/doc/knob/templatedoc.ts
deleted file mode 100644
index 408ee5c4ffb..00000000000
--- a/apps/showcase/src/app/showcase/doc/knob/templatedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Label is a string template that can be customized with the valueTemplate property having 60 as the placeholder .
-
-
-
- `
-})
-export class TemplateDoc {
- value: number = 60;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Knob } from 'primeng/knob';
-
-@Component({
- selector: 'knob-template-demo',
- templateUrl: './knob-template-demo.html',
- standalone: true,
- imports: [FormsModule, Knob]
-})
-export class KnobTemplateDemo {
- value: number = 60;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/listbox/accessibilitydoc.ts
deleted file mode 100644
index 28cb9c8a4b5..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/accessibilitydoc.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'listbox-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can be provided ariaLabelledBy or ariaLabel props. The list element has a listbox role with the aria-multiselectable attribute that sets to true when multiple selection is
- enabled. Each list item has an option role with aria-selected and aria-disabled as their attributes.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the first selected option, if there is none then first option receives the focus.
-
-
-
- up arrow
-
- Moves focus to the previous option.
-
-
-
- down arrow
-
- Moves focus to the next option.
-
-
-
- enter
-
- Toggles the selected state of the focused option.
-
-
-
- space
-
- Toggles the selected state of the focused option.
-
-
-
- home
-
- Moves focus to the first option.
-
-
-
- end
-
- Moves focus to the last option.
-
-
- shift + down arrow
- Moves focus to the next option and toggles the selection state.
-
-
- shift + up arrow
- Moves focus to the previous option and toggles the selection state.
-
-
- shift + space
- Selects the items between the most recently selected option and the focused option.
-
-
- control + shift + home
- Selects the focused options and all the options up to the first one.
-
-
- control + shift + end
- Selects the focused options and all the options down to the last one.
-
-
- control + a
- Selects all options.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/basicdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/basicdoc.ts
deleted file mode 100644
index 72557069168..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/basicdoc.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Listbox is used as a controlled component with ngModel property along with an options collection. Label and value of an option are defined with the optionLabel and optionValue properties respectively.
- Default property name for the optionLabel is label and value for the optionValue . If optionValue is omitted and the object has no value property, the object itself becomes the value of an
- option. Note that, when options are simple primitive values such as a string array, no optionLabel and optionValue would be necessary.
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-basic-demo',
- templateUrl: './listbox-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxBasicDemo implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/checkmarkdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/checkmarkdoc.ts
deleted file mode 100644
index c40032fe2fb..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/checkmarkdoc.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'checkmark-doc',
- template: `
-
- An alternative way to highlight the selected option is displaying a checkmark instead.
-
-
-
- `
-})
-export class CheckmarkDoc implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ListboxModule } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-checkmark-demo',
- templateUrl: './listbox-checkmark-demo.html',
- standalone: true,
- imports: [FormsModule, ListboxModule]
-})
-export class ListboxCheckmarkDemo implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/disableddoc.ts b/apps/showcase/src/app/showcase/doc/listbox/disableddoc.ts
deleted file mode 100644
index 197f0affbac..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/disableddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-disabled-demo',
- templateUrl: './listbox-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxDisabledDemo implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/filterdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/filterdoc.ts
deleted file mode 100644
index 748b7409e90..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/filterdoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'filter-doc',
- template: `
-
- ListBox provides built-in filtering that is enabled by adding the filter property.
-
-
-
- `
-})
-export class FilterDoc implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-filter-demo',
- templateUrl: './listbox-filter-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxFilterDemo implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/groupdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/groupdoc.ts
deleted file mode 100644
index 20314493fff..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/groupdoc.ts
+++ /dev/null
@@ -1,161 +0,0 @@
-import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface Country {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'group-doc',
- template: `
-
- Options can be grouped when a nested data structures is provided.
-
-
-
-
-
-
-
{{ group.label }}
-
-
-
-
-
- `
-})
-export class GroupDoc {
- groupedCities!: SelectItemGroup[];
-
- selectedCountry!: Country;
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ group.label }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ group.label }}
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { FormsModule } from '@angular/forms';
-import { ListboxModule } from 'primeng/listbox';
-
-interface Country {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-group-demo',
- templateUrl: './listbox-group-demo.html',
- standalone: true,
- imports: [FormsModule, ListboxModule]
-})
-export class ListboxGroupDemo {
- groupedCities!: SelectItemGroup[];
-
- selectedCountry!: Country;
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/importdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/importdoc.ts
deleted file mode 100644
index b033b865197..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'listbox-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Listbox } from 'primeng/listbox';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/listbox/invaliddoc.ts
deleted file mode 100644
index 1ccaa8bc361..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/invaliddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'listbox-invalid-demo',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, ngOnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-invalid-demo',
- templateUrl: './listbox-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxInvalidDemo implements OnInit {
- cities!: City[];
-
- selectedCity!: City;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/multipledoc.ts b/apps/showcase/src/app/showcase/doc/listbox/multipledoc.ts
deleted file mode 100644
index 2ac9a494bbd..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/multipledoc.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
-
- ListBox allows choosing a single item by default, enable multiple property to choose more than one. When the optional metaKeySelection is present, behavior is changed in a way that selecting a new item requires meta key
- to be present.
-
-
-
-
- `
-})
-export class MultipleDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-multiple-demo',
- templateUrl: './listbox-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxMultipleDemo implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/listbox/reactiveformsdoc.ts
deleted file mode 100644
index 2a4fb0e2e9a..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/reactiveformsdoc.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Listbox can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- cities!: City[];
-
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: `
-
- `,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-reactive-forms-demo',
- templateUrl: './listbox-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Listbox]
-})
-export class ListboxReactiveFormsDemo implements OnInit {
- cities!: City[];
-
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/templatedoc.ts b/apps/showcase/src/app/showcase/doc/listbox/templatedoc.ts
deleted file mode 100644
index 09a325d1d37..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/templatedoc.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface Country {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Custom content for an option is displayed with the pTemplate property that takes an option as a parameter.
-
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- countries!: Country[];
-
- selectedCountry!: Country;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ country.name }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ country.name }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ListboxModule } from 'primeng/listbox';
-
-interface Country {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'listbox-template-demo',
- templateUrl: './listbox-template-demo.html',
- standalone: true,
- imports: [FormsModule, ListboxModule]
-})
-export class ListboxTemplateDemo implements OnInit {
- countries!: Country[];
-
- selectedCountry!: Country;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/listbox/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/listbox/virtualscrolldoc.ts
deleted file mode 100644
index c2e43a0d1ff..00000000000
--- a/apps/showcase/src/app/showcase/doc/listbox/virtualscrolldoc.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'virtual-scroll-doc',
- template: `
-
-
- VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance
- issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
-
-
-
-
- `
-})
-export class VirtualScrollDoc {
- items = Array.from({ length: 100000 }, (_, i) => ({ label: `Item #${i}`, value: i }));
-
- selectedItems!: any[];
-
- selectAll: boolean = false;
-
- onSelectAllChange(event) {
- this.selectedItems = event.checked ? [...this.items] : [];
- this.selectAll = event.checked;
- }
-
- onChange(event) {
- const { value } = event;
- if (value) this.selectAll = value.length === this.items.length;
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Listbox } from 'primeng/listbox';
-
-@Component({
- selector: 'listbox-virtual-scroll-demo',
- templateUrl: './listbox-virtual-scroll-demo.html',
- standalone: true,
- imports: [FormsModule, Listbox]
-})
-export class ListboxVirtualScrollDemo {
- items = Array.from({ length: 100000 }, (_, i) => ({ label: \`Item #\${i}\`, value: i }))
-
- selectedItems!: any[];
-
- selectAll = false;
-
- onSelectAllChange(event) {
- this.selectedItems = event.checked ? [...this.items] : [];
- this.selectAll = event.checked;
- event.updateModel(this.selectedItems, event.originalEvent)
- }
-
- onChange(event) {
- const { originalEvent, value } = event
- if(value) this.selectAll = value.length === this.items.length;
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/basicdoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/basicdoc.ts
deleted file mode 100644
index d06d5843a80..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/basicdoc.ts
+++ /dev/null
@@ -1,270 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- MegaMenu requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Furniture',
- icon: 'pi pi-box',
- items: [
- [
- {
- label: 'Living Room',
- items: [{ label: 'Accessories' }, { label: 'Armchair' }, { label: 'Coffee Table' }, { label: 'Couch' }, { label: 'TV Stand' }]
- }
- ],
- [
- {
- label: 'Kitchen',
- items: [{ label: 'Bar stool' }, { label: 'Chair' }, { label: 'Table' }]
- },
- {
- label: 'Bathroom',
- items: [{ label: 'Accessories' }]
- }
- ],
- [
- {
- label: 'Bedroom',
- items: [{ label: 'Bed' }, { label: 'Chaise lounge' }, { label: 'Cupboard' }, { label: 'Dresser' }, { label: 'Wardrobe' }]
- }
- ],
- [
- {
- label: 'Office',
- items: [{ label: 'Bookcase' }, { label: 'Cabinet' }, { label: 'Chair' }, { label: 'Desk' }, { label: 'Executive Chair' }]
- }
- ]
- ]
- },
- {
- label: 'Electronics',
- icon: 'pi pi-mobile',
- items: [
- [
- {
- label: 'Computer',
- items: [{ label: 'Monitor' }, { label: 'Mouse' }, { label: 'Notebook' }, { label: 'Keyboard' }, { label: 'Printer' }, { label: 'Storage' }]
- }
- ],
- [
- {
- label: 'Home Theater',
- items: [{ label: 'Projector' }, { label: 'Speakers' }, { label: 'TVs' }]
- }
- ],
- [
- {
- label: 'Gaming',
- items: [{ label: 'Accessories' }, { label: 'Console' }, { label: 'PC' }, { label: 'Video Games' }]
- }
- ],
- [
- {
- label: 'Appliances',
- items: [{ label: 'Coffee Machine' }, { label: 'Fridge' }, { label: 'Oven' }, { label: 'Vaccum Cleaner' }, { label: 'Washing Machine' }]
- }
- ]
- ]
- },
- {
- label: 'Sports',
- icon: 'pi pi-clock',
- items: [
- [
- {
- label: 'Football',
- items: [{ label: 'Kits' }, { label: 'Shoes' }, { label: 'Shorts' }, { label: 'Training' }]
- }
- ],
- [
- {
- label: 'Running',
- items: [{ label: 'Accessories' }, { label: 'Shoes' }, { label: 'T-Shirts' }, { label: 'Shorts' }]
- }
- ],
- [
- {
- label: 'Swimming',
- items: [{ label: 'Kickboard' }, { label: 'Nose Clip' }, { label: 'Swimsuits' }, { label: 'Paddles' }]
- }
- ],
- [
- {
- label: 'Tennis',
- items: [{ label: 'Balls' }, { label: 'Rackets' }, { label: 'Shoes' }, { label: 'Training' }]
- }
- ]
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { MegaMenu } from 'primeng/megamenu';
-
-@Component({
- selector: 'mega-menu-basic-demo',
- templateUrl: './mega-menu-basic-demo.html',
- standalone: true,
- imports: [MegaMenu]
-})
-export class MegaMenuBasicDemo implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Furniture',
- icon: 'pi pi-box',
- items: [
- [
- {
- label: 'Living Room',
- items: [
- { label: 'Accessories' },
- { label: 'Armchair' },
- { label: 'Coffee Table' },
- { label: 'Couch' },
- { label: 'TV Stand' },
- ],
- },
- ],
- [
- {
- label: 'Kitchen',
- items: [{ label: 'Bar stool' }, { label: 'Chair' }, { label: 'Table' }],
- },
- {
- label: 'Bathroom',
- items: [{ label: 'Accessories' }],
- },
- ],
- [
- {
- label: 'Bedroom',
- items: [
- { label: 'Bed' },
- { label: 'Chaise lounge' },
- { label: 'Cupboard' },
- { label: 'Dresser' },
- { label: 'Wardrobe' },
- ],
- },
- ],
- [
- {
- label: 'Office',
- items: [
- { label: 'Bookcase' },
- { label: 'Cabinet' },
- { label: 'Chair' },
- { label: 'Desk' },
- { label: 'Executive Chair' },
- ],
- },
- ],
- ],
- },
- {
- label: 'Electronics',
- icon: 'pi pi-mobile',
- items: [
- [
- {
- label: 'Computer',
- items: [
- { label: 'Monitor' },
- { label: 'Mouse' },
- { label: 'Notebook' },
- { label: 'Keyboard' },
- { label: 'Printer' },
- { label: 'Storage' },
- ],
- },
- ],
- [
- {
- label: 'Home Theater',
- items: [{ label: 'Projector' }, { label: 'Speakers' }, { label: 'TVs' }],
- },
- ],
- [
- {
- label: 'Gaming',
- items: [{ label: 'Accessories' }, { label: 'Console' }, { label: 'PC' }, { label: 'Video Games' }],
- },
- ],
- [
- {
- label: 'Appliances',
- items: [
- { label: 'Coffee Machine' },
- { label: 'Fridge' },
- { label: 'Oven' },
- { label: 'Vaccum Cleaner' },
- { label: 'Washing Machine' },
- ],
- },
- ],
- ],
- },
- {
- label: 'Sports',
- icon: 'pi pi-clock',
- items: [
- [
- {
- label: 'Football',
- items: [{ label: 'Kits' }, { label: 'Shoes' }, { label: 'Shorts' }, { label: 'Training' }],
- },
- ],
- [
- {
- label: 'Running',
- items: [{ label: 'Accessories' }, { label: 'Shoes' }, { label: 'T-Shirts' }, { label: 'Shorts' }],
- },
- ],
- [
- {
- label: 'Swimming',
- items: [{ label: 'Kickboard' }, { label: 'Nose Clip' }, { label: 'Swimsuits' }, { label: 'Paddles' }],
- },
- ],
- [
- {
- label: 'Tennis',
- items: [{ label: 'Balls' }, { label: 'Rackets' }, { label: 'Shoes' }, { label: 'Training' }],
- },
- ],
- ],
- },
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/commanddoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/commanddoc.ts
deleted file mode 100644
index fd5b4a2b9a3..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/commanddoc.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'command-doc',
- template: `
-
- The command property of a menuitem defines the callback to run when an item is activated by click or a key event.
-
-
- `
-})
-export class CommandDoc {
- code: Code = {
- basic: `{
- label: 'Log out',
- icon: 'pi pi-signout',
- command: () => {
- // Callback to run
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/importdoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/importdoc.ts
deleted file mode 100644
index b9e52dc5a73..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'mega-menu-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { MegaMenu } from 'primeng/megamenu';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/routerdoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/routerdoc.ts
deleted file mode 100644
index ac2469c65fd..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/routerdoc.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'router-doc',
- template: `
-
- Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.
-
-
- `
-})
-export class RouterDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/templatedoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/templatedoc.ts
deleted file mode 100644
index be2836ca741..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/templatedoc.ts
+++ /dev/null
@@ -1,347 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Custom content can be placed between p-megamenu tags. Megamenu should be horizontal for custom content.
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Company',
- root: true,
- items: [
- [
- {
- items: [
- { label: 'Features', icon: 'pi pi-list', subtext: 'Subtext of item' },
- { label: 'Customers', icon: 'pi pi-users', subtext: 'Subtext of item' },
- { label: 'Case Studies', icon: 'pi pi-file', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [
- { label: 'Solutions', icon: 'pi pi-shield', subtext: 'Subtext of item' },
- { label: 'Faq', icon: 'pi pi-question', subtext: 'Subtext of item' },
- { label: 'Library', icon: 'pi pi-search', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [
- { label: 'Community', icon: 'pi pi-comments', subtext: 'Subtext of item' },
- { label: 'Rewards', icon: 'pi pi-star', subtext: 'Subtext of item' },
- { label: 'Investors', icon: 'pi pi-globe', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [
- {
- image: 'https://primefaces.org/cdn/primeng/images/uikit/uikit-system.png',
- label: 'GET STARTED',
- subtext: 'Build spectacular apps in no time.'
- }
- ]
- }
- ]
- ]
- },
- {
- label: 'Resources',
- root: true
- },
- {
- label: 'Contact',
- root: true
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- {{ item.label }}
- {{ item.subtext }}
-
-
-
-
-
{{ item.subtext }}
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { MegaMenu } from 'primeng/megamenu';
-import { ButtonModule } from 'primeng/button';
-import { CommonModule } from '@angular/common';
-import { AvatarModule } from 'primeng/avatar';
-
-
-@Component({
- selector: 'mega-menu-template-demo',
- templateUrl: './mega-menu-template-demo.html',
- standalone: true,
- imports: [MegaMenu, ButtonModule, CommonModule, AvatarModule]
-})
-export class MegaMenuTemplateDemo implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Company',
- root: true,
- items: [
- [
- {
- items: [
- { label: 'Features', icon: 'pi pi-list', subtext: 'Subtext of item' },
- { label: 'Customers', icon: 'pi pi-users', subtext: 'Subtext of item' },
- { label: 'Case Studies', icon: 'pi pi-file', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [
- { label: 'Solutions', icon: 'pi pi-shield', subtext: 'Subtext of item' },
- { label: 'Faq', icon: 'pi pi-question', subtext: 'Subtext of item' },
- { label: 'Library', icon: 'pi pi-search', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [
- { label: 'Community', icon: 'pi pi-comments', subtext: 'Subtext of item' },
- { label: 'Rewards', icon: 'pi pi-star', subtext: 'Subtext of item' },
- { label: 'Investors', icon: 'pi pi-globe', subtext: 'Subtext of item' }
- ]
- }
- ],
- [
- {
- items: [{ image: 'https://primefaces.org/cdn/primeng/images/uikit/uikit-system.png', label: 'GET STARTED', subtext: 'Build spectacular apps in no time.' }]
- }
- ]
- ]
- },
- {
- label: 'Resources',
- root: true
- },
- {
- label: 'Contact',
- root: true
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/megamenu/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/megamenu/verticaldoc.ts
deleted file mode 100644
index d4cba187f07..00000000000
--- a/apps/showcase/src/app/showcase/doc/megamenu/verticaldoc.ts
+++ /dev/null
@@ -1,270 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Layout of the MegaMenu is changed with the orientation property that accepts horizontal and vertical as options.
-
-
-
- `
-})
-export class VerticalDoc implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Furniture',
- icon: 'pi pi-box',
- items: [
- [
- {
- label: 'Living Room',
- items: [{ label: 'Accessories' }, { label: 'Armchair' }, { label: 'Coffee Table' }, { label: 'Couch' }, { label: 'TV Stand' }]
- }
- ],
- [
- {
- label: 'Kitchen',
- items: [{ label: 'Bar stool' }, { label: 'Chair' }, { label: 'Table' }]
- },
- {
- label: 'Bathroom',
- items: [{ label: 'Accessories' }]
- }
- ],
- [
- {
- label: 'Bedroom',
- items: [{ label: 'Bed' }, { label: 'Chaise lounge' }, { label: 'Cupboard' }, { label: 'Dresser' }, { label: 'Wardrobe' }]
- }
- ],
- [
- {
- label: 'Office',
- items: [{ label: 'Bookcase' }, { label: 'Cabinet' }, { label: 'Chair' }, { label: 'Desk' }, { label: 'Executive Chair' }]
- }
- ]
- ]
- },
- {
- label: 'Electronics',
- icon: 'pi pi-mobile',
- items: [
- [
- {
- label: 'Computer',
- items: [{ label: 'Monitor' }, { label: 'Mouse' }, { label: 'Notebook' }, { label: 'Keyboard' }, { label: 'Printer' }, { label: 'Storage' }]
- }
- ],
- [
- {
- label: 'Home Theater',
- items: [{ label: 'Projector' }, { label: 'Speakers' }, { label: 'TVs' }]
- }
- ],
- [
- {
- label: 'Gaming',
- items: [{ label: 'Accessories' }, { label: 'Console' }, { label: 'PC' }, { label: 'Video Games' }]
- }
- ],
- [
- {
- label: 'Appliances',
- items: [{ label: 'Coffee Machine' }, { label: 'Fridge' }, { label: 'Oven' }, { label: 'Vaccum Cleaner' }, { label: 'Washing Machine' }]
- }
- ]
- ]
- },
- {
- label: 'Sports',
- icon: 'pi pi-clock',
- items: [
- [
- {
- label: 'Football',
- items: [{ label: 'Kits' }, { label: 'Shoes' }, { label: 'Shorts' }, { label: 'Training' }]
- }
- ],
- [
- {
- label: 'Running',
- items: [{ label: 'Accessories' }, { label: 'Shoes' }, { label: 'T-Shirts' }, { label: 'Shorts' }]
- }
- ],
- [
- {
- label: 'Swimming',
- items: [{ label: 'Kickboard' }, { label: 'Nose Clip' }, { label: 'Swimsuits' }, { label: 'Paddles' }]
- }
- ],
- [
- {
- label: 'Tennis',
- items: [{ label: 'Balls' }, { label: 'Rackets' }, { label: 'Shoes' }, { label: 'Training' }]
- }
- ]
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MegaMenuItem } from 'primeng/api';
-import { MegaMenu } from 'primeng/megamenu';
-
-@Component({
- selector: 'mega-menu-vertical-demo',
- templateUrl: './mega-menu-vertical-demo.html',
- standalone: true,
- imports: [MegaMenu]
-})
-export class MegaMenuVerticalDemo implements OnInit {
- items: MegaMenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Furniture',
- icon: 'pi pi-box',
- items: [
- [
- {
- label: 'Living Room',
- items: [
- { label: 'Accessories' },
- { label: 'Armchair' },
- { label: 'Coffee Table' },
- { label: 'Couch' },
- { label: 'TV Stand' },
- ],
- },
- ],
- [
- {
- label: 'Kitchen',
- items: [{ label: 'Bar stool' }, { label: 'Chair' }, { label: 'Table' }],
- },
- {
- label: 'Bathroom',
- items: [{ label: 'Accessories' }],
- },
- ],
- [
- {
- label: 'Bedroom',
- items: [
- { label: 'Bed' },
- { label: 'Chaise lounge' },
- { label: 'Cupboard' },
- { label: 'Dresser' },
- { label: 'Wardrobe' },
- ],
- },
- ],
- [
- {
- label: 'Office',
- items: [
- { label: 'Bookcase' },
- { label: 'Cabinet' },
- { label: 'Chair' },
- { label: 'Desk' },
- { label: 'Executive Chair' },
- ],
- },
- ],
- ],
- },
- {
- label: 'Electronics',
- icon: 'pi pi-mobile',
- items: [
- [
- {
- label: 'Computer',
- items: [
- { label: 'Monitor' },
- { label: 'Mouse' },
- { label: 'Notebook' },
- { label: 'Keyboard' },
- { label: 'Printer' },
- { label: 'Storage' },
- ],
- },
- ],
- [
- {
- label: 'Home Theater',
- items: [{ label: 'Projector' }, { label: 'Speakers' }, { label: 'TVs' }],
- },
- ],
- [
- {
- label: 'Gaming',
- items: [{ label: 'Accessories' }, { label: 'Console' }, { label: 'PC' }, { label: 'Video Games' }],
- },
- ],
- [
- {
- label: 'Appliances',
- items: [
- { label: 'Coffee Machine' },
- { label: 'Fridge' },
- { label: 'Oven' },
- { label: 'Vaccum Cleaner' },
- { label: 'Washing Machine' },
- ],
- },
- ],
- ],
- },
- {
- label: 'Sports',
- icon: 'pi pi-clock',
- items: [
- [
- {
- label: 'Football',
- items: [{ label: 'Kits' }, { label: 'Shoes' }, { label: 'Shorts' }, { label: 'Training' }],
- },
- ],
- [
- {
- label: 'Running',
- items: [{ label: 'Accessories' }, { label: 'Shoes' }, { label: 'T-Shirts' }, { label: 'Shorts' }],
- },
- ],
- [
- {
- label: 'Swimming',
- items: [{ label: 'Kickboard' }, { label: 'Nose Clip' }, { label: 'Swimsuits' }, { label: 'Paddles' }],
- },
- ],
- [
- {
- label: 'Tennis',
- items: [{ label: 'Balls' }, { label: 'Rackets' }, { label: 'Shoes' }, { label: 'Training' }],
- },
- ],
- ],
- },
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/basicdoc.ts b/apps/showcase/src/app/showcase/doc/menu/basicdoc.ts
deleted file mode 100644
index 35300528674..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/basicdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Menu requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- { label: 'New', icon: 'pi pi-plus' },
- { label: 'Search', icon: 'pi pi-search' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menu } from 'primeng/menu';
-
-@Component({
- selector: 'menu-basic-demo',
- templateUrl: './menu-basic-demo.html',
- standalone: true,
- imports: [Menu]
-})
-export class MenuBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- { label: 'New', icon: 'pi pi-plus' },
- { label: 'Search', icon: 'pi pi-search' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/commanddoc.ts b/apps/showcase/src/app/showcase/doc/menu/commanddoc.ts
deleted file mode 100644
index 16b9e4bdd6c..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/commanddoc.ts
+++ /dev/null
@@ -1,105 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'command-doc',
- template: `
-
- The function to invoke when an item is clicked is defined using the command property.
-
-
-
- `,
- providers: [MessageService]
-})
-export class CommandDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.delete();
- }
- }
- ];
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Search Completed', detail: 'No results found', life: 3000 });
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Menu } from 'primeng/menu';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'menu-command-demo',
- templateUrl: './menu-command-demo.html',
- standalone: true,
- imports: [Menu, ToastModule],
- providers: [MessageService]
-})
-export class MenuCommandDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.delete();
- }
- }
- ];
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Search Completed', detail: 'No results found', life: 3000 });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/groupdoc.ts b/apps/showcase/src/app/showcase/doc/menu/groupdoc.ts
deleted file mode 100644
index b80fd73d9b5..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/groupdoc.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'menu-group-demo',
- template: `
-
- Menu supports one level of nesting by defining children with items property.
-
-
-
- `,
- providers: [MessageService]
-})
-export class GroupDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Documents',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus'
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- }
- ]
- },
- {
- label: 'Profile',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog'
- },
- {
- label: 'Logout',
- icon: 'pi pi-sign-out'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menu } from 'primeng/menu';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'menu-group-demo',
- templateUrl: './menu-group-demo.html',
- standalone: true,
- imports: [Menu, ToastModule]
-})
-export class MenuGroupDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Documents',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus'
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- }
- ]
- },
- {
- label: 'Profile',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog'
- },
- {
- label: 'Logout',
- icon: 'pi pi-sign-out'
- }
- ]
- }
- ];
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/importdoc.ts b/apps/showcase/src/app/showcase/doc/menu/importdoc.ts
deleted file mode 100644
index 8484bc34397..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'menu-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Menu } from 'primeng/menu';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/popupdoc.ts b/apps/showcase/src/app/showcase/doc/menu/popupdoc.ts
deleted file mode 100644
index faaffccc012..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/popupdoc.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'popup-doc',
- template: `
-
- Popup mode is enabled by setting popup property to true and calling toggle method with an event of the target.
-
-
-
- `,
- providers: [MessageService]
-})
-export class PopupDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Options',
- items: [
- {
- label: 'Refresh',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Export',
- icon: 'pi pi-upload'
- }
- ]
- }
- ];
- }
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menu } from 'primeng/menu';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'menu-popup-demo',
- templateUrl: './menu-popup-demo.html',
- standalone: true,
- imports: [Menu, ButtonModule]
-})
-export class MenuPopupDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Options',
- items: [
- {
- label: 'Refresh',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Export',
- icon: 'pi pi-upload'
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/routerdoc.ts b/apps/showcase/src/app/showcase/doc/menu/routerdoc.ts
deleted file mode 100644
index ec4e873977d..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/routerdoc.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'router-doc',
- template: `
-
-
- Navigation is specified using url property for external links and with routerLink for internal ones. If a menuitem has an active route, p-menuitem-link-active style class is added as an indicator. Active route link can
- be configured with routerLinkActiveOptions property of MenuItem API.
-
-
-
-
- `
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Navigate',
- items: [
- {
- label: 'Router Link',
- icon: 'pi pi-palette',
- route: '/guides/csslayer'
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- url: 'https://angular.io//'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Router } from '@angular/router';
-import { Menu } from 'primeng/menu';
-
-@Component({
- selector: 'menu-router-demo',
- templateUrl: './menu-router-demo.html',
- standalone: true,
- imports: [Menu]
-})
-export class MenuRouterDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Navigate',
- items: [
- {
- label: 'Router Link',
- icon: 'pi pi-palette',
- route: '/guides/csslayer'
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- url: 'https://angular.io//'
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menu/templatedoc.ts b/apps/showcase/src/app/showcase/doc/menu/templatedoc.ts
deleted file mode 100644
index 9d3712e98ec..00000000000
--- a/apps/showcase/src/app/showcase/doc/menu/templatedoc.ts
+++ /dev/null
@@ -1,344 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
-
- Menu offers item customization with the item template that receives the menuitem instance from the model as a parameter. The submenu header has its own submenuheader template, additional slots named start and
- end are provided to embed content before or after the menu.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PRIMEAPP
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- Amy Elsner
- Admin
-
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- separator: true
- },
- {
- label: 'Documents',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- shortcut: '⌘+N'
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- shortcut: '⌘+S'
- }
- ]
- },
- {
- label: 'Profile',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog',
- shortcut: '⌘+O'
- },
- {
- label: 'Messages',
- icon: 'pi pi-inbox',
- badge: '2'
- },
- {
- label: 'Logout',
- icon: 'pi pi-sign-out',
- shortcut: '⌘+Q'
- }
- ]
- },
- {
- separator: true
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PRIMEAPP
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- Amy Elsner
- Admin
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PRIMEAPP
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
- Amy Elsner
- Admin
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { MenuModule } from 'primeng/menu';
-import { BadgeModule } from 'primeng/badge';
-import { RippleModule } from 'primeng/ripple';
-import { AvatarModule } from 'primeng/avatar';
-
-@Component({
- selector: 'menu-template-demo',
- templateUrl: './menu-template-demo.html',
- standalone: true,
- imports: [MenuModule, BadgeModule, RippleModule, AvatarModule]
-})
-export class MenuTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- separator: true
- },
- {
- label: 'Documents',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- shortcut: '⌘+N'
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- shortcut: '⌘+S'
- }
- ]
- },
- {
- label: 'Profile',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog',
- shortcut: '⌘+O'
- },
- {
- label: 'Messages',
- icon: 'pi pi-inbox',
- badge: '2'
- },
- {
- label: 'Logout',
- icon: 'pi pi-sign-out',
- shortcut: '⌘+Q'
- }
- ]
- },
- {
- separator: true
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menubar/basicdoc.ts b/apps/showcase/src/app/showcase/doc/menubar/basicdoc.ts
deleted file mode 100644
index 670a7e60e39..00000000000
--- a/apps/showcase/src/app/showcase/doc/menubar/basicdoc.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Menubar requires nested menuitems as its model.
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Home',
- icon: 'pi pi-home'
- },
- {
- label: 'Features',
- icon: 'pi pi-star'
- },
- {
- label: 'Projects',
- icon: 'pi pi-search',
- items: [
- {
- label: 'Components',
- icon: 'pi pi-bolt'
- },
- {
- label: 'Blocks',
- icon: 'pi pi-server'
- },
- {
- label: 'UI Kit',
- icon: 'pi pi-pencil'
- },
- {
- label: 'Templates',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Apollo',
- icon: 'pi pi-palette'
- },
- {
- label: 'Ultima',
- icon: 'pi pi-palette'
- }
- ]
- }
- ]
- },
- {
- label: 'Contact',
- icon: 'pi pi-envelope'
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menubar } from 'primeng/menubar';
-
-@Component({
- selector: 'menubar-basic-demo',
- templateUrl: './menubar-basic-demo.html',
- standalone: true,
- imports: [Menubar]
-})
-export class MenubarBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Home',
- icon: 'pi pi-home'
- },
- {
- label: 'Features',
- icon: 'pi pi-star'
- },
- {
- label: 'Projects',
- icon: 'pi pi-search',
- items: [
- {
- label: 'Components',
- icon: 'pi pi-bolt'
- },
- {
- label: 'Blocks',
- icon: 'pi pi-server'
- },
- {
- label: 'UI Kit',
- icon: 'pi pi-pencil'
- },
- {
- label: 'Templates',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Apollo',
- icon: 'pi pi-palette'
- },
- {
- label: 'Ultima',
- icon: 'pi pi-palette'
- }
- ]
- }
- ]
- },
- {
- label: 'Contact',
- icon: 'pi pi-envelope'
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menubar/commanddoc.ts b/apps/showcase/src/app/showcase/doc/menubar/commanddoc.ts
deleted file mode 100644
index dca699ced18..00000000000
--- a/apps/showcase/src/app/showcase/doc/menubar/commanddoc.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'command-doc',
- template: `
-
- The command property defines the callback to run when an item is activated by click or a key event.
-
-
-
- `,
- providers: [MessageService]
-})
-export class CommandDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
- }
- },
- {
- separator: true
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({
- severity: 'info',
- summary: 'Downloads',
- detail: 'Downloaded from cloud',
- life: 3000
- });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Menubar } from 'primeng/menubar';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'menubar-command-demo',
- templateUrl: './menubar-command-demo.html',
- standalone: true,
- imports: [Menubar, ToastModule],
- providers: [MessageService]
-})
-export class MenubarCommandDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
- }
- },
- {
- separator: true
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Downloads', detail: 'Downloaded from cloud', life: 3000 });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menubar/importdoc.ts b/apps/showcase/src/app/showcase/doc/menubar/importdoc.ts
deleted file mode 100644
index 590ef35a162..00000000000
--- a/apps/showcase/src/app/showcase/doc/menubar/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'menubar-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Menubar } from 'primeng/menubar';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menubar/routerdoc.ts b/apps/showcase/src/app/showcase/doc/menubar/routerdoc.ts
deleted file mode 100644
index e765d38a626..00000000000
--- a/apps/showcase/src/app/showcase/doc/menubar/routerdoc.ts
+++ /dev/null
@@ -1,194 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'router-doc',
- template: `
-
- Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Installation',
- route: '/installation'
- },
- {
- label: 'Configuration',
- route: '/configuration'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- url: 'https://angular.io/'
- },
- {
- label: 'Vite.js',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menubar } from 'primeng/menubar';
-import { CommonModule } from '@angular/common';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'menubar-router-demo',
- templateUrl: './menubar-router-demo.html',
- standalone: true,
- imports: [Menubar, CommonModule],
-})
-export class MenubarRouterDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Installation',
- route: '/installation'
- },
- {
- label: 'Configuration',
- route: '/configuration'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- url: 'https://angular.io/'
- },
- {
- label: 'Vite.js',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/menubar/templatedoc.ts b/apps/showcase/src/app/showcase/doc/menubar/templatedoc.ts
deleted file mode 100644
index 282b1347a70..00000000000
--- a/apps/showcase/src/app/showcase/doc/menubar/templatedoc.ts
+++ /dev/null
@@ -1,326 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'menubar-template-demo',
- template: `
-
- Custom content can be placed inside the menubar using the start and end templates.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Home',
- icon: 'pi pi-home'
- },
- {
- label: 'Features',
- icon: 'pi pi-star'
- },
- {
- label: 'Projects',
- icon: 'pi pi-search',
- items: [
- {
- label: 'Core',
- icon: 'pi pi-bolt',
- shortcut: '⌘+S'
- },
- {
- label: 'Blocks',
- icon: 'pi pi-server',
- shortcut: '⌘+B'
- },
- {
- label: 'UI Kit',
- icon: 'pi pi-pencil',
- shortcut: '⌘+U'
- },
- {
- separator: true
- },
- {
- label: 'Templates',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Apollo',
- icon: 'pi pi-palette',
- badge: '2'
- },
- {
- label: 'Ultima',
- icon: 'pi pi-palette',
- badge: '3'
- }
- ]
- }
- ]
- },
- {
- label: 'Contact',
- icon: 'pi pi-envelope',
- badge: '3'
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Menubar } from 'primeng/menubar';
-import { BadgeModule } from 'primeng/badge';
-import { AvatarModule } from 'primeng/avatar';
-import { InputTextModule } from 'primeng/inputtext';
-import { CommonModule } from '@angular/common';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'menubar-template-demo',
- templateUrl: './menubar-template-demo.html',
- standalone: true,
- imports: [Menubar, BadgeModule, AvatarModule, InputTextModule, Ripple, CommonModule]
-})
-export class MenubarTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Home',
- icon: 'pi pi-home'
- },
- {
- label: 'Features',
- icon: 'pi pi-star'
- },
- {
- label: 'Projects',
- icon: 'pi pi-search',
- items: [
- {
- label: 'Core',
- icon: 'pi pi-bolt',
- shortcut: '⌘+S'
- },
- {
- label: 'Blocks',
- icon: 'pi pi-server',
- shortcut: '⌘+B'
- },
- {
- label: 'UI Kit',
- icon: 'pi pi-pencil',
- shortcut: '⌘+U'
- },
- {
- separator: true
- },
- {
- label: 'Templates',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Apollo',
- icon: 'pi pi-palette',
- badge: '2'
- },
- {
- label: 'Ultima',
- icon: 'pi pi-palette',
- badge: '3'
- }
- ]
- }
- ]
- },
- {
- label: 'Contact',
- icon: 'pi pi-envelope',
- badge: '3'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/basicdoc.ts b/apps/showcase/src/app/showcase/doc/message/basicdoc.ts
deleted file mode 100644
index 0576a5d537e..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/basicdoc.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Message component requires a content to display.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `Message Content `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Message } from 'primeng/message';
-
-@Component({
- selector: 'message-basic-demo',
- templateUrl: './message-basic-demo.html',
- standalone: true,
- imports: [Message]
-})
-export class MessageBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/message/dynamicdoc.ts
deleted file mode 100644
index e0498c8ddb9..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/dynamicdoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component, signal } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-doc',
- template: `
-
- Multiple messages can be displayed using the standard for block.
-
-
-
-
- @for (message of messages(); track message; let first = $first) {
-
- }
-
-
-
- `
-})
-export class DynamicDoc {
- messages = signal([]);
-
- code: Code = {
- basic: `
-
- @for (message of messages(); track message; let first = $first) {
-
- }
-
`,
-
- html: `
-
-
- @for (message of messages(); track message; let first = $first) {
-
- }
-
-
`,
-
- typescript: `import { Component, signal } from '@angular/core';
-import { Message } from 'primeng/message';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'message-dynamic-demo',
- templateUrl: './message-dynamic-demo.html',
- standalone: true,
- imports: [Message, ButtonModule]
-})
-export class MessageDynamicDemo {
- messages = signal([]);
-
- addMessages() {
- this.messages.set([
- { severity: 'info', content: 'Dynamic Info Message' },
- { severity: 'success', content: 'Dynamic Success Message' },
- { severity: 'warn', content: 'Dynamic Warn Message' },
- ]);
- }
-
- clearMessages() {
- this.messages.set([]);
- }
-}`
- };
-
- clearMessages() {
- this.messages.set([]);
- }
-
- addMessages() {
- this.messages.set([
- { severity: 'info', content: 'Dynamic Info Message' },
- { severity: 'success', content: 'Dynamic Success Message' },
- { severity: 'warn', content: 'Dynamic Warn Message' }
- ]);
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/icondoc.ts b/apps/showcase/src/app/showcase/doc/message/icondoc.ts
deleted file mode 100644
index 73258923891..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/icondoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icon-doc',
- template: `
-
- The severity option specifies the type of the message.
-
-
-
-
-
-
-
- How may I help you?
-
-
-
- `
-})
-export class IconDoc implements OnInit {
- ngOnInit() {}
-
- code: Code = {
- basic: `
-
-
-
-
- How may I help you?
- `,
- html: `
-
-
-
-
-
- How may I help you?
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { MessageModule } from 'primeng/message';
-import { AvatarModule } from 'primeng/avatar';
-
-@Component({
- selector: 'message-icon-demo',
- templateUrl: './message-icon-demo.html',
- standalone: true,
- imports: [MessageModule, AvatarModule]
-})
-export class MessageIconDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/importdoc.ts b/apps/showcase/src/app/showcase/doc/message/importdoc.ts
deleted file mode 100644
index ee220cde073..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'message-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Message } from 'primeng/message';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/lifedoc.ts b/apps/showcase/src/app/showcase/doc/message/lifedoc.ts
deleted file mode 100644
index 42f0bf343d3..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/lifedoc.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component, signal } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'life-doc',
- template: `
-
- Messages can disappear automatically by defined the life in milliseconds.
-
-
-
- @if (visible()) {
-
Auto disappear message
- }
-
-
- `
-})
-export class LifeDoc {
- visible = signal(false);
-
- showMessage() {
- this.visible.set(true);
-
- setTimeout(() => {
- this.visible.set(false);
- }, 3500);
- }
-
- code: Code = {
- basic: `Auto disappear message `,
-
- html: `
-
- @if (visible()) {
-
Auto disappear message
- }
-
`,
-
- typescript: `import { Component, signal } from '@angular/core';
-import { Message } from 'primeng/message';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'message-life-demo',
- templateUrl: './message-life-demo.html',
- standalone: true,
- imports: [Message, ButtonModule]
-})
-export class MessageLifeDemo {
- visible = signal(false);
-
- showMessage() {
- this.visible.set(true);
-
- setTimeout(() => {
- this.visible.set(false);
- }, 3500);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/outlineddoc.ts b/apps/showcase/src/app/showcase/doc/message/outlineddoc.ts
deleted file mode 100644
index 1b0f345336a..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/outlineddoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'outlined-doc',
- template: `
-
- Configure the variant value as outlined for messages with borders and no background.
-
-
-
Success Message
-
Info Message
-
Warn Message
-
Error Message
-
Secondary Message
-
Contrast Message
-
-
- `
-})
-export class OutlinedDoc {
- code: Code = {
- basic: `Success Message
-Info Message
-Warn Message
-Error Message
-Secondary Message
-Contrast Message `,
-
- html: `
-
Success Message
-
Info Message
-
Warn Message
-
Error Message
-
Secondary Message
-
Contrast Message
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Message } from 'primeng/message';
-
-@Component({
- selector: 'message-outlined-demo',
- templateUrl: './message-outlined-demo.html',
- standalone: true,
- imports: [Message]
-})
-export class MessageOutlinedDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/severitydoc.ts b/apps/showcase/src/app/showcase/doc/message/severitydoc.ts
deleted file mode 100644
index 5c548ea81b9..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/severitydoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'severity-doc',
- template: `
-
- The severity option specifies the type of the message.
-
-
-
Success Message
-
Info Message
-
Warn Message
-
Error Message
-
Secondary Message
-
Contrast Message
-
-
- `
-})
-export class SeverityDoc {
- code: Code = {
- basic: `Success Message
-Info Message
-Warn Message
-Error Message
-Secondary Message
-Contrast Message `,
- html: `
-
Success Message
-
Info Message
-
Warn Message
-
Error Message
-
Secondary Message
-
Contrast Message
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Message } from 'primeng/message';
-
-@Component({
- selector: 'message-severity-demo',
- templateUrl: './message-severity-demo.html',
- standalone: true,
- imports: [Message]
-})
-export class MessageSeverityDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/message/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/message/sizesdoc.ts
deleted file mode 100644
index 98d21220534..00000000000
--- a/apps/showcase/src/app/showcase/doc/message/sizesdoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- Message provides small and large sizes as alternatives to the base.
-
-
-
Small Message
-
Normal Message
-
Large Message
-
-
- `
-})
-export class SizesDoc {
- code: Code = {
- basic: `Small Message
-Normal Message
-Large Message `,
-
- html: `
-
Small Message
-
Normal Message
-
Large Message
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Message } from 'primeng/message';
-
-@Component({
- selector: 'message-sizes-demo',
- templateUrl: './message-sizes-demo.html',
- standalone: true,
- imports: [Message]
-})
-export class MessageSizesDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/basicdoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/basicdoc.ts
deleted file mode 100644
index 9751152fdc6..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/basicdoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- MeterGroup requires a value as the data to display where each item in the collection should be a type of MeterItem .
-
-
-
- `
-})
-export class BasicDoc {
- value = [{ label: 'Space used', value: 15, color: 'var(--p-primary-color)' }];
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-basic-demo',
- templateUrl: './meter-group-basic-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupBasicDemo {
- value = [
- { label: 'Space used', value: 15, color: 'var(--p-primary-color)' }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/icondoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/icondoc.ts
deleted file mode 100644
index c17d7e19804..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/icondoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icon-doc',
- template: `
-
- Icons can be displayed next to the labels instead of the default marker.
-
-
-
- `
-})
-export class IconDoc {
- value = [
- { label: 'Apps', color: '#34d399', value: 16, icon: 'pi pi-table' },
- { label: 'Messages', color: '#fbbf24', value: 8, icon: 'pi pi-inbox' },
- { label: 'Media', color: '#60a5fa', value: 24, icon: 'pi pi-image' },
- { label: 'System', color: '#c084fc', value: 10, icon: 'pi pi-cog' }
- ];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-icon-demo',
- templateUrl: './meter-group-icon-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupIconDemo {
- value = [
- { label: 'Apps', color: '#34d399', value: 16, icon: 'pi pi-table' },
- { label: 'Messages', color: '#fbbf24', value: 8, icon: 'pi pi-inbox' },
- { label: 'Media', color: '#60a5fa', value: 24, icon: 'pi pi-image' },
- { label: 'System', color: '#c084fc', value: 10, icon: 'pi pi-cog' }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/importdoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/importdoc.ts
deleted file mode 100644
index 6d8552b4d86..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'meter-group-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { MeterGroup } from 'primeng/metergroup';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/labeldoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/labeldoc.ts
deleted file mode 100644
index c8f42848dce..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/labeldoc.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'label-doc',
- template: `
-
-
- The position of the labels relative to the meters is defined using the labelPosition property. The default orientation of the labels is horizontal, and the vertical alternative is available through the
- labelOrientation option.
-
-
-
-
- `
-})
-export class LabelDoc {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-label-demo',
- templateUrl: './meter-group-label-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupLabelDemo {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/minmaxdoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/minmaxdoc.ts
deleted file mode 100644
index 55298b4433f..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/minmaxdoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'min-max-doc',
- template: `
-
- Boundaries are configured with the min and max values whose defaults are 0 and 100 respectively.
-
-
-
- `
-})
-export class MinMaxDoc {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-min-max-demo',
- templateUrl: './meter-group-min-max-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupMinMaxDemo{
-
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/multipledoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/multipledoc.ts
deleted file mode 100644
index 1688d73b189..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/multipledoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
- Adding more items to the array displays the meters in a group.
-
-
-
- `
-})
-export class MultipleDoc {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-multiple-demo',
- templateUrl: './meter-group-multiple-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupMultipleDemo {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/templatedoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/templatedoc.ts
deleted file mode 100644
index 1d93fc3d45e..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/templatedoc.ts
+++ /dev/null
@@ -1,154 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- MeterGroup provides templating support for labels, meter items, and content around the meters.
-
-
-
-
-
-
-
-
-
- {{ meterItem.label }}
- {{ meterItem.value }}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Storage
- {{ totalPercent }}%
- 1TB
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- value = [
- { label: 'Apps', color1: '#34d399', color2: '#fbbf24', value: 25, icon: 'pi pi-table' },
- { label: 'Messages', color1: '#fbbf24', color2: '#60a5fa', value: 15, icon: 'pi pi-inbox' },
- { label: 'Media', color1: '#60a5fa', color2: '#c084fc', value: 20, icon: 'pi pi-image' },
- { label: 'System', color1: '#c084fc', color2: '#c084fc', value: 10, icon: 'pi pi-cog' }
- ];
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- {{ meterItem.label }}
- {{ meterItem.value }}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Storage
- {{ totalPercent }}%
- 1TB
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
- {{ meterItem.label }}
- {{ meterItem.value }}%
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Storage
- {{ totalPercent }}%
- 1TB
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-import { CardModule } from 'primeng/card';
-import { CommonModule } from '@angular/common';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'meter-group-template-demo',
- templateUrl: './meter-group-template-demo.html',
- standalone: true,
- imports: [MeterGroup, CardModule, ButtonModule, CommonModule]
-})
-export class MeterGroupTemplateDemo {
- value = [
- { label: 'Apps', color1: '#34d399', color2: '#fbbf24', value: 25, icon: 'pi pi-table' },
- { label: 'Messages', color1: '#fbbf24', color2: '#60a5fa', value: 15, icon: 'pi pi-inbox' },
- { label: 'Media', color1: '#60a5fa', color2: '#c084fc', value: 20, icon: 'pi pi-image' },
- { label: 'System', color1: '#c084fc', color2: '#c084fc', value: 10, icon: 'pi pi-cog' }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/metergroup/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/metergroup/verticaldoc.ts
deleted file mode 100644
index 7ed3945d14a..00000000000
--- a/apps/showcase/src/app/showcase/doc/metergroup/verticaldoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Layout of the MeterGroup is configured with the orientation property that accepts either horizontal or vertical as available options.
-
-
-
- `
-})
-export class VerticalDoc {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MeterGroup } from 'primeng/metergroup';
-
-@Component({
- selector: 'meter-group-vertical-demo',
- templateUrl: './meter-group-vertical-demo.html',
- standalone: true,
- imports: [MeterGroup]
-})
-export class MeterGroupVerticalDemo {
- value = [
- { label: 'Apps', color: '#34d399', value: 16 },
- { label: 'Messages', color: '#fbbf24', value: 8 },
- { label: 'Media', color: '#60a5fa', value: 24 },
- { label: 'System', color: '#c084fc', value: 10 }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/accessibilitydoc.ts
deleted file mode 100644
index b4193e59c9f..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/accessibilitydoc.ts
+++ /dev/null
@@ -1,229 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multi-select-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided with ariaLabelledBy or ariaLabel props. The multiselect component has a combobox role in addition to aria-haspopup and aria-expanded attributes.
- The relation between the combobox and the popup is created with aria-controls attribute that refers to the id of the popup listbox.
-
- The popup listbox uses listbox as the role with aria-multiselectable enabled. Each list item has an option role along with aria-label , aria-selected and aria-disabled attributes.
-
-
- Checkbox component at the header uses a hidden native checkbox element internally that is only visible to screen readers. Value to read is defined with the selectAll and unselectAll keys of the aria property from
- the locale API.
-
-
- If filtering is enabled, filterInputProps can be defined to give aria-* props to the input element.
-
- Close button uses close key of the aria property from the locale API as the aria-label by default, this can be overriden with the closeButtonProps .
-
-
-
-
-
Closed State Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the multiselect element.
-
-
-
- space
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
- down arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
- up arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
-
-
-
Popup Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the next focusable element in the popup, if there is none then first focusable element receives the focus.
-
-
- shift + tab
- Moves focus to the previous focusable element in the popup, if there is none then last focusable element receives the focus.
-
-
-
- enter
-
- Toggles the selection state of the focused option.
-
-
-
- space
-
- Toggles the selection state of the focused option.
-
-
-
- escape
-
- Closes the popup, moves focus to the multiselect element.
-
-
-
- down arrow
-
- Moves focus to the next option, if there is none then visual focus does not change.
-
-
-
- up arrow
-
- Moves focus to the previous option, if there is none then visual focus does not change.
-
-
-
- home
-
- Moves focus to the first option.
-
-
-
- end
-
- Moves focus to the last option.
-
-
-
- any printable character
-
- Moves focus to the option whose label starts with the characters being typed if dropdown is not editable.
-
-
-
-
-
-
Toggle All Checkbox Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- space
-
- Toggles the checked state.
-
-
-
- escape
-
- Closes the popup.
-
-
-
-
-
-
Filter Input Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Closes the popup and moves focus to the multiselect element.
-
-
-
- escape
-
- Closes the popup and moves focus to the multiselect element.
-
-
-
-
-
-
Close Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Closes the popup and moves focus to the multiselect element.
-
-
-
- space
-
- Closes the popup and moves focus to the multiselect element.
-
-
-
- escape
-
- Closes the popup and moves focus to the multiselect element.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/basicdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/basicdoc.ts
deleted file mode 100644
index da8992d575f..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/basicdoc.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- MultiSelect is used as a controlled component with ngModel property along with an options collection. Label and value of an option are defined with the optionLabel and optionValue properties respectively.
- Default property name for the optionLabel is label and value for the optionValue . If optionValue is omitted and the object has no value property, the object itself becomes the value of an
- option. Note that, when options are simple primitive values such as a string array, no optionLabel and optionValue would be necessary.
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: any[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-basic-demo',
- templateUrl: './multi-select-basic-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectBasicDemo implements OnInit {
-
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- {name: 'New York', code: 'NY'},
- {name: 'Rome', code: 'RM'},
- {name: 'London', code: 'LDN'},
- {name: 'Istanbul', code: 'IST'},
- {name: 'Paris', code: 'PRS'}
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/disableddoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/disableddoc.ts
deleted file mode 100644
index 0514c3c3bfc..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/disableddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-disabled-demo',
- templateUrl: './multi-select-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectDisabledDemo implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/filleddoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/filleddoc.ts
deleted file mode 100644
index a3f74e9e42a..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/filleddoc.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: any[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-filled-demo',
- templateUrl: './multi-select-filled-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectFilledDemo implements OnInit {
-
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- {name: 'New York', code: 'NY'},
- {name: 'Rome', code: 'RM'},
- {name: 'London', code: 'LDN'},
- {name: 'Istanbul', code: 'IST'},
- {name: 'Paris', code: 'PRS'}
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/filterdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/filterdoc.ts
deleted file mode 100644
index 2cd8b03d27a..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/filterdoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'filter-doc',
- template: `
-
- MultiSelect provides built-in filtering that is enabled by adding the filter property.
-
-
-
- `
-})
-export class FilterDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-filter-demo',
- templateUrl: './multi-select-filter-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectFilterDemo implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/floatlabeldoc.ts
deleted file mode 100644
index 04cce2afb5e..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/floatlabeldoc.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatLabelDoc implements OnInit {
- cities!: City[];
-
- value1!: City[];
-
- value2!: City[];
-
- value3!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { FloatLabel } from 'primeng/floatlabel';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-floatlabel-demo',
- templateUrl: './multi-select-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule, FloatLabel]
-})
-export class MultiSelectFloatlabelDemo implements OnInit {
- cities!: City[];
-
- value1!: City[];
-
- value2!: City[];
-
- value3!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/groupdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/groupdoc.ts
deleted file mode 100644
index b12a4c01132..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/groupdoc.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'group-doc',
- template: `
-
- Options can be grouped when a nested data structures is provided.
-
-
-
-
-
-
-
{{ group.label }}
-
-
-
-
-
- `
-})
-export class GroupDoc {
- groupedCities!: SelectItemGroup[];
-
- selectedCities!: City[];
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ group.label }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ group.label }}
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-group-demo',
- templateUrl: './multi-select-group-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectGroupDemo {
- groupedCities!: SelectItemGroup[];
-
- selectedCities!: City[];
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/iftalabeldoc.ts
deleted file mode 100644
index 570b82dfefa..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/iftalabeldoc.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
- code: Code = {
- basic: `
-
- Cities
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-iftalabel-demo',
- templateUrl: './multi-select-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule, IftaLabelModule]
-})
-export class MultiSelectIftalabelDemo implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/importdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/importdoc.ts
deleted file mode 100644
index c0a27a80d94..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multi-select-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { MultiSelectModule } from 'primeng/multiselect';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/invaliddoc.ts
deleted file mode 100644
index 73ba2d15e57..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/invaliddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-invalid-demo',
- templateUrl: './multi-select-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectInvalidDemo implements OnInit {
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/loadingstatedoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/loadingstatedoc.ts
deleted file mode 100644
index 0fbfbc93573..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/loadingstatedoc.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'loading-state-doc',
- template: `
-
- Loading state can be used loading property.
-
-
-
- `
-})
-export class LoadingStateDoc implements OnInit {
- cities!: City[];
-
- selectedCities!: any[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-loading-state-demo',
- templateUrl: './multi-select-loading-state-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectLoadingStateDemo implements OnInit {
-
- cities!: City[];
-
- selectedCities!: City[];
-
- ngOnInit() {
- this.cities = [
- {name: 'New York', code: 'NY'},
- {name: 'Rome', code: 'RM'},
- {name: 'London', code: 'LDN'},
- {name: 'Istanbul', code: 'IST'},
- {name: 'Paris', code: 'PRS'}
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/reactiveformsdoc.ts
deleted file mode 100644
index 66d0727af79..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/reactiveformsdoc.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- MultiSelect can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- cities!: City[];
-
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCities: new FormControl([{ name: 'Istanbul', code: 'IST' }])
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-reactive-forms-demo',
- templateUrl: './multi-select-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, MultiSelectModule]
-})
-export class MultiSelectReactiveFormsDemo implements OnInit {
- cities!: City[];
-
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCities: new FormControl([{ name: 'Istanbul', code: 'IST' }])
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/sizesdoc.ts
deleted file mode 100644
index b844fb8ea2c..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/sizesdoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- MultiSelect provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc implements OnInit {
- cities!: City[];
-
- value1: any[];
-
- value2: any[];
-
- value3: any[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-
-interface City {
- name: string,
- code: string
-}
-
-@Component({
- selector: 'multi-select-sizes-demo',
- templateUrl: './multi-select-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectSizesDemo implements OnInit {
-
- cities!: City[];
-
- value1: any[];
-
- value2: any[];
-
- value3: any[];
-
- ngOnInit() {
- this.cities = [
- {name: 'New York', code: 'NY'},
- {name: 'Rome', code: 'RM'},
- {name: 'London', code: 'LDN'},
- {name: 'Istanbul', code: 'IST'},
- {name: 'Paris', code: 'PRS'}
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/templatedoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/templatedoc.ts
deleted file mode 100644
index daaa53f22eb..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/templatedoc.ts
+++ /dev/null
@@ -1,173 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface Country {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Available options and the selected options support templating with pTemplate properties respectively. In addition, header, footer and filter sections can be templated as well.
-
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- countries!: Country[];
-
- selectedCountries!: Country[];
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { ButtonModule } from 'primeng/button';
-
-interface Country {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'multi-select-template-demo',
- templateUrl: './multi-select-template-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule, ButtonModule]
-})
-export class MultiSelectTemplateDemo implements OnInit {
- countries!: Country[];
-
- selectedCountries!: Country[];
-
- constructor() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/multiselect/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/multiselect/virtualscrolldoc.ts
deleted file mode 100644
index 8dcc075df66..00000000000
--- a/apps/showcase/src/app/showcase/doc/multiselect/virtualscrolldoc.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Component, ViewChild } from '@angular/core';
-import { Code } from '@domain/code';
-import { MultiSelect } from 'primeng/multiselect';
-
-@Component({
- selector: 'virtual-scroll-doc',
- template: `
-
-
- VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance
- issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
-
-
-
-
- `
-})
-export class VirtualScrollDoc {
- @ViewChild('ms') ms: MultiSelect;
-
- items = Array.from({ length: 100000 }, (_, i) => ({ label: `Item #${i}`, value: i }));
-
- selectedItems!: any[];
-
- selectAll: boolean = false;
-
- onSelectAllChange(event) {
- this.selectedItems = event.checked ? [...this.ms.visibleOptions()] : [];
- this.selectAll = event.checked;
- }
-
- code: Code = {
- basic: `
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, ViewChild } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { MultiSelect } from 'primeng/multiselect';
-
-@Component({
- selector: 'multi-select-virtual-scroll-demo',
- templateUrl: './multi-select-virtual-scroll-demo.html',
- standalone: true,
- imports: [FormsModule, MultiSelectModule]
-})
-export class MultiSelectVirtualScrollDemo {
- @ViewChild('ms') ms: MultiSelect;
-
- items = Array.from({ length: 100000 }, (_, i) => ({ label: \`Item #\${i}\`, value: i }))
-
- selectedItems!: any[];
-
- selectAll: boolean = false;
-
- onSelectAllChange(event) {
- this.selectedItems = event.checked ? [...this.ms.visibleOptions()] : [];
- this.selectAll = event.checked;
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/accessibilitydoc.ts
deleted file mode 100644
index 7b678355695..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/accessibilitydoc.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'order-list-accessibility-doc',
- template: `
- Screen Reader
-
- Value to describe the source listbox and target listbox can be provided with sourceListProps and targetListProps by passing aria-labelledby or aria-label props. The list elements has a listbox role with
- the aria-multiselectable attribute. Each list item has an option role with aria-selected and aria-disabled as their attributes.
-
-
- Controls buttons are button elements with an aria-label that refers to the aria.moveTop , aria.moveUp , aria.moveDown , aria.moveBottom ,aria.moveTo , aria.moveAllTo ,
- aria.moveFrom and aria.moveAllFrom properties of the locale API by default, alternatively you may usemoveTopButtonProps , moveUpButtonProps , moveDownButtonProps ,
- moveToButtonProps , moveAllToButtonProps , moveFromButtonProps , moveFromButtonProps and moveAllFromButtonProps to customize the buttons like overriding the default aria-label attributes.
-
-
-
-
- OrderList Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the first selected option, if there is none then first option receives the focus.
-
-
- up arrow
- Moves focus to the previous option.
-
-
- down arrow
- Moves focus to the next option.
-
-
- enter
- Toggles the selected state of the focused option.
-
-
- space
- Toggles the selected state of the focused option.
-
-
- home
- Moves focus to the first option.
-
-
- end
- Moves focus to the last option.
-
-
- shift + down arrow
- Moves focus to the next option and toggles the selection state.
-
-
- shift + up arrow
- Moves focus to the previous option and toggles the selection state.
-
-
- shift + space
- Selects the items between the most recently selected option and the focused option.
-
-
- control + shift + home
- Selects the focused options and all the options up to the first one.
-
-
- control + shift + end
- Selects the focused options and all the options down to the first one.
-
-
- control + a
- Selects all options.
-
-
-
-
- Buttons Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Executes button action.
-
-
- space
- Executes button action.
-
-
-
-
- `
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/basicdoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/basicdoc.ts
deleted file mode 100644
index 8bce70347b1..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/basicdoc.ts
+++ /dev/null
@@ -1,150 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- OrderList is used as a controlled input with value properties. Content of a list item needs to be defined with the pTemplate property that receives an object in the list as parameter.
-
-
-
-
- {{ option.name }}
-
-
-
-
- `,
- styles: [
- `
- @media (min-width: 576px) {
- :host ::ng-deep .p-listbox {
- width: 14rem;
- }
- }
- `
- ]
-})
-export class BasicDoc implements OnInit {
- products!: Product[];
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => {
- this.products = cars;
- this.cdr.detectChanges();
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
- {{ option.name }}
-
- `,
-
- html: `
-
-
- {{ option.name }}
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { OrderListModule } from 'primeng/orderlist';
-
-@Component({
- selector: 'orderlist-basic-demo',
- templateUrl: './orderlist-basic-demo.html',
- standalone: true,
- imports: [OrderListModule],
- providers: [ProductService],
- styles: [
- \`@media (min-width: 576px) {
- :host ::ng-deep .p-listbox {
- width: 14rem;
- }
- }\`
- ],
-
-})
-export class OrderlistBasicDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => (this.products = cars));
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/dragdropdoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/dragdropdoc.ts
deleted file mode 100644
index f8aa82db926..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/dragdropdoc.ts
+++ /dev/null
@@ -1,185 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'drag-drop-doc',
- template: `
-
- Items can be reordered using drag and drop by enabling dragdrop property. Depends on @angular/cdk package.
-
-
-
-
-
-
-
-
{{ product.name }}
-
-
- {{ product.category }}
-
-
-
{{ '$' + product.price }}
-
-
-
-
-
- `
-})
-export class DragDropDoc implements OnInit {
- products!: Product[];
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => {
- this.products = cars;
- this.cdr.detectChanges();
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
{{ product.name }}
-
-
-
- {{ product.category }}
-
-
-
-
- {{ '$' + product.price }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
{{ product.name }}
-
-
-
- {{ product.category }}
-
-
-
-
- {{ '$' + product.price }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { OrderList } from 'primeng/orderlist';
-
-@Component({
- selector: 'orderlist-drag-drop-demo',
- templateUrl: './orderlist-drag-drop-demo.html',
- standalone: true,
- imports: [OrderList],
- providers: [ProductService]
-})
-export class OrderlistDragDropDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => (this.products = cars));
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/filterdoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/filterdoc.ts
deleted file mode 100644
index 43f5c88216d..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/filterdoc.ts
+++ /dev/null
@@ -1,196 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'filter-doc',
- template: `
-
- Filter value is checked against the property of an object configured with the filterBy property
-
-
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
-
- `
-})
-export class FilterDoc implements OnInit {
- products!: Product[];
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => {
- this.products = cars;
- this.cdr.detectChanges();
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
- `,
-
- html: `
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { OrderListModule } from 'primeng/orderlist';
-
-@Component({
- selector: 'orderlist-filter-demo',
- templateUrl: './orderlist-filter-demo.html',
- standalone: true,
- imports: [OrderListModule],
- providers: [ProductService]
-})
-export class OrderlistFilterDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => (this.products = cars));
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/importdoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/importdoc.ts
deleted file mode 100644
index 2502e10d0c1..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'order-list-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { OrderList } from 'primeng/orderlist';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/orderlist/templatedoc.ts b/apps/showcase/src/app/showcase/doc/orderlist/templatedoc.ts
deleted file mode 100644
index fa5920badc5..00000000000
--- a/apps/showcase/src/app/showcase/doc/orderlist/templatedoc.ts
+++ /dev/null
@@ -1,194 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- For custom content support define an option template that gets the item instance as a parameter. In addition header template is provided for further customization.
-
-
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- products!: Product[];
- code: Code = {
- basic: `
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
- `,
-
- html: `
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { OrderListModule } from 'primeng/orderlist';
-
-@Component({
- selector: 'orderlist-template-demo',
- templateUrl: './orderlist-template-demo.html',
- standalone: true,
- imports: [OrderListModule],
- providers: [ProductService]
-})
-export class OrderlistTemplateDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => (this.products = cars));
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.productService.getProductsSmall().then((cars) => {
- this.products = cars;
- this.cdr.detectChanges();
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warning';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/organizationchart/basicdoc.ts b/apps/showcase/src/app/showcase/doc/organizationchart/basicdoc.ts
deleted file mode 100644
index 36bcc4ed91e..00000000000
--- a/apps/showcase/src/app/showcase/doc/organizationchart/basicdoc.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- OrganizationChart requires a collection of TreeNode instances as a value .
-
-
-
- `
-})
-export class BasicDoc {
- data: TreeNode[] = [
- {
- label: 'Argentina',
- expanded: true,
- children: [
- {
- label: 'Argentina',
- expanded: true,
- children: [
- {
- label: 'Argentina'
- },
- {
- label: 'France'
- }
- ]
- },
- {
- label: 'France',
- expanded: true,
- children: [
- {
- label: 'France'
- },
- {
- label: 'Morocco'
- }
- ]
- }
- ]
- }
- ];
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { OrganizationChartModule } from 'primeng/organizationchart';
-
-@Component({
- selector: 'organization-chart-basic-doc',
- templateUrl: './organization-chart-basic-doc.html',
- standalone: true,
- imports: [OrganizationChartModule]
-})
-export class OrganizationChartBasicDoc {
- data: TreeNode[] = [
- {
- label: 'F.C Barcelona',
- expanded: true,
- children: [
- {
- label: 'Argentina',
- expanded: true,
- children: [
- {
- label: 'Argentina'
- },
- {
- label: 'France'
- }
- ]
- },
- {
- label: 'France',
- expanded: true,
- children: [
- {
- label: 'France'
- },
- {
- label: 'Morocco'
- }
- ]
- }
- ]
- }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/organizationchart/importdoc.ts b/apps/showcase/src/app/showcase/doc/organizationchart/importdoc.ts
deleted file mode 100644
index 77ba7ab13b5..00000000000
--- a/apps/showcase/src/app/showcase/doc/organizationchart/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'org-chart-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { OrganizationChartModule } from 'primeng/organizationchart';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/organizationchart/templatedoc.ts b/apps/showcase/src/app/showcase/doc/organizationchart/templatedoc.ts
deleted file mode 100644
index 46a3f75ee65..00000000000
--- a/apps/showcase/src/app/showcase/doc/organizationchart/templatedoc.ts
+++ /dev/null
@@ -1,148 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Custom content instead of a node label is defined using the pTemplate property.
-
-
-
-
-
-
-
{{ node.label }}
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- data: TreeNode[] = [
- {
- label: 'Argentina',
- expanded: true,
- data: 'ar',
- children: [
- {
- label: 'Argentina',
- expanded: true,
- data: 'ar',
- children: [
- {
- label: 'Argentina',
- data: 'ar'
- },
- {
- label: 'Croatia',
- data: 'hr'
- }
- ]
- },
- {
- label: 'France',
- expanded: true,
- data: 'fr',
- children: [
- {
- label: 'France',
- data: 'fr'
- },
- {
- label: 'Morocco',
- data: 'ma'
- }
- ]
- }
- ]
- }
- ];
-
- code: Code = {
- basic: `
-
-
-
-
{{ node.label }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ node.label }}
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { OrganizationChartModule } from 'primeng/organizationchart';
-
-@Component({
- selector: 'organization-chart-template-demo',
- templateUrl: './organization-chart-template-demo.html',
- standalone: true,
- imports: [OrganizationChartModule]
-})
-export class OrganizationChartTemplateDemo {
- data: TreeNode[] = [
- {
- label: 'Argentina',
- expanded: true,
- data: 'ar',
- children: [
- {
- label: 'Argentina',
- expanded: true,
- data: 'ar',
- children: [
- {
- label: 'Argentina',
- data: 'ar'
- },
- {
- label: 'Croatia',
- data: 'hr'
- }
- ]
- },
- {
- label: 'France',
- expanded: true,
- data: 'fr',
- children: [
- {
- label: 'France',
- data: 'fr'
- },
- {
- label: 'Morocco',
- data: 'ma'
- }
- ]
- }
- ]
- }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/overlay/accessibilitydoc.ts
deleted file mode 100644
index 42a4ad4372a..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/accessibilitydoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'accessibility-doc',
- template: `
-
- Screen Reader
-
- Overlay component uses dialog role and since any attribute is passed to the root element you may define attributes like aria-label or aria-labelledby to describe the popup contents. In addition
- aria-modal is added since focus is kept within the popup.
-
-
- It is recommended to use a trigger component that can be accessed with keyboard such as a button, if not adding
- tabIndex would be necessary. Overlay adds aria-expanded state attribute and aria-controls to the trigger so that the relation between the trigger and the popup is defined.
-
- Overlay Keyboard Support
-
- When the popup gets opened, the first focusable element receives the focus and this can be customized by adding
- autofocus to an element within the popup.
-
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the next the focusable element within the popup.
-
-
- shift + tab
- Moves focus to the previous the focusable element within the popup.
-
-
- escape
- Closes the popup and moves focus to the trigger.
-
-
-
-
- Close Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Closes the popup and moves focus to the trigger.
-
-
- space
- Closes the popup and moves focus to the trigger.
-
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- @Input() id: string;
-
- @Input() title: string;
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/autozindexdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/autozindexdoc.ts
deleted file mode 100644
index a4236119700..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/autozindexdoc.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { AppDocSectionTextComponent } from '@layout/doc/app.docsectiontext.component';
-
-@Component({
- selector: 'auto-zindex-doc',
- template: `
- The autoZIndex determines whether to automatically manage layering. Its default value is 'false'.
- `
-})
-export class AutoZIndexDoc {}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/basezindexdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/basezindexdoc.ts
deleted file mode 100644
index 55fab4e3a25..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/basezindexdoc.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { AppDocSectionTextComponent } from '@layout/doc/app.docsectiontext.component';
-
-@Component({
- selector: 'base-zindex-doc',
- template: `
- The baseZIndex is base zIndex value to use in layering. Its default value is 0.
- `
-})
-export class BaseZIndexDoc {}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/basicdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/basicdoc.ts
deleted file mode 100644
index f8c05ae7979..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/basicdoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
- Overlay is a container to display content in an overlay window. All the options mentioned above can be used as props for this component.
-
-
- `
-})
-export class OverlayBasicDemo {
- overlayVisible: boolean = false;
-
- toggle() {
- this.overlayVisible = !this.overlayVisible;
- }
-
- code: Code = {
- basic: `
-
- Content
- `,
- html: `
-`,
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'overlay-basic-demo',
- templateUrl: './overlay-basic-demo.html'
-})
-export class OverlayBasicDemo {
- overlayVisible: boolean = false;
-
- toggle() {
- this.overlayVisible = !this.overlayVisible;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/hideonescapedoc.ts b/apps/showcase/src/app/showcase/doc/overlay/hideonescapedoc.ts
deleted file mode 100644
index cab1e2091c6..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/hideonescapedoc.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { AppDocSectionTextComponent } from '@layout/doc/app.docsectiontext.component';
-
-@Component({
- selector: 'hide-on-escape-doc',
- template: `
- The hideOnEscape determines to hide the overlay when escape key pressed. Accepts boolean, default value is false .
- `
-})
-export class HideOnEscapeDoc {}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/importdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/importdoc.ts
deleted file mode 100644
index ffb29c1f504..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/importdoc.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'import-doc',
- template: ` `
-})
-export class ImportDoc {
- @Input() id: string;
-
- @Input() title: string;
-
- code: Code = {
- typescript: `import { OverlayModule } from 'primeng/overlay';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/responsivedoc.ts b/apps/showcase/src/app/showcase/doc/overlay/responsivedoc.ts
deleted file mode 100644
index 7d9baadab63..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/responsivedoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { Code } from '@domain/code';
-import { AppDocSectionTextComponent } from '@layout/doc/app.docsectiontext.component';
-
-@Component({
- selector: 'responsive-doc',
- template: `
- It is the option used to determine in which mode it should appear according to the given media or breakpoint .
-
-
-
- Valid values of the direction property would be;
-
-
- center (default)
- top
- top-start
- top-end
- bottom
- bottom-start
- bottom-end
- left
- left-start
- left-end
- right
- right-start
- right-end
-
-
`
-})
-export class ResponsiveDoc {
- @Input() id: string;
-
- @Input() title: string;
-
- @ViewChild('docsectiontext', { static: true }) docsectiontext: AppDocSectionTextComponent;
-
- code: Code = {
- basic: `import { PrimeNGConfig, OverlayOptions, ResponsiveOverlayDirectionType } from 'primeng/api';
-
-const responsiveOptions: ResponsiveOverlayOptions = {
- // style?: any; // Style of component in given breakpoint or media query
- // styleClass?: string; // Style class of component in given breakpoint or media query
- // contentStyle?: any; // Style of content in given breakpoint or media query
- // contentStyleClass?: string; // Style class of content in given breakpoint or media query
- // breakpoint?: string; // Breakpoint required to show component in modal mode. Exp: '640px', '10rem' etc.
- // media?: string; // Media query required to show component in modal mode. Exp: '@media screen and (max-width: 640px)', '@media screen and (min-width: 640px) and (max-width: 900px)' etc.
- // direction?: ResponsiveOverlayDirectionType; // Direction in which the component will be displayed in modal mode.
- // hideOnEscape?: boolean; // Hides overlay when escape key pressed.
-}
-
-this.primengConfig.overlayOptions: OverlayOptions = {
- responsive: responsiveOptions
-};`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/targetdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/targetdoc.ts
deleted file mode 100644
index f059e3c9058..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/targetdoc.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'target-doc',
- template: `
- The target is used to detect the element that will be used to position the overlay. Valid values would be;
-
-
-
- @prev (default)
- @next
- @parent
- @grandparent
- Use CSS selector
- Use () => HTMLElement
-
-
`
-})
-export class TargetDoc {
- code: Code = {
- basic: `import { PrimeNGConfig, OverlayOptions } from 'primeng/api';
-
-this.primengConfig.overlayOptions: OverlayOptions = {
- appendTo: 'body'
-};`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/templatedoc.ts b/apps/showcase/src/app/showcase/doc/overlay/templatedoc.ts
deleted file mode 100644
index b581d727fa0..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/templatedoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'overlay-template-demo',
- template: `
- Content can be customized with the content template.
-
-
-
-
- Content - {{ option.mode }}
-
-
- `
-})
-export class OverlayTemplateDemo {
- overlayVisible: boolean = false;
-
- toggle() {
- this.overlayVisible = !this.overlayVisible;
- }
-
- code: Code = {
- basic: `
-
-
- Content - {{option.mode}}
-
- `,
- html: `
-
-
-
-
- Content - {{option.mode}}
-
-
-
`,
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'overlay-template-demo',
- templateUrl: './overlay-template-demo.html'
-})
-export class OverlayTemplateDemo {
- overlayVisible: boolean = false;
-
- toggle() {
- this.overlayVisible = !this.overlayVisible;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/overlay/transitionoptionsdoc.ts b/apps/showcase/src/app/showcase/doc/overlay/transitionoptionsdoc.ts
deleted file mode 100644
index 3cee001242c..00000000000
--- a/apps/showcase/src/app/showcase/doc/overlay/transitionoptionsdoc.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { Component, Input, ViewChild } from '@angular/core';
-import { AppDocSectionTextComponent } from '@layout/doc/app.docsectiontext.component';
-
-@Component({
- selector: 'transition-options-doc',
- template: `
- Transition options of the show or hide animation. The default value of showTransitionOptions is '.12s cubic-bezier(0, 0, 0.2, 1)' and the default value of hideTransitionOptions is '.1s linear'.
- `
-})
-export class TransitionOptionsDoc {}
diff --git a/apps/showcase/src/app/showcase/doc/paginator/basicdoc.ts b/apps/showcase/src/app/showcase/doc/paginator/basicdoc.ts
deleted file mode 100644
index e6333c8fa2c..00000000000
--- a/apps/showcase/src/app/showcase/doc/paginator/basicdoc.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface PageEvent {
- first: number;
- rows: number;
- page: number;
- pageCount: number;
-}
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Paginator is used as a controlled component with first , rows and onPageChange properties to manage the first index and number of records to display per page. Total number of records need to be with
- totalRecords property. Default template includes a dropdown to change the rows so rowsPerPageOptions is also necessary for the dropdown options.
-
-
-
-
- `
-})
-export class BasicDoc {
- first: number = 0;
-
- rows: number = 10;
-
- onPageChange(event: PageEvent) {
- this.first = event.first;
- this.rows = event.rows;
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PaginatorModule } from 'primeng/paginator';
-
-interface PageEvent {
- first: number;
- rows: number;
- page: number;
- pageCount: number;
-}
-
-@Component({
- selector: 'paginator-basic-demo',
- templateUrl: './paginator-basic-demo.html',
- standalone: true,
- imports: [PaginatorModule]
-})
-export class PaginatorBasicDemo {
- first: number = 0;
-
- rows: number = 10;
-
- onPageChange(event: PageEvent) {
- this.first = event.first;
- this.rows = event.rows;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/paginator/importdoc.ts b/apps/showcase/src/app/showcase/doc/paginator/importdoc.ts
deleted file mode 100644
index 24c3cce99f5..00000000000
--- a/apps/showcase/src/app/showcase/doc/paginator/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'paginator-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { PaginatorModule } from 'primeng/paginator';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/paginator/templatedoc.ts b/apps/showcase/src/app/showcase/doc/paginator/templatedoc.ts
deleted file mode 100644
index af3e9dcda5a..00000000000
--- a/apps/showcase/src/app/showcase/doc/paginator/templatedoc.ts
+++ /dev/null
@@ -1,218 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '../../domain/code';
-
-interface PageEvent {
- first: number;
- rows: number;
- page: number;
- pageCount: number;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Templating allows overriding the default content of the UI elements by defining callbacks using the element name.
-
-
-
- `
-})
-export class TemplateDoc {
- first1: number = 0;
-
- rows1: number = 10;
-
- first2: number = 0;
-
- rows2: number = 10;
-
- first3: number = 0;
-
- rows3: number = 10;
-
- totalRecords: number = 120;
-
- options = [
- { label: 5, value: 5 },
- { label: 10, value: 10 },
- { label: 20, value: 20 },
- { label: 120, value: 120 }
- ];
-
- onPageChange1(event: PageEvent) {
- this.first1 = event.first;
- this.rows1 = event.rows;
- }
-
- onPageChange2(event: PageEvent) {
- this.first2 = event.first;
- this.rows2 = event.rows;
- }
-
- onPageChange3(event: PageEvent) {
- this.first3 = event.first;
- this.rows3 = event.rows;
- }
-
- code: Code = {
- basic: `
-
-
-
-`,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PaginatorModule } from 'primeng/paginator';
-import { ButtonModule } from 'primeng/button';
-import { DividerModule } from 'primeng/divider';
-import { Slider } from 'primeng/slider';
-import { FormsModule } from '@angular/forms';
-
-interface PageEvent {
- first: number;
- rows: number;
- page: number;
- pageCount: number;
-}
-
-@Component({
- selector: 'paginator-template-demo',
- templateUrl: './paginator-template-demo.html',
- standalone: true,
- imports: [PaginatorModule, ButtonModule, DividerModule, Slider, FormsModule]
-})
-export class PaginatorTemplateDemo {
- first1: number = 0;
-
- rows1: number = 10;
-
- first2: number = 0;
-
- rows2: number = 10;
-
- first3: number = 0;
-
- rows3: number = 10;
-
- totalRecords: number = 120;
-
- options = [
- { label: 5, value: 5 },
- { label: 10, value: 10 },
- { label: 20, value: 20 },
- { label: 120, value: 120 }
- ];
-
- onPageChange1(event: PageEvent) {
- this.first1 = event.first;
- this.rows1 = event.rows;
- }
-
- onPageChange2(event: PageEvent) {
- this.first2 = event.first;
- this.rows2 = event.rows;
- }
-
- onPageChange3(event: PageEvent) {
- this.first3 = event.first;
- this.rows3 = event.rows;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panel/basicdoc.ts b/apps/showcase/src/app/showcase/doc/panel/basicdoc.ts
deleted file mode 100644
index ca0a5fdebbe..00000000000
--- a/apps/showcase/src/app/showcase/doc/panel/basicdoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- A simple Panel is created with a header property along with the content as children.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { PanelModule } from 'primeng/panel';
-
-@Component({
- selector: 'panel-basic-demo',
- templateUrl: './panel-basic-demo.html',
- standalone: true,
- imports: [PanelModule]
-})
-export class PanelBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panel/importdoc.ts b/apps/showcase/src/app/showcase/doc/panel/importdoc.ts
deleted file mode 100644
index 269f66047bb..00000000000
--- a/apps/showcase/src/app/showcase/doc/panel/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'panel-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Panel } from 'primeng/panel';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panel/templatedoc.ts b/apps/showcase/src/app/showcase/doc/panel/templatedoc.ts
deleted file mode 100644
index 18822dbb6b0..00000000000
--- a/apps/showcase/src/app/showcase/doc/panel/templatedoc.ts
+++ /dev/null
@@ -1,158 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Header and Footers sections can be customized using header and footer templates.
-
-
-
-
-
-
-
-
-
-
Updated 2 hours ago
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: { label?: string; icon?: string; separator?: boolean }[] = [];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Refresh',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
Updated 2 hours ago
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis
- aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
Updated 2 hours ago
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
- aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis
- aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
- occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { PanelModule } from 'primeng/panel';
-import { AvatarModule } from 'primeng/avatar';
-import { ButtonModule } from 'primeng/button';
-import { MenuModule } from 'primeng/menu';
-
-@Component({
- selector: 'panel-template-demo',
- templateUrl: './panel-template-demo.html',
- standalone: true,
- imports: [PanelModule, AvatarModule, ButtonModule, MenuModule]
-})
-export class PanelTemplateDemo implements OnInit {
- items: { label?: string; icon?: string; separator?: boolean }[] = [];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Refresh',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panel/toggleabledoc.ts b/apps/showcase/src/app/showcase/doc/panel/toggleabledoc.ts
deleted file mode 100644
index 9480edc3377..00000000000
--- a/apps/showcase/src/app/showcase/doc/panel/toggleabledoc.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toggleable-doc',
- template: `
-
-
- Content of the panel can be expanded and collapsed using toggleable option, default state is defined with collapsed option. By default, toggle icon is used to toggle the contents whereas setting toggler to "header" enables
- clicking anywhere in the header to trigger a toggle.
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
-
- `
-})
-export class ToggleableDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { PanelModule } from 'primeng/panel';
-
-@Component({
- selector: 'panel-toggleable-demo',
- templateUrl: './panel-toggleable-demo.html',
- standalone: true,
- imports: [PanelModule]
-})
-export class PanelToggleableDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/basicdoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/basicdoc.ts
deleted file mode 100644
index 44c26b26090..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/basicdoc.ts
+++ /dev/null
@@ -1,203 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- PanelMenu requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Documents',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Invoices',
- icon: 'pi pi-file-pdf',
- items: [
- {
- label: 'Pending',
- icon: 'pi pi-stop'
- },
- {
- label: 'Paid',
- icon: 'pi pi-check-circle'
- }
- ]
- },
- {
- label: 'Clients',
- icon: 'pi pi-users'
- }
- ]
- },
- {
- label: 'Images',
- icon: 'pi pi-image',
- items: [
- {
- label: 'Logos',
- icon: 'pi pi-image'
- }
- ]
- }
- ]
- },
- {
- label: 'Cloud',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Upload',
- icon: 'pi pi-cloud-upload'
- },
- {
- label: 'Download',
- icon: 'pi pi-cloud-download'
- },
- {
- label: 'Sync',
- icon: 'pi pi-refresh'
- }
- ]
- },
- {
- label: 'Devices',
- icon: 'pi pi-desktop',
- items: [
- {
- label: 'Phone',
- icon: 'pi pi-mobile'
- },
- {
- label: 'Desktop',
- icon: 'pi pi-desktop'
- },
- {
- label: 'Tablet',
- icon: 'pi pi-tablet'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-
-@Component({
- selector: 'panel-menu-basic-demo',
- templateUrl: './panel-menu-basic-demo.html',
- standalone: true,
- imports: [PanelMenu]
-})
-export class PanelMenuBasicDemo implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Documents',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Invoices',
- icon: 'pi pi-file-pdf',
- items: [
- {
- label: 'Pending',
- icon: 'pi pi-stop'
- },
- {
- label: 'Paid',
- icon: 'pi pi-check-circle'
- }
- ]
- },
- {
- label: 'Clients',
- icon: 'pi pi-users'
- }
- ]
- },
- {
- label: 'Images',
- icon: 'pi pi-image',
- items: [
- {
- label: 'Logos',
- icon: 'pi pi-image'
- }
- ]
- }
- ]
- },
- {
- label: 'Cloud',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Upload',
- icon: 'pi pi-cloud-upload'
- },
- {
- label: 'Download',
- icon: 'pi pi-cloud-download'
- },
- {
- label: 'Sync',
- icon: 'pi pi-refresh'
- }
- ]
- },
- {
- label: 'Devices',
- icon: 'pi pi-desktop',
- items: [
- {
- label: 'Phone',
- icon: 'pi pi-mobile'
- },
- {
- label: 'Desktop',
- icon: 'pi pi-desktop'
- },
- {
- label: 'Tablet',
- icon: 'pi pi-tablet'
- }
- ]
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/commanddoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/commanddoc.ts
deleted file mode 100644
index aefc29e2f05..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/commanddoc.ts
+++ /dev/null
@@ -1,179 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'command-doc',
- template: `
-
- The command property defines the callback to run when an item is activated by click or a key event.
-
-
-
- `,
- providers: [MessageService]
-})
-export class CommandDoc implements OnInit {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({
- severity: 'warn',
- summary: 'Search Results',
- detail: 'No results found',
- life: 3000
- });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({
- severity: 'info',
- summary: 'Downloads',
- detail: 'Downloaded from cloud',
- life: 3000
- });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Sign Out',
- icon: 'pi pi-sign-out',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Signed out', detail: 'User logged out', life: 3000 });
- }
- }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'panel-menu-command-demo',
- templateUrl: './panel-menu-command-demo.html',
- standalone: true,
- imports: [PanelMenu, ToastModule],
- providers: [MessageService]
-})
-export class PanelMenuCommandDemo implements OnInit {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Downloads', detail: 'Downloaded from cloud', life: 3000 });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Sign Out',
- icon: 'pi pi-sign-out',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Signed out', detail: 'User logged out', life: 3000 });
- }
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/controlleddoc.ts
deleted file mode 100644
index 5709ffce262..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/controlleddoc.ts
+++ /dev/null
@@ -1,219 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'controlled-doc',
- template: `
-
- Menu items can be controlled programmatically.
-
-
-
- `
-})
-export class ControlledDoc implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- key: '0',
- label: 'Users',
- icon: 'pi pi-users',
- items: [
- {
- key: '0_1',
- label: 'New',
- items: [
- {
- key: '0_1_0',
- label: 'Member'
- },
- {
- key: '0_1_1',
- label: 'Group'
- }
- ]
- },
- {
- key: '0_2',
- label: 'Search'
- }
- ]
- },
- {
- key: '1',
- label: 'Tasks',
- icon: 'pi pi-server',
- items: [
- {
- key: '1_0',
- label: 'Add New'
- },
- {
- key: '1_1',
- label: 'Pending'
- },
- {
- key: '1_2',
- label: 'Overdue'
- }
- ]
- },
- {
- key: '2',
- label: 'Calendar',
- icon: 'pi pi-calendar',
- items: [
- {
- key: '2_0',
- label: 'New Event'
- },
- {
- key: '2_1',
- label: 'Today'
- },
- {
- key: '2_2',
- label: 'This Week'
- }
- ]
- }
- ];
- }
-
- toggleAll() {
- const expanded = !this.areAllItemsExpanded();
- this.items = this.toggleAllRecursive(this.items, expanded);
- }
-
- private toggleAllRecursive(items: MenuItem[], expanded: boolean): MenuItem[] {
- return items.map((menuItem) => {
- menuItem.expanded = expanded;
- if (menuItem.items) {
- menuItem.items = this.toggleAllRecursive(menuItem.items, expanded);
- }
- return menuItem;
- });
- }
-
- private areAllItemsExpanded(): boolean {
- return this.items.every((menuItem) => menuItem.expanded);
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'panel-menu-controlled-demo',
- templateUrl: './panel-menu-controlled-demo.html',
- standalone: true,
- imports: [PanelMenu, ButtonModule]
-})
-export class PanelMenuControlledDemo implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- key: '0',
- label: 'Users',
- icon: 'pi pi-users',
- items: [
- {
- key: '0_1',
- label: 'New',
- items: [
- {
- key: '0_1_0',
- label: 'Member'
- },
- {
- key: '0_1_1',
- label: 'Group'
- }
- ]
- },
- {
- key: '0_2',
- label: 'Search'
- }
- ]
- },
- {
- key: '1',
- label: 'Tasks',
- icon: 'pi pi-server',
- items: [
- {
- key: '1_0',
- label: 'Add New'
- },
- {
- key: '1_1',
- label: 'Pending'
- },
- {
- key: '1_2',
- label: 'Overdue'
- }
- ]
- },
- {
- key: '2',
- label: 'Calendar',
- icon: 'pi pi-calendar',
- items: [
- {
- key: '2_0',
- label: 'New Event'
- },
- {
- key: '2_1',
- label: 'Today'
- },
- {
- key: '2_2',
- label: 'This Week'
- }
- ]
- }
- ];
- }
-
- toggleAll() {
- const expanded = !this.areAllItemsExpanded();
- this.items = this.toggleAllRecursive(this.items, expanded);
- }
-
- private toggleAllRecursive(items: MenuItem[], expanded: boolean): MenuItem[] {
- return items.map((menuItem) => {
- menuItem.expanded = expanded;
- if (menuItem.items) {
- menuItem.items = this.toggleAllRecursive(menuItem.items, expanded);
- }
- return menuItem;
- });
- }
-
- private areAllItemsExpanded(): boolean {
- return this.items.every((menuItem) => menuItem.expanded);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/importdoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/importdoc.ts
deleted file mode 100644
index 8757e6aa648..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'panel-menu-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { PanelMenu } from 'primeng/panelmenu';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/multipledoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/multipledoc.ts
deleted file mode 100644
index 59bd6ef3370..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/multipledoc.ts
+++ /dev/null
@@ -1,203 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
- Only one single root menuitem can be active by default, enable multiple property to be able to open more than one items.
-
-
-
- `
-})
-export class MultipleDoc implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Documents',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Invoices',
- icon: 'pi pi-file-pdf',
- items: [
- {
- label: 'Pending',
- icon: 'pi pi-stop'
- },
- {
- label: 'Paid',
- icon: 'pi pi-check-circle'
- }
- ]
- },
- {
- label: 'Clients',
- icon: 'pi pi-users'
- }
- ]
- },
- {
- label: 'Images',
- icon: 'pi pi-image',
- items: [
- {
- label: 'Logos',
- icon: 'pi pi-image'
- }
- ]
- }
- ]
- },
- {
- label: 'Cloud',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Upload',
- icon: 'pi pi-cloud-upload'
- },
- {
- label: 'Download',
- icon: 'pi pi-cloud-download'
- },
- {
- label: 'Sync',
- icon: 'pi pi-refresh'
- }
- ]
- },
- {
- label: 'Devices',
- icon: 'pi pi-desktop',
- items: [
- {
- label: 'Phone',
- icon: 'pi pi-mobile'
- },
- {
- label: 'Desktop',
- icon: 'pi pi-desktop'
- },
- {
- label: 'Tablet',
- icon: 'pi pi-tablet'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-
-@Component({
- selector: 'panel-menu-multiple-demo',
- templateUrl: './panel-menu-multiple-demo.html',
- standalone: true,
- imports: [PanelMenu]
-})
-export class PanelMenuMultipleDemo implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Files',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Documents',
- icon: 'pi pi-file',
- items: [
- {
- label: 'Invoices',
- icon: 'pi pi-file-pdf',
- items: [
- {
- label: 'Pending',
- icon: 'pi pi-stop'
- },
- {
- label: 'Paid',
- icon: 'pi pi-check-circle'
- }
- ]
- },
- {
- label: 'Clients',
- icon: 'pi pi-users'
- }
- ]
- },
- {
- label: 'Images',
- icon: 'pi pi-image',
- items: [
- {
- label: 'Logos',
- icon: 'pi pi-image'
- }
- ]
- }
- ]
- },
- {
- label: 'Cloud',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Upload',
- icon: 'pi pi-cloud-upload'
- },
- {
- label: 'Download',
- icon: 'pi pi-cloud-download'
- },
- {
- label: 'Sync',
- icon: 'pi pi-refresh'
- }
- ]
- },
- {
- label: 'Devices',
- icon: 'pi pi-desktop',
- items: [
- {
- label: 'Phone',
- icon: 'pi pi-mobile'
- },
- {
- label: 'Desktop',
- icon: 'pi pi-desktop'
- },
- {
- label: 'Tablet',
- icon: 'pi pi-tablet'
- }
- ]
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/routerdoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/routerdoc.ts
deleted file mode 100644
index dce144586fc..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/routerdoc.ts
+++ /dev/null
@@ -1,208 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'router-doc',
- template: `
-
- Items with navigation are defined with templating to be able to use a routerLink directive, an external link or programmatic navigation.
-
-
-
- `,
- providers: [MessageService]
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[];
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Installation',
- icon: 'pi pi-eraser',
- route: '/installation'
- },
- {
- label: 'Configuration',
- icon: 'pi pi-heart',
- route: '/configuration'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- icon: 'pi pi-star',
- url: 'https://angular.io/'
- },
- {
- label: 'Vite.js',
- icon: 'pi pi-bookmark',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ item.label }}
-
-
-
-
-
- {{ item.label }}
-
-
-
-
- {{ item.label }}
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'panel-menu-router-demo',
- templateUrl: './panel-menu-router-demo.html',
- standalone: true,
- imports: [PanelMenu],
- providers: [MessageService]
-})
-export class PanelMenuRouterDemo implements OnInit {
- items: MenuItem[];
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Installation',
- icon: 'pi pi-eraser',
- route: '/installation'
- },
- {
- label: 'Configuration',
- icon: 'pi pi-heart',
- route: '/configuration'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- icon: 'pi pi-star',
- url: 'https://angular.io/'
- },
- {
- label: 'Vite.js',
- icon: 'pi pi-bookmark',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/panelmenu/templatedoc.ts b/apps/showcase/src/app/showcase/doc/panelmenu/templatedoc.ts
deleted file mode 100644
index c929ccd864d..00000000000
--- a/apps/showcase/src/app/showcase/doc/panelmenu/templatedoc.ts
+++ /dev/null
@@ -1,252 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- PanelMenu requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Mail',
- icon: 'pi pi-envelope',
- badge: '5',
- items: [
- {
- label: 'Compose',
- icon: 'pi pi-file-edit',
- shortcut: '⌘+N'
- },
- {
- label: 'Inbox',
- icon: 'pi pi-inbox',
- badge: '5'
- },
- {
- label: 'Sent',
- icon: 'pi pi-send',
- shortcut: '⌘+S'
- },
- {
- label: 'Trash',
- icon: 'pi pi-trash',
- shortcut: '⌘+T'
- }
- ]
- },
- {
- label: 'Reports',
- icon: 'pi pi-chart-bar',
- shortcut: '⌘+R',
- items: [
- {
- label: 'Sales',
- icon: 'pi pi-chart-line',
- badge: '3'
- },
- {
- label: 'Products',
- icon: 'pi pi-list',
- badge: '6'
- }
- ]
- },
- {
- label: 'Profile',
- icon: 'pi pi-user',
- shortcut: '⌘+W',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog',
- shortcut: '⌘+O'
- },
- {
- label: 'Privacy',
- icon: 'pi pi-shield',
- shortcut: '⌘+P'
- }
- ]
- }
- ];
- }
-
- toggleAll() {
- const expanded = !this.areAllItemsExpanded();
- this.items = this.toggleAllRecursive(this.items, expanded);
- }
-
- private toggleAllRecursive(items: MenuItem[], expanded: boolean): MenuItem[] {
- return items.map((menuItem) => {
- menuItem.expanded = expanded;
- if (menuItem.items) {
- menuItem.items = this.toggleAllRecursive(menuItem.items, expanded);
- }
- return menuItem;
- });
- }
-
- private areAllItemsExpanded(): boolean {
- return this.items.every((menuItem) => menuItem.expanded);
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ item.label }}
-
-
-
- {{ item.shortcut }}
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { PanelMenu } from 'primeng/panelmenu';
-import { BadgeModule } from 'primeng/badge';
-import { Ripple } from 'primeng/ripple';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'panel-menu-template-demo',
- templateUrl: './panel-menu-template-demo.html',
- standalone: true,
- imports: [PanelMenu, BadgeModule, Ripple, CommonModule]
-})
-export class PanelMenuTemplateDemo implements OnInit {
- items: MenuItem[];
-
- ngOnInit() {
- this.items = [
- {
- label: 'Mail',
- icon: 'pi pi-envelope',
- badge: '5',
- items: [
- {
- label: 'Compose',
- icon: 'pi pi-file-edit',
- shortcut: '⌘+N'
- },
- {
- label: 'Inbox',
- icon: 'pi pi-inbox',
- badge: '5'
- },
- {
- label: 'Sent',
- icon: 'pi pi-send',
- shortcut: '⌘+S'
- },
- {
- label: 'Trash',
- icon: 'pi pi-trash',
- shortcut: '⌘+T'
- }
- ]
- },
- {
- label: 'Reports',
- icon: 'pi pi-chart-bar',
- shortcut: '⌘+R',
- items: [
- {
- label: 'Sales',
- icon: 'pi pi-chart-line',
- badge: '3'
- },
- {
- label: 'Products',
- icon: 'pi pi-list',
- badge: '6'
- }
- ]
- },
- {
- label: 'Profile',
- icon: 'pi pi-user',
- shortcut: '⌘+W',
- items: [
- {
- label: 'Settings',
- icon: 'pi pi-cog',
- shortcut: '⌘+O'
- },
- {
- label: 'Privacy',
- icon: 'pi pi-shield',
- shortcut: '⌘+P'
- }
- ]
- }
- ];
- }
-
- toggleAll() {
- const expanded = !this.areAllItemsExpanded();
- this.items = this.toggleAllRecursive(this.items, expanded);
- }
-
- private toggleAllRecursive(items: MenuItem[], expanded: boolean): MenuItem[] {
- return items.map((menuItem) => {
- menuItem.expanded = expanded;
- if (menuItem.items) {
- menuItem.items = this.toggleAllRecursive(menuItem.items, expanded);
- }
- return menuItem;
- });
- }
-
- private areAllItemsExpanded(): boolean {
- return this.items.every((menuItem) => menuItem.expanded);
- }
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/password/accessibilitydoc.ts
deleted file mode 100644
index 65722572009..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/accessibilitydoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'password-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided via label tag combined with id prop or using ariaLabelledBy , ariaLabel props. Screen reader is notified about the changes to the strength of the
- password using a section that has aria-live while typing.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input.
-
-
-
- escape
-
- Hides the strength meter if open.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Password
-
-
-Password
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/basicdoc.ts b/apps/showcase/src/app/showcase/doc/password/basicdoc.ts
deleted file mode 100644
index d907859d7bb..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way value binding is defined using ngModel .
-
-
-
- `
-})
-export class BasicDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-basic-demo',
- templateUrl: './password-basic-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordBasicDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/disableddoc.ts b/apps/showcase/src/app/showcase/doc/password/disableddoc.ts
deleted file mode 100644
index 2d69e76db41..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-disabled-demo',
- templateUrl: './password-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordDisabledDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/filleddoc.ts b/apps/showcase/src/app/showcase/doc/password/filleddoc.ts
deleted file mode 100644
index c9fac225955..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-filled-demo',
- templateUrl: './password-filled-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordFilledDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/password/floatlabeldoc.ts
deleted file mode 100644
index fa37ec9c823..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/floatlabeldoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatLabelDoc {
- value1!: string;
-
- value2!: string;
-
- value3!: string;
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-import { FloatLabelModule } from 'primeng/floatlabel';
-
-@Component({
- selector: 'password-floatlabel-demo',
- templateUrl: './password-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule, FloatLabelModule]
-})
-export class PasswordFloatlabelDemo {
- value1!: string;
-
- value2!: string;
-
- value3!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/password/iftalabeldoc.ts
deleted file mode 100644
index 94bf090f09a..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/iftalabeldoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value!: string;
-
- code: Code = {
- basic: `
-
- Password
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'password-iftalabel-demo',
- templateUrl: './password-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule, IftaLabelModule]
-})
-export class PasswordIftaLabelDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/importdoc.ts b/apps/showcase/src/app/showcase/doc/password/importdoc.ts
deleted file mode 100644
index b614db17878..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'password-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { PasswordModule } from 'primeng/password';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/password/invaliddoc.ts
deleted file mode 100644
index 03d2b959714..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-invalid-demo',
- templateUrl: './password-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordInvalidDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/localedoc.ts b/apps/showcase/src/app/showcase/doc/password/localedoc.ts
deleted file mode 100644
index 79bca41ff90..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/localedoc.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'locale-doc',
- template: `
-
-
- Labels are translated at component level by promptLabel , weakLabel , mediumLabel and strongLabel properties. In order to apply global translations for all Password components in the application, refer to the
- locale
-
-
-
-
- `
-})
-export class LocaleDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-locale-demo',
- templateUrl: './password-locale-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordLocaleDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/password/reactiveformsdoc.ts
deleted file mode 100644
index da29e258960..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Password can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl()
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { PasswordModule } from 'primeng/password';
-
-@Component({
- selector: 'password-reactive-forms-demo',
- templateUrl: './password-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, PasswordModule]
-})
-export class PasswordReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl()
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/password/sizesdoc.ts
deleted file mode 100644
index 5e4a789274b..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/sizesdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- Password provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1: string;
-
- value2: string;
-
- value3: string;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { PasswordModule } from 'primeng/password';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'password-sizes-demo',
- templateUrl: './password-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule]
-})
-export class PasswordSizesDemo {
- value1: string;
-
- value2: string;
-
- value3: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/password/templatedoc.ts b/apps/showcase/src/app/showcase/doc/password/templatedoc.ts
deleted file mode 100644
index 541ed2285fb..00000000000
--- a/apps/showcase/src/app/showcase/doc/password/templatedoc.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- 3 templates are included to customize the overlay. These are header , content and footer . Note that content overrides the default meter.
-
-
-
-
- Pick a password
-
-
-
-
- At least one lowercase
- At least one uppercase
- At least one numeric
- Minimum 8 characters
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- value!: string;
-
- code: Code = {
- basic: `
-
- Pick a password
-
-
-
-
- At least one lowercase
- At least one uppercase
- At least one numeric
- Minimum 8 characters
-
-
- `,
-
- html: `
-
-
- Pick a password
-
-
-
-
- At least one lowercase
- At least one uppercase
- At least one numeric
- Minimum 8 characters
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { PasswordModule } from 'primeng/password';
-import { DividerModule } from 'primeng/divider';
-
-@Component({
- selector: 'password-template-demo',
- templateUrl: './password-template-demo.html',
- standalone: true,
- imports: [FormsModule, PasswordModule, DividerModule]
-})
-export class PasswordTemplateDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/picklist/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/picklist/accessibilitydoc.ts
deleted file mode 100644
index 475f2388b46..00000000000
--- a/apps/showcase/src/app/showcase/doc/picklist/accessibilitydoc.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'pick-list-accessibility-doc',
- template: `
- Screen Reader
-
- Value to describe the source listbox and target listbox can be provided with ariaLabelledBy or ariaLabel props. The list elements has a listbox role with the aria-multiselectable attribute. Each list item has
- an option role with aria-selected and aria-disabled as their attributes.
-
-
- Controls buttons are button elements with an aria-label that refers to the aria.moveTop , aria.moveUp , aria.moveDown , aria.moveBottom ,aria.moveTo , aria.moveAllTo ,
- aria.moveFrom and aria.moveAllFrom properties of the locale API by default, alternatively you may usemoveTopButtonProps , moveUpButtonProps , moveDownButtonProps ,
- moveToButtonProps , moveAllToButtonProps , moveFromButtonProps , moveFromButtonProps and moveAllFromButtonProps to customize the buttons like overriding the default aria-label attributes.
-
-
-
-
- PickList Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- tab
- Moves focus to the first selected option, if there is none then first option receives the focus.
-
-
- up arrow
- Moves focus to the previous option.
-
-
- down arrow
- Moves focus to the next option.
-
-
- enter
- Toggles the selected state of the focused option.
-
-
- space
- Toggles the selected state of the focused option.
-
-
- home
- Moves focus to the first option.
-
-
- end
- Moves focus to the last option.
-
-
- shift + down arrow
- Moves focus to the next option and toggles the selection state.
-
-
- shift + up arrow
- Moves focus to the previous option and toggles the selection state.
-
-
- shift + space
- Selects the items between the most recently selected option and the focused option.
-
-
- control + shift + home
- Selects the focused options and all the options up to the first one.
-
-
- control + shift + end
- Selects the focused options and all the options down to the first one.
-
-
- control + a
- Selects all options.
-
-
-
-
- Buttons Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
- enter
- Executes button action.
-
-
- space
- Executes button action.
-
-
-
-
- `
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/picklist/basicdoc.ts b/apps/showcase/src/app/showcase/doc/picklist/basicdoc.ts
deleted file mode 100644
index e3edf1e3245..00000000000
--- a/apps/showcase/src/app/showcase/doc/picklist/basicdoc.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- PickList is used as a controlled input with source and target properties. Content of a list item needs to be defined with the pTemplate property that receives an object in the list as parameter. Drag & drop
- functionality depends on @angular/cdk package.
-
-
-
-
-
- {{ item.name }}
-
-
-
-
- `
-})
-export class BasicDoc {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then((products) => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-
- code: Code = {
- basic: `
-
- {{ item.name }}
-
- `,
-
- html: `
-
-
- {{ item.name }}
-
-
-
`,
-
- typescript: `import { ChangeDetectorRef, Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { PickListModule } from 'primeng/picklist';
-
-@Component({
- selector: 'picklist-basic-demo',
- templateUrl: './picklist-basic-demo.html',
- standalone: true,
- imports: [PickListModule],
- providers: [ProductService]
-})
-export class PicklistBasicDemo {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then(products => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/picklist/filterdoc.ts b/apps/showcase/src/app/showcase/doc/picklist/filterdoc.ts
deleted file mode 100644
index 7c772a700b0..00000000000
--- a/apps/showcase/src/app/showcase/doc/picklist/filterdoc.ts
+++ /dev/null
@@ -1,210 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'filter-doc',
- template: `
-
- Filter value is checked against the property of an object configured with the filterBy property.
-
-
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
-
- `
-})
-export class FilterDoc {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then((products) => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
- `,
-
- html: `
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
`,
-
- typescript: `import { Component, ChangeDetectorRef } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { PickListModule } from 'primeng/picklist';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'picklist-filter-demo',
- templateUrl: './picklist-filter-demo.html',
- standalone: true,
- imports: [PickListModule, CommonModule],
- providers: [ProductService]
-})
-export class PicklistFilterDemo {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then(products => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/picklist/importdoc.ts b/apps/showcase/src/app/showcase/doc/picklist/importdoc.ts
deleted file mode 100644
index 17781271b1b..00000000000
--- a/apps/showcase/src/app/showcase/doc/picklist/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'pick-list-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { PickList } from 'primeng/picklist';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/picklist/templatedoc.ts b/apps/showcase/src/app/showcase/doc/picklist/templatedoc.ts
deleted file mode 100644
index 5dc46f7a902..00000000000
--- a/apps/showcase/src/app/showcase/doc/picklist/templatedoc.ts
+++ /dev/null
@@ -1,207 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- For custom content support define an option template that gets the item instance as a parameter. In addition sourceheader and targetheader templates are provided for further customization.
-
-
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
- code: Code = {
- basic: `
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
- `,
-
- html: `
-
-
-
-
-
- {{ option.name }}
- {{ option.category }}
-
-
{{ '$' + option.price }}
-
-
-
-
`,
-
- typescript: `import { Component, ChangeDetectorRef } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { PickListModule } from 'primeng/picklist';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'picklist-template-demo',
- templateUrl: './picklist-template-demo.html',
- standalone: true,
- imports: [PickListModule, CommonModule],
- providers: [ProductService]
-})
-export class PicklistTemplateDemo {
- sourceProducts!: Product[];
-
- targetProducts!: Product[];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then(products => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-}`,
-
- data: `
-/* ProductService */
-{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
-
- service: ['ProductService']
- };
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-
- constructor(
- private carService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.carService.getProductsSmall().then((products) => {
- this.sourceProducts = products;
- this.cdr.markForCheck();
- });
- this.targetProducts = [];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/popover/basicdoc.ts b/apps/showcase/src/app/showcase/doc/popover/basicdoc.ts
deleted file mode 100644
index 24d1ef63fee..00000000000
--- a/apps/showcase/src/app/showcase/doc/popover/basicdoc.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Popover is accessed via its reference and visibility is controlled using toggle , show and hide methods with an event of the target.
-
-
-
-
-
-
-
Share this document
-
-
-
-
-
-
-
-
-
-
Team Members
-
-
-
-
-
{{ member.name }}
-
{{ member.email }}
-
-
- {{ member.role }}
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- members = [
- { name: 'Amy Elsner', image: 'amyelsner.png', email: 'amy@email.com', role: 'Owner' },
- { name: 'Bernardo Dominic', image: 'bernardodominic.png', email: 'bernardo@email.com', role: 'Editor' },
- { name: 'Ioni Bowcher', image: 'ionibowcher.png', email: 'ioni@email.com', role: 'Viewer' }
- ];
-
- code: Code = {
- basic: `
-
-
-
-
Share this document
-
-
-
-
-
-
-
-
-
-
Team Members
-
-
-
-
-
{{ member.name }}
-
{{ member.email }}
-
-
- {{ member.role }}
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
Share this document
-
-
-
-
-
-
-
-
-
-
Team Members
-
-
-
-
-
{{ member.name }}
-
{{ member.email }}
-
-
- {{ member.role }}
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Popover } from 'primeng/popover';
-import { InputGroup } from 'primeng/inputgroup';
-import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
-import { ButtonModule } from 'primeng/button';
-import { InputTextModule } from 'primeng/inputtext';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'popover-basic-demo',
- templateUrl: './popover-basic-demo.html',
- standalone: true,
- imports: [Popover, InputGroup, InputGroupAddonModule, ButtonModule, InputTextModule, CommonModule]
-})
-export class PopoverBasicDemo {
- members = [
- { name: 'Amy Elsner', image: 'amyelsner.png', email: 'amy@email.com', role: 'Owner' },
- { name: 'Bernardo Dominic', image: 'bernardodominic.png', email: 'bernardo@email.com', role: 'Editor' },
- { name: 'Ioni Bowcher', image: 'ionibowcher.png', email: 'ioni@email.com', role: 'Viewer' }
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/popover/datatabledoc.ts b/apps/showcase/src/app/showcase/doc/popover/datatabledoc.ts
deleted file mode 100644
index 79cc4c44e18..00000000000
--- a/apps/showcase/src/app/showcase/doc/popover/datatabledoc.ts
+++ /dev/null
@@ -1,398 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Popover } from 'primeng/popover';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'data-table-doc',
- template: `
-
- Place the Popover outside of the data iteration components to avoid rendering it multiple times.
-
-
-
-
-
- Id
- Code
- Name
- Price
- Image
- Details
-
-
-
-
- {{ product.id }}
- {{ product.code }}
- {{ product.name }}
- $ {{ product.price }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ selectedProduct.category }}
-
{{ selectedProduct.name }}
-
-
-
- {{ selectedProduct.rating }}
-
-
-
-
-
-
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class DataTableDoc implements OnInit {
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef
- ) {}
-
- @ViewChild('op') op!: Popover;
-
- products: Product[] | undefined;
-
- selectedProduct: Product | undefined;
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.markForCheck();
- });
- }
- code: Code = {
- basic: `
-
-
- Id
- Code
- Name
- Price
- Image
- Details
-
-
-
-
- {{ product.id }}
- {{ product.code }}
- {{ product.name }}
- $ {{ product.price }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{
- selectedProduct.category
- }}
-
{{ selectedProduct.name }}
-
-
-
- {{ selectedProduct.rating }}
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
- Id
- Code
- Name
- Price
- Image
- Details
-
-
-
-
- {{ product.id }}
- {{ product.code }}
- {{ product.name }}
- $ {{ product.price }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{
- selectedProduct.category
- }}
-
{{ selectedProduct.name }}
-
-
-
- {{ selectedProduct.rating }}
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Popover } from 'primeng/popover';
-import { PopoverModule } from 'primeng/popover';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { ButtonModule } from 'primeng/button';
-import { TagModule } from 'primeng/tag';
-
-@Component({
- selector: 'popover-data-table-demo',
- templateUrl: './popover-data-table-demo.html',
- standalone: true,
- imports: [PopoverModule, TableModule, ButtonModule, TagModule],
- providers: [MessageService, ProductService]
-})
-export class PopoverDataTableDemo implements OnInit {
-
- constructor(
- private productService: ProductService,
- private cdr: ChangeDetectorRef,
- ) {}
-
- @ViewChild('op') op!: Popover;
-
- products: Product[] | undefined;
-
- selectedProduct: Product | undefined;
-
- ngOnInit() {
- this.productService.getProductsSmall().then((products) => {
- this.products = products;
- this.cdr.markForCheck();
- });
- }
-
- displayProduct(event, product) {
- if (this.selectedProduct?.id === product.id) {
- this.op.hide();
- this.selectedProduct = null;
- } else {
- this.selectedProduct = product;
- this.op.show(event);
-
- if (this.op.container) {
- this.op.align();
- }
- }
- }
-
- hidePopover() {
- this.op.hide();
- }
-
- getSeverity(product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warn';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-}`,
- service: ['ProductService']
- };
-
- displayProduct(event, product) {
- if (this.selectedProduct?.id === product.id) {
- this.op.hide();
- this.selectedProduct = null;
- } else {
- this.selectedProduct = product;
- this.op.show(event);
-
- if (this.op.container) {
- this.op.align();
- }
- }
- }
-
- hidePopover() {
- this.op.hide();
- }
-
- getSeverity(product) {
- switch (product.inventoryStatus) {
- case 'INSTOCK':
- return 'success';
-
- case 'LOWSTOCK':
- return 'warn';
-
- case 'OUTOFSTOCK':
- return 'danger';
-
- default:
- return null;
- }
- }
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/popover/importdoc.ts b/apps/showcase/src/app/showcase/doc/popover/importdoc.ts
deleted file mode 100644
index c211e08b0df..00000000000
--- a/apps/showcase/src/app/showcase/doc/popover/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'popover-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Popover } from 'primeng/popover';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/popover/targetdoc.ts b/apps/showcase/src/app/showcase/doc/popover/targetdoc.ts
deleted file mode 100644
index d8790450d4b..00000000000
--- a/apps/showcase/src/app/showcase/doc/popover/targetdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'target-doc',
- template: `
-
-
- show method takes two parameters, first one is the event and it is mandatory. By default the target component to align the overlay is the event target, if you'd like to align it to another element, provide it as the second
- parameter target .
-
-
-
-
-
- Target Element
-
-
-
-
-
-
- `
-})
-export class TargetDoc {
- code: Code = {
- basic: `
-
- Target Element
-
-
-
- `,
-
- html: `
-
-
-
- Target Element
-
-
-
-
-
`,
-
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'overlay-panel-target-demo',
- templateUrl: './overlay-panel-target-demo.html'
-})
-export class OverlayPanelTargetDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/popover/templatedoc.ts b/apps/showcase/src/app/showcase/doc/popover/templatedoc.ts
deleted file mode 100644
index 27d7eb30edd..00000000000
--- a/apps/showcase/src/app/showcase/doc/popover/templatedoc.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Content of the OverlayPanel is defined by content template.
-
-
-
-
- Custom Content
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
- Custom Content
-
-
- `,
-
- html: `
-
-
-
- Custom Content
-
-
-
-
`,
-
- typescript: `
-import { Component } from '@angular/core';
-
-@Component({
- selector: 'overlay-panel-template-demo',
- templateUrl: './overlay-panel-template-demo.html'
-})
-export class OverlayPanelTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/accessibilitydoc.ts
deleted file mode 100644
index 84514bc2cac..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/accessibilitydoc.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'progress-bar-accessibility-doc',
- template: `
-
- Screen Reader
-
- ProgressBar components uses progressbar role along with aria-valuemin , aria-valuemax and aria-valuenow attributes. Value to describe the component can be defined usingaria-labelledby and
- aria-label props.
-
-
-
-
-
-
Keyboard Support
-
Not applicable.
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `Status
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/basicdoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/basicdoc.ts
deleted file mode 100644
index 3fd601297a0..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/basicdoc.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- ProgressBar is used with the value property.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { ProgressBar } from 'primeng/progressbar';
-
-@Component({
- selector: 'progress-bar-basic-demo',
- templateUrl: './progress-bar-basic-demo.html',
- standalone: true,
- imports: [ProgressBar]
-})
-export class ProgressBarBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/dynamicdoc.ts
deleted file mode 100644
index 837e405eb96..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/dynamicdoc.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { ChangeDetectorRef, Component, NgZone, OnDestroy, OnInit } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-doc',
- template: `
-
- Value is reactive so updating it dynamically changes the bar as well.
-
-
-
- `,
- providers: [MessageService]
-})
-export class DynamicDoc implements OnInit, OnDestroy {
- value: number = 0;
-
- interval: any;
-
- constructor(
- private messageService: MessageService,
- private cd: ChangeDetectorRef,
- private ngZone: NgZone
- ) {}
-
- ngOnInit() {
- this.ngZone.runOutsideAngular(() => {
- this.interval = setInterval(() => {
- this.ngZone.run(() => {
- this.value = this.value + Math.floor(Math.random() * 10) + 1;
- if (this.value >= 100) {
- this.value = 100;
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'Process Completed' });
- clearInterval(this.interval);
- }
- this.cd.markForCheck();
- });
- }, 2000);
- });
- }
-
- ngOnDestroy() {
- if (this.interval) {
- clearInterval(this.interval);
- }
- }
-
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component, NgZone, OnInit } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { ProgressBar } from 'primeng/progressbar';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'progress-bar-dynamic-demo',
- templateUrl: './progress-bar-dynamic-demo.html',
- standalone: true,
- imports: [ProgressBar, ToastModule],
- providers: [MessageService]
-})
-export class ProgressBarDynamicDemo implements OnInit {
- value: number = 0;
-
- interval: any;
-
- constructor(private messageService: MessageService, private ngZone: NgZone) {}
-
- ngOnInit() {
- this.ngZone.runOutsideAngular(() => {
- this.interval = setInterval(() => {
- this.ngZone.run(() => {
- this.value = this.value + Math.floor(Math.random() * 10) + 1;
- if (this.value >= 100) {
- this.value = 100;
- this.messageService.add({ severity: 'info', summary: 'Success', detail: 'Process Completed' });
- clearInterval(this.interval);
- }
- });
- }, 2000);
- });
- }
-
- ngOnDestroy() {
- if (this.interval) {
- clearInterval(this.interval);
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/importdoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/importdoc.ts
deleted file mode 100644
index f1473f16187..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/importdoc.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'progress-bar-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ProgressBar } from 'primeng/progressbar';
-// For dynamic progressbar demo
-import { ToastModule } from 'primeng/toast';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/indeterminatedoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/indeterminatedoc.ts
deleted file mode 100644
index eccc4f19f71..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/indeterminatedoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'indeterminate-doc',
- template: `
-
- For progresses with no value to track, set the mode property to indeterminate .
-
-
-
- `,
- providers: [MessageService]
-})
-export class IndeterminateDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { ProgressBar } from 'primeng/progressbar';
-
-@Component({
- selector: 'progress-bar-indeterminate-demo',
- templateUrl: './progress-bar-indeterminate-demo.html',
- standalone: true,
- imports: [ProgressBar],
- providers: [MessageService]
-})
-export class ProgressBarIndeterminateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressbar/templatedoc.ts b/apps/showcase/src/app/showcase/doc/progressbar/templatedoc.ts
deleted file mode 100644
index e300429b3fd..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressbar/templatedoc.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- content template allows displaying custom content inside the progressbar.
-
-
-
-
- {{ value }}/100
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
- {{value}}/100
-
- `,
- html: `
-
-
- {{value}}/100
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { ProgressBar } from 'primeng/progressbar';
-
-@Component({
- selector: 'progress-bar-template-demo',
- templateUrl: './progress-bar-template-demo.html',
- standalone: true,
- imports: [ProgressBar]
-})
-export class ProgressBarTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressspinner/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/progressspinner/accessibilitydoc.ts
deleted file mode 100644
index e7a929a51e7..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressspinner/accessibilitydoc.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'progress-spinner-accessibility-doc',
- template: `
-
- Screen Reader
- ProgressSpinner components uses progressbar role. Value to describe the component can be defined using aria-labelledby and aria-label props.
-
-
-
-
-
Keyboard Support
-
Component does not include any interactive elements.
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- html: ` `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressspinner/basicdoc.ts b/apps/showcase/src/app/showcase/doc/progressspinner/basicdoc.ts
deleted file mode 100644
index 00dd42f2333..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressspinner/basicdoc.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- An infinite spin animation is displayed by default.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { ProgressSpinner } from 'primeng/progressspinner';
-
-@Component({
- selector: 'progress-spinner-basic-demo',
- templateUrl: './progress-spinner-basic-demo.html',
- standalone: true,
- imports: [ProgressSpinner]
-})
-export class ProgressSpinnerBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressspinner/customdoc.ts b/apps/showcase/src/app/showcase/doc/progressspinner/customdoc.ts
deleted file mode 100644
index 61d65fe3ab6..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressspinner/customdoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'custom-doc',
- template: `
-
- ProgressSpinner can be customized with styling property like styleClass , strokeWidth and fill .
-
-
-
- `
-})
-export class CustomDoc {
- @Input() id: string;
-
- @Input() title: string;
-
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { ProgressSpinner } from 'primeng/progressspinner';
-
-@Component({
- selector: 'progress-spinner-custom-demo',
- templateUrl: './progress-spinner-custom-demo.html',
- standalone: true,
- imports: [ProgressSpinner]
-})
-export class ProgressSpinnerCustomDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/progressspinner/importdoc.ts b/apps/showcase/src/app/showcase/doc/progressspinner/importdoc.ts
deleted file mode 100644
index 05e8d67285a..00000000000
--- a/apps/showcase/src/app/showcase/doc/progressspinner/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'progress-spinner-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ProgressSpinner } from 'primeng/progressspinner';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/accessibilitydoc.ts
deleted file mode 100644
index 8669595fd7d..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/accessibilitydoc.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'radio-button-accessibility-doc',
- template: `
-
- Screen Reader
-
- RadioButton component uses a hidden native radio button element internally that is only visible to screen readers. Value to describe the component can either be provided via label tag combined with inputId prop or using
- ariaLabelledBy , ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the checked radio button, if there is none within the group then first radio button receives the focus.
-
-
-
-
- left arrow
- up arrow
-
-
- Moves focus to the previous radio button, if there is none then last radio button receives the focus.
-
-
-
-
- right arrow
- down arrow
-
-
- Moves focus to the next radio button, if there is none then first radio button receives the focus.
-
-
-
- space
-
- If the focused radio button is unchecked, changes the state to checked.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `One
-
-
-Two
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/disableddoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/disableddoc.ts
deleted file mode 100644
index e37e663cd20..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/disableddoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- value: number = 2;
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-disabled-demo',
- templateUrl: './radio-button-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonDisabledDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/dynamicdoc.ts
deleted file mode 100644
index b6f8cc01cb6..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/dynamicdoc.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-doc',
- template: `
-
- RadioButtons can be generated using a list of values.
-
-
-
-
-
-
{{ category.name }}
-
-
-
-
- `
-})
-export class DynamicDoc implements OnInit {
- selectedCategory: any = null;
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' }
- ];
-
- ngOnInit() {
- this.selectedCategory = this.categories[1];
- }
-
- code: Code = {
- basic: `
-
-
-
{{ category.name }}
-
-
`,
-
- html: `
-
-
-
-
{{ category.name }}
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-dynamic-demo',
- templateUrl: './radio-button-dynamic-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonDynamicDemo implements OnInit{
- selectedCategory: any = null;
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' }
- ];
-
- ngOnInit() {
- this.selectedCategory = this.categories[1];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/filleddoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/filleddoc.ts
deleted file mode 100644
index 5a3dcb17af1..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/filleddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-filled-demo',
- templateUrl: './radio-button-filled-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonFilledDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/groupdoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/groupdoc.ts
deleted file mode 100644
index 7ce5ca42b37..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/groupdoc.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'group-doc',
- template: `
-
- RadioButton is used as a controlled input with value and ngModel properties.
-
-
-
- `
-})
-export class GroupDoc {
- ingredient!: string;
-
- code: Code = {
- basic: ``,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-group-demo',
- templateUrl: './radio-button-group-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonGroupDemo {
- ingredient!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/importdoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/importdoc.ts
deleted file mode 100644
index 21cf06c9cd9..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'radio-button-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { RadioButton } from 'primeng/radiobutton';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/invaliddoc.ts
deleted file mode 100644
index 8a8968457d1..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/invaliddoc.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- checked: any = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-invalid-demo',
- templateUrl: './radio-button-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonInvalidDemo { }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/reactiveformsdoc.ts
deleted file mode 100644
index ac43ac08d7f..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/reactiveformsdoc.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- RadioButton can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
-
{{ category.name }}
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' }
- ];
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCategory: new FormControl()
- });
- }
-
- code: Code = {
- basic: `
-
-
-
{{ category.name }}
-
- `,
-
- html: `
-
-
-
-
{{ category.name }}
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { RadioButton } from 'primeng/radiobutton';
-
-@Component({
- selector: 'radio-button-reactive-forms-demo',
- templateUrl: './radio-button-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, RadioButton],
-})
-export class RadioButtonReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- categories: any[] = [
- { name: 'Accounting', key: 'A' },
- { name: 'Marketing', key: 'M' },
- { name: 'Production', key: 'P' },
- { name: 'Research', key: 'R' }
- ];
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedCategory: new FormControl()
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/radiobutton/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/radiobutton/sizesdoc.ts
deleted file mode 100644
index 19880b758f9..00000000000
--- a/apps/showcase/src/app/showcase/doc/radiobutton/sizesdoc.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- RadioButton provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- size: any = false;
-
- code: Code = {
- basic: ``,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { RadioButton } from 'primeng/radiobutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'radio-button-sizes-demo',
- templateUrl: './radio-button-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, RadioButton]
-})
-export class RadioButtonSizesDemo {
- size: any = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/basicdoc.ts b/apps/showcase/src/app/showcase/doc/rating/basicdoc.ts
deleted file mode 100644
index cb6969565c1..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way value binding is defined using ngModel .
-
-
-
- `
-})
-export class BasicDoc {
- value!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Rating } from 'primeng/rating';
-
-@Component({
- selector: 'rating-basic-demo',
- templateUrl: './rating-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Rating]
-})
-export class RatingBasicDemo {
- value!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/disableddoc.ts b/apps/showcase/src/app/showcase/doc/rating/disableddoc.ts
deleted file mode 100644
index 0113996b463..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, a visual hint is applied to indicate that the Knob cannot be interacted with.
-
-
-
- `
-})
-export class DisabledDoc {
- value: number = 5;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Rating } from 'primeng/rating';
-
-@Component({
- selector: 'rating-disabled-demo',
- templateUrl: './rating-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Rating]
-})
-export class RatingDisabledDemo {
- value: number = 5;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/importdoc.ts b/apps/showcase/src/app/showcase/doc/rating/importdoc.ts
deleted file mode 100644
index a972509604a..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'rating-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Rating } from 'primeng/rating';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/rating/reactiveformsdoc.ts
deleted file mode 100644
index ac2e3c9b664..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Rating can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(4)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Rating } from 'primeng/rating';
-
-@Component({
- selector: 'rating-reactive-forms-demo',
- templateUrl: './rating-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Rating]
-})
-export class RatingReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(4)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/readonlydoc.ts b/apps/showcase/src/app/showcase/doc/rating/readonlydoc.ts
deleted file mode 100644
index 56c22a37e94..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/readonlydoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'readonly-doc',
- template: `
-
- When readOnly present, value cannot be edited.
-
-
-
- `
-})
-export class ReadOnlyDoc {
- value: number = 3;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Rating } from 'primeng/rating';
-
-@Component({
- selector: 'rating-readonly-demo',
- templateUrl: './rating-readonly-demo.html',
- standalone: true,
- imports: [FormsModule, Rating]
-})
-export class RatingReadonlyDemo {
- value: number = 3;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/rating/templatedoc.ts b/apps/showcase/src/app/showcase/doc/rating/templatedoc.ts
deleted file mode 100644
index 7cae182502b..00000000000
--- a/apps/showcase/src/app/showcase/doc/rating/templatedoc.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Templating allows customizing the content where the icon instance is available as the implicit variable.
-
-
-
- `
-})
-export class TemplateDoc {
- value!: number;
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Rating } from 'primeng/rating';
-
-@Component({
- selector: 'rating-template-demo',
- templateUrl: './rating-template-demo.html',
- standalone: true,
- imports: [FormsModule, Rating]
-})
-export class RatingTemplateDemo {
- value!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/ripple/customdoc.ts b/apps/showcase/src/app/showcase/doc/ripple/customdoc.ts
deleted file mode 100644
index e502ef872f0..00000000000
--- a/apps/showcase/src/app/showcase/doc/ripple/customdoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'custom-doc',
- template: `
-
- Styling Demo Content.
-
-
-
Ripple option at the
-
- configurator needs to be turned on for the demo.
-
-
Green
-
Orange
-
Purple
-
-
-
- `,
- styles: [
- `
- :host {
- .box {
- padding: 2rem;
- border-radius: 10px;
- width: 110px;
- text-align: center;
- }
- }
- `
- ]
-})
-export class CustomDoc {
- code: Code = {
- basic: `
- Green
-
-
- Orange
-
-
- Purple
-
`,
- html: `
-
- Green
-
-
- Orange
-
-
- Purple
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'ripple-custom-demo',
- templateUrl: './ripple-custom-demo.html',
- standalone: true,
- imports: [Ripple],
- styles: [
- \` :host {
- .box {
- padding: 2rem;
- border-radius: 10px;
- width: 110px;
- text-align: center;
- }
- }\`
- ],
-})
-export class RippleCustomDemo {
-}`,
- scss: `:host {
- .box {
- padding: 2rem;
- border-radius: 10px;
- width: 110px;
- text-align: center;
- }
- }`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/ripple/importdoc.ts b/apps/showcase/src/app/showcase/doc/ripple/importdoc.ts
deleted file mode 100644
index d6f255ba8a7..00000000000
--- a/apps/showcase/src/app/showcase/doc/ripple/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'ripple-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Ripple } from 'primeng/ripple';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/basicdoc.ts b/apps/showcase/src/app/showcase/doc/scroller/basicdoc.ts
deleted file mode 100644
index f57f2b346f0..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/basicdoc.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- VirtualScroller requires items as the data to display, itemSize for the dimensions of an item and item template are required on component. In addition, an initial array is required based on the total number of
- items to display. Size of the viewport is configured using scrollWidth , scrollHeight properties directly or with CSS width and height styles.
-
-
-
-
-
-
- {{ item }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class BasicDoc {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => `Item #${i}`);
- }
-
- code: Code = {
- basic: `
-
-
- {{ item }}
-
-
- `,
-
- html: `
-
-
-
- {{ item }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { ScrollerModule } from 'primeng/scroller';
-
-@Component({
- selector: 'scroller-basic-demo',
- templateUrl: './scroller-basic-demo.html',
- styles: [
- \`:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
- }\`
- ],
- standalone: true,
- imports: [ScrollerModule]
-})
-export class ScrollerBasicDemo implements OnInit {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => \`Item #\${i}\`);
- }
-}`,
- scss: `
-:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/delaydoc.ts b/apps/showcase/src/app/showcase/doc/scroller/delaydoc.ts
deleted file mode 100644
index 2340c30c3e5..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/delaydoc.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'delay-doc',
- template: `
-
- Scroll delay is adjusted by using delay property.
-
-
-
-
No Delay
-
-
-
- {{ item }}
-
-
-
-
-
-
150ms
-
-
-
- {{ item }}
-
-
-
-
-
-
500ms
-
-
-
- {{ item }}
-
-
-
-
-
-
- `
-})
-export class DelayDoc {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => `Item #${i}`);
- }
-
- code: Code = {
- basic: `
-
-
- {{ item }}
-
-
-
-
-
-
-
- {{ item }}
-
-
-
-
-
-
-
- {{ item }}
-
-
- `,
-
- html: `
-
-
No Delay
-
-
-
- {{ item }}
-
-
-
-
-
-
150ms
-
-
-
- {{ item }}
-
-
-
-
-
-
500ms
-
-
-
- {{ item }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { ScrollerModule } from 'primeng/scroller';
-
-@Component({
- selector: 'scroller-delay-demo',
- templateUrl: './scroller-delay-demo.html',
- styles: [
- \`:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
- }\`
- ],
- standalone: true,
- imports: [ScrollerModule]
-})
-export class ScrollerDelayDemo implements OnInit {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => \`Item #\${i}\`);
- }
-}`,
- scss: `
-:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/horizontaldoc.ts b/apps/showcase/src/app/showcase/doc/scroller/horizontaldoc.ts
deleted file mode 100644
index ae0b57e59d1..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/horizontaldoc.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'horizontal-doc',
- template: `
-
- Setting orientation to horizontal enables scrolling horizontally. In this case, the itemSize should refer to the width of an item.
-
-
-
-
-
- {{ item }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class HorizontalDoc {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => `Item #${i}`);
- }
-
- code: Code = {
- basic: `
-
-
- {{ item }}
-
-
- `,
-
- html: `
-
-
-
- {{ item }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { ScrollerModule } from 'primeng/scroller';
-
-@Component({
- selector: 'scroller-horizontal-demo',
- templateUrl: './scroller-horizontal-demo.html',
- styles: [
- \`:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-
- .p-horizontal-scroll {
- .p-scroller-content {
- display: flex;
- flex-direction: row;
- }
- }
- }\`
- ],
- standalone: true,
- imports: [ScrollerModule]
-})
-export class ScrollerHorizontalDemo implements OnInit {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => \`Item #\${i}\`);
- }
-}`,
- scss: `
-:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-
- .p-horizontal-scroll {
- .p-scroller-content {
- display: flex;
- flex-direction: row;
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/importdoc.ts b/apps/showcase/src/app/showcase/doc/scroller/importdoc.ts
deleted file mode 100644
index 78dd481afeb..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'scroller-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Scroller } from 'primeng/scroller';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/lazyloaddoc.ts b/apps/showcase/src/app/showcase/doc/scroller/lazyloaddoc.ts
deleted file mode 100644
index 36bac116d27..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/lazyloaddoc.ts
+++ /dev/null
@@ -1,173 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface LazyEvent {
- first: number;
- last: number;
-}
-@Component({
- selector: 'lazy-load-doc',
- template: `
-
-
- Lazy mode is handy to deal with large datasets where instead of loading the entire data, small chunks of data are loaded on demand by invoking onLazyLoad callback everytime scrolling requires a new chunk. To implement lazy loading,
- enable
- lazy attribute, initialize your data as a placeholder with a length and finally implement a method callback using onLazyLoad that actually loads a chunk from a datasource. onLazyLoad gets an event object that contains
- information about the chunk of data to load such as the index and number of items to load. Notice that a new template called loadingItem is also required to display as a placeholder while the new items are being loaded.
-
-
-
-
-
-
- {{ item }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class LazyLoadDoc {
- items!: string[];
-
- lazyLoading: boolean = true;
-
- loadLazyTimeout: any;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 });
- }
-
- onLazyLoad(event: LazyEvent) {
- this.lazyLoading = true;
-
- if (this.loadLazyTimeout) {
- clearTimeout(this.loadLazyTimeout);
- }
-
- //imitate delay of a backend call
- this.loadLazyTimeout = setTimeout(
- () => {
- const { first, last } = event;
- const lazyItems = [...this.items];
-
- for (let i = first; i < last; i++) {
- lazyItems[i] = `Item #${i}`;
- }
-
- this.items = lazyItems;
- this.lazyLoading = false;
- this.cd.markForCheck();
- },
- Math.random() * 1000 + 250
- );
- }
-
- code: Code = {
- basic: `
-
-
- {{ item }}
-
-
- `,
-
- html: `
-
-
-
- {{ item }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { ScrollerModule } from 'primeng/scroller';
-
-interface LazyEvent {
- first: number;
- last: number;
-}
-
-@Component({
- selector: 'scroller-lazy-load-demo',
- templateUrl: './scroller-lazy-load-demo.html',
- styles: [
- \`:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
- }\`
- ],
- standalone: true,
- imports: [ScrollerModule]
-})
-export class ScrollerLazyLoadDemo implements OnInit {
- items!: string[];
-
- lazyLoading: boolean = true;
-
- loadLazyTimeout: any;
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 });
- }
-
- onLazyLoad(event: LazyEvent) {
- this.lazyLoading = true;
-
- if (this.loadLazyTimeout) {
- clearTimeout(this.loadLazyTimeout);
- }
-
- //imitate delay of a backend call
- this.loadLazyTimeout = setTimeout(() => {
- const { first, last } = event;
- const lazyItems = [...this.items];
-
- for (let i = first; i < last; i++) {
- lazyItems[i] = \`Item #\${i}\`;
- }
-
- this.items = lazyItems;
- this.lazyLoading = false;
- }, Math.random() * 1000 + 250);
- }
-}`,
- scss: `
-:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scroller/templatedoc.ts b/apps/showcase/src/app/showcase/doc/scroller/templatedoc.ts
deleted file mode 100644
index bfda8dfe3cc..00000000000
--- a/apps/showcase/src/app/showcase/doc/scroller/templatedoc.ts
+++ /dev/null
@@ -1,208 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Scroller content is customizable by using ng-template . Valid values are content , item , loader and loadericon
-
-
-
-
-
-
Item: {{ item }}
-
Index: {{ options.index }}
-
Count: {{ options.count }}
-
First: {{ options.first }}
-
Last: {{ options.last }}
-
Even: {{ options.even }}
-
Odd: {{ options.odd }}
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class TemplateDoc {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => `Item #${i}`);
- }
-
- code: Code = {
- basic: `
-
-
-
- Item: {{item}}
-
-
- Index: {{options.index}}
-
-
- Count: {{options.count}}
-
-
- First: {{options.first}}
-
-
- Last: {{options.last}}
-
-
- Even: {{options.even}}
-
-
- Odd: {{options.odd}}
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
- Item: {{item}}
-
-
- Index: {{options.index}}
-
-
- Count: {{options.count}}
-
-
- First: {{options.first}}
-
-
- Last: {{options.last}}
-
-
- Even: {{options.even}}
-
-
- Odd: {{options.odd}}
-
-
-
-
- `,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Scroller } from 'primeng/scroller';
-import { Skeleton } from 'primeng/skeleton';
-
-@Component({
- selector: 'scroller-template-demo',
- templateUrl: './scroller-template-demo.html',
- styles: [
- \`:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-
- p-skeleton {
- width: 100%;
- }
- }\`
- ],
- standalone: true,
- imports: [Scroller, Skeleton]
-})
-export class ScrollerTemplateDemo implements OnInit {
- items!: string[];
-
- ngOnInit() {
- this.items = Array.from({ length: 1000 }).map((_, i) => \`Item #\${i}\`);
- }
-}`,
- scss: `
-:host ::ng-deep {
- .p-scroller-viewport {
- flex: none;
- }
-
- p-skeleton {
- width: 100%;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scrollpanel/basicdoc.ts b/apps/showcase/src/app/showcase/doc/scrollpanel/basicdoc.ts
deleted file mode 100644
index 73482bca226..00000000000
--- a/apps/showcase/src/app/showcase/doc/scrollpanel/basicdoc.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- ScrollPanel is defined using dimensions for the scrollable viewport.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim
- ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet...
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
-
-
- At vero eos et accusamus et iusto odio dignissimos...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim
- ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ScrollPanelModule } from 'primeng/scrollpanel';
-
-@Component({
- selector: 'scroll-panel-basic-demo',
- templateUrl: './scroll-panel-basic-demo.html',
- standalone: true,
- imports: [ScrollPanelModule]
-})
-export class ScrollPanelBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scrollpanel/customdoc.ts b/apps/showcase/src/app/showcase/doc/scrollpanel/customdoc.ts
deleted file mode 100644
index dbb88cbe420..00000000000
--- a/apps/showcase/src/app/showcase/doc/scrollpanel/customdoc.ts
+++ /dev/null
@@ -1,146 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'custom-doc',
- template: `
-
- Scrollbar visuals can be styled for a unified look across different platforms.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim
- ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim
- ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui
- officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
- `,
- styles: [
- `
- :host ::ng-deep {
- .p-scrollpanel {
- &.custombar {
- .p-scrollpanel-bar {
- background-color: var(--p-primary-color);
- }
- }
- }
- }
- `
- ]
-})
-export class CusstomDoc {
- code: Code = {
- basic: `
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
-
-
- At vero eos et accusamus et iusto odio dignissimos...
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit...
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium...
-
-
- At vero eos et accusamus et iusto odio dignissimos...
-
- `,
-
- html: `
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
- culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,
- totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae
- dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci
- velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum
- deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non
- provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum
- fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis
- est eligendi optio cumque nihil impedit quo minus.
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
- et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
- aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
- culpa qui officia deserunt mollit anim id est laborum.
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium,
- totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae
- dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit,
- sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci
- velit, sed quia non numquam eius modi.
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum
- deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non
- provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum
- fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis
- est eligendi optio cumque nihil impedit quo minus.
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ScrollPanelModule } from 'primeng/scrollpanel';
-
-@Component({
- selector: 'scroll-panel-custom-demo',
- templateUrl: './scroll-panel-custom-demo.html',
- standalone: true,
- imports: [ScrollPanelModule],
- styles: [ \`:host ::ng-deep {
- .p-scrollpanel {
- &.custombar {
- .p-scrollpanel-bar {
- background-color: var(--p-primary-color);
- }
- }
- }
-}\`
- ],
-})
-export class ScrollPanelCustomDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scrollpanel/importdoc.ts b/apps/showcase/src/app/showcase/doc/scrollpanel/importdoc.ts
deleted file mode 100644
index f072eb5aa6e..00000000000
--- a/apps/showcase/src/app/showcase/doc/scrollpanel/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'scroll-panel-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ScrollPanel } from 'primeng/scrollpanel';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scrolltop/basicdoc.ts b/apps/showcase/src/app/showcase/doc/scrolltop/basicdoc.ts
deleted file mode 100644
index 963974f1cf6..00000000000
--- a/apps/showcase/src/app/showcase/doc/scrolltop/basicdoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- ScrollTop listens window scroll by default.
-
-
-
Scroll down the page to display the ScrollTo component.
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: `
-
Scroll down the page to display the ScrollTo component.
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { ScrollTop } from 'primeng/scrolltop';
-
-@Component({
- selector: 'scroll-top-basic-demo',
- templateUrl: './scroll-top-basic-demo.html',
- standalone: true,
- imports: [ScrollTop]
-})
-export class ScrollTopBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/scrolltop/importdoc.ts b/apps/showcase/src/app/showcase/doc/scrolltop/importdoc.ts
deleted file mode 100644
index b1110cf51bb..00000000000
--- a/apps/showcase/src/app/showcase/doc/scrolltop/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'scroll-top-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ScrollTop } from 'primeng/scrolltop';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/select/accessibilitydoc.ts
deleted file mode 100644
index 1481edffd7d..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/accessibilitydoc.ts
+++ /dev/null
@@ -1,180 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided with ariaLabelledBy or ariaLabel props. The select element has a combobox role in addition to aria-haspopup and aria-expanded attributes. If the
- editable option is enabled aria-autocomplete is also added. The relation between the combobox and the popup is created with aria-controls and aria-activedescendant attribute is used to instruct screen reader which
- option to read during keyboard navigation within the popup list.
-
-
- The popup list has an id that refers to the aria-controls attribute of the combobox element and uses listbox as the role. Each list item has an option role, an id to match the
- aria-activedescendant of the input element along with aria-label , aria-selected and aria-disabled attributes.
-
-
- If filtering is enabled, filterInputProps can be defined to give aria-* props to the filter input element.
-
-
-
-
-
Closed State Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the select element.
-
-
-
- space
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
- down arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
- up arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then last option receives the focus.
-
-
-
-
-
-
Popup Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the next focusable element in the popup, if there is none then first focusable element receives the focus.
-
-
- shift + tab
- Moves focus to the previous focusable element in the popup, if there is none then last focusable element receives the focus.
-
-
-
- enter
-
- Selects the focused option and closes the popup.
-
-
-
- space
-
- Selects the focused option and closes the popup.
-
-
-
- escape
-
- Closes the popup, moves focus to the select element.
-
-
-
- down arrow
-
- Moves focus to the next option, if there is none then visual focus does not change.
-
-
-
- up arrow
-
- Moves focus to the previous option, if there is none then visual focus does not change.
-
-
-
- right arrow
-
- If the select is editable, removes the visual focus from the current option and moves input cursor to one character left.
-
-
-
- left arrow
-
- If the select is editable, removes the visual focus from the current option and moves input cursor to one character right.
-
-
-
- home
-
- If the select is editable, moves input cursor at the end, if not then moves focus to the first option.
-
-
-
- end
-
- If the select is editable, moves input cursor at the beginning, if not then moves focus to the last option.
-
-
-
- any printable character
-
- Moves focus to the option whose label starts with the characters being typed if select is not editable.
-
-
-
-
-
-
Filter Input Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Closes the popup and moves focus to the select element.
-
-
-
- escape
-
- Closes the popup and moves focus to the select element.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/basicdoc.ts b/apps/showcase/src/app/showcase/doc/select/basicdoc.ts
deleted file mode 100644
index 720765d95f9..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/basicdoc.ts
+++ /dev/null
@@ -1,77 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-basic-demo',
- template: `
-
-
- Select is used as a controlled component with ngModel property along with an options collection. Label and value of an option are defined with the optionLabel and optionValue properties respectively. Note
- that, when options are simple primitive values such as a string array, no optionLabel and optionValue would be necessary.
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- cities: City[];
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-basic-demo',
- templateUrl: './select-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectBasicDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/checkmarkdoc.ts b/apps/showcase/src/app/showcase/doc/select/checkmarkdoc.ts
deleted file mode 100644
index 9744a0710d2..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/checkmarkdoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-checkmark-demo',
- template: `
-
- An alternative way to highlight the selected option is displaying a checkmark instead.
-
-
-
- `
-})
-export class CheckmarkDoc implements OnInit {
- cities: City[];
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-checkmark-demo',
- templateUrl: './select-checkmark-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectCheckmarkDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/disableddoc.ts b/apps/showcase/src/app/showcase/doc/select/disableddoc.ts
deleted file mode 100644
index f956441df74..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/disableddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-disabled-demo',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-disabled-demo',
- templateUrl: './select-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectDisabledDemo {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/filleddoc.ts b/apps/showcase/src/app/showcase/doc/select/filleddoc.ts
deleted file mode 100644
index 569c9cd2330..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/filleddoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-filled-demo',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc implements OnInit {
- cities: City[];
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-filled-demo',
- templateUrl: './select-filled-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectFilledDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/filterdoc.ts b/apps/showcase/src/app/showcase/doc/select/filterdoc.ts
deleted file mode 100644
index e64c938bf9e..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/filterdoc.ts
+++ /dev/null
@@ -1,111 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-filter-demo',
- template: `
-
- Select provides built-in filtering that is enabled by adding the filter property.
-
-
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
-
-
- `
-})
-export class FilterDoc implements OnInit {
- countries: any[] | undefined;
-
- selectedCountry: string | undefined;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
{{ country.name }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectModule } from 'primeng/select';
-
-@Component({
- selector: 'select-filter-demo',
- templateUrl: './select-filter-demo.html',
- standalone: true,
- imports: [FormsModule, SelectModule]
-})
-export class SelectFilterDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCountry: string | undefined;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/select/floatlabeldoc.ts
deleted file mode 100644
index 84685e942ad..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/floatlabeldoc.ts
+++ /dev/null
@@ -1,125 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-floatlabel-demo',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatLabelDoc implements OnInit {
- cities: City[] | undefined;
-
- value1: City | undefined;
-
- value2: City | undefined;
-
- value3: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-import { FloatLabel } from "primeng/floatlabel"
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-floatlabel-demo',
- templateUrl: './select-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, Select, FloatLabel]
-})
-export class SelectFloatlabelDemo implements OnInit {
- cities: City[] | undefined;
-
- value1: City | undefined;
-
- value2: City | undefined;
-
- value3: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/groupdoc.ts b/apps/showcase/src/app/showcase/doc/select/groupdoc.ts
deleted file mode 100644
index 748d116a394..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/groupdoc.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-import { Component } from '@angular/core';
-import { SelectItemGroup } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-group-demo',
- template: `
-
- Options can be grouped when a nested data structures is provided.
-
-
-
-
-
-
-
{{ group.label }}
-
-
-
-
-
- `
-})
-export class GroupDoc {
- groupedCities: SelectItemGroup[];
-
- selectedCity: string | undefined;
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ group.label }}
-
-
- `,
-
- html: `
-
-
-
-
-
{{ group.label }}
-
-
-
-
`,
-
- typescript: `import { SelectItemGroup } from 'primeng/api';
-import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectModule } from 'primeng/select';
-
-@Component({
- selector: 'select-group-demo',
- templateUrl: './select-group-demo.html',
- standalone: true,
- imports: [FormsModule, SelectModule]
-})
-export class SelectGroupDemo {
- groupedCities: SelectItemGroup[];
-
- selectedCity: string | undefined;
-
- constructor() {
- this.groupedCities = [
- {
- label: 'Germany',
- value: 'de',
- items: [
- { label: 'Berlin', value: 'Berlin' },
- { label: 'Frankfurt', value: 'Frankfurt' },
- { label: 'Hamburg', value: 'Hamburg' },
- { label: 'Munich', value: 'Munich' }
- ]
- },
- {
- label: 'USA',
- value: 'us',
- items: [
- { label: 'Chicago', value: 'Chicago' },
- { label: 'Los Angeles', value: 'Los Angeles' },
- { label: 'New York', value: 'New York' },
- { label: 'San Francisco', value: 'San Francisco' }
- ]
- },
- {
- label: 'Japan',
- value: 'jp',
- items: [
- { label: 'Kyoto', value: 'Kyoto' },
- { label: 'Osaka', value: 'Osaka' },
- { label: 'Tokyo', value: 'Tokyo' },
- { label: 'Yokohama', value: 'Yokohama' }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/select/iftalabeldoc.ts
deleted file mode 100644
index 24293212c1d..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/iftalabeldoc.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-iftalabel-demo',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
- code: Code = {
- basic: `
-
- City
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectModule } from 'primeng/select';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-iftalabel-demo',
- templateUrl: './select-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, SelectModule, IftaLabelModule]
-})
-export class SelectIftaLabelDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/importdoc.ts b/apps/showcase/src/app/showcase/doc/select/importdoc.ts
deleted file mode 100644
index 559559ab19a..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Select } from 'primeng/select';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/select/invaliddoc.ts
deleted file mode 100644
index f76bdd4db66..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/invaliddoc.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-invalid-demo',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc implements OnInit {
- cities: City[];
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-@Component({
- selector: 'select-invalid-demo',
- templateUrl: './select-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectInvalidDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/loadingstatedoc.ts b/apps/showcase/src/app/showcase/doc/select/loadingstatedoc.ts
deleted file mode 100644
index f6d6b29641c..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/loadingstatedoc.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-loading-state-demo',
- template: `
-
- Loading state can be used loading property.
-
-
-
- `
-})
-export class LoadingStateDoc implements OnInit {
- cities: City[];
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-loading-state-demo',
- templateUrl: './select-loading-state-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectLoadingStateDemo implements OnInit {
- cities: City[] | undefined;
-
- selectedCity: City | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/select/reactiveformsdoc.ts
deleted file mode 100644
index b7a56ec302e..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/reactiveformsdoc.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Select can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- cities: City[] | undefined;
-
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-reactive-forms-demo',
- templateUrl: './select-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Select]
-})
-export class SelectReactiveFormsDemo implements OnInit {
- cities: City[] | undefined;
-
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
-
- this.formGroup = new FormGroup({
- selectedCity: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/select/sizesdoc.ts
deleted file mode 100644
index 1afbfe89e17..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/sizesdoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-size-demo',
- template: `
-
- Select provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc implements OnInit {
- value1: City | undefined;
-
- value2: City | undefined;
-
- value3: City | undefined;
-
- cities: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' }
- ];
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectModule } from 'primeng/select';
-
-interface City {
- name: string;
- code: string;
-}
-
-@Component({
- selector: 'select-size-demo',
- templateUrl: './select-size-demo.html',
- standalone: true,
- imports: [FormsModule, SelectModule]
-})
-export class SelectSizeDemo implements OnInit {
- value1: City | undefined;
-
- value2: City | undefined;
-
- value3: City | undefined;
-
- cities: City[];
-
- ngOnInit() {
- this.cities = [
- { name: 'New York', code: 'NY' },
- { name: 'Rome', code: 'RM' },
- { name: 'London', code: 'LDN' },
- { name: 'Istanbul', code: 'IST' },
- { name: 'Paris', code: 'PRS' },
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/templatedoc.ts b/apps/showcase/src/app/showcase/doc/select/templatedoc.ts
deleted file mode 100644
index d24a07435d4..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/templatedoc.ts
+++ /dev/null
@@ -1,167 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-template-demo',
- template: `
-
-
- Both the selected option and the options list can be templated to provide customizated representation. Use
- selectedItem template to customize the selected label display and the item template to change the content of the options in the select panel. In addition when grouping is enabled, group template is available to
- customize the option groups. All templates get the option instance as the default local template variable.
-
-
-
-
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- countries: any[] | undefined;
-
- selectedCountry: string | undefined;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
- Available Countries
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
{{ selectedOption.name }}
-
-
-
-
-
-
{{ country.name }}
-
-
-
-
-
-
- Available Countries
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectModule } from 'primeng/select';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'select-group-demo',
- templateUrl: './select-group-demo.html',
- standalone: true,
- imports: [FormsModule, SelectModule, ButtonModule]
-})
-export class SelectTemplateDemo implements OnInit {
- countries: any[] | undefined;
-
- selectedCountry: string | undefined;
-
- ngOnInit() {
- this.countries = [
- { name: 'Australia', code: 'AU' },
- { name: 'Brazil', code: 'BR' },
- { name: 'China', code: 'CN' },
- { name: 'Egypt', code: 'EG' },
- { name: 'France', code: 'FR' },
- { name: 'Germany', code: 'DE' },
- { name: 'India', code: 'IN' },
- { name: 'Japan', code: 'JP' },
- { name: 'Spain', code: 'ES' },
- { name: 'United States', code: 'US' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/select/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/select/virtualscrolldoc.ts
deleted file mode 100644
index df500c7b34a..00000000000
--- a/apps/showcase/src/app/showcase/doc/select/virtualscrolldoc.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Component } from '@angular/core';
-import { SelectItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-virtualscroll-demo',
- template: `
-
-
- VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance
- issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
-
-
-
-
- `
-})
-export class VirtualScrollDoc {
- items: SelectItem[];
-
- selectedItem: string | undefined;
-
- constructor() {
- this.items = [];
- for (let i = 0; i < 10000; i++) {
- this.items.push({ label: 'Item ' + i, value: 'Item ' + i });
- }
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { SelectItem } from 'primeng/api';
-import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Select } from 'primeng/select';
-
-@Component({
- selector: 'select-virtualscroll-demo',
- templateUrl: './select-virtualscroll-demo.html',
- standalone: true,
- imports: [FormsModule, Select]
-})
-export class SelectVirtualscrollDemo {
- items: SelectItem[];
-
- selectedItem: string | undefined;
-
- constructor() {
- this.items = [];
- for (let i = 0; i < 10000; i++) {
- this.items.push({ label: 'Item ' + i, value: 'Item ' + i });
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/basicdoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/basicdoc.ts
deleted file mode 100644
index 95e454ebbda..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/basicdoc.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- SelectButton requires a value to bind and a collection of options.
-
-
-
- `
-})
-export class BasicDoc {
- stateOptions: any[] = [
- { label: 'One-Way', value: 'one-way' },
- { label: 'Return', value: 'return' }
- ];
-
- value: string = 'one-way';
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-basic-demo',
- templateUrl: './select-button-basic-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButton]
-})
-export class SelectButtonBasicDemo {
- stateOptions: any[] = [{ label: 'One-Way', value: 'one-way' },{ label: 'Return', value: 'return' }];
-
- value: string = 'off';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/disableddoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/disableddoc.ts
deleted file mode 100644
index 6bf9d387fcc..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/disableddoc.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused entirely. Certain options can also be disabled using the optionDisabled property.
-
-
-
- `
-})
-export class DisabledDoc {
- stateOptions: any[] = [
- { label: 'Off', value: 'off' },
- { label: 'On', value: 'on' }
- ];
-
- stateOptions2: any[] = [
- { label: 'Option 1', value: 'Option 1' },
- { label: 'Option 2', value: 'Option 2', constant: true }
- ];
-
- value1: string = 'off';
-
- value2: string = 'Option 1';
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-disabled-demo',
- templateUrl: './select-button-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButton]
-})
-export class SelectButtonDisabledDemo {
- stateOptions: any[] = [
- { label: 'Off', value: 'off' },
- { label: 'On', value: 'on' }
- ];
-
- stateOptions2: any[] = [
- { label: 'Option 1', value: 'Option 1' },
- { label: 'Option 2', value: 'Option 2', constant: true }
- ];
-
- value1: string = 'off';
-
- value2: string = 'Option 1';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/importdoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/importdoc.ts
deleted file mode 100644
index e00eab19e64..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'select-button-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { SelectButton } from 'primeng/selectbutton';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/invaliddoc.ts
deleted file mode 100644
index 59f34268f92..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/invaliddoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- stateOptions: any[] = [
- { label: 'One-Way', value: 'one-way' },
- { label: 'Return', value: 'return' }
- ];
-
- value: string = 'off';
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-invalid-demo',
- templateUrl: './select-button-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButton]
-})
-export class SelectButtonInvalidDemo {
- stateOptions: any[] = [
- { label: 'One-Way', value: 'one-way' },
- { label: 'Return', value: 'return' },
- ];
-
- value: string = 'off';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/multipledoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/multipledoc.ts
deleted file mode 100644
index 84586f563d2..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/multipledoc.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
- SelectButton allows selecting only one item by default and setting multiple option enables choosing more than one item. In multiple case, model property should be an array.
-
-
-
- `
-})
-export class MultipleDoc {
- paymentOptions: any[] = [
- { name: 'Option 1', value: 1 },
- { name: 'Option 2', value: 2 },
- { name: 'Option 3', value: 3 }
- ];
-
- value!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-multiple-demo',
- templateUrl: './select-button-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButton]
-})
-export class SelectButtonMultipleDemo {
- value!: number;
-
- paymentOptions: any[] = [
- { name: 'Option 1', value: 1 },
- { name: 'Option 2', value: 2 },
- { name: 'Option 3', value: 3 }
- ];
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/reactiveformsdoc.ts
deleted file mode 100644
index f7ba129b0b6..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/reactiveformsdoc.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- SelectButton can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- stateOptions: any[] = [
- { label: 'Off', value: 'off' },
- { label: 'On', value: 'on' }
- ];
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl('on')
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-reactive-forms-demo',
- templateUrl: './select-button-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, SelectButton]
-})
-export class SelectButtonReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- stateOptions: any[] = [
- { label: 'Off', value: 'off' },
- { label: 'On', value: 'on' }
- ];
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl('on')
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/sizesdoc.ts
deleted file mode 100644
index d7c11014580..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/sizesdoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- SelectButton provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1!: string;
-
- value2: string = 'Beginner';
-
- value3: string = 'Expert';
-
- options: any[] = [
- { label: 'Beginner', value: 'Beginner' },
- { label: 'Expert', value: 'Expert' }
- ];
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButton } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-sizes-demo',
- templateUrl: './select-button-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButton]
-})
-export class SelectButtonSizesDemo {
- value1! : string;
-
- value2 : string = 'Beginner';
-
- value3 : string = 'Expert';
-
- options: any[] = [
- { label: 'Beginner', value: 'Beginner' },
- { label: 'Expert', value: 'Expert' },
- ];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/selectbutton/templatedoc.ts b/apps/showcase/src/app/showcase/doc/selectbutton/templatedoc.ts
deleted file mode 100644
index 5389ee5a14c..00000000000
--- a/apps/showcase/src/app/showcase/doc/selectbutton/templatedoc.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- For custom content support define a ng-template with pTemplate where the local ng-template variable refers to an option in the options collection.
-
-
-
- `
-})
-export class TemplateDoc {
- value: any;
-
- justifyOptions: any[] = [
- { icon: 'pi pi-align-left', justify: 'Left' },
- { icon: 'pi pi-align-right', justify: 'Right' },
- { icon: 'pi pi-align-center', justify: 'Center' },
- { icon: 'pi pi-align-justify', justify: 'Justify' }
- ];
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SelectButtonModule } from 'primeng/selectbutton';
-
-@Component({
- selector: 'select-button-template-demo',
- templateUrl: './select-button-template-demo.html',
- standalone: true,
- imports: [FormsModule, SelectButtonModule]
-})
-export class SelectButtonTemplateDemo {
- value: any;
-
- justifyOptions: any[] = [
- { icon: 'pi pi-align-left', justify: 'Left' },
- { icon: 'pi pi-align-right', justify: 'Right' },
- { icon: 'pi pi-align-center', justify: 'Center' },
- { icon: 'pi pi-align-justify', justify: 'Justify' }
- ];
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/skeleton/datatabledoc.ts b/apps/showcase/src/app/showcase/doc/skeleton/datatabledoc.ts
deleted file mode 100644
index abbf89a9136..00000000000
--- a/apps/showcase/src/app/showcase/doc/skeleton/datatabledoc.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'datatable-doc',
- template: `
-
- Sample DataTable implementation using different Skeleton components and PrimeFlex CSS utilities.
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class DataTableDoc implements OnInit {
- products: any[] | undefined;
-
- ngOnInit() {
- this.products = Array.from({ length: 5 }).map((_, i) => `Item #${i}`);
- }
-
- code: Code = {
- basic: `
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Skeleton } from 'primeng/skeleton';
-import { TableModule } from 'primeng/table';
-
-@Component({
- selector: 'skeleton-data-table-demo',
- templateUrl: './skeleton-data-table-demo.html',
- standalone: true,
- imports: [Skeleton, TableModule]
-})
-export class SkeletonDataTableDemo implements OnInit {
- products: any[] | undefined;
-
- ngOnInit() {
- this.products = Array.from({ length: 5 }).map((_, i) => \`Item #\${i}\`);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/skeleton/importdoc.ts b/apps/showcase/src/app/showcase/doc/skeleton/importdoc.ts
deleted file mode 100644
index 8b2667e3acd..00000000000
--- a/apps/showcase/src/app/showcase/doc/skeleton/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'skeleton-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Skeleton } from 'primeng/skeleton';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/skeleton/listdoc.ts b/apps/showcase/src/app/showcase/doc/skeleton/listdoc.ts
deleted file mode 100644
index 3bfada25020..00000000000
--- a/apps/showcase/src/app/showcase/doc/skeleton/listdoc.ts
+++ /dev/null
@@ -1,150 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'list-doc',
- template: `
-
- Sample List implementation using different Skeleton components and PrimeFlex CSS utilities.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class ListDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Skeleton } from 'primeng/skeleton';
-
-@Component({
- selector: 'skeleton-list-demo,
- templateUrl: './skeleton-list-demo.html',
- standalone: true,
- imports: [Skeleton]
-})
-export class SkeletonListDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/slider/accessibilitydoc.ts
deleted file mode 100644
index 74e31c88709..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/accessibilitydoc.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'slider-accessibility-doc',
- template: `
-
- Screen Reader
-
- Slider element component uses slider role on the handle in addition to the aria-orientation , aria-valuemin , aria-valuemax and aria-valuenow attributes. Value to describe the component can be defined
- using ariaLabelledBy and ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the slider.
-
-
-
-
- left arrow
- up arrow
-
-
- Decrements the value.
-
-
-
-
- right arrow
- down arrow
-
-
- Increments the value.
-
-
-
- home
-
- Set the minimum value.
-
-
-
- end
-
- Set the maximum value.
-
-
-
- page up
-
- Increments the value by 10 steps.
-
-
-
- page down
-
- Decrements the value by 10 steps.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Number
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/basicdoc.ts b/apps/showcase/src/app/showcase/doc/slider/basicdoc.ts
deleted file mode 100644
index d57cd34e367..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way binding is defined using the standard ngModel directive.
-
-
-
- `
-})
-export class BasicDoc {
- value!: number;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-
-@Component({
- selector: 'slider-basic-demo',
- templateUrl: './slider-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Slider]
-})
-export class SliderBasicDemo {
- value!: number;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/filterdoc.ts b/apps/showcase/src/app/showcase/doc/slider/filterdoc.ts
deleted file mode 100644
index cac1d9030eb..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/filterdoc.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filter-doc',
- template: `
-
- Image filter implementation using multiple sliders.
-
-
-
-
-
-
-
-
-
- `
-})
-export class FilterDoc {
- filter: number = 0;
-
- filterValues: number[] = [100, 100, 0];
-
- filterOptions: any = [
- { label: 'Contrast', value: 0 },
- { label: 'Brightness', value: 1 },
- { label: 'Sepia', value: 2 }
- ];
- code: Code = {
- basic: `
-
- `,
-
- html: `
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { SliderModule } from 'primeng/slider';
-import { SelectButtonModule } from 'primeng/selectbutton';
-
-@Component({
- selector: 'slider-filter-demo',
- templateUrl: './slider-filter-demo.html',
- standalone: true,
- imports: [FormsModule, SliderModule, SelectButtonModule]
-})
-export class SliderFilterDemo {
- filter: number = 0;
-
- filterValues: number[] = [100, 100, 0];
-
- filterOptions: any = [
- { label: 'Contrast', value: 0 },
- { label: 'Brightness', value: 1 },
- { label: 'Sepia', value: 2 },
- ];
-
- get filterStyle() {
- return {
- filter: \`contrast(\${this.filterValues[0]}%) brightness(\${this.filterValues[1]}%) sepia(\${this.filterValues[2]}%)\`,
- };
- }
-}`
- };
-
- get filterStyle() {
- return {
- filter: `contrast(${this.filterValues[0]}%) brightness(${this.filterValues[1]}%) sepia(${this.filterValues[2]}%)`
- };
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/importdoc.ts b/apps/showcase/src/app/showcase/doc/slider/importdoc.ts
deleted file mode 100644
index 51a52b98e40..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'slider-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Slider } from 'primeng/slider';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/inputdoc.ts b/apps/showcase/src/app/showcase/doc/slider/inputdoc.ts
deleted file mode 100644
index 072f959ffec..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/inputdoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'input-doc',
- template: `
-
- Slider is connected to an input field using two-way binding.
-
-
-
- `
-})
-export class InputDoc {
- value: number = 50;
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'slider-input-demo',
- templateUrl: './slider-input-demo.html',
- standalone: true,
- imports: [FormsModule, Slider, InputTextModule]
-})
-export class SliderInputDemo {
- value: number = 50;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/rangedoc.ts b/apps/showcase/src/app/showcase/doc/slider/rangedoc.ts
deleted file mode 100644
index bcbcc303701..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/rangedoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'range-doc',
- template: `
-
- When range property is present, slider provides two handles to define two values. In range mode, value should be an array instead of a single value.
-
-
-
- `
-})
-export class RangeDoc {
- rangeValues: number[] = [20, 80];
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-
-@Component({
- selector: 'slider-range-demo',
- templateUrl: './slider-range-demo.html',
- standalone: true,
- imports: [FormsModule, Slider]
-})
-export class SliderRangeDemo {
- rangeValues: number[] = [20, 80];
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/slider/reactiveformsdoc.ts
deleted file mode 100644
index d1245ac336d..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Slider can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(20)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-
-@Component({
- selector: 'slider-reactive-forms-demo',
- templateUrl: './slider-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Slider]
-})
-export class SliderReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- value: new FormControl(20),
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/stepdoc.ts b/apps/showcase/src/app/showcase/doc/slider/stepdoc.ts
deleted file mode 100644
index 8da1364a105..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/stepdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'step-doc',
- template: `
-
- Size of each movement is defined with the step property.
-
-
-
- `
-})
-export class StepDoc {
- value: number = 20;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-
-@Component({
- selector: 'slider-step-demo',
- templateUrl: './slider-step-demo.html',
- standalone: true,
- imports: [FormsModule, Slider]
-})
-export class SliderStepDemo {
- value: number = 20;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/slider/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/slider/verticaldoc.ts
deleted file mode 100644
index 6774fb6997d..00000000000
--- a/apps/showcase/src/app/showcase/doc/slider/verticaldoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Default layout of slider is horizontal , use orientation property for the alternative vertical mode.
-
-
-
- `
-})
-export class VerticalDoc {
- value: number = 50;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { Slider } from 'primeng/slider';
-
-@Component({
- selector: 'slider-vertical-demo',
- templateUrl: './slider-vertical-demo.html',
- standalone: true,
- imports: [FormsModule, Slider]
-})
-export class SliderVerticalDemo {
- value: number = 50
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/speeddial/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/speeddial/accessibilitydoc.ts
deleted file mode 100644
index 8606851e983..00000000000
--- a/apps/showcase/src/app/showcase/doc/speeddial/accessibilitydoc.ts
+++ /dev/null
@@ -1,104 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'speed-dial-accessibility-doc',
- template: `
- Screen Reader
-
- SpeedDial component renders a native button element that implicitly includes any passed prop. Text to describe the button can be defined with the aria-labelledby or aria-label props. Addititonally the button includes
- includes aria-haspopup , aria-expanded for states along with aria-controls to define the relation between the popup and the button.
-
-
- The popup overlay uses menu role on the list and each action item has a menuitem role with an aria-label as the menuitem label. The id of the menu refers to the aria-controls of the button.
-
-
-
-
- Menu Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Toggles the visibility of the menu.
-
-
-
- space
-
- Toggles the visibility of the menu.
-
-
-
- down arrow
-
- Opens the menu and moves focus to the first item.
-
-
-
- up arrow
-
- Opens the menu and moves focus to the last item.
-
-
-
-
-
- Menu Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Activates the menuitem, closes the menu and sets focus on the menu button.
-
-
-
- escape
-
- Closes the menu and sets focus on the menu button.
-
-
-
- arrow keys
-
- Navigates between the menu items.
-
-
-
- home
-
- Moves focus to the first item.
-
-
-
- end
-
- Moves focus to the last item.
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: ` `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/speeddial/importdoc.ts b/apps/showcase/src/app/showcase/doc/speeddial/importdoc.ts
deleted file mode 100644
index 25c8b701dde..00000000000
--- a/apps/showcase/src/app/showcase/doc/speeddial/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'speed-dial-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { SpeedDial } from 'primeng/speeddial';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/speeddial/lineardoc.ts b/apps/showcase/src/app/showcase/doc/speeddial/lineardoc.ts
deleted file mode 100644
index 643b7855558..00000000000
--- a/apps/showcase/src/app/showcase/doc/speeddial/lineardoc.ts
+++ /dev/null
@@ -1,127 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'linear-doc',
- template: `
-
- SpeedDial items are defined with the model property based on MenuModel API. Default orientation of the items is linear and direction property is used to define the position of the items related to the button.
-
-
-
- `,
- providers: [MessageService]
-})
-export class LinearDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- }
- },
- {
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- }
- },
- {
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- }
- },
- {
- icon: 'pi pi-upload',
- routerLink: ['/fileupload']
- },
- {
- icon: 'pi pi-external-link',
- target: '_blank',
- url: 'http://angular.io'
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SpeedDial } from 'primeng/speeddial';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'speed-dial-linear-demo',
- templateUrl: './speed-dial-linear-demo.html',
- standalone: true,
- imports: [SpeedDial, ToastModule],
- providers: [MessageService]
-})
-export class SpeedDialLinearDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- }
- },
- {
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- }
- },
- {
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- }
- },
- {
- icon: 'pi pi-upload',
- routerLink: ['/fileupload']
- },
- {
- icon: 'pi pi-external-link',
- target:'_blank',
- url: 'http://angular.io'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/speeddial/maskdoc.ts b/apps/showcase/src/app/showcase/doc/speeddial/maskdoc.ts
deleted file mode 100644
index e826e431844..00000000000
--- a/apps/showcase/src/app/showcase/doc/speeddial/maskdoc.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'mask-doc',
- template: `
-
- Adding mask property displays a modal layer behind the popup items.
-
-
-
- `,
- providers: [MessageService]
-})
-export class MaskDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- }
- },
- {
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- }
- },
- {
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- }
- },
- {
- icon: 'pi pi-upload',
- routerLink: ['/fileupload']
- },
- {
- icon: 'pi pi-external-link',
- target: '_blank',
- url: 'http://angular.io'
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SpeedDial } from 'primeng/speeddial';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'speed-dial-mask-demo',
- templateUrl: './speed-dial-mask-demo.html',
- standalone: true,
- imports: [SpeedDial, ToastModule],
- providers: [MessageService]
-})
-export class SpeedDialMaskDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- }
- },
- {
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- }
- },
- {
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- }
- },
- {
- icon: 'pi pi-upload',
- routerLink: ['/fileupload']
- },
- {
- icon: 'pi pi-external-link',
- target: '_blank',
- url: 'http://angular.io'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/speeddial/templatedoc.ts b/apps/showcase/src/app/showcase/doc/speeddial/templatedoc.ts
deleted file mode 100644
index 51bd396c40b..00000000000
--- a/apps/showcase/src/app/showcase/doc/speeddial/templatedoc.ts
+++ /dev/null
@@ -1,313 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'template-doc',
- template: `
-
-
- SpeedDial offers item customization with the item template that receives the menuitem instance from the model as a parameter. The button has its own button template, additional template named icon is provided to
- embed icon content for default button.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SpeedDialModule } from 'primeng/speeddial';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'speed-dial-template-demo',
- templateUrl: './speed-dial-template-demo.html',
- standalone: true,
- imports: [SpeedDialModule, ToastModule, ButtonModule],
- providers: [MessageService]
-})
-export class SpeedDialTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(
- private messageService: MessageService,
- private router: Router,
- ) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Add',
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- },
- },
- {
- label: 'Update',
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- },
- },
- {
- label: 'Delete',
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- },
- },
- {
- label: 'Upload',
- icon: 'pi pi-upload',
- command: () => {
- this.router.navigate(['/fileupload']);
- },
- },
- {
- label: 'Website',
- icon: 'pi pi-external-link',
- command: () => {
- window.open('https://angular.io/', '_blank');
- },
- },
- ];
- }
-}`
- };
-
- constructor(
- private messageService: MessageService,
- private router: Router
- ) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Add',
- icon: 'pi pi-pencil',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Add', detail: 'Data Added' });
- }
- },
- {
- label: 'Update',
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Update', detail: 'Data Updated' });
- }
- },
- {
- label: 'Delete',
- icon: 'pi pi-trash',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Delete', detail: 'Data Deleted' });
- }
- },
- {
- label: 'Upload',
- icon: 'pi pi-upload',
- command: () => {
- this.router.navigate(['/fileupload']);
- }
- },
- {
- label: 'Website',
- icon: 'pi pi-external-link',
- command: () => {
- window.open('https://angular.io/', '_blank');
- }
- }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/accessibilitydoc.ts
deleted file mode 100644
index 1bab10c904b..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/accessibilitydoc.ts
+++ /dev/null
@@ -1,136 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'split-button-accessibility-doc',
- template: `
- Screen Reader
-
- SplitButton component renders two native button elements, main button uses the label property to define aria-label by default which can be customized with buttonProps . Dropdown button requires an explicit definition to
- describe it using menuButtonProps option and also includes aria-haspopup , aria-expanded for states along with aria-controls to define the relation between the popup and the button.
-
-
- The popup overlay uses menu role on the list and each action item has a menuitem role with an aria-label as the menuitem label. The id of the menu refers to the aria-controls of the dropdown button.
-
-
-
-
- Main Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Activates the button.
-
-
-
- space
-
- Activates the button.
-
-
-
-
-
- Menu Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Toggles the visibility of the menu.
-
-
-
- space
-
- Toggles the visibility of the menu.
-
-
-
- down arrow
-
- Opens the menu and moves focus to the first item.
-
-
-
- up arrow
-
- Opens the menu and moves focus to the last item.
-
-
-
-
-
- Menu Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Actives the menuitem, closes the menu and sets focus on the menu button.
-
-
-
- escape
-
- Closes the menu and sets focus on the menu button.
-
-
-
- down arrow
-
- Moves focus to the next item, if it is the last one then first item receives the focus.
-
-
-
- up arrow
-
- Moves focus to the previous item, if it is the first one then last item receives the focus.
-
-
-
- home
-
- Moves focus to the first item.
-
-
-
- end
-
- Moves focus to the last item.
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: ` `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/basicdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/basicdoc.ts
deleted file mode 100644
index 6758278551d..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/basicdoc.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- SplitButton has a default action button and a collection of additional options defined by the model property based on MenuModel API.
-
-
-
- `,
- providers: [MessageService]
-})
-export class BasicDoc {
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- items: MenuItem[];
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-basic-demo',
- templateUrl: './split-button-basic-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonBasicDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/disableddoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/disableddoc.ts
deleted file mode 100644
index 4d61584e369..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/disableddoc.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
-
- When the disabled attribute is present, the element is uneditable and unfocused. Additionally, the disabled states of the button and menu button can be handled independently. The button is disabled when buttonDisabled is
- present, and the menu button is disabled when menuButtonDisabled is present.
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class DisabledDoc {
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- items: MenuItem[];
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-disabled-demo',
- templateUrl: './split-button-disabled-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonDisabledDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/iconsdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/iconsdoc.ts
deleted file mode 100644
index e8b46c48c69..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/iconsdoc.ts
+++ /dev/null
@@ -1,101 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icons-doc',
- template: `
-
- The buttons and menuitems have support to display icons.
-
-
-
- `,
- providers: [MessageService]
-})
-export class IconsDoc {
- items: MenuItem[];
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButtonModule } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-icons-demo',
- templateUrl: './split-button-icons-demo.html',
- standalone: true,
- imports: [SplitButtonModule, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonIconsDemo {
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated', life: 3000 });
- },
- },
- {
- label: 'Delete',
- icon: 'pi pi-times',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted', life: 3000 });
- },
- },
- {
- separator: true,
- },
- {
- label: 'Quit',
- icon: 'pi pi-power-off',
- command: () => {
- window.open('https://angular.io/', '_blank');
- },
- },
- ];
- }
-}`
- };
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- icon: 'pi pi-refresh',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated', life: 3000 });
- }
- },
- {
- label: 'Delete',
- icon: 'pi pi-times',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted', life: 3000 });
- }
- },
- {
- separator: true
- },
- {
- label: 'Quit',
- icon: 'pi pi-power-off',
- command: () => {
- window.open('https://angular.io/', '_blank');
- }
- }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/importdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/importdoc.ts
deleted file mode 100644
index d61883d66e0..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'split-button-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { SplitButton } from 'primeng/splitbutton';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/nesteddoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/nesteddoc.ts
deleted file mode 100644
index c4665a90ea3..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/nesteddoc.ts
+++ /dev/null
@@ -1,312 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'nested-doc',
- template: `
-
- SplitButton has a default action button and a collection of additional options defined by the model property based on MenuModel API.
-
-
-
- `,
- providers: [MessageService]
-})
-export class NestedDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-fw pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-plus',
- items: [
- {
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- separator: true
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- icon: 'pi pi-fw pi-user',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
- items: [
- {
- label: 'Print',
- icon: 'pi pi-fw pi-print'
- }
- ]
- },
- {
- icon: 'pi pi-fw pi-bars',
- label: 'List'
- }
- ]
- }
- ]
- },
- {
- label: 'Events',
- icon: 'pi pi-fw pi-calendar',
- items: [
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- },
- {
- label: 'Archieve',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- }
- ]
- },
- {
- separator: true
- },
- {
- label: 'Quit',
- icon: 'pi pi-fw pi-power-off'
- }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-nested-demo',
- templateUrl: './split-button-nested-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonNestedDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-fw pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-plus',
- items: [
- {
- label: 'Bookmark',
- icon: 'pi pi-fw pi-bookmark'
- },
- {
- label: 'Video',
- icon: 'pi pi-fw pi-video'
- }
- ]
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-trash'
- },
- {
- separator: true
- },
- {
- label: 'Export',
- icon: 'pi pi-fw pi-external-link'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Left',
- icon: 'pi pi-fw pi-align-left'
- },
- {
- label: 'Right',
- icon: 'pi pi-fw pi-align-right'
- },
- {
- label: 'Center',
- icon: 'pi pi-fw pi-align-center'
- },
- {
- label: 'Justify',
- icon: 'pi pi-fw pi-align-justify'
- }
- ]
- },
- {
- label: 'Users',
- icon: 'pi pi-fw pi-user',
- items: [
- {
- label: 'New',
- icon: 'pi pi-fw pi-user-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-user-minus'
- },
- {
- label: 'Search',
- icon: 'pi pi-fw pi-users',
- items: [
- {
- label: 'Filter',
- icon: 'pi pi-fw pi-filter',
- items: [
- {
- label: 'Print',
- icon: 'pi pi-fw pi-print'
- }
- ]
- },
- {
- icon: 'pi pi-fw pi-bars',
- label: 'List'
- }
- ]
- }
- ]
- },
- {
- label: 'Events',
- icon: 'pi pi-fw pi-calendar',
- items: [
- {
- label: 'Edit',
- icon: 'pi pi-fw pi-pencil',
- items: [
- {
- label: 'Save',
- icon: 'pi pi-fw pi-calendar-plus'
- },
- {
- label: 'Delete',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- },
- {
- label: 'Archieve',
- icon: 'pi pi-fw pi-calendar-times',
- items: [
- {
- label: 'Remove',
- icon: 'pi pi-fw pi-calendar-minus'
- }
- ]
- }
- ]
- },
- {
- separator: true
- },
- {
- label: 'Quit',
- icon: 'pi pi-fw pi-power-off'
- }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/outlineddoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/outlineddoc.ts
deleted file mode 100644
index 438d33ac0f9..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/outlineddoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'outlined-doc',
- template: `
-
- Outlined buttons display a border without a background initially.
-
-
-
- `,
- providers: [MessageService]
-})
-export class OutlinedDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-outlined-demo',
- templateUrl: './split-button-outlined-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonOutlinedDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/raiseddoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/raiseddoc.ts
deleted file mode 100644
index f4feffd9bb7..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/raiseddoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'raised-doc',
- template: `
-
- Raised buttons display a shadow to indicate elevation.
-
-
-
- `,
- providers: [MessageService]
-})
-export class RaisedDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-raised-demo',
- templateUrl: './split-button-raised-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonRaisedDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/raisedtextdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/raisedtextdoc.ts
deleted file mode 100644
index e9bc4e6255d..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/raisedtextdoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'raised-text-doc',
- template: `
-
- Text buttons can be displayed as raised as well for elevation.
-
-
-
- `,
- providers: [MessageService]
-})
-export class RaisedTextDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-raised-text-demo',
- templateUrl: './split-button-raised-text-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonRaisedTextDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/roundeddoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/roundeddoc.ts
deleted file mode 100644
index cfaf4b6f283..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/roundeddoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'rounded-doc',
- template: `
-
- Rounded buttons have a circular border radius.
-
-
-
- `,
- providers: [MessageService]
-})
-export class RoundedDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-rounded-demo',
- templateUrl: './split-button-rounded-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonRoundedDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/severitydoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/severitydoc.ts
deleted file mode 100644
index ebd332cb29d..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/severitydoc.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'severity-doc',
- template: `
-
- The severity property defines the type of button.
-
-
-
- `,
- providers: [MessageService]
-})
-export class SeverityDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-severity-demo',
- templateUrl: './split-button-severity-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonSeverityDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/sizesdoc.ts
deleted file mode 100644
index 0da461e8354..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/sizesdoc.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- SplitButton provides small and large sizes as alternatives to the standard.
-
-
-
- `,
- providers: [MessageService]
-})
-export class SizesDoc {
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- items: MenuItem[];
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-sizes-demo',
- templateUrl: './split-button-sizes-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonSizesDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/templatedoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/templatedoc.ts
deleted file mode 100644
index 83ca24d19b5..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/templatedoc.ts
+++ /dev/null
@@ -1,134 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- SplitButton has a default action button and a collection of additional options defined by the model property based on MenuModel API.
-
-
-
-
-
-
-
- PrimeNG
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class TemplateDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- PrimeNG
-
-
- `,
-
- html: `
-
-
-
-
-
- PrimeNG
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButtonModule } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-template-demo',
- templateUrl: './split-button-template-demo.html',
- standalone: true,
- imports: [SplitButtonModule, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonTemplateDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-}`
- };
-
- save() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Updated', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'warn', summary: 'Delete', detail: 'Data Deleted' });
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitbutton/textdoc.ts b/apps/showcase/src/app/showcase/doc/splitbutton/textdoc.ts
deleted file mode 100644
index 8cc0bdb26a6..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitbutton/textdoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'text-doc',
- template: `
-
- Text buttons are displayed as textual elements.
-
-
-
- `,
- providers: [MessageService]
-})
-export class TextDoc {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { SplitButton } from 'primeng/splitbutton';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'split-button-text-demo',
- templateUrl: './split-button-text-demo.html',
- standalone: true,
- imports: [SplitButton, ToastModule],
- providers: [MessageService]
-})
-export class SplitButtonTextDemo {
- items: MenuItem[];
-
- constructor(private messageService: MessageService) {
- this.items = [
- {
- label: 'Update',
- command: () => {
- this.update();
- }
- },
- {
- label: 'Delete',
- command: () => {
- this.delete();
- }
- },
- { label: 'Angular Website', url: 'http://angular.io' },
- { separator: true },
- { label: 'Upload', routerLink: ['/fileupload'] }
- ];
- }
-
- save(severity: string) {
- this.messageService.add({ severity: severity, summary: 'Success', detail: 'Data Saved' });
- }
-
- update() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Updated' });
- }
-
- delete() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Data Deleted' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitter/horizontaldoc.ts b/apps/showcase/src/app/showcase/doc/splitter/horizontaldoc.ts
deleted file mode 100644
index 2fe1968d89c..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitter/horizontaldoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'horizontal-doc',
- template: `
-
- Splitter requires two SplitterPanel components as children which are displayed horizontally by default.
-
-
-
-
- Panel 1
-
-
- Panel 2
-
-
-
-
- `
-})
-export class HorizontalDoc {
- code: Code = {
- basic: `
-
- Panel 1
-
-
- Panel 2
-
- `,
-
- html: `
-
-
- Panel 1
-
-
- Panel 2
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SplitterModule } from 'primeng/splitter';
-
-@Component({
- selector: 'splitter-horizontal-demo',
- templateUrl: './splitter-horizontal-demo.html',
- standalone: true,
- imports: [SplitterModule]
-})
-export class SplitterHorizontalDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitter/importdoc.ts b/apps/showcase/src/app/showcase/doc/splitter/importdoc.ts
deleted file mode 100644
index 70b8518e0a5..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitter/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'splitter-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Splitter } from 'primeng/splitter';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitter/nesteddoc.ts b/apps/showcase/src/app/showcase/doc/splitter/nesteddoc.ts
deleted file mode 100644
index a9ec495933b..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitter/nesteddoc.ts
+++ /dev/null
@@ -1,123 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'nested-doc',
- template: `
-
- Splitters can be combined to create advanced layouts.
-
-
-
-
- Panel 1
-
-
-
-
- Panel 2
-
-
-
-
- Panel 3
-
-
- Panel 4
-
-
-
-
-
-
-
-
- `
-})
-export class NestedDoc {
- code: Code = {
- basic: `
-
-
- Panel 1
-
-
-
-
-
-
- Panel 2
-
-
-
-
-
-
- Panel 3
-
-
-
-
- Panel 4
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
- Panel 1
-
-
-
-
-
-
- Panel 2
-
-
-
-
-
-
- Panel 3
-
-
-
-
- Panel 4
-
-
-
-
-
-
-
-
-`,
-
- typescript: `import { Component } from '@angular/core';
-import { SplitterModule } from 'primeng/splitter';
-
-@Component({
- selector: 'splitter-nested-demo',
- templateUrl: './splitter-nested-demo.html',
- standalone: true,
- imports: [SplitterModule]
-})
-export class SplitterNestedDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitter/sizedoc.ts b/apps/showcase/src/app/showcase/doc/splitter/sizedoc.ts
deleted file mode 100644
index fee12cf5459..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitter/sizedoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'size-doc',
- template: `
-
- When no panelSizes are defined, panels are split 50/50, use the panelSizes property to give relative widths e.g. [25, 75].
-
-
-
-
- Panel 1
-
-
- Panel 2
-
-
-
-
- `
-})
-export class SizeDoc {
- code: Code = {
- basic: `
-
- Panel 1
-
-
- Panel 2
-
- `,
-
- html: `
-
-
- Panel 1
-
-
- Panel 2
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SplitterModule } from 'primeng/splitter';
-
-@Component({
- selector: 'splitter-size-demo',
- templateUrl: './splitter-size-demo.html',
- standalone: true,
- imports: [SplitterModule]
-})
-export class SplitterSizeDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/splitter/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/splitter/verticaldoc.ts
deleted file mode 100644
index 17bde8ecb95..00000000000
--- a/apps/showcase/src/app/showcase/doc/splitter/verticaldoc.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Panels are displayed as stacked by setting the layout to vertical .
-
-
-
-
- Panel 1
-
-
- Panel 2
-
-
-
-
- `
-})
-export class VerticalDoc {
- code: Code = {
- basic: `
-
- Panel 1
-
-
- Panel 2
-
- `,
-
- html: `
-
-
- Panel 1
-
-
- Panel 2
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { SplitterModule } from 'primeng/splitter';
-
-@Component({
- selector: 'splitter-vertical-demo',
- templateUrl: './splitter-vertical-demo.html',
- standalone: true,
- imports: [SplitterModule]
-})
-export class SplitterVerticalDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/stepper/basicdoc.ts b/apps/showcase/src/app/showcase/doc/stepper/basicdoc.ts
deleted file mode 100644
index ea632ae2ed9..00000000000
--- a/apps/showcase/src/app/showcase/doc/stepper/basicdoc.ts
+++ /dev/null
@@ -1,184 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Stepper consists of a combination of StepList , Step , StepPanels and StepPanel components. The value property is essential for associating Step and StepPanel with each other.
-
-
-
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-import { StepperModule } from 'primeng/stepper';
-
-@Component({
- selector: 'stepper-basic-demo',
- templateUrl: './stepper-basic-demo.html',
- standalone: true,
- imports: [ButtonModule, StepperModule]
-})
-export class StepperBasicDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/stepper/importdoc.ts b/apps/showcase/src/app/showcase/doc/stepper/importdoc.ts
deleted file mode 100644
index 740a0d37cf6..00000000000
--- a/apps/showcase/src/app/showcase/doc/stepper/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'stepper-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { StepperModule } from 'primeng/stepper';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/stepper/lineardoc.ts b/apps/showcase/src/app/showcase/doc/stepper/lineardoc.ts
deleted file mode 100644
index f6d11fe9c4b..00000000000
--- a/apps/showcase/src/app/showcase/doc/stepper/lineardoc.ts
+++ /dev/null
@@ -1,184 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'linear-doc',
- template: `
-
- When linear property is set to true, current step must be completed in order to move to the next step.
-
-
-
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class LinearDoc {
- code: Code = {
- basic: `
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
- Header I
- Header II
- Header II
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { StepperModule } from 'primeng/stepper';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'stepper-linear-demo-demo',
- templateUrl: './stepper-linear-demo-demo.html',
- standalone: true,
- imports: [StepperModule, ButtonModule]
-})
-export class StepperLinearDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/stepper/templatedoc.ts b/apps/showcase/src/app/showcase/doc/stepper/templatedoc.ts
deleted file mode 100644
index 9c4d3cfb996..00000000000
--- a/apps/showcase/src/app/showcase/doc/stepper/templatedoc.ts
+++ /dev/null
@@ -1,483 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Stepper provides various templating options to customize the default UI design.
-
-
-
-
-
-
-
-
- activeStep
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
Create your account
-
-
-
-
-
-
-
-
-
-
-
-
Choose your interests
-
-
-
-
-
-
-
-
-
-
Account created successfully
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- activeStep: number = 1;
-
- name: string | undefined = null;
-
- email: string | undefined = null;
-
- password: string | undefined = null;
-
- option1: boolean | undefined = false;
-
- option2: boolean | undefined = false;
-
- option3: boolean | undefined = false;
-
- option4: boolean | undefined = false;
-
- option5: boolean | undefined = false;
-
- option6: boolean | undefined = false;
-
- option7: boolean | undefined = false;
-
- option8: boolean | undefined = false;
-
- option9: boolean | undefined = false;
-
- option10: boolean | undefined = false;
-
- code: Code = {
- basic: `
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
Create your account
-
-
-
-
-
-
-
-
-
-
-
-
Choose your interests
-
-
-
-
-
-
-
-
-
-
Account created successfully
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
- activeStep,
- }"
- >
-
-
-
-
-
-
-
-
-
-
-
-
-
Create your account
-
-
-
-
-
-
-
-
-
-
-
-
Choose your interests
-
-
-
-
-
-
-
-
-
-
Account created successfully
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-import { StepperModule } from 'primeng/stepper';
-import { InputTextModule } from 'primeng/inputtext';
-import { ToggleButton } from 'primeng/togglebutton';
-import { IconField } from 'primeng/iconfield';
-import { InputIcon } from 'primeng/inputicon';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'stepper-template-demo',
- templateUrl: './stepper-template-demo.html',
- standalone: true,
- imports: [
- StepperModule,
- ButtonModule,
- InputTextModule,
- ToggleButton,
- IconField,
- InputIcon,
- CommonModule
- ]
-})
-export class StepperTemplateDemo {
- activeStep: number = 1;
-
- name: string | undefined = null;
-
- email: string | undefined = null;
-
- password: string | undefined = null;
-
- option1: boolean | undefined = false;
-
- option2: boolean | undefined = false;
-
- option3: boolean | undefined = false;
-
- option4: boolean | undefined = false;
-
- option5: boolean | undefined = false;
-
- option6: boolean | undefined = false;
-
- option7: boolean | undefined = false;
-
- option8: boolean | undefined = false;
-
- option9: boolean | undefined = false;
-
- option10: boolean | undefined = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/stepper/verticaldoc.ts b/apps/showcase/src/app/showcase/doc/stepper/verticaldoc.ts
deleted file mode 100644
index 974bcfeb8a0..00000000000
--- a/apps/showcase/src/app/showcase/doc/stepper/verticaldoc.ts
+++ /dev/null
@@ -1,190 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'vertical-doc',
- template: `
-
- Layout of the Stepper is configured with the orientation property that accepts horizontal and vertical as available options.
-
-
-
-
- Header I
-
-
-
-
-
-
-
-
-
- Header II
-
-
-
-
-
-
-
-
-
- Header III
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class VerticalDoc {
- code: Code = {
- basic: `
-
- Header I
-
-
-
-
-
-
-
-
-
- Header II
-
-
-
-
-
-
-
-
-
- Header III
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
- Header I
-
-
-
-
-
-
-
-
-
- Header II
-
-
-
-
-
-
-
-
-
- Header III
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { StepperModule } from 'primeng/stepper';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'stepper-vertical-demo',
- templateUrl: './stepper-vertical-demo.html',
- standalone: true,
- imports: [StepperModule, ButtonModule]
-})
-export class StepperVerticalDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/steps/basicdoc.ts b/apps/showcase/src/app/showcase/doc/steps/basicdoc.ts
deleted file mode 100644
index 07532becbed..00000000000
--- a/apps/showcase/src/app/showcase/doc/steps/basicdoc.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Steps requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Personal Info'
- },
- {
- label: 'Reservation'
- },
- {
- label: 'Review'
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { StepsModule } from 'primeng/steps';
-
-@Component({
- selector: 'steps-basic-demo',
- templateUrl: './steps-basic-demo.html',
- standalone: true,
- imports: [StepsModule]
-})
-export class StepsBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Personal',
- routerLink: 'personal'
- },
- {
- label: 'Seat',
- routerLink: 'seat'
- },
- {
- label: 'Payment',
- routerLink: 'payment'
- },
- {
- label: 'Confirmation',
- routerLink: 'confirmation'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/steps/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/steps/controlleddoc.ts
deleted file mode 100644
index 946d909b908..00000000000
--- a/apps/showcase/src/app/showcase/doc/steps/controlleddoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'controlled-doc',
- template: `
-
- Steps can be controlled programmatically using activeIndex property.
-
-
-
- `
-})
-export class ControlledDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- active: number = 0;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Personal Info'
- },
- {
- label: 'Reservation'
- },
- {
- label: 'Review'
- }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { StepsModule } from 'primeng/steps';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'steps-controlled-demo',
- templateUrl: './steps-controlled-demo.html',
- standalone: true,
- imports: [StepsModule, ButtonModule]
-})
-export class StepsControlledDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- active: number = 0;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Personal Info'
- },
- {
- label: 'Reservation'
- },
- {
- label: 'Review'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/steps/importdoc.ts b/apps/showcase/src/app/showcase/doc/steps/importdoc.ts
deleted file mode 100644
index 9fb65b347d5..00000000000
--- a/apps/showcase/src/app/showcase/doc/steps/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'steps-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { StepsModule } from 'primeng/steps';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/styleclass/animationdoc.ts b/apps/showcase/src/app/showcase/doc/styleclass/animationdoc.ts
deleted file mode 100644
index 43067520441..00000000000
--- a/apps/showcase/src/app/showcase/doc/styleclass/animationdoc.ts
+++ /dev/null
@@ -1,220 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'animation-doc',
- template: `
-
-
- Classes to apply during enter and leave animations are specified using the enterFromClass , enterActiveClass , enterToClass , leaveFromClass , leaveActiveClass ,leaveToClass properties. In addition
- in case the target is an overlay, hideOnOutsideClick would be handy to hide the target if outside of the popup is clicked, or enable hideOnEscape to close the popup by listening escape key.
-
-
-
-
- `,
- styles: [
- `
- :host ::ng-deep {
- @keyframes my-fadein {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
-
- @keyframes my-fadeout {
- 0% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
- }
-
- .my-hidden {
- display: none;
- }
-
- .my-fadein {
- animation: my-fadein 150ms linear;
- }
-
- .my-fadeout {
- animation: my-fadeout 150ms linear;
- }
- }
- `
- ]
-})
-export class AnimationDoc {
- code: Code = {
- basic: `
-`,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { StyleClassModule } from 'primeng/styleclass';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: './style-class-animation-demo',
- templateUrl: './style-class-animation-demo.html',
- standalone: true,
- imports: [StyleClassModule, ButtonModule],
- styles: [
- \`:host ::ng-deep {
- @keyframes my-fadein {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
- }
-
- @keyframes my-fadeout {
- 0% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
- }
-
- .my-hidden {
- display: none;
- }
-
- .my-fadein {
- animation: my-fadein 150ms linear;
- }
-
- .my-fadeout {
- animation: my-fadeout 150ms linear;
- }
- } \`
- ],
-})
-export class StyleClassAnimationDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/styleclass/importdoc.ts b/apps/showcase/src/app/showcase/doc/styleclass/importdoc.ts
deleted file mode 100644
index 72f34583ef1..00000000000
--- a/apps/showcase/src/app/showcase/doc/styleclass/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'style-class-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { StyleClass } from 'primeng/styleclass';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/basicdoc.ts b/apps/showcase/src/app/showcase/doc/table/basicdoc.ts
deleted file mode 100644
index bf2c7ab7d09..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/basicdoc.ts
+++ /dev/null
@@ -1,150 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
- DataTable requires a collection to display along with column components for the representation of the data.
-
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class BasicDoc {
- products!: Product[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
- `,
-
- html: `
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'table-basic-demo',
- templateUrl: 'table-basic-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [ProductService]
-})
-
-export class TableBasicDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- });
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/columngroupdoc.ts b/apps/showcase/src/app/showcase/doc/table/columngroupdoc.ts
deleted file mode 100644
index 26c61a464e7..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/columngroupdoc.ts
+++ /dev/null
@@ -1,289 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'column-group-doc',
- template: `
- Columns can be grouped using rowspan and colspan properties.
-
-
-
-
-
-
- Product
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
- {{ sale.product }}
- {{ sale.lastYearSale }}%
- {{ sale.thisYearSale }}%
- {{ sale.lastYearProfit | currency: 'USD' }}
- {{ sale.thisYearProfit | currency: 'USD' }}
-
-
-
-
- Totals
- {{ lastYearTotal | currency: 'USD' }}
- {{ thisYearTotal | currency: 'USD' }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ColumnGroupDoc {
- sales!: any[];
-
- lastYearTotal!: number;
-
- thisYearTotal!: number;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- code: Code = {
- basic: `
-
-
- Product
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
- {{sale.product}}
- {{sale.lastYearSale}}%
- {{sale.thisYearSale}}%
- {{sale.lastYearProfit | currency: 'USD'}}
- {{sale.thisYearProfit | currency: 'USD'}}
-
-
-
-
- Totals
- {{lastYearTotal | currency: 'USD'}}
- {{thisYearTotal | currency: 'USD'}}
-
-
- `,
- html: `
-
-
-
- Product
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
- {{sale.product}}
- {{sale.lastYearSale}}%
- {{sale.thisYearSale}}%
- {{sale.lastYearProfit | currency: 'USD'}}
- {{sale.thisYearProfit | currency: 'USD'}}
-
-
-
-
- Totals
- {{lastYearTotal | currency: 'USD'}}
- {{thisYearTotal | currency: 'USD'}}
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'table-column-group-demo',
- templateUrl: 'table-column-group-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule]
-})
-export class TableColumnGroupDemo implements OnInit {
- sales!: any[];
-
- lastYearTotal!: number;
-
- thisYearTotal!: number;
-
- ngOnInit() {
- this.sales = [
- { product: 'Bamboo Watch', lastYearSale: 51, thisYearSale: 40, lastYearProfit: 54406, thisYearProfit: 43342 },
- { product: 'Black Watch', lastYearSale: 83, thisYearSale: 9, lastYearProfit: 423132, thisYearProfit: 312122 },
- { product: 'Blue Band', lastYearSale: 38, thisYearSale: 5, lastYearProfit: 12321, thisYearProfit: 8500 },
- { product: 'Blue T-Shirt', lastYearSale: 49, thisYearSale: 22, lastYearProfit: 745232, thisYearProfit: 65323 },
- { product: 'Brown Purse', lastYearSale: 17, thisYearSale: 79, lastYearProfit: 643242, thisYearProfit: 500332 },
- { product: 'Chakra Bracelet', lastYearSale: 52, thisYearSale: 65, lastYearProfit: 421132, thisYearProfit: 150005 },
- { product: 'Galaxy Earrings', lastYearSale: 82, thisYearSale: 12, lastYearProfit: 131211, thisYearProfit: 100214 },
- { product: 'Game Controller', lastYearSale: 44, thisYearSale: 45, lastYearProfit: 66442, thisYearProfit: 53322 },
- { product: 'Gaming Set', lastYearSale: 90, thisYearSale: 56, lastYearProfit: 765442, thisYearProfit: 296232 },
- { product: 'Gold Phone Case', lastYearSale: 75, thisYearSale: 54, lastYearProfit: 21212, thisYearProfit: 12533 }
- ];
-
- this.calculateLastYearTotal();
- this.calculateThisYearTotal();
- }
-
- calculateLastYearTotal() {
- let total = 0;
- for (let sale of this.sales) {
- total += sale.lastYearProfit;
- }
-
- this.lastYearTotal = total;
- }
-
- calculateThisYearTotal() {
- let total = 0;
- for (let sale of this.sales) {
- total += sale.thisYearProfit;
- }
-
- this.thisYearTotal = total;
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`
- };
-
- calculateLastYearTotal() {
- let total = 0;
- for (let sale of this.sales) {
- total += sale.lastYearProfit;
- }
-
- this.lastYearTotal = total;
- }
-
- calculateThisYearTotal() {
- let total = 0;
- for (let sale of this.sales) {
- total += sale.thisYearProfit;
- }
-
- this.thisYearTotal = total;
- }
-
- loadDemoData() {
- this.sales = [
- {
- product: 'Bamboo Watch',
- lastYearSale: 51,
- thisYearSale: 40,
- lastYearProfit: 54406,
- thisYearProfit: 43342
- },
- {
- product: 'Black Watch',
- lastYearSale: 83,
- thisYearSale: 9,
- lastYearProfit: 423132,
- thisYearProfit: 312122
- },
- { product: 'Blue Band', lastYearSale: 38, thisYearSale: 5, lastYearProfit: 12321, thisYearProfit: 8500 },
- {
- product: 'Blue T-Shirt',
- lastYearSale: 49,
- thisYearSale: 22,
- lastYearProfit: 745232,
- thisYearProfit: 65323
- },
- {
- product: 'Brown Purse',
- lastYearSale: 17,
- thisYearSale: 79,
- lastYearProfit: 643242,
- thisYearProfit: 500332
- },
- {
- product: 'Chakra Bracelet',
- lastYearSale: 52,
- thisYearSale: 65,
- lastYearProfit: 421132,
- thisYearProfit: 150005
- },
- {
- product: 'Galaxy Earrings',
- lastYearSale: 82,
- thisYearSale: 12,
- lastYearProfit: 131211,
- thisYearProfit: 100214
- },
- {
- product: 'Game Controller',
- lastYearSale: 44,
- thisYearSale: 45,
- lastYearProfit: 66442,
- thisYearProfit: 53322
- },
- {
- product: 'Gaming Set',
- lastYearSale: 90,
- thisYearSale: 56,
- lastYearProfit: 765442,
- thisYearProfit: 296232
- },
- {
- product: 'Gold Phone Case',
- lastYearSale: 75,
- thisYearSale: 54,
- lastYearProfit: 21212,
- thisYearProfit: 12533
- }
- ];
-
- this.calculateLastYearTotal();
- this.calculateThisYearTotal();
-
- this.cd.markForCheck();
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/columntoggledoc.ts b/apps/showcase/src/app/showcase/doc/table/columntoggledoc.ts
deleted file mode 100644
index 26d6beecabb..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/columntoggledoc.ts
+++ /dev/null
@@ -1,213 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'column-toggle-doc',
- template: `
- This demo uses a multiselect component to implement toggleable columns.
-
-
-
-
-
-
-
-
-
- Code
-
- {{ col.header }}
-
-
-
-
-
- {{ product.code }}
-
- {{ product[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ColumnToggleDoc {
- products!: Product[];
-
- cols!: Column[];
-
- selectedColumns!: Column[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
-
- this.selectedColumns = this.cols;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- Code
-
- {{col.header}}
-
-
-
-
-
- {{product.code}}
-
- {{product[col.field]}}
-
-
-
- `,
- html: `
-
-
-
-
-
-
- Code
-
- {{col.header}}
-
-
-
-
-
- {{product.code}}
-
- {{product[col.field]}}
-
-
-
-
-
`,
- typescript: `import { Component, OnInit, ChangeDetectorRef} from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-@Component({
- selector: 'table-column-toggle-demo',
- templateUrl: 'table-column-toggle-demo.html',
- standalone: true,
- imports: [TableModule, MultiSelectModule, CommonModule],
- providers: [ProductService]
-})
-export class TableColumnToggleDemo implements OnInit{
- products!: Product[];
-
- cols!: Column[];
-
- selectedColumns!: Column[];
-
- constructor(private productService: ProductService, private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
-
- this.selectedColumns = this.cols;
- }
-
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/contextmenudoc.ts b/apps/showcase/src/app/showcase/doc/table/contextmenudoc.ts
deleted file mode 100644
index 34fce427b95..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/contextmenudoc.ts
+++ /dev/null
@@ -1,211 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'context-menu-doc',
- template: `
-
- Table has exclusive integration with contextmenu component. In order to attach a menu to a table, add pContextMenuRow directive to the rows that can be selected with context menu, define a local template variable for the
- menu and bind it to the contextMenu property of the table. This enables displaying the menu whenever a row is right clicked. Optional pContextMenuRowIndex property is available to access the row index. A separate
- contextMenuSelection property is used to get a hold of the right clicked row. For dynamic columns, setting pContextMenuRowDisabled property as true disables context menu for that particular row.
-
-
-
-
-
-
-
-
- Code
- Name
- Category
- Price
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.price | currency: 'USD' }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush,
- providers: [MessageService]
-})
-export class ContextMenuDoc {
- products!: Product[];
-
- selectedProduct!: Product;
-
- items!: MenuItem[];
-
- constructor(
- private productService: ProductService,
- private messageService: MessageService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.items = [
- { label: 'View', icon: 'pi pi-fw pi-search', command: () => this.viewProduct(this.selectedProduct) },
- { label: 'Delete', icon: 'pi pi-fw pi-times', command: () => this.deleteProduct(this.selectedProduct) }
- ];
- }
-
- viewProduct(product: Product) {
- this.messageService.add({ severity: 'info', summary: 'Product Selected', detail: product.name });
- }
-
- deleteProduct(product: Product) {
- this.products = this.products.filter((p) => p.id !== product.id);
- this.messageService.add({ severity: 'error', summary: 'Product Deleted', detail: product.name });
- this.selectedProduct = null;
- }
-
- code: Code = {
- basic: `
-
-
-
- Code
- Name
- Category
- Price
-
-
-
-
- {{product.code}}
- {{product.name}}
- {{product.category}}
- {{product.price |Â currency: 'USD'}}
-
-
-
- `,
- html: `
-
-
-
-
- Code
- Name
- Category
- Price
-
-
-
-
- {{product.code}}
- {{product.name}}
- {{product.category}}
- {{product.price |Â currency: 'USD'}}
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MessageService, MenuItem } from 'primeng/api';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { ContextMenuModule } from 'primeng/contextmenu';
-import { HttpClientModule } from '@angular/common/http';
-import { CommonModule } from '@angular/common';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'table-context-menu-demo',
- templateUrl: 'table-context-menu-demo.html',
- standalone: true,
- imports: [TableModule, ContextMenuModule, HttpClientModule, CommonModule, ToastModule],
- providers: [MessageService, ProductService]
-})
-export class TableContextMenuDemo implements OnInit{
- products!: Product[];
-
- selectedProduct!: Product;
-
- items!: MenuItem[];
-
- constructor(private productService: ProductService, private messageService: MessageService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => (this.products = data));
-
- this.items = [
- { label: 'View', icon: 'pi pi-fw pi-search', command: () => this.viewProduct(this.selectedProduct) },
- { label: 'Delete', icon: 'pi pi-fw pi-times', command: () => this.deleteProduct(this.selectedProduct) }
- ];
- }
-
- viewProduct(product: Product) {
- this.messageService.add({ severity: 'info', summary: 'Product Selected', detail: product.name });
- }
-
- deleteProduct(product: Product) {
- this.products = this.products.filter((p) => p.id !== product.id);
- this.messageService.add({ severity: 'error', summary: 'Product Deleted', detail: product.name });
- this.selectedProduct = null;
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/table/dynamicdoc.ts
deleted file mode 100644
index b5c3f6af35b..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/dynamicdoc.ts
+++ /dev/null
@@ -1,170 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'dynamic-doc',
- template: `
- Columns can be defined dynamically using the *ngFor directive.
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class DynamicDoc {
- products!: Product[];
-
- cols!: Column[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.cols = [
- { field: 'code', header: 'Code' },
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
- html: `
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'table-dynamic-demo',
- templateUrl: 'table-dynamic-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [ProductService]
-})
-export class TableDynamicDemo {
- products!: Product[];
-
- cols!: Column[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- });
-
- this.cols = [
- { field: 'code', header: 'Code' },
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/flexiblescrolldoc.ts b/apps/showcase/src/app/showcase/doc/table/flexiblescrolldoc.ts
deleted file mode 100644
index 1c72b8717c2..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/flexiblescrolldoc.ts
+++ /dev/null
@@ -1,220 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-
-@Component({
- selector: 'flexible-scroll-doc',
- template: `
-
- Flex scroll feature makes the scrollable viewport section dynamic instead of a fixed value so that it can grow or shrink relative to the parent size of the table. Click the button below to display a maximizable Dialog where data
- viewport adjusts itself according to the size changes.
-
-
-
-
-
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class FlexibleScrollDoc {
- customers!: Customer[];
-
- dialogVisible: boolean = false;
-
- constructor(
- private customerService: CustomerService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.customerService.getCustomersMedium().then((data) => {
- this.customers = data;
- });
- }
-
- showDialog() {
- this.dialogVisible = true;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-import { ButtonModule } from 'primeng/button';
-import { HttpClientModule } from '@angular/common/http';
-
-@Component({
- selector: 'table-flexible-scroll-demo',
- templateUrl: 'table-flexible-scroll-demo.html',
- standalone: true,
- imports: [TableModule, DialogModule, ButtonModule, HttpClientModule],
- providers: [CustomerService]
-})
-export class TableFlexibleScrollDemo implements OnInit{
- customers!: Customer[];
-
- dialogVisible: boolean = false;
-
- constructor(private customerService: CustomerService) {}
-
- ngOnInit() {
- this.customerService.getCustomersMedium().then((data) => {
- this.customers = data;
- });
- }
-
- showDialog() {
- this.dialogVisible = true;
- }
-}`,
- data: `{
- id: 1000,
- name: 'James Butt',
- country: {
- name: 'Algeria',
- code: 'dz'
- },
- company: 'Benton, John B Jr',
- date: '2015-09-13',
- status: 'unqualified',
- verified: true,
- activity: 17,
- representative: {
- name: 'Ioni Bowcher',
- image: 'ionibowcher.png'
- },
- balance: 70663
-},
-...`,
- service: ['CustomerService']
- };
-
- extFiles = [
- {
- path: 'src/domain/customer.ts',
- content: `
-export interface Country {
- name?: string;
- code?: string;
-}
-
-export interface Representative {
- name?: string;
- image?: string;
-}
-
-export interface Customer {
- id?: number;
- name?: string;
- country?: Country;
- company?: string;
- date?: string | Date;
- status?: string;
- activity?: number;
- representative?: Representative;
- verified?: boolean;
- balance?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/gridlinesdoc.ts b/apps/showcase/src/app/showcase/doc/table/gridlinesdoc.ts
deleted file mode 100644
index 34bc13b9a4f..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/gridlinesdoc.ts
+++ /dev/null
@@ -1,154 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'gridlines-doc',
- template: `
- Enabling showGridlines displays borders between cells.
-
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class GridlinesDoc {
- products!: Product[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
- `,
- html: `
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'table-gridlines-demo',
- templateUrl: 'table-gridlines-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [ProductService]
-})
-export class TableGridlinesDemo {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- });
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/importdoc.ts b/apps/showcase/src/app/showcase/doc/table/importdoc.ts
deleted file mode 100644
index 5a4fba1680e..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'table-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { TableModule } from 'primeng/table';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/lazyloaddoc.ts b/apps/showcase/src/app/showcase/doc/table/lazyloaddoc.ts
deleted file mode 100644
index f432203f6d6..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/lazyloaddoc.ts
+++ /dev/null
@@ -1,426 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { LazyLoadEvent } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Customer, Representative } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-
-@Component({
- selector: 'lazy-load-doc',
- template: `
-
- Lazy mode is handy to deal with large datasets, instead of loading the entire data, small chunks of data is loaded by invoking onLazyLoad callback everytime paging , sorting and filtering happens. Sample here loads
- the data from remote datasource efficiently using lazy loading. Also, the implementation of checkbox selection in lazy tables is left entirely to the user. Since the table component does not know what will happen to the data on
- the next page or whether there are instant data changes, the selection array can be implemented in several ways. One of them is as in the example below.
-
-
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ option.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class LazyLoadDoc implements OnInit {
- customers!: Customer[];
-
- totalRecords!: number;
-
- loading: boolean = false;
-
- representatives!: Representative[];
-
- selectAll: boolean = false;
-
- selectedCustomers!: Customer[];
-
- constructor(
- private customerService: CustomerService,
- private cd: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.loading = true;
- }
-
- loadDemoData() {
- this.representatives = [
- { name: 'Amy Elsner', image: 'amyelsner.png' },
- { name: 'Anna Fali', image: 'annafali.png' },
- { name: 'Asiya Javayant', image: 'asiyajavayant.png' },
- { name: 'Bernardo Dominic', image: 'bernardodominic.png' },
- { name: 'Elwin Sharvill', image: 'elwinsharvill.png' },
- { name: 'Ioni Bowcher', image: 'ionibowcher.png' },
- { name: 'Ivan Magalhaes', image: 'ivanmagalhaes.png' },
- { name: 'Onyama Limba', image: 'onyamalimba.png' },
- { name: 'Stephen Shaw', image: 'stephenshaw.png' },
- { name: 'Xuxue Feng', image: 'xuxuefeng.png' }
- ];
- }
-
- loadCustomers(event: LazyLoadEvent) {
- this.loading = true;
-
- setTimeout(() => {
- this.customerService.getCustomers({ lazyEvent: JSON.stringify(event) }).then((res) => {
- this.customers = res.customers;
- this.totalRecords = res.totalRecords;
- this.loading = false;
- this.cd.markForCheck();
- });
- }, 1000);
- }
-
- onSelectionChange(value = []) {
- this.selectAll = value.length === this.totalRecords;
- this.selectedCustomers = value;
- }
-
- onSelectAllChange(event: any) {
- const checked = event.checked;
-
- if (checked) {
- this.customerService.getCustomers().then((res) => {
- this.selectedCustomers = res.customers;
- this.selectAll = true;
- });
- } else {
- this.selectedCustomers = [];
- this.selectAll = false;
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
- Name
-
-
- Country
-
-
- Company
-
-
- Representative
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ option.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
- `,
- html: `
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ option.name }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { LazyLoadEvent } from 'primeng/api';
-import { Customer, Representative } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-import { TableModule } from 'primeng/table';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { HttpClientModule } from '@angular/common/http';
-
-@Component({
- selector: 'table-lazy-load-demo',
- templateUrl: 'table-lazy-load-demo.html',
- standalone: true,
- imports: [TableModule, MultiSelectModule, HttpClientModule],
- providers:Â [CustomerService]
-})
-export class TableLazyLoadDemo implements OnInit{
- customers!: Customer[];
-
- totalRecords!: number;
-
- loading: boolean = false;
-
- representatives!: Representative[];
-
- selectAll: boolean = false;
-
- selectedCustomers!: Customer[];
-
- constructor(private customerService: CustomerService) {}
-
- ngOnInit() {
- this.representatives = [
- { name: 'Amy Elsner', image: 'amyelsner.png' },
- { name: 'Anna Fali', image: 'annafali.png' },
- { name: 'Asiya Javayant', image: 'asiyajavayant.png' },
- { name: 'Bernardo Dominic', image: 'bernardodominic.png' },
- { name: 'Elwin Sharvill', image: 'elwinsharvill.png' },
- { name: 'Ioni Bowcher', image: 'ionibowcher.png' },
- { name: 'Ivan Magalhaes', image: 'ivanmagalhaes.png' },
- { name: 'Onyama Limba', image: 'onyamalimba.png' },
- { name: 'Stephen Shaw', image: 'stephenshaw.png' },
- { name: 'Xuxue Feng', image: 'xuxuefeng.png' }
- ];
-
- this.loading = true;
- }
-
- loadCustomers(event: LazyLoadEvent) {
- this.loading = true;
-
- setTimeout(() => {
- this.customerService.getCustomers({ lazyEvent: JSON.stringify(event) }).then((res) => {
- this.customers = res.customers;
- this.totalRecords = res.totalRecords;
- this.loading = false;
- });
- }, 1000);
- }
-
- onSelectionChange(value = []) {
- this.selectAll = value.length === this.totalRecords;
- this.selectedCustomers = value;
- }
-
- onSelectAllChange(event: any) {
- const checked = event.checked;
-
- if (checked) {
- this.customerService.getCustomers().then((res) => {
- this.selectedCustomers = res.customers;
- this.selectAll = true;
- });
- } else {
- this.selectedCustomers = [];
- this.selectAll = false;
- }
- }
-}`,
- data: `{
- id: 1000,
- name: 'James Butt',
- country: {
- name: 'Algeria',
- code: 'dz'
- },
- company: 'Benton, John B Jr',
- date: '2015-09-13',
- status: 'unqualified',
- verified: true,
- activity: 17,
- representative: {
- name: 'Ioni Bowcher',
- image: 'ionibowcher.png'
- },
- balance: 70663
-},
-...`,
- service: ['CustomerService']
- };
-
- extFiles = [
- {
- path: 'src/domain/customer.ts',
- content: `
-export interface Country {
- name?: string;
- code?: string;
-}
-
-export interface Representative {
- name?: string;
- image?: string;
-}
-
-export interface Customer {
- id?: number;
- name?: string;
- country?: Country;
- company?: string;
- date?: string | Date;
- status?: string;
- activity?: number;
- representative?: Representative;
- verified?: boolean;
- balance?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/paginatorbasicdoc.ts b/apps/showcase/src/app/showcase/doc/table/paginatorbasicdoc.ts
deleted file mode 100644
index 3bdef70413f..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/paginatorbasicdoc.ts
+++ /dev/null
@@ -1,177 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-
-@Component({
- selector: 'paginator-basic-doc',
- template: `
-
- Pagination is enabled by setting paginator property to true and defining a rows property to specify the number of rows per page. For server side pagination, see the lazy loading
- example.
-
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class PaginatorBasicDoc {
- customers!: Customer[];
-
- constructor(
- private customerService: CustomerService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.customerService.getCustomersLarge().then((customers) => {
- this.customers = customers;
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
- `,
- html: `
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'table-paginator-basic-demo',
- templateUrl: 'table-paginator-basic-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [ProductService]
-})
-export class TablePaginatorBasicDemo {
- customers!: Customer[];
-
- constructor(private customerService: CustomerService) {}
-
- ngOnInit() {
- this.customerService.getCustomersLarge().then((customers) => (this.customers = customers));
- }
-}`,
- data: `{
- id: 1000,
- name: 'James Butt',
- country: {
- name: 'Algeria',
- code: 'dz'
- },
- company: 'Benton, John B Jr',
- date: '2015-09-13',
- status: 'unqualified',
- verified: true,
- activity: 17,
- representative: {
- name: 'Ioni Bowcher',
- image: 'ionibowcher.png'
- },
- balance: 70663
-},
-...`,
- service: ['CustomerService']
- };
-
- extFiles = [
- {
- path: 'src/domain/customer.ts',
- content: `
-export interface Country {
- name?: string;
- code?: string;
-}
-
-export interface Representative {
- name?: string;
- image?: string;
-}
-
-export interface Customer {
- id?: number;
- name?: string;
- country?: Country;
- company?: string;
- date?: string | Date;
- status?: string;
- activity?: number;
- representative?: Representative;
- verified?: boolean;
- balance?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/paginatorlocaledoc.ts b/apps/showcase/src/app/showcase/doc/table/paginatorlocaledoc.ts
deleted file mode 100644
index 1ba83195f30..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/paginatorlocaledoc.ts
+++ /dev/null
@@ -1,207 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-
-@Component({
- selector: 'paginator-locale-doc',
- template: `
-
- paginator localization information such as page numbers and rows per page options are defined with the
- paginatorLocale property which defaults to the user locale.
-
-
-
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class PaginatorLocaleDoc {
- customers!: Customer[];
-
- constructor(
- private customerService: CustomerService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.customerService.getCustomersLarge().then((customers) => {
- this.customers = customers;
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
- Name
- Country
- Company
- Representative
-
-
-
-
- {{ customer.name }}
- {{ customer.country.name }}
- {{ customer.company }}
- {{ customer.representative.name }}
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `
-import { Component } from '@angular/core';
-import { Customer } from '@domain/customer';
-import { CustomerService } from '@service/customerservice';
-
-@Component({
- selector: 'table-paginator-locale-demo',
- templateUrl: 'table-paginator-locale-demo.html'
-})
-export class TablePaginatorLocaleDemo {
- customers!: Customer[];
-
- constructor(private customerService: CustomerService) {}
-
- ngOnInit() {
- this.customerService.getCustomersLarge().then((customers) => (this.customers = customers));
- }
-}`,
- data: `{
- id: 1000,
- name: 'James Butt',
- country: {
- name: 'Algeria',
- code: 'dz'
- },
- company: 'Benton, John B Jr',
- date: '2015-09-13',
- status: 'unqualified',
- verified: true,
- activity: 17,
- representative: {
- name: 'Ioni Bowcher',
- image: 'ionibowcher.png'
- },
- balance: 70663
-},
-...`,
- service: ['CustomerService']
- };
-
- extFiles = [
- {
- path: 'src/domain/customer.ts',
- content: `
-export interface Country {
- name?: string;
- code?: string;
-}
-
-export interface Representative {
- name?: string;
- image?: string;
-}
-
-export interface Customer {
- id?: number;
- name?: string;
- country?: Country;
- company?: string;
- date?: string | Date;
- status?: string;
- activity?: number;
- representative?: Representative;
- verified?: boolean;
- balance?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/reorderdoc.ts b/apps/showcase/src/app/showcase/doc/table/reorderdoc.ts
deleted file mode 100644
index fe6021ac6e2..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/reorderdoc.ts
+++ /dev/null
@@ -1,203 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'reorder-doc',
- template: `
-
- Order of the columns and rows can be changed using drag and drop. Column reordering is configured by adding
- reorderableColumns property.
-
-
- Similarly, adding reorderableRows property enables draggable rows. For the drag handle a column needs to have rowReorder property and onRowReorder callback is required to control the state of the rows after
- reorder completes.
-
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ReorderDoc {
- products!: Product[];
-
- cols!: Column[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.cols = [
- { field: 'code', header: 'Code' },
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{col.header}}
-
-
-
-
-
-
-
-
-
- {{rowData[col.field]}}
-
-
-
- `,
- html: `
-
-
-
-
-
- {{col.header}}
-
-
-
-
-
-
-
-
-
- {{rowData[col.field]}}
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'table-reorder-demo',
- templateUrl: 'table-reorder-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [ProductService]
-})
-export class TableReorderDemo implements OnInit{
- products!: Product[];
-
- cols!: Column[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => (this.products = data));
-
- this.cols = [
- { field: 'code', header: 'Code' },
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/sizedoc.ts b/apps/showcase/src/app/showcase/doc/table/sizedoc.ts
deleted file mode 100644
index 5aa4e94b87a..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/sizedoc.ts
+++ /dev/null
@@ -1,188 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-@Component({
- selector: 'size-doc',
- template: `
- In addition to a regular table, alternatives with alternative sizes are available.
-
-
-
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class SizeDoc {
- products!: Product[];
-
- sizes!: any[];
-
- selectedSize: any = undefined;
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.sizes = [
- { name: 'Small', value: 'small' },
- { name: 'Normal', value: undefined },
- { name: 'Large', value: 'large' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
- `,
- html: `
-
-
-
-
- Code
- Name
- Category
- Quantity
-
-
-
-
- {{ product.code }}
- {{ product.name }}
- {{ product.category }}
- {{ product.quantity }}
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { SelectButton } from 'primeng/selectbutton';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'table-size-demo',
- templateUrl: 'table-size-demo.html',
- standalone: true,
- imports: [TableModule, SelectButton, CommonModule],
- providers: [ProductService]
-})
-export class TableSizeDemo {
- products!: Product[];
-
- sizes!: any[];
-
- selectedSize: any = '';
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- });
-
- this.sizes = [
- { name: 'Small', class: 'p-datatable-sm' },
- { name: 'Normal', class: '' },
- { name: 'Large', class: 'p-datatable-lg' }
- ];
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/templatedoc.ts b/apps/showcase/src/app/showcase/doc/table/templatedoc.ts
deleted file mode 100644
index 9268c704ec3..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/templatedoc.ts
+++ /dev/null
@@ -1,240 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
- Custom content at header , body and footer sections are supported via templating.
-
-
-
-
-
-
-
-
-
- Name
- Image
- Price
- Category
- Reviews
- Status
-
-
-
-
- {{ product.name }}
-
-
-
- {{ product.price | currency: 'USD' }}
- {{ product.category }}
-
-
-
-
-
-
- In total there are {{ products ? products.length : 0 }} products.
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class TemplateDoc {
- products!: Product[];
-
- cols!: Column[];
-
- constructor(
- private productService: ProductService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- this.cd.markForCheck();
- });
-
- this.cols = [
- { field: 'code', header: 'Code' },
- { field: 'name', header: 'Name' },
- { field: 'category', header: 'Category' },
- { field: 'quantity', header: 'Quantity' }
- ];
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- Name
- Image
- Price
- Category
- Reviews
- Status
-
-
-
-
- {{ product.name }}
-
-
-
- {{ product.price | currency: 'USD' }}
- {{ product.category }}
-
-
-
-
-
-
- In total there are {{ products ? products.length : 0 }} products.
- `,
- html: `
-
-
-
-
-
-
- Name
- Image
- Price
- Category
- Reviews
- Status
-
-
-
-
- {{ product.name }}
-
-
-
- {{ product.price | currency: 'USD' }}
- {{ product.category }}
-
-
-
-
-
-
- In total there are {{ products ? products.length : 0 }} products.
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Product } from '@domain/product';
-import { ProductService } from '@service/productservice';
-import { TableModule } from 'primeng/table';
-import { TagModule } from 'primeng/tag';
-import { RatingModule } from 'primeng/rating';
-import { CommonModule } from '@angular/common';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'table-template-demo',
- templateUrl: 'table-template-demo.html',
- standalone: true,
- imports: [TableModule, TagModule, RatingModule, ButtonModule, CommonModule],
- providers: [ProductService]
-})
-export class TableTemplateDemo implements OnInit {
- products!: Product[];
-
- constructor(private productService: ProductService) {}
-
- ngOnInit() {
- this.productService.getProductsMini().then((data) => {
- this.products = data;
- });
- }
-
- getSeverity(status: string) {
- switch (status) {
- case 'INSTOCK':
- return 'success';
- case 'LOWSTOCK':
- return 'warn';
- case 'OUTOFSTOCK':
- return 'danger';
- }
- }
-}`,
- data: `{
- id: '1000',
- code: 'f230fh0g3',
- name: 'Bamboo Watch',
- description: 'Product Description',
- image: 'bamboo-watch.jpg',
- price: 65,
- category: 'Accessories',
- quantity: 24,
- inventoryStatus: 'INSTOCK',
- rating: 5
-},
-...`,
- service: ['ProductService']
- };
-
- extFiles = [
- {
- path: 'src/domain/product.ts',
- content: `
-export interface Product {
- id?: string;
- code?: string;
- name?: string;
- description?: string;
- price?: number;
- quantity?: number;
- inventoryStatus?: string;
- category?: string;
- image?: string;
- rating?: number;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/table/virtualscrolldoc.ts
deleted file mode 100644
index ec4e6fd8a18..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/virtualscrolldoc.ts
+++ /dev/null
@@ -1,177 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { Car } from '@domain/car';
-import { Code } from '@domain/code';
-import { CarService } from '@service/carservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'virtual-scroll-doc',
- template: `
-
- VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality. It is also
- suggested to use the same virtualScrollItemSize value on the tr element inside the body template.
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class VirtualScrollDoc {
- cars!: Car[];
-
- virtualCars!: Car[];
-
- cols!: Column[];
-
- constructor(private carService: CarService) {}
-
- loadDemoData() {
- this.cols = [
- { field: 'id', header: 'Id' },
- { field: 'vin', header: 'Vin' },
- { field: 'year', header: 'Year' },
- { field: 'brand', header: 'Brand' },
- { field: 'color', header: 'Color' }
- ];
-
- this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
- this.virtualCars = Array.from({ length: 10000 });
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
- html: `
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { Car } from '@domain/car';
-import { CarService } from '@service/carservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'table-virtual-scroll-demo',
- templateUrl: 'table-virtual-scroll-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [CarService]
-})
-export class TableVirtualScrollDemo implements OnInit{
- cars!: Car[];
-
- virtualCars!: Car[];
-
- cols!: Column[];
-
- constructor(private carService: CarService) {}
-
- ngOnInit() {
- this.cols = [
- { field: 'id', header: 'Id' },
- { field: 'vin', header: 'Vin' },
- { field: 'year', header: 'Year' },
- { field: 'brand', header: 'Brand' },
- { field: 'color', header: 'Color' }
- ];
-
- this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
- this.virtualCars = Array.from({ length: 10000 });
- }
-}`,
- data: `{
- id: 1
- vin: tvACo,
- brand: Norma,
- color: Black,
- year: 2002
-}
-...`,
- service: ['CarService']
- };
-
- extFiles = [
- {
- path: 'src/domain/car.ts',
- content: `
-export interface Car {
- id?;
- vin?;
- year?;
- brand?;
- color?;
- price?;
- saleDate?;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/table/virtualscrolllazydoc.ts b/apps/showcase/src/app/showcase/doc/table/virtualscrolllazydoc.ts
deleted file mode 100644
index 031857216e0..00000000000
--- a/apps/showcase/src/app/showcase/doc/table/virtualscrolllazydoc.ts
+++ /dev/null
@@ -1,237 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { LazyLoadEvent } from 'primeng/api';
-import { Car } from '@domain/car';
-import { Code } from '@domain/code';
-import { CarService } from '@service/carservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'virtual-scroll-lazy-doc',
- template: `
-
- VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality. It is also
- suggested to use the same virtualScrollItemSize value on the tr element inside the body template.
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class VirtualScrollLazyDoc {
- cars!: Car[];
-
- virtualCars!: Car[];
-
- cols!: Column[];
-
- constructor(private carService: CarService) {}
-
- loadDemoData() {
- this.cols = [
- { field: 'id', header: 'Id' },
- { field: 'vin', header: 'Vin' },
- { field: 'year', header: 'Year' },
- { field: 'brand', header: 'Brand' },
- { field: 'color', header: 'Color' }
- ];
-
- this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
- this.virtualCars = Array.from({ length: 10000 });
- }
-
- loadCarsLazy(event: LazyLoadEvent) {
- //simulate remote connection with a timeout
- setTimeout(
- () => {
- //load data of required page
- let loadedCars = this.cars.slice(event.first, event.first + event.rows);
-
- //populate page of virtual cars
- Array.prototype.splice.apply(this.virtualCars, [...[event.first, event.rows], ...loadedCars]);
-
- //trigger change detection
- event.forceUpdate();
- },
- Math.random() * 1000 + 250
- );
- }
-
- code: Code = {
- basic: `
-
-
-
- {{col.header}}
-
-
-
-
-
-
- {{rowData[col.field]}}
-
-
-
-
-
-
-
-
-
-
- `,
- html: `
-
-
-
-
- {{col.header}}
-
-
-
-
-
-
- {{rowData[col.field]}}
-
-
-
-
-
-
-
-
-
-
-
-
`,
- typescript: `import { Component, OnInit } from '@angular/core';
-import { LazyLoadEvent } from 'primeng/api';
-import { Car } from '@domain/car';
-import { CarService } from '@service/carservice';
-import { TableModule } from 'primeng/table';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'table-virtual-scroll-lazy-demo',
- templateUrl: 'table-virtual-scroll-lazy-demo.html',
- standalone: true,
- imports: [TableModule, CommonModule],
- providers: [CarService]
-})
-export class TableVirtualScrollLazyDemo implements OnInit{
- cars!: Car[];
-
- virtualCars!: Car[];
-
- cols!: Column[];
-
- constructor(private carService: CarService) {}
-
- ngOnInit() {
- this.cols = [
- { field: 'id', header: 'Id' },
- { field: 'vin', header: 'Vin' },
- { field: 'year', header: 'Year' },
- { field: 'brand', header: 'Brand' },
- { field: 'color', header: 'Color' }
- ];
-
- this.cars = Array.from({ length: 10000 }).map((_, i) => this.carService.generateCar(i + 1));
- this.virtualCars = Array.from({ length: 10000 });
- }
-
- loadCarsLazy(event: LazyLoadEvent) {
- //simulate remote connection with a timeout
- setTimeout(() => {
- //load data of required page
- let loadedCars = this.cars.slice(event.first, event.first + event.rows);
-
- //populate page of virtual cars
- Array.prototype.splice.apply(this.virtualCars, [...[event.first, event.rows], ...loadedCars]);
-
- //trigger change detection
- event.forceUpdate();
- }, Math.random() * 1000 + 250);
- }
-}`,
- data: `{
- id: 1
- vin: tvACo,
- brand: Norma,
- color: Black,
- year: 2002
-}
-...`,
- service: ['CarService']
- };
-
- extFiles = [
- {
- path: 'src/domain/car.ts',
- content: `
-export interface Car {
- id?;
- vin?;
- year?;
- brand?;
- color?;
- price?;
- saleDate?;
-}`
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/basicdoc.ts b/apps/showcase/src/app/showcase/doc/tabs/basicdoc.ts
deleted file mode 100644
index 79817b9384e..00000000000
--- a/apps/showcase/src/app/showcase/doc/tabs/basicdoc.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Tabs is defined using TabList , Tab , TabPanels and TabPanel components. Tab and TabPanel components are associated with their value properties
-
-
-
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: `
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
- anim id est laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
- Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
- dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
- modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
- atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
- sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
- facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
- impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
- anim id est laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
- Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
- dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
- modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
- atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
- sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
- facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
- impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { TabsModule } from 'primeng/tabs';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'tabs-basic-demo',
- templateUrl: './tabs-basic-demo.html',
- standalone: true,
- imports: [CommonModule, TabsModule]
-})
-export class TabsBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/tabs/controlleddoc.ts
deleted file mode 100644
index ff74317241b..00000000000
--- a/apps/showcase/src/app/showcase/doc/tabs/controlleddoc.ts
+++ /dev/null
@@ -1,148 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'controlled-doc',
- template: `
-
- Tabs can be controlled programmatically using value property as a model.
-
-
-
-
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
- `
-})
-export class ControlledDoc {
- value: number = 0;
-
- code: Code = {
- basic: `
-
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
-
- Header I
- Header II
- Header III
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos
- qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque
- corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { ButtonModule } from 'primeng/button';
-import { TabsModule } from 'primeng/tabs';
-
-@Component({
- selector: 'tabs-controlled-demo',
- templateUrl: './tabs-controlled-demo.html',
- standalone: true,
- imports: [ButtonModule, TabsModule, FormsModule]
-})
-export class TabsControlledDemo {
- value: number = 0;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/disableddoc.ts b/apps/showcase/src/app/showcase/doc/tabs/disableddoc.ts
deleted file mode 100644
index e6685710729..00000000000
--- a/apps/showcase/src/app/showcase/doc/tabs/disableddoc.ts
+++ /dev/null
@@ -1,136 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- Enabling disabled property of a Tab prevents user interaction.
-
-
-
-
- Header I
- Header II
- Header III
- Header IV
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est
- laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo
- enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in
- culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus.
-
-
-
-
-
-
- `
-})
-export class DisabledDoc {
- code: Code = {
- basic: `
-
- Header I
- Header II
- Header III
- Header IV
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
- anim id est laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
- Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
- dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
- modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
- atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
- sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
- facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
- impedit quo minus.
-
-
-
- `,
-
- html: `
-
-
- Header I
- Header II
- Header III
- Header IV
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
- anim id est laborum.
-
-
-
-
- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem
- aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
- Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni
- dolores eos qui ratione voluptatem sequi nesciunt. Consectetur, adipisci velit, sed quia non numquam eius
- modi.
-
-
-
-
- At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti
- atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique
- sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum
- facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil
- impedit quo minus.
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { CommonModule } from '@angular/common';
-import { TabsModule } from 'primeng/tabs';
-
-@Component({
- selector: 'tabs-disabled-demo',
- templateUrl: './tabs-disabled-demo.html',
- standalone: true,
- imports: [CommonModule, TabsModule]
-})
-export class TabsDisabledDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/dynamicdoc.ts b/apps/showcase/src/app/showcase/doc/tabs/dynamicdoc.ts
deleted file mode 100644
index 80e7d117998..00000000000
--- a/apps/showcase/src/app/showcase/doc/tabs/dynamicdoc.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'dynamic-doc',
- template: `
-
- Tabs can be generated dynamically using the standard @for block.
-
-
-
-
- @for (tab of tabs; track tab.value) {
- {{ tab.title }}
- }
-
-
- @for (tab of tabs; track tab.value) {
-
- {{ tab.content }}
-
- }
-
-
-
-
- `
-})
-export class DynamicDoc implements OnInit {
- tabs: { title: string; value: string; content: string }[] = [];
- code: Code = {
- basic: `
-
- @for (tab of tabs; track tab.value) {
- {{ tab.title }}
- }
-
-
- @for (tab of tabs; track tab.value) {
-
- {{ tab.content }}
-
- }
-
- `,
-
- html: `
-
-
- @for (tab of tabs; track tab.value) {
- {{ tab.title }}
- }
-
-
- @for (tab of tabs; track tab.value) {
-
- {{ tab.content }}
-
- }
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TabsModule } from 'primeng/tabs';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'tabs-dynamic-demo',
- templateUrl: './tabs-dynamic-demo.html',
- standalone: true,
- imports: [TabsModule, CommonModule]
-})
-export class TabsDynamicDemo implements OnInit {
- tabs: { title: string; value: number; content: string }[] = [];
-
- ngOnInit() {
- this.tabs = [
- { title: 'Tab 1', value: 0, content: 'Tab 1 Content' },
- { title: 'Tab 2', value: 1, content: 'Tab 2 Content' },
- { title: 'Tab 3', value: 2, content: 'Tab 3 Content' },
- ];
- }
-}`
- };
-
- ngOnInit() {
- this.tabs = [
- { title: 'Tab 1', value: '0', content: 'Tab 1 Content' },
- { title: 'Tab 2', value: '1', content: 'Tab 2 Content' },
- { title: 'Tab 3', value: '2', content: 'Tab 3 Content' }
- ];
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/tabs/importdoc.ts b/apps/showcase/src/app/showcase/doc/tabs/importdoc.ts
deleted file mode 100644
index f20046fb8cb..00000000000
--- a/apps/showcase/src/app/showcase/doc/tabs/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tabs-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { TabsModule } from 'primeng/tabs';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tag/basicdoc.ts b/apps/showcase/src/app/showcase/doc/tag/basicdoc.ts
deleted file mode 100644
index be3865ad8a3..00000000000
--- a/apps/showcase/src/app/showcase/doc/tag/basicdoc.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Label of the tag is defined with the value property.
-
-
-
- `
-})
-export class BasicDoc {
- code: Code = {
- basic: ` `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'tag-basic-demo',
- templateUrl: './tag-basic-demo.html',
- standalone: true,
- imports: [Tag]
-})
-export class TagBasicDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tag/icondoc.ts b/apps/showcase/src/app/showcase/doc/tag/icondoc.ts
deleted file mode 100644
index c1531d6d8b4..00000000000
--- a/apps/showcase/src/app/showcase/doc/tag/icondoc.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'icon-doc',
- template: `
-
- A font icon next to the value can be displayed with the icon property.
-
-
-
- `
-})
-export class IconDoc {
- code: Code = {
- basic: `
-
-
-
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'tag-icon-demo',
- templateUrl: './tag-icon-demo.html',
- standalone: true,
- imports: [Tag]
-})
-export class TagIconDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tag/importdoc.ts b/apps/showcase/src/app/showcase/doc/tag/importdoc.ts
deleted file mode 100644
index dcba99bd5ac..00000000000
--- a/apps/showcase/src/app/showcase/doc/tag/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tag-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Tag } from 'primeng/tag';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tag/severitydoc.ts b/apps/showcase/src/app/showcase/doc/tag/severitydoc.ts
deleted file mode 100644
index 3b0d19375aa..00000000000
--- a/apps/showcase/src/app/showcase/doc/tag/severitydoc.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'severity-doc',
- template: `
-
- Severity defines the color of the tag, possible values are success , info , warn and danger in addition to the default theme color.
-
-
-
- `
-})
-export class SeverityDoc {
- code: Code = {
- basic: `
-
-
-
-
-
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'tag-severity-demo',
- templateUrl: './tag-severity-demo.html',
- standalone: true,
- imports: [Tag]
-})
-export class TagSeverityDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tag/templatedoc.ts b/apps/showcase/src/app/showcase/doc/tag/templatedoc.ts
deleted file mode 100644
index 17c09ba67a5..00000000000
--- a/apps/showcase/src/app/showcase/doc/tag/templatedoc.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tag-template-demo',
- template: `
-
- Children of the component are passed as the content for templating.
-
-
-
-
-
-
Italy
-
-
-
-
- `
-})
-export class TemplateDoc {
- code: Code = {
- basic: `
-
-
-
- Italy
-
-
- `,
- html: `
-
-
-
-
- Italy
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Tag } from 'primeng/tag';
-
-@Component({
- selector: 'tag-template-demo',
- templateUrl: './tag-template-demo.html',
- standalone: true,
- imports: [Tag]
-})
-export class TagTemplateDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/animationsdoc.ts b/apps/showcase/src/app/showcase/doc/tailwind/animationsdoc.ts
deleted file mode 100644
index b15161d2484..00000000000
--- a/apps/showcase/src/app/showcase/doc/tailwind/animationsdoc.ts
+++ /dev/null
@@ -1,434 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'animations-doc',
- template: `
-
- The plugin also adds extended animation utilities that can be used with the styleclass and animateonscroll directives.
-
-
-
- Animations
-
-
-
-
- Class
- Property
-
-
-
-
- animate-fadein
- fadein 0.15s linear
-
-
- animate-fadeout
- fadeout 0.15s linear
-
-
- animate-slidedown
- slidedown 0.45s ease-in-out
-
-
- animate-slideup
- slideup 0.45s cubic-bezier(0, 1, 0, 1)
-
-
- animate-scalein
- scalein 0.15s linear
-
-
- animate-fadeinleft
- fadeinleft 0.15s linear
-
-
- animate-fadeoutleft
- fadeoutleft 0.15s linear
-
-
- animate-fadeinright
- fadeinright 0.15s linear
-
-
- animate-fadeoutright
- fadeoutright 0.15s linear
-
-
- animate-fadeinup
- fadeinup 0.15s linear
-
-
- animate-fadeoutup
- fadeoutup 0.15s linear
-
-
- animate-fadeindown
- fadeindown 0.15s linear
-
-
- animate-fadeoutup
- fadeoutup 0.15s linear
-
-
- animate-width
- width 0.15s linear
-
-
- animate-flip
- flip 0.15s linear
-
-
- animate-flipup
- flipup 0.15s linear
-
-
- animate-flipleft
- fadein 0.15s linear
-
-
- animate-flipright
- flipright 0.15s linear
-
-
- animate-zoomin
- zoomin 0.15s linear
-
-
- animate-zoomindown
- zoomindown 0.15s linear
-
-
- animate-zoominleft
- zoominleft 0.15s linear
-
-
- animate-zoominright
- zoominright 0.15s linear
-
-
- animate-zoominup
- zoominup 0.15s linear
-
-
-
-
-
- Animation Duration
-
-
-
-
- Class
- Property
-
-
-
-
- animate-duration-0
- animation-duration: 0s
-
-
- animate-duration-75
- animation-duration: 75ms
-
-
- animate-duration-100
- animation-duration: 100ms
-
-
- animate-duration-200
- animation-duration: 200ms
-
-
- animate-duration-300
- animation-duration: 300ms
-
-
- animate-duration-400
- animation-duration: 400ms
-
-
- animate-duration-500
- animation-duration: 500ms
-
-
- animate-duration-700
- animation-duration: 700ms
-
-
- animate-duration-1000
- animation-duration: 1000ms
-
-
- animate-duration-2000
- animation-duration: 2000ms
-
-
- animate-duration-3000
- animation-duration: 300ms
-
-
-
-
-
- Animation Delay
-
-
-
-
- Class
- Property
-
-
-
-
- animate-delay-none
- animation-duration: 0s
-
-
- animate-delay-75
- animation-delay: 75ms
-
-
- animate-delay-100
- animation-delay: 100ms
-
-
- animate-delay-150
- animation-delay: 150ms
-
-
- animate-delay-200
- animation-delay: 200ms
-
-
- animate-delay-300
- animation-delay: 300ms
-
-
- animate-delay-400
- animation-delay: 400ms
-
-
- animate-delay-500
- animation-delay: 500ms
-
-
- animate-delay-700
- animation-delay: 700ms
-
-
- animate-delay-1000
- animation-delay: 1000ms
-
-
-
-
-
- Iteration Count
-
-
-
-
- Class
- Property
-
-
-
-
- animate-infinite
- animation-iteration-count: infinite
-
-
- animate-once
- animation-iteration-count: 1
-
-
- animate-twice
- animation-iteration-count: 2
-
-
-
-
-
- Direction
-
-
-
-
- Class
- Property
-
-
-
-
- animate-normal
- animation-direction: normal
-
-
- animate-reverse
- animation-direction: reverse
-
-
- animate-alternate
- animation-direction: alternate
-
-
- animate-alternate-reverse
- animation-direction: alternate-reverse
-
-
-
-
-
- Timing Function
-
-
-
-
- Class
- Property
-
-
-
-
- animate-ease-linear
- animation-timing-function: linear
-
-
- animate-ease-in
- animation-timing-function: cubic-bezier(0.4, 0, 1, 1)
-
-
- animate-ease-out
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1)
-
-
- animate-ease-in-out
- animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
-
-
-
-
-
- Fill Mode
-
-
-
-
- Class
- Property
-
-
-
-
- animate-fill-none
- animation-fill-mode: normal
-
-
- animate-fill-forwards
- animation-fill-mode: forwards
-
-
- animate-fill-backwards
- animation-fill-mode: backwards
-
-
- animate-fill-both
- animation-fill-mode: both
-
-
-
-
-
- Play State
-
-
-
-
- Class
- Property
-
-
-
-
- animate-running
- animation-play-state: running
-
-
- animate-paused
- animation-play-state: paused
-
-
-
-
-
- Backface Visibility State
-
-
-
-
- Class
- Property
-
-
-
-
- backface-visible
- backface-visibility: visible
-
-
- backface-hidden
- backface-visibility: hidden
-
-
-
-
- `
-})
-export class AnimationsDoc {
- animation = null;
- animations;
-
- get dynamicAnimationClasses(): string[] {
- return ['rounded-border', 'bg-primary', 'w-16', 'h-16', 'mx-auto', `animate-${this.animation}`, 'animate-once', 'animate-duration-1000'];
- }
-
- ngOnInit() {
- this.animations = [
- 'fadein',
- 'fadeout',
- 'slideup',
- 'scalein',
- 'fadeinleft',
- 'fadeoutleft',
- 'fadeinright',
- 'fadeoutright',
- 'fadeinup',
- 'fadeoutup',
- 'width',
- 'flipup',
- 'flipleft',
- 'flipright',
- 'zoomin',
- 'zoomindown',
- 'zoominleft',
- 'zoominright',
- 'zoominup'
- ];
- }
-
- code: Code = {
- basic: `
-`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tailwind/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/tailwind/headlessdoc.ts
deleted file mode 100644
index 6c4912f590b..00000000000
--- a/apps/showcase/src/app/showcase/doc/tailwind/headlessdoc.ts
+++ /dev/null
@@ -1,181 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'headless-doc',
- template: `
-
- A headless PrimeNG dialog with a custom UI.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
-
-
-
-
- `
-})
-export class HeadlessDoc {
- visible: boolean = false;
-
- showDialog() {
- this.visible = true;
- }
-
- closeDialog() {
- this.visible = false;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
-
-
-
- Password
-
-
-
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/terminal/basicdoc.ts b/apps/showcase/src/app/showcase/doc/terminal/basicdoc.ts
deleted file mode 100644
index f162d8de203..00000000000
--- a/apps/showcase/src/app/showcase/doc/terminal/basicdoc.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { Component, OnDestroy } from '@angular/core';
-import { TerminalService } from 'primeng/terminal';
-import { Subscription } from 'rxjs';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Commands are processed using observables via the TerminalService . Import this service into your component and subscribe to commandHandler to process commands by sending replies with sendResponse function.
-
-
-
Enter "date " to display the current date, "greet {0} " for a message and "random " to get a random number.
-
-
-
- `,
- providers: [TerminalService]
-})
-export class BasicDoc implements OnDestroy {
- subscription: Subscription;
-
- constructor(private terminalService: TerminalService) {
- this.subscription = this.terminalService.commandHandler.subscribe((command) => {
- let response = command === 'date' ? new Date().toDateString() : 'Unknown command: ' + command;
- this.terminalService.sendResponse(response);
- });
- }
-
- ngOnDestroy() {
- if (this.subscription) {
- this.subscription.unsubscribe();
- }
- }
-
- code: Code = {
- basic: `Enter "date " to display the current date,
-"greet {0} " for a message and "random "
-to get a random number.
- `,
- html: `
-
Enter "date " to display the current date,
- "greet {0} " for a message and "random "
- to get a random number.
-
-
`,
- typescript: `import { Component, OnDestroy } from '@angular/core';
-import { TerminalService } from 'primeng/terminal';
-import { Terminal } from 'primeng/terminal';
-import { Subscription } from 'rxjs';
-
-@Component({
- selector: 'terminal-basic-demo',
- templateUrl: './terminal-basic-demo.html',
- standalone: true,
- imports: [Terminal],
- providers: [TerminalService]
-})
-export class TerminalBasicDemo implements OnDestroy {
- subscription: Subscription;
-
- constructor(private terminalService: TerminalService) {
- this.subscription = this.terminalService.commandHandler.subscribe((command) => {
- let response = command === 'date' ? new Date().toDateString() : 'Unknown command: ' + command;
- this.terminalService.sendResponse(response);
- });
- }
-
- ngOnDestroy() {
- if (this.subscription) {
- this.subscription.unsubscribe();
- }
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/terminal/importdoc.ts b/apps/showcase/src/app/showcase/doc/terminal/importdoc.ts
deleted file mode 100644
index 36e5c83f085..00000000000
--- a/apps/showcase/src/app/showcase/doc/terminal/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'terminal-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Terminal } from 'primeng/terminal';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/textarea/accessibilitydoc.ts
deleted file mode 100644
index 3f1cd7de5e3..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/accessibilitydoc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'text-area-accessibility-doc',
- template: `
-
- Screen Reader
-
- Textarea component renders a native textarea element that implicitly includes any passed prop. Value to describe the component can either be provided via label tag combined with id prop or using aria-labelledby ,
- aria-label props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the input.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Address 1
-
-
-Address 2
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/basicdoc.ts b/apps/showcase/src/app/showcase/doc/textarea/basicdoc.ts
deleted file mode 100644
index 0971e8c3439..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/basicdoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Textarea is applied to an input field with pTextarea directive.
-
-
-
-
-
- `
-})
-export class BasicDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-textarea-basic-demo',
- templateUrl: './input-textarea-basic-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-
-export class InputTextareaBasicDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/disableddoc.ts b/apps/showcase/src/app/showcase/doc/textarea/disableddoc.ts
deleted file mode 100644
index eaf9afcf724..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/disableddoc.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
-
-
- `
-})
-export class DisabledDoc {
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-textarea-disabled-demo',
- templateUrl: './input-textarea-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-export class InputTextareaDisabledDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/filleddoc.ts b/apps/showcase/src/app/showcase/doc/textarea/filleddoc.ts
deleted file mode 100644
index 0e1bfc0f1e7..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/filleddoc.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
-
-
- `
-})
-export class FilledDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-textarea-filled-demo',
- templateUrl: './input-textarea-filled-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-
-export class InputTextareaFilledDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/textarea/floatlabeldoc.ts
deleted file mode 100644
index de365225bd3..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/floatlabeldoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatlabelDoc {
- value1: string = '';
-
- value2: string = '';
-
- value3: string = '';
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: ': 'input-textarea-floatlabel-demo',
- templateUrl: './: 'input-textarea-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea, FloatLabel]
-})
-export class TextareaFloatlabelDemo {
- value1: string = '';
-
- value2: string = '';
-
- value3: string = '';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/textarea/iftalabeldoc.ts
deleted file mode 100644
index 5c5638f7b9c..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/iftalabeldoc.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- value: string = '';
-
- code: Code = {
- basic: `
-
- Description
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { InputTextareaModule } from 'primeng/inputtextarea';
-import { FormsModule } from '@angular/forms';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: ': 'input-textarea-iftalabel-demo',
- templateUrl: './: 'input-textarea-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, InputTextareaModule, IftaLabelModule]
-})
-export class TextareaIftaLabelDemo {
- value: string = '';
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/importdoc.ts b/apps/showcase/src/app/showcase/doc/textarea/importdoc.ts
deleted file mode 100644
index cf5bea2406f..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'text-area-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Textarea } from 'primeng/textearea';;`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/textarea/invaliddoc.ts
deleted file mode 100644
index 4926108713d..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
-
-
- `
-})
-export class InvalidDoc {
- value!: string;
-
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-textarea-invalid-demo',
- templateUrl: './input-textarea-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-export class InputTextareaInvalidDemo {
- value!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/keyfilterdoc.ts b/apps/showcase/src/app/showcase/doc/textarea/keyfilterdoc.ts
deleted file mode 100644
index 22fa9a229c2..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/keyfilterdoc.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'key-filter-doc',
- template: `
-
- InputText has built-in key filtering support to block certain keys, refer to keyfilter page for more information.
-
-
-
-
-
- `
-})
-export class KeyfilterDoc {
- code: Code = {
- basic: `
- `,
-
- html: `
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector:'input-textarea-key-filter-demo',
- templateUrl: './input-textarea-key-filter-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-export class InputTextareaKeyFilterDemo {
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/textarea/reactiveformsdoc.ts
deleted file mode 100644
index 40c3f193597..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- Textarea can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
-
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl(null)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: `
-
-
-
-`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { Textarea } from 'primeng/textearea';;
-
-@Component({
- selector: 'input-textarea-reactive-forms-demo',
- templateUrl: './input-textarea-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, Textarea],
-})
-export class InputTextareaReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- text: new FormControl(null)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/textarea/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/textarea/sizesdoc.ts
deleted file mode 100644
index 8dfe71aa4d4..00000000000
--- a/apps/showcase/src/app/showcase/doc/textarea/sizesdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- Textarea provides small and large sizes as alternatives to the base.
-
-
-
-
-
-
-
- `
-})
-export class SizesDoc {
- value1!: string;
-
- value2!: string;
-
- value3!: string;
-
- code: Code = {
- basic: `
-
- `,
-
- html: `
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Textarea } from 'primeng/textearea';;
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'input-textarea-sizes-demo',
- templateUrl: './input-textarea-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, Textarea]
-})
-
-export class InputTextareaSizesDemo {
- value1!: string;
-
- value2!: string;
-
- value3!: string;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/basicdoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/basicdoc.ts
deleted file mode 100644
index 45d76146b73..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/basicdoc.ts
+++ /dev/null
@@ -1,185 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- TieredMenu requires a collection of menuitems as its model .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file'
- },
- {
- label: 'Image',
- icon: 'pi pi-image'
- },
- {
- label: 'Video',
- icon: 'pi pi-video'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open'
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { TieredMenu } from 'primeng/tieredmenu';
-
-@Component({
- selector: 'tiered-menu-basic-demo',
- templateUrl: './tiered-menu-basic-demo.html',
- standalone: true,
- imports: [TieredMenu]
-})
-export class TieredMenuBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file'
- },
- {
- label: 'Image',
- icon: 'pi pi-image'
- },
- {
- label: 'Video',
- icon: 'pi pi-video'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open'
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp'
- }
- ]
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/commanddoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/commanddoc.ts
deleted file mode 100644
index dd3fdd0d0d1..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/commanddoc.ts
+++ /dev/null
@@ -1,167 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'command-doc',
- template: `
-
- The command property defines the callback to run when an item is activated by click or a key event.
-
-
-
- `
-})
-export class CommandDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
- }
- },
- {
- separator: true
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({
- severity: 'info',
- summary: 'Downloads',
- detail: 'Downloaded from cloud',
- life: 3000
- });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { MessageService } from 'primeng/api';
-import { TieredMenu } from 'primeng/tieredmenu';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'tiered-menu-command-demo',
- templateUrl: './tiered-menu-command-demo.html',
- standalone: true,
- imports: [TieredMenu, ToastModule],
- providers: [MessageService]
-})
-export class TieredMenuCommandDemo implements OnInit {
-
- items: MenuItem[] | undefined;
-
- constructor(private messageService: MessageService) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- command: () => {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'File created', life: 3000 });
- }
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- command: () => {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'No printer connected', life: 3000 });
- }
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- command: () => {
- this.messageService.add({ severity: 'warn', summary: 'Search Results', detail: 'No results found', life: 3000 });
- }
- },
- {
- separator: true
- },
- {
- label: 'Sync',
- icon: 'pi pi-cloud',
- items: [
- {
- label: 'Import',
- icon: 'pi pi-cloud-download',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Downloads', detail: 'Downloaded from cloud', life: 3000 });
- }
- },
- {
- label: 'Export',
- icon: 'pi pi-cloud-upload',
- command: () => {
- this.messageService.add({ severity: 'info', summary: 'Shared', detail: 'Exported to cloud', life: 3000 });
- }
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/importdoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/importdoc.ts
deleted file mode 100644
index d059bc2f5bf..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tiered-menu-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { TieredMenu } from 'primeng/tieredmenu';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/popupdoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/popupdoc.ts
deleted file mode 100644
index 7a486c7601b..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/popupdoc.ts
+++ /dev/null
@@ -1,189 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'popup-doc',
- template: `
-
- Popup mode is enabled by adding popup property and calling toggle method with an event of the target.
-
-
-
- `
-})
-export class PopupDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file'
- },
- {
- label: 'Image',
- icon: 'pi pi-image'
- },
- {
- label: 'Video',
- icon: 'pi pi-video'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open'
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { TieredMenu } from 'primeng/tieredmenu';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tiered-menu-popup-demo',
- templateUrl: './tiered-menu-popup-demo.html',
- standalone: true,
- imports: [TieredMenu, ButtonModule]
-})
-export class TieredMenuPopupDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file'
- },
- {
- label: 'Image',
- icon: 'pi pi-image'
- },
- {
- label: 'Video',
- icon: 'pi pi-video'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open'
- },
- {
- label: 'Print',
- icon: 'pi pi-print'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp'
- }
- ]
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/routerdoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/routerdoc.ts
deleted file mode 100644
index 2372bd33ef4..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/routerdoc.ts
+++ /dev/null
@@ -1,206 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-import { Router } from '@angular/router';
-
-@Component({
- selector: 'router-doc',
- template: `
-
- Items with navigation are defined with templating to be able to use a router link component, an external link or programmatic navigation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class RouterDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Theming',
- route: '/theming'
- },
- {
- label: 'Colors',
- route: '/colors'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- url: 'https://angular.dev/'
- },
- {
- label: 'Vite.js',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Router } from '@angular/router';
-import { TieredMenu } from 'primeng/tieredmenu';
-import { CommonModule } from '@angular/common';
-
-@Component({
- selector: 'tiered-menu-router-demo',
- templateUrl: './tiered-menu-router-demo.html',
- standalone: true,
- imports: [TieredMenu, CommonModule]
-})
-export class TieredMenuRouterDemo implements OnInit {
-
- items: MenuItem[] | undefined;
-
- constructor(private router: Router) {}
-
- ngOnInit() {
- this.items = [
- {
- label: 'Router',
- icon: 'pi pi-palette',
- items: [
- {
- label: 'Theming',
- route: '/theming'
- },
- {
- label: 'Colors',
- route: '/colors'
- }
- ]
- },
- {
- label: 'Programmatic',
- icon: 'pi pi-link',
- command: () => {
- this.router.navigate(['/installation']);
- }
- },
- {
- label: 'External',
- icon: 'pi pi-home',
- items: [
- {
- label: 'Angular',
- url: 'https://angular.dev/'
- },
- {
- label: 'Vite.js',
- url: 'https://vitejs.dev/'
- }
- ]
- }
- ];
- }
-
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tieredmenu/templatedoc.ts b/apps/showcase/src/app/showcase/doc/tieredmenu/templatedoc.ts
deleted file mode 100644
index 558e5131a84..00000000000
--- a/apps/showcase/src/app/showcase/doc/tieredmenu/templatedoc.ts
+++ /dev/null
@@ -1,242 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- TieredMenu offers item customization with the item template that receives the menuitem instance from the model as a parameter.
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file',
- shortcut: '⌘+N'
- },
- {
- label: 'Image',
- icon: 'pi pi-image',
- shortcut: '⌘+I'
- },
- {
- label: 'Video',
- icon: 'pi pi-video',
- shortcut: '⌘+L'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open',
- shortcut: '⌘+O'
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- shortcut: '⌘+P'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy',
- shortcut: '⌘+C'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times',
- shortcut: '⌘+D'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- shortcut: '⌘+S'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack',
- badge: '2'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp',
- badge: '3'
- }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { TieredMenu } from 'primeng/tieredmenu';
-import { BadgeModule } from 'primeng/badge';
-import { CommonModule } from '@angular/common';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'tiered-menu-template-demo',
- templateUrl: './tiered-menu-template-demo.html',
- standalone: true,
- imports: [TieredMenu, BadgeModule, Ripple, CommonModule]
-})
-export class TieredMenuTemplateDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'File',
- icon: 'pi pi-file',
- items: [
- {
- label: 'New',
- icon: 'pi pi-plus',
- items: [
- {
- label: 'Document',
- icon: 'pi pi-file',
- shortcut: '⌘+N'
- },
- {
- label: 'Image',
- icon: 'pi pi-image',
- shortcut: '⌘+I'
- },
- {
- label: 'Video',
- icon: 'pi pi-video',
- shortcut: '⌘+L'
- }
- ]
- },
- {
- label: 'Open',
- icon: 'pi pi-folder-open',
- shortcut: '⌘+O'
- },
- {
- label: 'Print',
- icon: 'pi pi-print',
- shortcut: '⌘+P'
- }
- ]
- },
- {
- label: 'Edit',
- icon: 'pi pi-file-edit',
- items: [
- {
- label: 'Copy',
- icon: 'pi pi-copy',
- shortcut: '⌘+C'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times',
- shortcut: '⌘+D'
- }
- ]
- },
- {
- label: 'Search',
- icon: 'pi pi-search',
- shortcut: '⌘+S'
- },
- {
- separator: true
- },
- {
- label: 'Share',
- icon: 'pi pi-share-alt',
- items: [
- {
- label: 'Slack',
- icon: 'pi pi-slack',
- badge: '2'
- },
- {
- label: 'Whatsapp',
- icon: 'pi pi-whatsapp',
- badge: '3'
- }
- ]
- }
- ]
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/basicdoc.ts b/apps/showcase/src/app/showcase/doc/timeline/basicdoc.ts
deleted file mode 100644
index f5214e055d2..00000000000
--- a/apps/showcase/src/app/showcase/doc/timeline/basicdoc.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Timeline receives the events with the value property as a collection of arbitrary objects. In addition, content template is required to display the representation of an event. Example below is a sample events array that
- is used throughout the documentation.
-
-
-
-
-
- {{ event.status }}
-
-
-
-
- `
-})
-export class BasicDoc {
- events: any[];
-
- constructor() {
- this.events = [
- { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
- { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
- { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
- { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
- ];
- }
-
- code: Code = {
- basic: `
-
- {{ event.status }}
-
- `,
-
- html: `
-
-
- {{ event.status }}
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Timeline } from 'primeng/timeline';
-
-@Component({
- selector: 'timeline-basic-demo',
- templateUrl: './timeline-basic-demo.html',
- standalone: true,
- imports: [Timeline]
-})
-export class TimelineBasicDemo {
- events: any[];
-
- constructor() {
- this.events = [
- { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
- { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
- { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
- { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/horizontaldoc.ts b/apps/showcase/src/app/showcase/doc/timeline/horizontaldoc.ts
deleted file mode 100644
index a57a87e08a8..00000000000
--- a/apps/showcase/src/app/showcase/doc/timeline/horizontaldoc.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'horizontal-doc',
- template: `
-
- TimeLine orientation is controlled with the layout property, default is vertical having horizontal as the alternative.
-
-
-
-
- {{ event }}
-
-
-
-
- {{ event }}
-
-
-
-
- {{ event }}
-
-
-
-
-
- `
-})
-export class HorizontalDoc {
- events: string[];
-
- constructor() {
- this.events = ['2020', '2021', '2022', '2023'];
- }
-
- code: Code = {
- basic: `
-
- {{ event }}
-
-
-
-
-
- {{ event }}
-
-
-
-
-
- {{ event }}
-
-
-
-
- `,
-
- html: `
-
-
- {{ event }}
-
-
-
-
- {{ event }}
-
-
-
-
- {{ event }}
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Timeline } from 'primeng/timeline';
-
-@Component({
- selector: 'timeline-horizontal-demo',
- templateUrl: './timeline-horizontal-demo.html',
- standalone: true,
- imports: [Timeline]
-})
-export class TimelineHorizontalDemo {
- events: string[];
-
- constructor() {
- this.events = [
- "2020", "2021", "2022", "2023"
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/importdoc.ts b/apps/showcase/src/app/showcase/doc/timeline/importdoc.ts
deleted file mode 100644
index 9a21bbc6a7c..00000000000
--- a/apps/showcase/src/app/showcase/doc/timeline/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'timeline-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Timeline } from 'primeng/timeline';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/timeline/templatedoc.ts b/apps/showcase/src/app/showcase/doc/timeline/templatedoc.ts
deleted file mode 100644
index a3a86ea9cbf..00000000000
--- a/apps/showcase/src/app/showcase/doc/timeline/templatedoc.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-interface EventItem {
- status?: string;
- date?: string;
- icon?: string;
- color?: string;
- image?: string;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Sample implementation with custom content and styled markers.
-
-
-
-
-
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
- neque quas!
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- events: EventItem[];
-
- constructor() {
- this.events = [
- { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
- { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
- { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
- { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
- neque quas!
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipisicing elit. Inventore sed consequuntur error repudiandae numquam deserunt quisquam repellat libero asperiores earum nam nobis, culpa ratione quam perferendis esse, cupiditate
- neque quas!
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Timeline } from 'primeng/timeline';
-import { CardModule } from 'primeng/card';
-import { ButtonModule } from 'primeng/button';
-
-interface EventItem {
- status?: string;
- date?: string;
- icon?: string;
- color?: string;
- image?: string;
-}
-
-@Component({
- selector: 'timeline-template-demo',
- templateUrl: './timeline-template-demo.html',
- standalone: true,
- imports: [Timeline, CardModule, ButtonModule]
-})
-export class TimelineTemplateDemo {
- events: EventItem[];
-
- constructor() {
- this.events = [
- { status: 'Ordered', date: '15/10/2020 10:30', icon: 'pi pi-shopping-cart', color: '#9C27B0', image: 'game-controller.jpg' },
- { status: 'Processing', date: '15/10/2020 14:00', icon: 'pi pi-cog', color: '#673AB7' },
- { status: 'Shipped', date: '15/10/2020 16:15', icon: 'pi pi-shopping-cart', color: '#FF9800' },
- { status: 'Delivered', date: '16/10/2020 10:00', icon: 'pi pi-check', color: '#607D8B' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/animationdoc.ts b/apps/showcase/src/app/showcase/doc/toast/animationdoc.ts
deleted file mode 100644
index 9a1b3841754..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/animationdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'animation-doc',
- template: `
-
- Transition of the animations can be customized using the showTransitionOptions , hideTransitionOptions , showTransformOptions and hideTransformOptions properties.
-
-
-
- `,
- providers: [MessageService]
-})
-export class AnimationDoc {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-
- code: Code = {
- basic: `
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { RippleModule } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-animation-demo',
- templateUrl: './toast-animation-demo.html',
- standalone: true,
- imports: [ToastModule, ButtonModule, RippleModule],
- providers: [MessageService]
-})
-export class ToastAnimationDemo {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/basicdoc.ts b/apps/showcase/src/app/showcase/doc/toast/basicdoc.ts
deleted file mode 100644
index 05fd452d1a0..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/basicdoc.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Toasts are displayed by calling the add and addAll method provided by the messageService . A single toast is specified by the Message interface that defines various properties such as severity ,
- summary and detail .
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class BasicDoc {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content', life: 3000 });
- }
-
- code: Code = {
- basic: `
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-basic-demo',
- templateUrl: './toast-basic-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple],
- providers: [MessageService]
-})
-export class ToastBasicDemo {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content', life: 3000 });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/headlessdoc.ts b/apps/showcase/src/app/showcase/doc/toast/headlessdoc.ts
deleted file mode 100644
index e57e1722441..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/headlessdoc.ts
+++ /dev/null
@@ -1,202 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'headless-doc',
- template: `
-
- Headless mode allows you to customize the entire user interface instead of the default elements.
-
-
-
-
-
-
-
- {{ message.summary }}
-
-
-
-
{{ progress }}% uploaded
-
-
-
-
-
-
-
-
- `,
- styles: [
- `
- :host ::ng-deep {
- .p-progressbar-value {
- --tw-bg-opacity: 1 !important;
- background-color: color-mix(in srgb, var(--p-primary-50) calc(100% * var(--tw-bg-opacity)), transparent) !important;
- }
- }
- `
- ],
- providers: [MessageService]
-})
-export class HeadlessDoc {
- visible: boolean = false;
-
- progress: number = 0;
-
- interval = null;
-
- constructor(
- private messageService: MessageService,
- private cdr: ChangeDetectorRef
- ) {}
-
- showConfirm() {
- if (!this.visible) {
- this.messageService.add({
- key: 'confirm',
- sticky: true,
- severity: 'custom',
- summary: 'Uploading your files.',
- styleClass: 'backdrop-blur-lg rounded-2xl'
- });
- this.visible = true;
- this.progress = 0;
-
- if (this.interval) {
- clearInterval(this.interval);
- }
-
- this.interval = setInterval(() => {
- if (this.progress <= 100) {
- this.progress = this.progress + 20;
- }
-
- if (this.progress >= 100) {
- this.progress = 100;
- clearInterval(this.interval);
- }
- this.cdr.markForCheck();
- }, 1000);
- }
- }
-
- onClose() {
- this.visible = false;
- }
-
- code: Code = {
- basic: `
-
-
-
-
- {{ message.summary }}
-
-
-
-
{{ progress }}% uploaded
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
- {{ message.summary }}
-
-
-
-
{{ progress }}% uploaded
-
-
-
-
-
-
-
`,
- typescript: `import { ChangeDetectorRef, Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-import { ProgressBar } from 'primeng/progressbar';
-
-@Component({
- selector: 'toast-headless-demo',
- templateUrl: './toast-headless-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple, ProgressBar],
- providers: [MessageService]
-})
-export class ToastHeadlessDemo {
-
- visible: boolean = false;
-
- progress: number = 0;
-
- interval = null;
-
- constructor(private messageService: MessageService, private cdr: ChangeDetectorRef) {}
-
- showConfirm() {
- if (!this.visible) {
- this.messageService.add({
- key: 'confirm',
- sticky: true,
- severity: 'custom',
- summary: 'Uploading your files.',
- styleClass: 'backdrop-blur-lg rounded-2xl',
- });
- this.visible = true;
- this.progress = 0;
-
- if (this.interval) {
- clearInterval(this.interval);
- }
-
- this.interval = setInterval(() => {
- if (this.progress <= 100) {
- this.progress = this.progress + 20;
- }
-
- if (this.progress >= 100) {
- this.progress = 100;
- clearInterval(this.interval);
- }
- this.cdr.markForCheck();
- }, 1000);
- }
- }
-
- onClose() {
- this.visible = false;
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/importdoc.ts b/apps/showcase/src/app/showcase/doc/toast/importdoc.ts
deleted file mode 100644
index 040fad612ee..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toast-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Toast } from 'primeng/toast';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/lifedoc.ts b/apps/showcase/src/app/showcase/doc/toast/lifedoc.ts
deleted file mode 100644
index 5d0ba25f1a5..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/lifedoc.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'life-doc',
- template: `
-
- A toast disappears after 3000ms by default, set the life option on either the message or toast to override this.
-
-
-
- `,
- providers: [MessageService]
-})
-export class LifeDoc {
- constructor(private messageService: MessageService) {}
-
- showLife() {
- this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 10000ms' });
- }
-
- showLifeLong() {
- this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 20000ms', life: 20000 });
- }
-
- code: Code = {
- basic: `
-
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-life-demo',
- templateUrl: './toast-life-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple],
- providers: [MessageService]
-})
-export class ToastLifeDemo {
- constructor(private messageService: MessageService) {}
-
- showLifeDefault() {
- this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 10000ms' });
- }
-
- showLifeLong() {
- this.messageService.add({ severity: 'info', summary: 'Life', detail: 'I show for 20000ms', life: 20000 });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/multipledoc.ts b/apps/showcase/src/app/showcase/doc/toast/multipledoc.ts
deleted file mode 100644
index c4d26219679..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/multipledoc.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toast-multiple-demo',
- template: `
-
- Multiple toasts are displayed by passing an array to the showAll method of the messageService .
-
-
-
- `,
- providers: [MessageService]
-})
-export class MultipleDoc {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.addAll([
- { severity: 'success', summary: 'Message 1', detail: 'Message Content' },
- { severity: 'info', summary: 'Message 2', detail: 'Message Content' },
- { severity: 'warn', summary: 'Message 3', detail: 'Message Content' },
- { severity: 'error', summary: 'Message 4', detail: 'Message Content' }
- ]);
- }
-
- code: Code = {
- basic: `
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { RippleModule } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-multiple-demo',
- templateUrl: './toast-multiple-demo.html',
- standalone: true,
- imports: [ToastModule, ButtonModule, RippleModule],
- providers: [MessageService]
-})
-export class ToastMultipleDemo {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.addAll([
- { severity: 'success', summary: 'Message 1', detail: 'Message Content' },
- { severity: 'info', summary: 'Message 2', detail: 'Message Content' },
- { severity: 'warn', summary: 'Message 3', detail: 'Message Content' },
- { severity: 'error', summary: 'Message 4', detail: 'Message Content' }
- ]);
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/positiondoc.ts b/apps/showcase/src/app/showcase/doc/toast/positiondoc.ts
deleted file mode 100644
index 9e95446a17e..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/positiondoc.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'position-doc',
- template: `
-
- Location of the toast is customized with the position property. Valid values are top-left , top-center , top-right , bottom-left , bottom-center , bottom-right and center .
-
-
-
- `,
- providers: [MessageService]
-})
-export class PositionDoc {
- constructor(private messageService: MessageService) {}
-
- showTopLeft() {
- this.messageService.add({
- severity: 'info',
- summary: 'Info Message',
- detail: 'Message Content',
- key: 'tl',
- life: 3000
- });
- }
-
- showBottomLeft() {
- this.messageService.add({
- severity: 'warn',
- summary: 'Warn Message',
- detail: 'Message Content',
- key: 'bl',
- life: 3000
- });
- }
-
- showBottomRight() {
- this.messageService.add({
- severity: 'success',
- summary: 'Success Message',
- detail: 'Message Content',
- key: 'br',
- life: 3000
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { ToastModule } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { RippleModule } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-position-demo',
- templateUrl: './toast-position-demo.html',
- standalone: true,
- imports: [ToastModule, ButtonModule, RippleModule],
- providers: [MessageService]
-})
-export class ToastPositionDemo {
- constructor(private messageService: MessageService) {}
-
- showTopLeft() {
- this.messageService.add({ severity: 'info', summary: 'Info Message', detail: 'Message Content', key: 'tl', life: 3000 });
- }
-
- showBottomLeft() {
- this.messageService.add({ severity: 'warn', summary: 'Warn Message', detail: 'Message Content', key: 'bl', life: 3000 });
- }
-
- showBottomRight() {
- this.messageService.add({ severity: 'success', summary: 'Success Message', detail: 'Message Content', key: 'br', life: 3000 });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/responsivedoc.ts b/apps/showcase/src/app/showcase/doc/toast/responsivedoc.ts
deleted file mode 100644
index c2755dc2cdd..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/responsivedoc.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'responsive-doc',
- template: `
-
-
- Toast styling can be adjusted per screen size with the breakpoints option. The value of breakpoints
- should be an object literal whose keys are the maximum screen sizes and values are the styles per screen. In example below, width of the toast messages cover the whole page on screens whose widths is smaller than 921px.
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class ResponsiveDoc {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-
- code: Code = {
- basic: `
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-responsive-demo',
- templateUrl: './toast-responsive-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple],
- providers: [MessageService]
-})
-export class ToastResponsiveDemo {
- constructor(private messageService: MessageService) {}
-
- show() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/severitydoc.ts b/apps/showcase/src/app/showcase/doc/toast/severitydoc.ts
deleted file mode 100644
index 1e643be5187..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/severitydoc.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'severity-doc',
- template: `
-
-
- The severity option specifies the type of the message. There are four types of messages: success , info , warn and error . The severity of the message is used to display the icon and the color of the
- toast.
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class SeverityDoc {
- constructor(private messageService: MessageService) {}
-
- showSuccess() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-
- showInfo() {
- this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content' });
- }
-
- showWarn() {
- this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Message Content' });
- }
-
- showError() {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'Message Content' });
- }
-
- showContrast() {
- this.messageService.add({ severity: 'contrast', summary: 'Contrast', detail: 'Message Content' });
- }
-
- showSecondary() {
- this.messageService.add({ severity: 'secondary', summary: 'Secondary', detail: 'Message Content' });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-severity-demo',
- templateUrl: './toast-severity-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple],
- providers: [MessageService]
-})
-export class ToastSeverityDemo {
- constructor(private messageService: MessageService) {}
-
- showSuccess() {
- this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Message Content' });
- }
-
- showInfo() {
- this.messageService.add({ severity: 'info', summary: 'Info', detail: 'Message Content' });
- }
-
- showWarn() {
- this.messageService.add({ severity: 'warn', summary: 'Warn', detail: 'Message Content' });
- }
-
- showError() {
- this.messageService.add({ severity: 'error', summary: 'Error', detail: 'Message Content' });
- }
-
- showContrast() {
- this.messageService.add({ severity: 'contrast', summary: 'Error', detail: 'Message Content' });
- }
-
- showSecondary() {
- this.messageService.add({ severity: 'secondary', summary: 'Secondary', detail: 'Message Content' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/targetdoc.ts b/apps/showcase/src/app/showcase/doc/toast/targetdoc.ts
deleted file mode 100644
index 1ebdf12715b..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/targetdoc.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'target-doc',
- template: `
-
-
- A page may have multiple toast components, in case you'd like to target a specific message to a particular toast, use the
- key property so that toast and the message can match.
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class TargetDoc {
- constructor(private messageService: MessageService) {}
-
- showToast1() {
- this.messageService.clear();
- this.messageService.add({ key: 'toast1', severity: 'success', summary: 'Success', detail: 'key: toast1' });
- }
-
- showToast2() {
- this.messageService.clear();
- this.messageService.add({ key: 'toast2', severity: 'warn', summary: 'Warning', detail: 'key: toast2' });
- }
-
- code: Code = {
- basic: `
-
-
- `,
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-
-@Component({
- selector: 'toast-target-demo',
- templateUrl: './toast-target-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple],
- providers: [MessageService]
-})
-export class ToastTargetDemo {
- constructor(private messageService: MessageService) {}
-
- showToast1() {
- this.messageService.clear();
- this.messageService.add({ key: 'toast1', severity: 'success', summary: 'Success', detail: 'key: toast1' });
- }
-
- showToast2() {
- this.messageService.clear();
- this.messageService.add({ key: 'toast2', severity: 'warn', summary: 'Warning', detail: 'key: toast2' });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toast/templatedoc.ts b/apps/showcase/src/app/showcase/doc/toast/templatedoc.ts
deleted file mode 100644
index 28e1a2d93f0..00000000000
--- a/apps/showcase/src/app/showcase/doc/toast/templatedoc.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Templating allows customizing the content where the message instance is available as the implicit variable.
-
-
-
-
-
-
-
{{ message.summary }}
-
-
-
-
-
-
-
- `,
- providers: [MessageService]
-})
-export class TemplateDoc {
- constructor(private messageService: MessageService) {}
-
- visible: boolean = false;
-
- code: Code = {
- basic: `
-
-
-
-
- {{ message.summary }}
-
-
-
-
-
- `,
- html: `
-
-
-
-
-
- {{ message.summary }}
-
-
-
-
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { Toast } from 'primeng/toast';
-import { ButtonModule } from 'primeng/button';
-import { Ripple } from 'primeng/ripple';
-import { AvatarModule } from 'primeng/avatar';
-
-@Component({
- selector: 'toast-template-demo',
- templateUrl: './toast-template-demo.html',
- standalone: true,
- imports: [Toast, ButtonModule, Ripple, AvatarModule],
- providers: [MessageService]
-})
-export class ToastTemplateDemo {
- constructor(private messageService: MessageService) {}
-
- visible: boolean = false;
-
- showConfirm() {
- if (!this.visible) {
- this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?' });
- this.visible = true;
- }
- }
-
- onConfirm() {
- this.messageService.clear('confirm');
- this.visible = false;
- }
-
- onReject() {
- this.messageService.clear('confirm');
- this.visible = false;
- }
-}`
- };
-
- onConfirm() {
- this.messageService.clear('confirm');
- this.visible = false;
- }
-
- onReject() {
- this.messageService.clear('confirm');
- this.visible = false;
- }
-
- showConfirm() {
- if (!this.visible) {
- this.messageService.add({
- key: 'confirm',
- sticky: true,
- severity: 'success',
- summary: 'Can you send me the report?'
- });
- this.visible = true;
- }
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/accessibilitydoc.ts
deleted file mode 100644
index 0c347d3913a..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/accessibilitydoc.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toggle-button-accessibility-doc',
- template: `
-
- Screen Reader
-
- ToggleButton component uses an element with button role and updates aria-pressed state for screen readers. Value to describe the component can be defined with ariaLabelledBy or ariaLabel props, it is highly
- suggested to use either of these props as the component changes the label displayed which will result in screen readers to read different labels when the component receives focus. To prevent this, always provide an aria label that
- does not change related to state.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the button.
-
-
-
- space
-
- Toggles the checked state.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Remember Me
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/basicdoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/basicdoc.ts
deleted file mode 100644
index 60d47191594..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way binding to a boolean property is defined using the standard ngModel directive.
-
-
-
- `
-})
-export class BasicDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ToggleButton } from 'primeng/togglebutton';
-
-@Component({
- selector: 'toggle-button-basic-demo',
- templateUrl: './toggle-button-basic-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleButton]
-})
-export class ToggleButtonBasicDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/disableddoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/disableddoc.ts
deleted file mode 100644
index 69b3157666d..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ToggleButton } from 'primeng/togglebutton';
-
-@Component({
- selector: 'toggle-button-disabled-demo',
- templateUrl: './toggle-button-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleButton]
-})
-export class ToggleButtonDisabledDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/importdoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/importdoc.ts
deleted file mode 100644
index 6a4ee869e57..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toggle-button-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ToggleButton } from 'primeng/togglebutton';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/invaliddoc.ts
deleted file mode 100644
index 1d17383e40b..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ToggleButtonModule } from 'primeng/togglebutton';
-
-@Component({
- selector: 'toggle-button-invalid-demo',
- templateUrl: './toggle-button-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleButtonModule]
-})
-export class ToggleButtonInvalidDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/reactiveformsdoc.ts
deleted file mode 100644
index 0614d2a32cd..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/reactiveformsdoc.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- ToggleButton can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- checked: new FormControl(false)
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { ToggleButton } from 'primeng/togglebutton';
-
-@Component({
- selector: 'toggle-button-reactive-forms-demo',
- templateUrl: './toggle-button-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, ToggleButton]
-})
-export class ToggleButtonReactiveFormsDemo implements OnInit {
- formGroup!: FormGroup;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- checked: new FormControl(false)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/togglebutton/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/togglebutton/sizesdoc.ts
deleted file mode 100644
index 8797e57c988..00000000000
--- a/apps/showcase/src/app/showcase/doc/togglebutton/sizesdoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- ToggleButton provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- value1: boolean = false;
-
- value2: boolean = false;
-
- value3: boolean = false;
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { FormsModule } from '@angular/forms';
-import { ToggleButton } from 'primeng/togglebutton';
-
-@Component({
- selector: 'toggle-button-sizes-demo',
- templateUrl: './toggle-button-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleButton]
-})
-export class ToggleButtonSizesDemo {
- value1: boolean = false;
-
- value2: boolean = false;
-
- value3: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/accessibilitydoc.ts
deleted file mode 100644
index b4da9b09ba3..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/accessibilitydoc.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toggle-switch-accessibility-doc',
- template: `
-
- Screen Reader
-
- InputSwitch component uses a hidden native checkbox element with switch role internally that is only visible to screen readers. Value to describe the component can either be provided via label tag combined with
- inputId prop or using ariaLabelledBy , ariaLabel props.
-
-
-
-
-
-
Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the switch.
-
-
-
- space
-
- Toggles the checked state.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Remember Me
-
-
-Remember Me
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/basicdoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/basicdoc.ts
deleted file mode 100644
index eb7ad4dda1f..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/basicdoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Two-way value binding is defined using ngModel .
-
-
-
- `
-})
-export class BasicDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ToggleSwitch } from 'primeng/toggleswitch';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'toggle-switch-basic-demo',
- templateUrl: './toggle-switch-basic-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleSwitch]
-})
-export class ToggleSwitchBasicDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/disableddoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/disableddoc.ts
deleted file mode 100644
index 85da8e63823..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/disableddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ToggleSwitch } from 'primeng/toggleswitch';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'toggle-switch-disabled-demo',
- templateUrl: './toggle-switch-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleSwitch]
-})
-export class ToggleSwitchDisabledDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/importdoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/importdoc.ts
deleted file mode 100644
index a7cad51c278..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toggle-switch-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { ToggleSwitch } from 'primeng/toggleswitch';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/invaliddoc.ts
deleted file mode 100644
index 0df3caa165a..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/invaliddoc.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- checked: boolean = false;
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { ToggleSwitch } from 'primeng/toggleswitch';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'toggle-switch-invalid-demo',
- templateUrl: './toggle-switch-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, ToggleSwitch]
-})
-export class ToggleSwitchInvalidDemo {
- checked: boolean = false;
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toggleswitch/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/toggleswitch/reactiveformsdoc.ts
deleted file mode 100644
index 0d715b8c486..00000000000
--- a/apps/showcase/src/app/showcase/doc/toggleswitch/reactiveformsdoc.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- ToggleSwitch can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- checked: new FormControl(false)
- });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { ToggleSwitch } from 'primeng/toggleswitch';
-
-@Component({
- selector: 'toggle-switch-reactive-forms-demo',
- templateUrl: './toggle-switch-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, ToggleSwitch]
-})
-export class ToggleSwitchReactiveFormsDemo implements OnInit {
- formGroup: FormGroup | undefined;
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- checked: new FormControl(false)
- });
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/toolbar/accessibilitydoc.ts
deleted file mode 100644
index 00f9125a45d..00000000000
--- a/apps/showcase/src/app/showcase/doc/toolbar/accessibilitydoc.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toolbar-accessibility-doc',
- template: `
-
- Screen Reader
-
- Toolbar uses toolbar role for the root element, aria-orientation is not included as it defaults to horizontal . Any valid attribute is passed to the root element so you may add additional properties like
- aria-labelledby and aria-labelled to define the element if required.
-
-
- Keyboard Support
- Component does not include any interactive elements. Arbitrary content can be placed with templating and elements like buttons inside should follow the page tab sequence.
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- html: `
- Content
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/basicdoc.ts b/apps/showcase/src/app/showcase/doc/toolbar/basicdoc.ts
deleted file mode 100644
index 582b573e1aa..00000000000
--- a/apps/showcase/src/app/showcase/doc/toolbar/basicdoc.ts
+++ /dev/null
@@ -1,120 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
-
- Toolbar is a grouping component for buttons and other content. Its content can be placed inside the
- start , center and end sections.
-
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Update',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem } from 'primeng/api';
-import { Toolbar } from 'primeng/toolbar';
-import { ButtonModule } from 'primeng/button';
-import { SplitButton } from 'primeng/splitbutton';
-import { InputTextModule } from 'primeng/inputtext';
-import { IconField } from 'primeng/iconfield';
-import { InputIcon } from 'primeng/inputicon';
-
-@Component({
- selector: 'toolbar-basic-demo',
- templateUrl: './toolbar-basic-demo.html',
- standalone: true,
- imports: [Toolbar, ButtonModule, SplitButton, InputTextModule, IconField, InputIcon]
-})
-export class ToolbarBasicDemo implements OnInit {
- items: MenuItem[] | undefined;
-
- ngOnInit() {
- this.items = [
- {
- label: 'Update',
- icon: 'pi pi-refresh'
- },
- {
- label: 'Delete',
- icon: 'pi pi-times'
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/customdoc.ts b/apps/showcase/src/app/showcase/doc/toolbar/customdoc.ts
deleted file mode 100644
index c5ef54bf2c0..00000000000
--- a/apps/showcase/src/app/showcase/doc/toolbar/customdoc.ts
+++ /dev/null
@@ -1,179 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'custom-doc',
- template: `
-
- Content can also be placed using the start , center and end templates.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `
-})
-export class CustomDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Toolbar } from 'primeng/toolbar';
-import { AvatarModule } from 'primeng/avatar';
-import { SharedModule } from 'primeng/api';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'toolbar-custom-demo',
- templateUrl: './toolbar-custom-demo.html',
- standalone: true,
- imports: [Toolbar, AvatarModule, ButtonModule]
-})
-export class ToolbarCustomDemo {
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/toolbar/importdoc.ts b/apps/showcase/src/app/showcase/doc/toolbar/importdoc.ts
deleted file mode 100644
index fbcb400d6a8..00000000000
--- a/apps/showcase/src/app/showcase/doc/toolbar/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'toolbar-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Toolbar } from 'primeng/toolbar';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/customdoc.ts b/apps/showcase/src/app/showcase/doc/tooltip/customdoc.ts
deleted file mode 100644
index a87456981eb..00000000000
--- a/apps/showcase/src/app/showcase/doc/tooltip/customdoc.ts
+++ /dev/null
@@ -1,149 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'custom-doc',
- template: `
-
- Tooltip can use either a string or a TemplateRef .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PrimeNG rocks!
-
-
-
-
- `
-})
-export class CustomDoc {
- code: Code = {
- basic: `
-
-
-
-
-
-
-
PrimeNG rocks!
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
PrimeNG rocks!
-
-
-
`,
- typescript: `import { Component } from '@angular/core';
-import { Tooltip } from 'primeng/tooltip';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tooltip-custom-demo',
- templateUrl: './tooltip-custom-demo.html',
- standalone: true,
- imports: [Tooltip, ButtonModule]
-})
-export class TooltipCustomDemo {
-
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/delaydoc.ts b/apps/showcase/src/app/showcase/doc/tooltip/delaydoc.ts
deleted file mode 100644
index c79b21f8d18..00000000000
--- a/apps/showcase/src/app/showcase/doc/tooltip/delaydoc.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'delay-doc',
- template: `
-
- Adding delays to the show and hide events are defined with showDelay and hideDelay options respectively.
-
-
-
- `
-})
-export class DelayDoc {
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { Tooltip } from 'primeng/tooltip';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tooltip-delay-demo',
- templateUrl: './tooltip-delay-demo.html',
- standalone: true,
- imports: [Tooltip, ButtonModule]
-})
-export class TooltipDelayDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/eventdoc.ts b/apps/showcase/src/app/showcase/doc/tooltip/eventdoc.ts
deleted file mode 100644
index 9c29883bd81..00000000000
--- a/apps/showcase/src/app/showcase/doc/tooltip/eventdoc.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'event-doc',
- template: `
-
- Tooltip gets displayed on hover event of its target by default, other option is the focus event to display and blur to hide.
-
-
-
-
-
- `
-})
-export class EventDoc {
- code: Code = {
- basic: ` `,
-
- html: `
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Tooltip } from 'primeng/tooltip';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'tooltip-event-demo',
- templateUrl: './tooltip-event-demo.html',
- standalone: true,
- imports: [Tooltip, InputTextModule]
-})
-export class TooltipEventDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/importdoc.ts b/apps/showcase/src/app/showcase/doc/tooltip/importdoc.ts
deleted file mode 100644
index a78e8ab8c1a..00000000000
--- a/apps/showcase/src/app/showcase/doc/tooltip/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tooltip-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Tooltip } from 'primeng/tooltip';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tooltip/positiondoc.ts b/apps/showcase/src/app/showcase/doc/tooltip/positiondoc.ts
deleted file mode 100644
index b5a78e25a71..00000000000
--- a/apps/showcase/src/app/showcase/doc/tooltip/positiondoc.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'position-doc',
- template: `
-
- Position of the tooltip is specified using tooltipPosition attribute. Valid values are top , bottom , right and left . Default position of the tooltip is right .
-
-
-
-
-
-
-
-
- `
-})
-export class PositionDoc {
- code: Code = {
- basic: `
-
-
- `,
-
- html: `
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { Tooltip } from 'primeng/tooltip';
-import { InputTextModule } from 'primeng/inputtext';
-
-@Component({
- selector: 'tooltip-position-demo',
- templateUrl: './tooltip-position-demo.html',
- standalone: true,
- imports: [Tooltip, InputTextModule]
-})
-export class TooltipPositionDemo {}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/basicdoc.ts b/apps/showcase/src/app/showcase/doc/tree/basicdoc.ts
deleted file mode 100644
index 83a9cad92a7..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/basicdoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- Tree component requires an array of TreeNode objects as its value .
-
-
-
- `
-})
-export class BasicDoc implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-basic-demo',
- templateUrl: './tree-basic-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [NodeService]
-})
-export class TreeBasicDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-}`,
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/checkboxdoc.ts b/apps/showcase/src/app/showcase/doc/tree/checkboxdoc.ts
deleted file mode 100644
index dca63f58f98..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/checkboxdoc.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'checkbox-doc',
- template: `
-
- Selection of multiple nodes via checkboxes is enabled by configuring selectionMode as checkbox .
-
-
-
- `
-})
-export class CheckboxDoc implements OnInit {
- files!: TreeNode[];
-
- selectedFiles!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-checkbox-demo',
- templateUrl: './tree-checkbox-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [NodeService]
-})
-export class TreeCheckboxDemo implements OnInit {
- files!: TreeNode[];
-
- selectedFiles!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/contextmenudoc.ts b/apps/showcase/src/app/showcase/doc/tree/contextmenudoc.ts
deleted file mode 100644
index fc7de875b44..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/contextmenudoc.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'context-menu-doc',
- template: `
-
- Tree requires a collection of TreeNode instances as a value.
-
-
-
- `,
- providers: [MessageService]
-})
-export class ContextMenuDoc implements OnInit {
- files!: TreeNode[];
-
- selectedFile!: TreeNode | null;
-
- items!: MenuItem[];
-
- constructor(
- private nodeService: NodeService,
- private messageService: MessageService
- ) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((files) => (this.files = files));
-
- this.items = [
- { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedFile) },
- { label: 'Unselect', icon: 'pi pi-times', command: (event) => this.unselectFile() }
- ];
- }
-
- viewFile(file: TreeNode) {
- this.messageService.add({ severity: 'info', summary: 'Node Details', detail: file.label });
- }
-
- unselectFile() {
- this.selectedFile = null;
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService, TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-import { ContextMenuModule } from 'primeng/contextmenu';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'tree-context-menu-demo',
- templateUrl: './tree-context-menu-demo.html',
- standalone: true,
- imports: [Tree, ContextMenuModule, ToastModule],
- providers: [MessageService, NodeService]
-})
-export class TreeContextMenuDemo implements OnInit {
- files!: TreeNode[];
-
- selectedFile!: TreeNode | null;
-
- items!: MenuItem[];
-
- constructor(private nodeService: NodeService, private messageService: MessageService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((files) => (this.files = files));
-
- this.items = [
- { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedFile) },
- { label: 'Unselect', icon: 'pi pi-times', command: (event) => this.unselectFile() }
- ];
- }
-
- viewFile(file: TreeNode) {
- this.messageService.add({ severity: 'info', summary: 'Node Details', detail: file.label });
- }
-
- unselectFile() {
- this.selectedFile = null;
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/tree/controlleddoc.ts
deleted file mode 100644
index 7b1cf72d044..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/controlleddoc.ts
+++ /dev/null
@@ -1,141 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'controlled-doc',
- template: `
-
- Tree requires a collection of TreeNode instances as a value .
-
-
-
- `
-})
-export class ControlledDoc implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- expandAll() {
- this.files.forEach((node) => {
- this.expandRecursive(node, true);
- });
- }
-
- collapseAll() {
- this.files.forEach((node) => {
- this.expandRecursive(node, false);
- });
- }
-
- private expandRecursive(node: TreeNode, isExpand: boolean) {
- node.expanded = isExpand;
- if (node.children) {
- node.children.forEach((childNode) => {
- this.expandRecursive(childNode, isExpand);
- });
- }
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tree-controlled-demo',
- templateUrl: './tree-controlled-demo.html',
- standalone: true,
- imports: [Tree, ButtonModule],
- providers: [NodeService]
-})
-export class TreeControlledDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- expandAll() {
- this.files.forEach((node) => {
- this.expandRecursive(node, true);
- });
- }
-
- collapseAll() {
- this.files.forEach((node) => {
- this.expandRecursive(node, false);
- });
- }
-
- private expandRecursive(node: TreeNode, isExpand: boolean) {
- node.expanded = isExpand;
- if (node.children) {
- node.children.forEach((childNode) => {
- this.expandRecursive(childNode, isExpand);
- });
- }
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/dragdropdoc.ts b/apps/showcase/src/app/showcase/doc/tree/dragdropdoc.ts
deleted file mode 100644
index 0fd399e9814..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/dragdropdoc.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeDragDropService, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'drag-drop-doc',
- template: `
-
- Nodes can be reordered within the same tree and also can be transferred between other trees using drag&drop.
-
-
-
- `,
- providers: [TreeDragDropService]
-})
-export class DragDropDoc implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeDragDropService, TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-drag-drop-demo',
- templateUrl: './tree-drag-drop-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [TreeDragDropService, NodeService]
-})
-export class TreeDragDropDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/eventdoc.ts b/apps/showcase/src/app/showcase/doc/tree/eventdoc.ts
deleted file mode 100644
index 34918700fd2..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/eventdoc.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { MessageService, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'event-doc',
- template: `
-
- An event is provided for each type of user interaction such as expand, collapse and selection.
-
-
-
- `,
- providers: [MessageService]
-})
-export class EventDoc implements OnInit {
- files!: TreeNode[];
-
- selectedFile!: TreeNode;
-
- constructor(
- private nodeService: NodeService,
- private messageService: MessageService
- ) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- nodeExpand(event: any) {
- this.messageService.add({ severity: 'success', summary: 'Node Expanded', detail: event.node.label });
- }
-
- nodeCollapse(event: any) {
- this.messageService.add({ severity: 'warn', summary: 'Node Collapsed', detail: event.node.label });
- }
-
- nodeSelect(event: any) {
- this.messageService.add({ severity: 'info', summary: 'Node Selected', detail: event.node.label });
- }
-
- nodeUnselect(event: any) {
- this.messageService.add({ severity: 'info', summary: 'Node Unselected', detail: event.node.label });
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MessageService, TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-import { ToastModule } from 'primeng/toast';
-
-@Component({
- selector: 'tree-events-demo',
- templateUrl: './tree-events-demo.html',
- standalone: true,
- imports: [Tree, ToastModule],
- providers: [MessageService, NodeService]
-})
-export class TreeEventsDemo implements OnInit {
- files!: TreeNode[];
-
- selectedFile!: TreeNode;
-
- constructor(private nodeService: NodeService, private messageService: MessageService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- nodeExpand(event: any) {
- this.messageService.add({ severity: 'success', summary: 'Node Expanded', detail: event.node.label });
- }
-
- nodeCollapse(event: any) {
- this.messageService.add({ severity: 'warn', summary: 'Node Collapsed', detail: event.node.label });
- }
-
- nodeSelect(event: any) {
- this.messageService.add({ severity: 'info', summary: 'Node Selected', detail: event.node.label });
- }
-
- nodeUnselect(event: any) {
- this.messageService.add({ severity: 'info', summary: 'Node Unselected', detail: event.node.label });
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/filterdoc.ts b/apps/showcase/src/app/showcase/doc/tree/filterdoc.ts
deleted file mode 100644
index d73cec6830c..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/filterdoc.ts
+++ /dev/null
@@ -1,112 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'filter-doc',
- template: `
-
-
- Filtering is enabled by adding the filter property, by default label property of a node is used to compare against the value in the text field, in order to customize which field(s) should be used during search define
- filterBy property. In addition filterMode specifies the filtering strategy. In lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included.
- On the other hand, in strict mode when the query matches a node, filtering continues on all descendants.
-
-
-
-
- `
-})
-export class FilterDoc implements OnInit {
- files: TreeNode[];
-
- files2: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => {
- this.files = data;
- this.files2 = data;
- });
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-filter-demo',
- templateUrl: './tree-filter-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [NodeService]
-})
-export class TreeFilterDemo implements OnInit {
- files: TreeNode[];
-
- files2: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => {
- this.files = data;
- this.files2 = data;
- });
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/importdoc.ts b/apps/showcase/src/app/showcase/doc/tree/importdoc.ts
deleted file mode 100644
index 52aaf77a787..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tree-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { Tree } from 'primeng/tree';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/lazydoc.ts b/apps/showcase/src/app/showcase/doc/tree/lazydoc.ts
deleted file mode 100644
index 70389b72975..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/lazydoc.ts
+++ /dev/null
@@ -1,278 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'lazy-demo',
- template: `
-
-
- Lazy loading is useful when dealing with huge datasets, in this example nodes are dynamically loaded on demand using
- loading property and onNodeExpand method. Default value of loadingMode is mask and also icon is available.
-
-
-
-
- `
-})
-export class LazyDoc implements OnInit {
- loading: boolean = false;
-
- nodes!: TreeNode[];
-
- nodes2!: TreeNode[];
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.loading = true;
- this.nodes2 = this.initiateNodes2();
-
- setTimeout(() => {
- this.nodes = this.initiateNodes();
- this.loading = false;
- this.nodes2.map((node) => (node.loading = false));
- this.cd.markForCheck();
- }, 2000);
- }
-
- initiateNodes(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false
- }
- ];
- }
-
- initiateNodes2(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false,
- loading: true
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false,
- loading: true
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false,
- loading: true
- }
- ];
- }
-
- onNodeExpand(event: any) {
- if (!event.node.children) {
- this.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 3; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- this.nodes[parseInt(event.node.key, 10)] = _node;
-
- this.loading = false;
- this.cd.markForCheck();
- }, 500);
- }
- }
-
- onNodeExpand2(event: any) {
- if (!event.node.children) {
- event.node.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 3; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- const key = parseInt(_node.key, 10);
- this.nodes2[key] = { ..._node, loading: false };
- this.cd.markForCheck();
- }, 500);
- }
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-lazy-demo',
- templateUrl: './tree-lazy-demo.html',
- standalone: true,
- imports: [Tree]
-})
-export class TreeLazyDemo implements OnInit {
- loading: boolean = false;
-
- nodes!: TreeNode[];
-
- nodes2!: TreeNode[];
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.loading = true;
- this.nodes2 = this.initiateNodes2();
-
- setTimeout(() => {
- this.nodes = this.initiateNodes();
- this.loading = false;
- this.nodes2.map((node) => (node.loading = false));
- this.cd.markForCheck();
- }, 2000);
- }
-
- initiateNodes(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false
- }
- ];
- }
-
- initiateNodes2(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false,
- loading: true
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false,
- loading: true
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false,
- loading: true
- }
- ];
- }
-
- onNodeExpand(event: any) {
- if (!event.node.children) {
- this.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 3; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- this.nodes[parseInt(event.node.key, 10)] = _node;
-
- this.loading = false;
- this.cd.markForCheck();
- }, 500);
- }
- }
-
- onNodeExpand2(event: any) {
- if (!event.node.children) {
- event.node.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 3; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- const key = parseInt(_node.key, 10);
- this.nodes2[key] = { ..._node, loading: false };
- this.cd.markForCheck();
- }, 500);
- }
- }
-}`,
-
- data: `{
- key: '0',
- label: 'Node 0',
- leaf: false
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/multipledoc.ts b/apps/showcase/src/app/showcase/doc/tree/multipledoc.ts
deleted file mode 100644
index 48c5c70cb52..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/multipledoc.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
-
- More than one node is selectable by setting selectionMode to multiple . By default in multiple selection mode, metaKey press (e.g. ⌘ ) is necessary to add to existing selections however this can be configured with
- disabling the metaKeySelection property. Note that in touch enabled devices, Tree always ignores metaKey.
-
- In multiple selection mode, value binding should be a key-value pair where key is the node key and value is a boolean to indicate selection.
-
-
-
- `
-})
-export class MultipleDoc implements OnInit {
- metaKeySelection: boolean = false;
-
- files!: TreeNode[];
-
- selectedFiles!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-
- code: Code = {
- basic: `
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-import { ToggleSwitchModule } from 'primeng/toggleswitch';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'tree-multiple-demo',
- templateUrl: './tree-multiple-demo.html',
- standalone: true,
- imports: [Tree, InputSwitchModule, ToggleSwitchModule],
- providers: [NodeService]
-})
-export class TreeMultipleDemo implements OnInit {
- metaKeySelection: boolean = false;
-
- files!: TreeNode[];
-
- selectedFiles!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => (this.files = data));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/templatedoc.ts b/apps/showcase/src/app/showcase/doc/tree/templatedoc.ts
deleted file mode 100644
index b53344052f9..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/templatedoc.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Custom node content instead of a node label is defined with the pTemplate property.
-
-
-
- `
-})
-export class TemplateDoc implements OnInit {
- nodes!: TreeNode[];
-
- ngOnInit() {
- this.nodes = [
- {
- key: '0',
- label: 'Introduction',
- children: [
- { key: '0-0', label: 'What is Angular', data: 'https://angular.io', type: 'url' },
- { key: '0-1', label: 'Getting Started', data: 'https://angular.io/guide/setup-local', type: 'url' },
- { key: '0-2', label: 'Learn and Explore', data: 'https://angular.io/guide/architecture', type: 'url' },
- { key: '0-3', label: 'Take a Look', data: 'https://angular.io/start', type: 'url' }
- ]
- },
- {
- key: '1',
- label: 'Components In-Depth',
- children: [
- { key: '1-0', label: 'Component Registration', data: 'https://angular.io/guide/component-interaction', type: 'url' },
- { key: '1-1', label: 'User Input', data: 'https://angular.io/guide/user-input', type: 'url' },
- { key: '1-2', label: 'Hooks', data: 'https://angular.io/guide/lifecycle-hooks', type: 'url' },
- { key: '1-3', label: 'Attribute Directives', data: 'https://angular.io/guide/attribute-directives', type: 'url' }
- ]
- }
- ];
- }
-
- code: Code = {
- basic: `
-
-
- {{ node.label }}
-
-
-
- {{ node.label }}
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { TreeModule } from 'primeng/tree';
-
-@Component({
- selector: 'tree-template-demo',
- templateUrl: './tree-template-demo.html',
- standalone: true,
- imports: [TreeModule]
-})
-export class TreeTemplateDemo implements OnInit {
- nodes!: TreeNode[];
-
- ngOnInit() {
- this.nodes = [
- {
- key: '0',
- label: 'Introduction',
- children: [
- { key: '0-0', label: 'What is Angular', data: 'https://angular.io', type: 'url' },
- { key: '0-1', label: 'Getting Started', data: 'https://angular.io/guide/setup-local', type: 'url' },
- { key: '0-2', label: 'Learn and Explore', data: 'https://angular.io/guide/architecture', type: 'url' },
- { key: '0-3', label: 'Take a Look', data: 'https://angular.io/start', type: 'url' }
- ]
- },
- {
- key: '1',
- label: 'Components In-Depth',
- children: [
- { key: '1-0', label: 'Component Registration', data: 'https://angular.io/guide/component-interaction', type: 'url' },
- { key: '1-1', label: 'User Input', data: 'https://angular.io/guide/user-input', type: 'url' },
- { key: '1-2', label: 'Hooks', data: 'https://angular.io/guide/lifecycle-hooks', type: 'url' },
- { key: '1-3', label: 'Attribute Directives', data: 'https://angular.io/guide/attribute-directives', type: 'url' }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/tree/virtualscrolldoc.ts
deleted file mode 100644
index 90557cc8c8e..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/virtualscrolldoc.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'virtual-scroll-doc',
- template: `
-
- VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality.
-
-
-
- `
-})
-export class VirtualScrollDoc implements OnInit {
- loading: boolean = false;
-
- files!: TreeNode[];
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => {
- this.files = this.duplicateData(data, 50);
- this.cd.markForCheck();
- });
- }
-
- duplicateData(data: TreeNode[], count: number): TreeNode[] {
- let duplicatedData: TreeNode[] = [];
- for (let i = 0; i < count; i++) {
- duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
- }
- return duplicatedData;
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-virtual-scroll-demo',
- templateUrl: './tree-virtual-scroll-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [NodeService]
-})
-export class TreeVirtualScrollDemo implements OnInit {
- loading: boolean = false;
-
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.nodeService.getFiles().then((data) => {
- this.files = this.duplicateData(data, 50);
- this.cd.markForCheck();
- });
- }
-
- duplicateData(data: TreeNode[], count: number): TreeNode[] {
- let duplicatedData: TreeNode[] = [];
- for (let i = 0; i < count; i++) {
- duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
- }
- return duplicatedData;
- }
-
-}`,
- service: ['NodeService'],
-
- data: `
-/* NodeService */
-{
-key: '0',
-label: 'Documents',
-data: 'Documents Folder',
-icon: 'pi pi-fw pi-inbox',
-children: [
-{
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
-},
-{
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
-}
-]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/tree/virtualscrolllazydoc.ts b/apps/showcase/src/app/showcase/doc/tree/virtualscrolllazydoc.ts
deleted file mode 100644
index 2cd32d45735..00000000000
--- a/apps/showcase/src/app/showcase/doc/tree/virtualscrolllazydoc.ts
+++ /dev/null
@@ -1,151 +0,0 @@
-import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'lazy-virtual-scroll-doc',
- template: `
-
- VirtualScroller is a performance-approach to handle huge data efficiently. Setting virtualScroll property as true and providing a virtualScrollItemSize in pixels would be enough to enable this functionality.
-
-
-
- `
-})
-export class LazyVirtualScrollDoc implements OnInit {
- loading: boolean = false;
-
- files!: TreeNode[];
-
- virtualFiles!: TreeNode[];
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.loading = true;
- setTimeout(() => {
- this.nodeService.getLazyFiles().then((files) => (this.files = this.duplicateData(files, 50)));
- this.loading = false;
- this.cd.markForCheck();
- }, 1000);
- }
-
- duplicateData(data: TreeNode[], count: number): TreeNode[] {
- let duplicatedData: TreeNode[] = [];
- for (let i = 0; i < count; i++) {
- duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
- }
- return duplicatedData;
- }
-
- nodeExpand(event: any) {
- if (event.node) {
- this.loading = true;
- setTimeout(() => {
- this.nodeService.getLazyFiles().then((nodes) => {
- event.node.children = nodes;
- this.files = [...this.files, event.node.children];
- });
- this.loading = false;
- this.cd.markForCheck();
- }, 200);
- }
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { Tree } from 'primeng/tree';
-
-@Component({
- selector: 'tree-virtual-scroll-lazy-demo',
- templateUrl: './tree-virtual-scroll-lazy-demo.html',
- standalone: true,
- imports: [Tree],
- providers: [NodeService]
-})
-export class TreeVirtualScrollLazyDemo implements OnInit {
- loading: boolean = false;
-
- files!: TreeNode[];
-
- virtualFiles!: TreeNode[];
-
- constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.loading = true;
- setTimeout(() => {
- this.nodeService.getLazyFiles().then((files) => (this.files = this.duplicateData(files, 50)));
- this.loading = false;
- this.cd.markForCheck();
- }, 1000);
- }
-
- duplicateData(data: TreeNode[], count: number): TreeNode[] {
- let duplicatedData: TreeNode[] = [];
- for (let i = 0; i < count; i++) {
- duplicatedData = [...duplicatedData, ...data.map((item) => ({ ...item }))];
- }
- return duplicatedData;
- }
-
- nodeExpand(event: any) {
- if (event.node) {
- this.loading = true;
- setTimeout(() => {
- this.nodeService.getLazyFiles().then((nodes) => {
- event.node.children = nodes;
- this.files = [...this.files, event.node.children];
- });
- this.loading = false;
- this.cd.markForCheck();
- }, 200);
- }
- }
-}`,
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/accessibilitydoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/accessibilitydoc.ts
deleted file mode 100644
index b12710a107b..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/accessibilitydoc.ts
+++ /dev/null
@@ -1,189 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tree-select-accessibility-doc',
- template: `
-
- Screen Reader
-
- Value to describe the component can either be provided with ariaLabelledby or ariaLabel props. The treeselect element has a combobox role in addition to aria-haspopup and aria-expanded attributes.
- The relation between the combobox and the popup is created with aria-controls that refers to the id of the popup.
-
-
- The popup list has an id that refers to the aria-controls attribute of the combobox element and uses tree as the role. Each list item has a treeitem role along with aria-label ,
- aria-selected and aria-expanded attributes. In checkbox selection, aria-checked is used instead of aria-selected . Checkbox and toggle icons are hidden from screen readers as their parent element with
- treeitem role and attributes are used instead for readers and keyboard support. The container element of a treenode has the group role. The aria-setsize , aria-posinset and aria-level attributes are
- calculated implicitly and added to each treeitem.
-
-
- If filtering is enabled, filterInputProps can be defined to give aria-* props to the filter input element.
-
-
-
-
-
Closed State Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the treeselect element.
-
-
-
- space
-
- Opens the popup and moves visual focus to the selected treenode, if there is none then first treenode receives the focus.
-
-
-
- down arrow
-
- Opens the popup and moves visual focus to the selected option, if there is none then first option receives the focus.
-
-
-
-
-
-
Popup Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- tab
-
- Moves focus to the next focusable element in the popup, if there is none then first focusable element receives the focus.
-
-
- shift + tab
- Moves focus to the previous focusable element in the popup, if there is none then last focusable element receives the focus.
-
-
-
- enter
-
- Selects the focused option, closes the popup if selection mode is single.
-
-
-
- space
-
- Selects the focused option, closes the popup if selection mode is single.
-
-
-
- escape
-
- Closes the popup, moves focus to the treeselect element.
-
-
-
- down arrow
-
- Moves focus to the next treenode.
-
-
-
- up arrow
-
- Moves focus to the previous treenode.
-
-
-
- right arrow
-
- If node is closed, opens the node otherwise moves focus to the first child node.
-
-
-
- left arrow
-
- If node is open, closes the node otherwise moves focus to the parent node.
-
-
-
-
-
-
Filter Input Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Closes the popup and moves focus to the treeselect element.
-
-
-
- escape
-
- Closes the popup and moves focus to the treeselect element.
-
-
-
-
-
-
Close Button Keyboard Support
-
-
-
-
- Key
- Function
-
-
-
-
-
- enter
-
- Closes the popup and moves focus to the treeselect element.
-
-
-
- space
-
- Closes the popup and moves focus to the treeselect element.
-
-
-
- escape
-
- Closes the popup and moves focus to the treeselect element.
-
-
-
-
-
`
-})
-export class AccessibilityDoc {
- code: Code = {
- basic: `Options
-
-
- `
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/basicdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/basicdoc.ts
deleted file mode 100644
index 12003052ed6..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/basicdoc.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
-
- TreeSelect is used as a controlled component with ng-model directive along with an options collection. Internally Tree component is used so the options model is based on TreeNode API.
- In single selection mode, value binding should be the key value of a node.
-
-
-
- `
-})
-export class BasicDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-basic-demo',
- templateUrl: './tree-select-basic-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
- })
-export class TreeSelectBasicDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/checkboxdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/checkboxdoc.ts
deleted file mode 100644
index 5441074ead0..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/checkboxdoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'checkbox-doc',
- template: `
-
- Selection of multiple nodes via checkboxes is enabled by configuring selectionMode as checkbox .
-
-
-
- `
-})
-export class CheckboxDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-checkbox-demo',
- templateUrl: './tree-select-checkbox-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectCheckboxDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/disableddoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/disableddoc.ts
deleted file mode 100644
index 4d6c82b5577..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/disableddoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'disabled-doc',
- template: `
-
- When disabled is present, the element cannot be edited and focused.
-
-
-
- `
-})
-export class DisabledDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-disabled-demo',
- templateUrl: './tree-select-disabled-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectDisabledDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/filleddoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/filleddoc.ts
deleted file mode 100644
index a2bf79247eb..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/filleddoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'filled-doc',
- template: `
-
- Specify the variant property as filled to display the component with a higher visual emphasis than the default outlined style.
-
-
-
- `
-})
-export class FilledDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-filled-demo',
- templateUrl: './tree-select-filled-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
- })
-export class TreeSelectFilledDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/filterdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/filterdoc.ts
deleted file mode 100644
index 42823c02fc2..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/filterdoc.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'filter-doc',
- template: `
-
-
- Filtering is enabled by adding the filter property, by default label property of a node is used to compare against the value in the text field, in order to customize which field(s) should be used during search define
- filterBy property. In addition filterMode specifies the filtering strategy. In lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included.
- On the other hand, in strict mode when the query matches a node, filtering continues on all descendants.
-
-
-
-
- `
-})
-export class FilterDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-filter-demo',
- templateUrl: './tree-select-filter-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectFilterDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/floatlabeldoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/floatlabeldoc.ts
deleted file mode 100644
index d5b3a64d090..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/floatlabeldoc.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'floatlabel-doc',
- template: `
-
-
- A floating label appears on top of the input field when focused. Visit
- FloatLabel documentation for more information.
-
-
-
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
-
- `
-})
-export class FloatLabelDoc {
- nodes!: any[];
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: `
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
- `,
-
- html: `
-
-
- Over Label
-
-
-
-
- In Label
-
-
-
-
- On Label
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-import { FloatLabel } from 'primeng/floatlabel';
-
-@Component({
- selector: 'tree-select-floatlabel-demo',
- templateUrl: './tree-select-floatlabel-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect, FloatLabel],
- providers: [NodeService]
-})
-export class TreeSelectFloatlabelDemo {
- nodes!: any[];
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/iftalabeldoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/iftalabeldoc.ts
deleted file mode 100644
index 1bce804726e..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/iftalabeldoc.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'iftalabel-doc',
- template: `
-
- IftaLabel is used to create infield top aligned labels. Visit IftaLabel documentation for more information.
-
-
-
- `
-})
-export class IftaLabelDoc {
- nodes!: any[];
-
- selectedValue: any;
- code: Code = {
- basic: `
-
- File
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelectModule } from 'primeng/treeselect';
-import { IftaLabelModule } from 'primeng/iftalabel';
-
-@Component({
- selector: 'tree-select-iftalabel-demo',
- templateUrl: './tree-select-iftalabel-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelectModule, IftaLabelModule],
- providers: [NodeService]
-})
-export class TreeSelectIftaLabelDemo {
- nodes!: any[];
-
- selectedValue: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/importdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/importdoc.ts
deleted file mode 100644
index 1208f532b05..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tree-select-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { TreeSelect } from 'primeng/treeselect';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/invaliddoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/invaliddoc.ts
deleted file mode 100644
index e799e5dc1be..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/invaliddoc.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'invalid-doc',
- template: `
-
- Invalid state style is added using the ng-invalid and ng-dirty class to indicate a failed validation.
-
-
-
- `
-})
-export class InvalidDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-invalid-demo',
- templateUrl: './tree-select-invalid-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectInvalidDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/lazydoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/lazydoc.ts
deleted file mode 100644
index 1dd7d90e5d4..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/lazydoc.ts
+++ /dev/null
@@ -1,207 +0,0 @@
-import { ChangeDetectorRef, Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-import { TreeNode } from 'primeng/api';
-
-@Component({
- selector: 'lazy-doc',
- template: `
-
-
- Lazy loading is useful when dealing with huge datasets, in this example nodes are dynamically loaded on demand using
- loading property and onNodeExpand method.
-
-
-
-
- `
-})
-export class LazyDoc {
- selectedNodes: TreeNode[] = [];
-
- nodes!: TreeNode[];
-
- loading: boolean = false;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.loading = true;
-
- setTimeout(() => {
- this.nodes = this.initiateNodes();
- this.loading = false;
- this.cd.markForCheck();
- }, 2000);
- }
-
- initiateNodes(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false
- }
- ];
- }
-
- onNodeExpand(event: any) {
- if (!event.node.children) {
- this.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 1500; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- this.nodes[parseInt(event.node.key, 10)] = _node;
-
- this.loading = false;
- this.cd.markForCheck();
- }, 500);
- }
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-lazy-demo',
- templateUrl: './tree-select-lazy-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect]
- })
-export class TreeSelectLazyDemo {
- selectedNodes: TreeNode[] = [];
-
- nodes!: TreeNode[];
-
- loading: boolean = false;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.loading = true;
-
- setTimeout(() => {
- this.nodes = this.initiateNodes();
- this.loading = false;
- this.cd.markForCheck();
- }, 2000);
- }
-
- initiateNodes(): TreeNode[] {
- return [
- {
- key: '0',
- label: 'Node 0',
- leaf: false
- },
- {
- key: '1',
- label: 'Node 1',
- leaf: false
- },
- {
- key: '2',
- label: 'Node 2',
- leaf: false
- }
- ];
- }
-
- onNodeExpand(event: any) {
- if (!event.node.children) {
- this.loading = true;
-
- setTimeout(() => {
- let _node = { ...event.node };
- _node.children = [];
-
- for (let i = 0; i < 150; i++) {
- _node.children.push({
- key: event.node.key + '-' + i,
- label: 'Lazy ' + event.node.label + '-' + i
- });
- }
-
- this.nodes[parseInt(event.node.key, 10)] = _node;
-
- this.loading = false;
- this.cd.markForCheck();
- }, 500);
- }
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/multipledoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/multipledoc.ts
deleted file mode 100644
index 93b1169642a..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/multipledoc.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'multiple-doc',
- template: `
-
-
- More than one node is selectable by setting selectionMode to multiple . By default in multiple selection mode, metaKey press (e.g. ⌘ ) is necessary to add to existing selections however this can be configured with
- disabling the metaKeySelection property. Note that in touch enabled devices, TreeSelect always ignores metaKey.
-
- In multiple selection mode, value binding should be a key-value pair where key is the node key and value is a boolean to indicate selection.
-
-
-
-
- `
-})
-export class MultipleDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- exampleCode: Code = {
- typescript: `{
- '0-0': true,
- '0-1-0': true
-}`
- };
-
- code: Code = {
- basic: ` `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-multiple-demo',
- templateUrl: './tree-select-multiple-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectMultipleDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/reactiveformsdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/reactiveformsdoc.ts
deleted file mode 100644
index cfb07f9f457..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/reactiveformsdoc.ts
+++ /dev/null
@@ -1,102 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup } from '@angular/forms';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'reactive-forms-doc',
- template: `
-
- TreeSelect can also be used with reactive forms. In this case, the formControlName property is used to bind the component to a form control.
-
-
-
- `
-})
-export class ReactiveFormsDoc implements OnInit {
- nodes!: any[];
-
- formGroup!: FormGroup;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedNodes: new FormControl()
- });
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'tree-select-reactive-forms-demo',
- templateUrl: './tree-select-reactive-forms-demo.html',
- standalone: true,
- imports: [ReactiveFormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectReactiveFormsDemo implements OnInit {
- nodes!: any[];
-
- formGroup!: FormGroup;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- ngOnInit() {
- this.formGroup = new FormGroup({
- selectedNodes: new FormControl()
- });
- }
-}`,
- service: ['NodeService'],
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/sizesdoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/sizesdoc.ts
deleted file mode 100644
index b61ae6ae2ad..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/sizesdoc.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'sizes-doc',
- template: `
-
- TreeSelect provides small and large sizes as alternatives to the base.
-
-
-
- `
-})
-export class SizesDoc {
- nodes!: any[];
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: `
-
- `,
-
- html: ``,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-sizes-demo',
- templateUrl: './tree-select-sizes-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
- })
-export class TreeSelectSizesDemo {
- nodes!: any[];
-
- value1: any;
-
- value2: any;
-
- value3: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/templatedoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/templatedoc.ts
deleted file mode 100644
index 7441c57c59b..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/templatedoc.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'template-doc',
- template: `
-
- TreeSelect offers multiple templates for customization through templating.
-
-
-
-
-
-
-
- Available Files
-
-
-
-
-
-
-
- `
-})
-export class TemplateDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: `
-
-
-
-
- Available Files
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
- Available Files
-
-
-
-
-
-
`,
-
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tree-select-template-demo',
- templateUrl: './tree-select-template-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect, ButtonModule],
- providers: [NodeService]
- })
-export class TreeSelectTemplateDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getFiles().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService'],
-
- data: `
- /* NodeService */
-{
- key: '0',
- label: 'Documents',
- data: 'Documents Folder',
- icon: 'pi pi-fw pi-inbox',
- children: [
- {
- key: '0-0',
- label: 'Work',
- data: 'Work Folder',
- icon: 'pi pi-fw pi-cog',
- children: [
- { key: '0-0-0', label: 'Expenses.doc', icon: 'pi pi-fw pi-file', data: 'Expenses Document' },
- { key: '0-0-1', label: 'Resume.doc', icon: 'pi pi-fw pi-file', data: 'Resume Document' }
- ]
- },
- {
- key: '0-1',
- label: 'Home',
- data: 'Home Folder',
- icon: 'pi pi-fw pi-home',
- children: [{ key: '0-1-0', label: 'Invoices.txt', icon: 'pi pi-fw pi-file', data: 'Invoices for this month' }]
- }
- ]
-},
-...`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treeselect/virtualscrolldoc.ts b/apps/showcase/src/app/showcase/doc/treeselect/virtualscrolldoc.ts
deleted file mode 100644
index d50d0c45b5b..00000000000
--- a/apps/showcase/src/app/showcase/doc/treeselect/virtualscrolldoc.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { Component, Input } from '@angular/core';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'virtual-scroll-doc',
- template: `
-
- VirtualScrolling is an efficient way of rendering the options by displaying a small subset of data in the viewport at any time. When dealing with huge number of options, it is suggested to enable VirtualScrolling to avoid performance
- issues. Usage is simple as setting virtualScroll property to true and defining virtualScrollItemSize to specify the height of an item.
-
-
-
- `
-})
-export class VirtualScrollDoc {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getLargeTreeNodes().then((files) => (this.nodes = files));
- }
-
- code: Code = {
- basic: ` `,
-
- html: ``,
- typescript: `import { Component } from '@angular/core';
-import { NodeService } from '@service/nodeservice';
-import { FormsModule } from '@angular/forms';
-import { TreeSelect } from 'primeng/treeselect';
-
-@Component({
- selector: 'tree-select-virtual-scroll-demo',
- templateUrl: './tree-select-virtual-scroll-demo.html',
- standalone: true,
- imports: [FormsModule, TreeSelect],
- providers: [NodeService]
-})
-export class TreeSelectVirtualScrollDemo {
- nodes!: any[];
-
- selectedNodes: any;
-
- constructor(private nodeService: NodeService) {
- this.nodeService.getLargeTreeNodes().then((files) => (this.nodes = files));
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/basicdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/basicdoc.ts
deleted file mode 100644
index 3998636a8e8..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/basicdoc.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'basic-doc',
- template: `
- TreeTable requires a collection of TreeNode instances as a value components as children for the representation.
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class BasicDoc {
- files!: TreeNode[];
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => {
- this.files = files.slice(0, 5);
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
- `,
-
- html: `
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-
-@Component({
- selector: 'tree-table-basic-demo',
- templateUrl: './tree-table-basic-demo.html',
- standalone: true,
- imports: [TreeTableModule],
- providers: [NodeService]
-})
-export class TreeTableBasicDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/columngroupdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/columngroupdoc.ts
deleted file mode 100644
index 25c76262c21..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/columngroupdoc.ts
+++ /dev/null
@@ -1,526 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'column-group-doc',
- template: `
-
-
-
-
-
- Brand
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
-
-
- {{ rowData.brand }}
-
- {{ rowData.lastYearSale }}
- {{ rowData.thisYearSale }}
- {{ rowData.lastYearProfit }}
- {{ rowData.thisYearProfit }}
-
-
-
-
- Totals
- $3,283,772
- $2,126,925
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ColumnGroupDoc {
- sales!: TreeNode[];
-
- loadDemoData() {
- this.sales = [
- {
- data: { brand: 'Bliss', lastYearSale: '51%', thisYearSale: '40%', lastYearProfit: '$54,406.00', thisYearProfit: '$43,342' },
- children: [
- {
- data: {
- brand: 'Product A',
- lastYearSale: '25%',
- thisYearSale: '20%',
- lastYearProfit: '$34,406.00',
- thisYearProfit: '$23,342'
- },
- children: [
- {
- data: {
- brand: 'Product A-1',
- lastYearSale: '20%',
- thisYearSale: '10%',
- lastYearProfit: '$24,406.00',
- thisYearProfit: '$13,342'
- }
- },
- {
- data: {
- brand: 'Product A-2',
- lastYearSale: '5%',
- thisYearSale: '10%',
- lastYearProfit: '$10,000.00',
- thisYearProfit: '$10,000'
- }
- }
- ]
- },
- {
- data: {
- brand: 'Product B',
- lastYearSale: '26%',
- thisYearSale: '20%',
- lastYearProfit: '$24,000.00',
- thisYearProfit: '$23,000'
- }
- }
- ]
- },
- {
- data: { brand: 'Fate', lastYearSale: '83%', thisYearSale: '96%', lastYearProfit: '$423,132', thisYearProfit: '$312,122' },
- children: [
- {
- data: {
- brand: 'Product X',
- lastYearSale: '50%',
- thisYearSale: '40%',
- lastYearProfit: '$223,132',
- thisYearProfit: '$156,061'
- }
- },
- {
- data: {
- brand: 'Product Y',
- lastYearSale: '33%',
- thisYearSale: '56%',
- lastYearProfit: '$200,000',
- thisYearProfit: '$156,061'
- }
- }
- ]
- },
- {
- data: { brand: 'Ruby', lastYearSale: '38%', thisYearSale: '5%', lastYearProfit: '$12,321', thisYearProfit: '$8,500' },
- children: [
- {
- data: {
- brand: 'Product M',
- lastYearSale: '18%',
- thisYearSale: '2%',
- lastYearProfit: '$10,300',
- thisYearProfit: '$5,500'
- }
- },
- {
- data: {
- brand: 'Product N',
- lastYearSale: '20%',
- thisYearSale: '3%',
- lastYearProfit: '$2,021',
- thisYearProfit: '$3,000'
- }
- }
- ]
- },
- {
- data: { brand: 'Sky', lastYearSale: '49%', thisYearSale: '22%', lastYearProfit: '$745,232', thisYearProfit: '$650,323' },
- children: [
- {
- data: {
- brand: 'Product P',
- lastYearSale: '20%',
- thisYearSale: '16%',
- lastYearProfit: '$345,232',
- thisYearProfit: '$350,000'
- }
- },
- {
- data: {
- brand: 'Product R',
- lastYearSale: '29%',
- thisYearSale: '6%',
- lastYearProfit: '$400,009',
- thisYearProfit: '$300,323'
- }
- }
- ]
- },
- {
- data: { brand: 'Comfort', lastYearSale: '17%', thisYearSale: '79%', lastYearProfit: '$643,242', thisYearProfit: '500,332' },
- children: [
- {
- data: {
- brand: 'Product S',
- lastYearSale: '10%',
- thisYearSale: '40%',
- lastYearProfit: '$243,242',
- thisYearProfit: '$100,000'
- }
- },
- {
- data: {
- brand: 'Product T',
- lastYearSale: '7%',
- thisYearSale: '39%',
- lastYearProfit: '$400,00',
- thisYearProfit: '$400,332'
- }
- }
- ]
- },
- {
- data: { brand: 'Merit', lastYearSale: '52%', thisYearSale: ' 65%', lastYearProfit: '$421,132', thisYearProfit: '$150,005' },
- children: [
- {
- data: {
- brand: 'Product L',
- lastYearSale: '20%',
- thisYearSale: '40%',
- lastYearProfit: '$121,132',
- thisYearProfit: '$100,000'
- }
- },
- {
- data: {
- brand: 'Product G',
- lastYearSale: '32%',
- thisYearSale: '25%',
- lastYearProfit: '$300,000',
- thisYearProfit: '$50,005'
- }
- }
- ]
- },
- {
- data: { brand: 'Violet', lastYearSale: '82%', thisYearSale: '12%', lastYearProfit: '$131,211', thisYearProfit: '$100,214' },
- children: [
- {
- data: {
- brand: 'Product SH1',
- lastYearSale: '30%',
- thisYearSale: '6%',
- lastYearProfit: '$101,211',
- thisYearProfit: '$30,214'
- }
- },
- {
- data: {
- brand: 'Product SH2',
- lastYearSale: '52%',
- thisYearSale: '6%',
- lastYearProfit: '$30,000',
- thisYearProfit: '$70,000'
- }
- }
- ]
- },
- {
- data: { brand: 'Dulce', lastYearSale: '44%', thisYearSale: '45%', lastYearProfit: '$66,442', thisYearProfit: '$53,322' },
- children: [
- {
- data: {
- brand: 'Product PN1',
- lastYearSale: '22%',
- thisYearSale: '25%',
- lastYearProfit: '$33,221',
- thisYearProfit: '$20,000'
- }
- },
- {
- data: {
- brand: 'Product PN2',
- lastYearSale: '22%',
- thisYearSale: '25%',
- lastYearProfit: '$33,221',
- thisYearProfit: '$33,322'
- }
- }
- ]
- },
- {
- data: { brand: 'Solace', lastYearSale: '90%', thisYearSale: '56%', lastYearProfit: '$765,442', thisYearProfit: '$296,232' },
- children: [
- {
- data: {
- brand: 'Product HT1',
- lastYearSale: '60%',
- thisYearSale: '36%',
- lastYearProfit: '$465,000',
- thisYearProfit: '$150,653'
- }
- },
- {
- data: {
- brand: 'Product HT2',
- lastYearSale: '30%',
- thisYearSale: '20%',
- lastYearProfit: '$300,442',
- thisYearProfit: '$145,579'
- }
- }
- ]
- },
- {
- data: { brand: 'Essence', lastYearSale: '75%', thisYearSale: '54%', lastYearProfit: '$21,212', thisYearProfit: '$12,533' },
- children: [
- {
- data: {
- brand: 'Product TS1',
- lastYearSale: '50%',
- thisYearSale: '34%',
- lastYearProfit: '$11,000',
- thisYearProfit: '$8,562'
- }
- },
- {
- data: {
- brand: 'Product TS2',
- lastYearSale: '25%',
- thisYearSale: '20%',
- lastYearProfit: '$11,212',
- thisYearProfit: '$3,971'
- }
- }
- ]
- }
- ];
- }
- code: Code = {
- basic: `
-
-
- Brand
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
-
-
- {{ rowData.brand }}
-
- {{ rowData.lastYearSale }}
- {{ rowData.thisYearSale }}
- {{ rowData.lastYearProfit }}
- {{ rowData.thisYearProfit }}
-
-
-
-
- Totals
- $3,283,772
- $2,126,925
-
-
- `,
-
- html: `
-
-
-
- Brand
- Sale Rate
-
-
- Sales
- Profits
-
-
- Last Year
- This Year
- Last Year
- This Year
-
-
-
-
-
-
- {{ rowData.brand }}
-
- {{ rowData.lastYearSale }}
- {{ rowData.thisYearSale }}
- {{ rowData.lastYearProfit }}
- {{ rowData.thisYearProfit }}
-
-
-
-
- Totals
- $3,283,772
- $2,126,925
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { TreeTableModule } from 'primeng/treetable';
-
-@Component({
- selector: 'tree-table-column-group-demo',
- templateUrl: './tree-table-column-group-demo.html',
- standalone: true,
- imports: [TreeTableModule]
-})
-export class TreeTableColumnGroupDemo implements OnInit {
- sales!: TreeNode[];
-
- ngOnInit() {
- this.sales = [
- {
- data: { brand: 'Bliss', lastYearSale: '51%', thisYearSale: '40%', lastYearProfit: '$54,406.00', thisYearProfit: '$43,342' },
- children: [
- {
- data: { brand: 'Product A', lastYearSale: '25%', thisYearSale: '20%', lastYearProfit: '$34,406.00', thisYearProfit: '$23,342' },
- children: [
- {
- data: { brand: 'Product A-1', lastYearSale: '20%', thisYearSale: '10%', lastYearProfit: '$24,406.00', thisYearProfit: '$13,342' }
- },
- {
- data: { brand: 'Product A-2', lastYearSale: '5%', thisYearSale: '10%', lastYearProfit: '$10,000.00', thisYearProfit: '$10,000' }
- }
- ]
- },
- {
- data: { brand: 'Product B', lastYearSale: '26%', thisYearSale: '20%', lastYearProfit: '$24,000.00', thisYearProfit: '$23,000' }
- }
- ]
- },
- {
- data: { brand: 'Fate', lastYearSale: '83%', thisYearSale: '96%', lastYearProfit: '$423,132', thisYearProfit: '$312,122' },
- children: [
- {
- data: { brand: 'Product X', lastYearSale: '50%', thisYearSale: '40%', lastYearProfit: '$223,132', thisYearProfit: '$156,061' }
- },
- {
- data: { brand: 'Product Y', lastYearSale: '33%', thisYearSale: '56%', lastYearProfit: '$200,000', thisYearProfit: '$156,061' }
- }
- ]
- },
- {
- data: { brand: 'Ruby', lastYearSale: '38%', thisYearSale: '5%', lastYearProfit: '$12,321', thisYearProfit: '$8,500' },
- children: [
- {
- data: { brand: 'Product M', lastYearSale: '18%', thisYearSale: '2%', lastYearProfit: '$10,300', thisYearProfit: '$5,500' }
- },
- {
- data: { brand: 'Product N', lastYearSale: '20%', thisYearSale: '3%', lastYearProfit: '$2,021', thisYearProfit: '$3,000' }
- }
- ]
- },
- {
- data: { brand: 'Sky', lastYearSale: '49%', thisYearSale: '22%', lastYearProfit: '$745,232', thisYearProfit: '$650,323' },
- children: [
- {
- data: { brand: 'Product P', lastYearSale: '20%', thisYearSale: '16%', lastYearProfit: '$345,232', thisYearProfit: '$350,000' }
- },
- {
- data: { brand: 'Product R', lastYearSale: '29%', thisYearSale: '6%', lastYearProfit: '$400,009', thisYearProfit: '$300,323' }
- }
- ]
- },
- {
- data: { brand: 'Comfort', lastYearSale: '17%', thisYearSale: '79%', lastYearProfit: '$643,242', thisYearProfit: '500,332' },
- children: [
- {
- data: { brand: 'Product S', lastYearSale: '10%', thisYearSale: '40%', lastYearProfit: '$243,242', thisYearProfit: '$100,000' }
- },
- {
- data: { brand: 'Product T', lastYearSale: '7%', thisYearSale: '39%', lastYearProfit: '$400,00', thisYearProfit: '$400,332' }
- }
- ]
- },
- {
- data: { brand: 'Merit', lastYearSale: '52%', thisYearSale: ' 65%', lastYearProfit: '$421,132', thisYearProfit: '$150,005' },
- children: [
- {
- data: { brand: 'Product L', lastYearSale: '20%', thisYearSale: '40%', lastYearProfit: '$121,132', thisYearProfit: '$100,000' }
- },
- {
- data: { brand: 'Product G', lastYearSale: '32%', thisYearSale: '25%', lastYearProfit: '$300,000', thisYearProfit: '$50,005' }
- }
- ]
- },
- {
- data: { brand: 'Violet', lastYearSale: '82%', thisYearSale: '12%', lastYearProfit: '$131,211', thisYearProfit: '$100,214' },
- children: [
- {
- data: { brand: 'Product SH1', lastYearSale: '30%', thisYearSale: '6%', lastYearProfit: '$101,211', thisYearProfit: '$30,214' }
- },
- {
- data: { brand: 'Product SH2', lastYearSale: '52%', thisYearSale: '6%', lastYearProfit: '$30,000', thisYearProfit: '$70,000' }
- }
- ]
- },
- {
- data: { brand: 'Dulce', lastYearSale: '44%', thisYearSale: '45%', lastYearProfit: '$66,442', thisYearProfit: '$53,322' },
- children: [
- {
- data: { brand: 'Product PN1', lastYearSale: '22%', thisYearSale: '25%', lastYearProfit: '$33,221', thisYearProfit: '$20,000' }
- },
- {
- data: { brand: 'Product PN2', lastYearSale: '22%', thisYearSale: '25%', lastYearProfit: '$33,221', thisYearProfit: '$33,322' }
- }
- ]
- },
- {
- data: { brand: 'Solace', lastYearSale: '90%', thisYearSale: '56%', lastYearProfit: '$765,442', thisYearProfit: '$296,232' },
- children: [
- {
- data: { brand: 'Product HT1', lastYearSale: '60%', thisYearSale: '36%', lastYearProfit: '$465,000', thisYearProfit: '$150,653' }
- },
- {
- data: { brand: 'Product HT2', lastYearSale: '30%', thisYearSale: '20%', lastYearProfit: '$300,442', thisYearProfit: '$145,579' }
- }
- ]
- },
- {
- data: { brand: 'Essence', lastYearSale: '75%', thisYearSale: '54%', lastYearProfit: '$21,212', thisYearProfit: '$12,533' },
- children: [
- {
- data: { brand: 'Product TS1', lastYearSale: '50%', thisYearSale: '34%', lastYearProfit: '$11,000', thisYearProfit: '$8,562' }
- },
- {
- data: { brand: 'Product TS2', lastYearSale: '25%', thisYearSale: '20%', lastYearProfit: '$11,212', thisYearProfit: '$3,971' }
- }
- ]
- }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/columntoggledoc.ts b/apps/showcase/src/app/showcase/doc/treetable/columntoggledoc.ts
deleted file mode 100644
index 6737be682c5..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/columntoggledoc.ts
+++ /dev/null
@@ -1,181 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'column-toggle-doc',
- template: `
-
- Column visibility based on a condition can be implemented with dynamic columns, in this sample a MultiSelect is used to manage the visible columns.
-
-
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ColumnToggleDoc {
- files!: TreeNode[];
-
- cols!: Column[];
-
- selectedColumns!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.selectedColumns = this.cols;
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-import { MultiSelectModule } from 'primeng/multiselect';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-column-toggle-demo',
- templateUrl: './tree-table-column-toggle-demo.html',
- standalone: true,
- imports: [TreeTableModule, MultiSelectModule, CommonModule],
- providers: [NodeService]
-})
-export class TreeTableColumnToggleDemo implements OnInit {
- files!: TreeNode[];
-
- cols!: Column[];
-
- selectedColumns!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.selectedColumns = this.cols;
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/contextmenudoc.ts b/apps/showcase/src/app/showcase/doc/treetable/contextmenudoc.ts
deleted file mode 100644
index 847ad70258b..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/contextmenudoc.ts
+++ /dev/null
@@ -1,202 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { MenuItem, MessageService, TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'context-menu-doc',
- template: `
-
- TreeTable has exclusive integration with ContextMenu using the contextMenu event to open a menu on right click alont with contextMenuSelection properties to control the selection via the menu.
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
-
- `,
- providers: [MessageService],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ContextMenuDoc {
- files!: TreeNode[];
-
- selectedNode!: TreeNode;
-
- cols!: Column[];
-
- items!: MenuItem[];
-
- constructor(
- private nodeService: NodeService,
- private messageService: MessageService
- ) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.items = [
- { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedNode) },
- { label: 'Toggle', icon: 'pi pi-sort', command: (event) => this.toggleFile(this.selectedNode) }
- ];
- }
-
- viewFile(node: any) {
- this.messageService.add({ severity: 'info', summary: 'File Selected', detail: node.data.name + ' - ' + node.data.size });
- }
-
- toggleFile(node: any) {
- node.expanded = !node.expanded;
- this.files = [...this.files];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { MenuItem, MessageService, TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-import { ToastModule } from 'primeng/toast';
-import { ContextMenuModule } from 'primeng/contextmenu';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-context-menu-demo',
- templateUrl: './tree-table-context-menu-demo.html',
- standalone: true,
- imports: [TreeTableModule, ToastModule, ContextMenuModule, CommonModule],
- providers: [MessageService, NodeService]
-})
-export class TreeTableContextMenuDemo implements OnInit{
- files!: TreeNode[];
-
- selectedNode!: TreeNode;
-
- cols!: Column[];
-
- items!: MenuItem[];
-
- constructor(private nodeService: NodeService, private messageService: MessageService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.items = [
- { label: 'View', icon: 'pi pi-search', command: (event) => this.viewFile(this.selectedNode) },
- { label: 'Toggle', icon: 'pi pi-sort', command: (event) => this.toggleFile(this.selectedNode) }
- ];
- }
-
- viewFile(node: any) {
- this.messageService.add({ severity: 'info', summary: 'File Selected', detail: node.data.name + ' - ' + node.data.size });
- }
-
- toggleFile(node: any) {
- node.expanded = !node.expanded;
- this.files = [...this.files];
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/controlleddoc.ts b/apps/showcase/src/app/showcase/doc/treetable/controlleddoc.ts
deleted file mode 100644
index c565c585ad5..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/controlleddoc.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'controlled-doc',
- template: `
- Expansion state is controlled with expandedKeys property.
-
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ControlledDoc {
- files!: TreeNode[];
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => {
- this.files = files.slice(0, 5);
- this.cd.markForCheck();
- });
- }
-
- toggleApplications() {
- if (this.files && this.files.length > 0) {
- const newFiles = [...this.files];
- newFiles[0] = { ...newFiles[0], expanded: !newFiles[0].expanded };
- this.files = newFiles;
- }
- }
-
- code: Code = {
- basic: `
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
- `,
-
- html: `
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
`,
-
- typescript: `import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-import { ButtonModule } from 'primeng/button';
-
-@Component({
- selector: 'tree-table-controlled-demo',
- templateUrl: './tree-table-controlled-demo.html',
- standalone: true,
- imports: [TreeTableModule, ButtonModule],
- providers: [NodeService]
-})
-export class TreeTableControlledDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService, private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => {
- this.files = files.slice(0, 5);
- this.cd.markForCheck();
- });
- }
-
- toggleApplications() {
- if (this.files && this.files.length > 0) {
- const newFiles = [...this.files];
- newFiles[0] = { ...newFiles[0], expanded: !newFiles[0].expanded };
- this.files = newFiles;
- }
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/filterdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/filterdoc.ts
deleted file mode 100644
index 699e8510dea..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/filterdoc.ts
+++ /dev/null
@@ -1,251 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'filter-doc',
- template: `
-
-
- The filterMode specifies the filtering strategy, in lenient mode when the query matches a node, children of the node are not searched further as all descendants of the node are included. On the other hand, in
- strict mode when the query matches a node, filtering continues on all descendants. A general filled called filterGlobal is also provided to search all columns that support filtering.
-
-
-
-
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
- No data found.
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class FilterDoc {
- filterMode = 'lenient';
-
- filterModes = [
- { label: 'Lenient', value: 'lenient' },
- { label: 'Strict', value: 'strict' }
- ];
-
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
- No data found.
-
-
- `,
-
- html: `
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
- No data found.
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { SelectButton } from 'primeng/selectbutton';
-import { FormsModule } from '@angular/forms';
-import { InputTextModule } from 'primeng/inputtext';
-import { CommonModule } from '@angular/common';
-import { IconFieldModule } from 'primeng/iconfield';
-import { InputIconModule } from 'primeng/inputicon';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-filter-demo',
- templateUrl: './tree-table-filter-demo.html',
- standalone: true,
- imports: [TreeTableModule, SelectButton, FormsModule, InputTextModule, CommonModule, IconFieldModule, InputIconModule],
- providers: [NodeService]
-})
-export class TreeTableFilterDemo implements OnInit{
- filterMode = 'lenient';
-
- filterModes = [
- { label: 'Lenient', value: 'lenient' },
- { label: 'Strict', value: 'strict' }
- ];
-
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/flexiblescrolldoc.ts b/apps/showcase/src/app/showcase/doc/treetable/flexiblescrolldoc.ts
deleted file mode 100644
index f44ab6f1c7c..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/flexiblescrolldoc.ts
+++ /dev/null
@@ -1,182 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'flexible-scroll-doc',
- template: `
-
- Flex scroll feature makes the scrollable viewport section dynamic instead of a fixed value so that it can grow or shrink relative to the parent size of the table. Click the button below to display a maximizable Dialog where data
- viewport adjusts itself according to the size changes.
-
-
-
-
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ScrollFlexibleDoc {
- files!: TreeNode[];
-
- dialogVisible: boolean = false;
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => {
- this.files = files;
- this.cd.markForCheck();
- });
- }
-
- code: Code = {
- basic: `
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
-
- {{ rowData.size }}
-
-
- {{ rowData.type }}
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
-
- {{ rowData.size }}
-
-
- {{ rowData.type }}
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-import { ButtonModule } from 'primeng/button';
-import { Dialog } from 'primeng/dialog';
-
-@Component({
- selector: 'tree-table-flexible-scroll-demo',
- templateUrl: './tree-table-flexible-scroll-demo.html',
- standalone: true,
- imports: [TreeTableModule, ButtonModule, Dialog],
- providers: [NodeService]
-})
-export class TreeTableFlexibleScrollDemo implements OnInit {
- files!: TreeNode[];
-
- dialogVisible: boolean = false;
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => {
- this.files = files;
- });
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/gridlinesdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/gridlinesdoc.ts
deleted file mode 100644
index c7e37a97891..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/gridlinesdoc.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'gridlines-doc',
- template: `
-
- Enabling showGridlines displays grid lines.
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class GridlinesDoc {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- }
-
- code: Code = {
- basic: `
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
- `,
-
- html: `
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-
-@Component({
- selector: 'tree-table-gridlines-demo',
- templateUrl: './tree-table-gridlines-demo.html',
- standalone: true,
- imports: [TreeTableModule],
- providers: [NodeService]
-})
-export class TreeTableGridlinesDemo implements OnInit {
- files!: TreeNode[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/importdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/importdoc.ts
deleted file mode 100644
index f10ef92b13b..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/importdoc.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Component } from '@angular/core';
-import { Code } from '@domain/code';
-
-@Component({
- selector: 'tree-table-import-doc',
- template: ` `
-})
-export class ImportDoc {
- code: Code = {
- typescript: `import { TreeTableModule } from 'primeng/treetable';`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/lazyloaddoc.ts b/apps/showcase/src/app/showcase/doc/treetable/lazyloaddoc.ts
deleted file mode 100644
index db1bfc798f0..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/lazyloaddoc.ts
+++ /dev/null
@@ -1,293 +0,0 @@
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'lazy-load-doc',
- template: `
-
-
- Lazy mode is handy to deal with large datasets, instead of loading the entire data, small chunks of data is loaded by invoking corresponding callbacks everytime paging , sorting and filtering occurs. Sample below
- imitates lazy loading data from a remote datasource using an in-memory list and timeouts to mimic network connection.
-
-
- Enabling the lazy property and assigning the logical number of rows to totalRecords by doing a projection query are the key elements of the implementation so that paginator displays the UI assuming there are actually
- records of totalRecords size although in reality they are not present on page, only the records that are displayed on the current page exist.
-
- In addition, only the root elements should be loaded, children can be loaded on demand using onNodeExpand callback.
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class LazyLoadDoc implements OnInit {
- files!: TreeNode[];
-
- cols!: Column[];
-
- totalRecords!: number;
-
- loading: boolean = false;
-
- constructor(
- private nodeService: NodeService,
- private cd: ChangeDetectorRef
- ) {}
-
- ngOnInit() {
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.totalRecords = 1000;
-
- this.loading = true;
- }
-
- loadNodes(event: any) {
- this.loading = true;
-
- setTimeout(() => {
- this.files = [];
-
- for (let i = 0; i < event.rows; i++) {
- let node = {
- data: {
- name: 'Item ' + (event.first + i),
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + (event.first + i)
- },
- leaf: false
- };
-
- this.files.push(node);
- }
- this.loading = false;
- this.cd.markForCheck();
- }, 1000);
- }
-
- onNodeExpand(event: any) {
- this.loading = true;
-
- setTimeout(() => {
- this.loading = false;
- const node = event.node;
-
- node.children = [
- {
- data: {
- name: node.data.name + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'File'
- }
- },
- {
- data: {
- name: node.data.name + ' - 1',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'File'
- }
- }
- ];
-
- this.files = [...this.files];
- this.cd.markForCheck();
- }, 250);
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
-
- html: `
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit, ChangeDetectorRef } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { TreeTableModule } from 'primeng/treetable';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-lazy-load-demo',
- templateUrl: './tree-table-lazy-load-demo.html',
- standalone: true,
- imports: [TreeTableModule, CommonModule]
-})
-export class TreeTableLazyLoadDemo implements OnInit{
- files!: TreeNode[];
-
- cols!: Column[];
-
- totalRecords!: number;
-
- loading: boolean = false;
-
- constructor(private cd: ChangeDetectorRef) {}
-
- ngOnInit() {
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
-
- this.totalRecords = 1000;
-
- this.loading = true;
- }
-
- loadNodes(event: any) {
- this.loading = true;
-
- setTimeout(() => {
- this.files = [];
-
- for (let i = 0; i < event.rows; i++) {
- let node = {
- data: {
- name: 'Item ' + (event.first + i),
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + (event.first + i)
- },
- leaf: false
- };
-
- this.files.push(node);
- }
- this.loading = false;
- this.cd.markForCheck();
- }, 1000);
- }
-
- onNodeExpand(event: any) {
- this.loading = true;
-
- setTimeout(() => {
- this.loading = false;
- const node = event.node;
-
- node.children = [
- {
- data: {
- name: node.data.name + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'File'
- }
- },
- {
- data: {
- name: node.data.name + ' - 1',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'File'
- }
- }
- ];
-
- this.files = [...this.files];
- this.cd.markForCheck();
- }, 250);
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/paginatorbasicdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/paginatorbasicdoc.ts
deleted file mode 100644
index 337f83841f1..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/paginatorbasicdoc.ts
+++ /dev/null
@@ -1,178 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'paginator-basic-doc',
- template: `
- Pagination is enabled by adding paginator property and defining rows per page.
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class PaginatorBasicDoc {
- files!: TreeNode[];
-
- cols!: Column[];
- loadDemoData() {
- this.files = [];
- for (let i = 0; i < 50; i++) {
- let node = {
- data: {
- name: 'Item ' + i,
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- },
- children: [
- {
- data: {
- name: 'Item ' + i + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- }
- }
- ]
- };
-
- this.files.push(node);
- }
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
-
- html: `
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { TreeTableModule } from 'primeng/treetable';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-paginator-basic-demo',
- templateUrl: './tree-table-paginator-basic-demo.html',
- standalone: true,
- imports: [TreeTableModule, CommonModule]
-})
-export class TreeTablePaginatorBasicDemo implements OnInit {
- files!: TreeNode[];
-
- cols!: Column[];
-
- ngOnInit() {
- this.files = [];
- for(let i = 0; i < 50; i++) {
- let node = {
- data:{
- name: 'Item ' + i,
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- },
- children: [
- {
- data: {
- name: 'Item ' + i + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- }
- }
- ]
- };
-
- this.files.push(node);
- }
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/paginatorlocaledoc.ts b/apps/showcase/src/app/showcase/doc/treetable/paginatorlocaledoc.ts
deleted file mode 100644
index 0c8f4b7ebb1..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/paginatorlocaledoc.ts
+++ /dev/null
@@ -1,184 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'paginator-locale-doc',
- template: `
-
-
- Paginator localization information such as page numbers and rows per page options are defined with the
- paginatorLocale property which defaults to the user locale.
-
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class PaginatorLocaleDoc {
- files!: TreeNode[];
-
- cols!: Column[];
-
- loadDemoData() {
- this.files = [];
- for (let i = 0; i < 50; i++) {
- let node = {
- data: {
- name: 'Item ' + i,
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- },
- children: [
- {
- data: {
- name: 'Item ' + i + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- }
- }
- ]
- };
-
- this.files.push(node);
- }
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
-
- html: `
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { TreeTableModule } from 'primeng/treetable';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-paginator-locale-demo',
- templateUrl: './tree-table-paginator-locale-demo.html',
- standalone: true,
- imports: [TreeTableModule, CommonModule]
-})
-export class TreeTablePaginatorLocaleDemo implements OnInit {
- files!: TreeNode[];
-
- cols!: Column[];
-
- ngOnInit() {
- this.files = [];
- for(let i = 0; i < 50; i++) {
- let node = {
- data:{
- name: 'Item ' + i,
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- },
- children: [
- {
- data: {
- name: 'Item ' + i + ' - 0',
- size: Math.floor(Math.random() * 1000) + 1 + 'kb',
- type: 'Type ' + i
- }
- }
- ]
- };
-
- this.files.push(node);
- }
-
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-}`
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/reorderdoc.ts b/apps/showcase/src/app/showcase/doc/treetable/reorderdoc.ts
deleted file mode 100644
index 40ac70d852f..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/reorderdoc.ts
+++ /dev/null
@@ -1,131 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'reorder-doc',
- template: `
-
- Order of the columns can be changed using drag and drop when reorderableColumns is present.
-
-
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class ReorderDoc {
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
- `,
-
- html: `
-
-
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
`,
-
- typescript: `
-import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-reorder-demo',
- templateUrl: './tree-table-reorder-demo.html'
-})
-export class TreeTableReorderDemo implements OnInit{
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' }
- ];
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/sizedoc.ts b/apps/showcase/src/app/showcase/doc/treetable/sizedoc.ts
deleted file mode 100644
index a55776877f4..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/sizedoc.ts
+++ /dev/null
@@ -1,163 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-@Component({
- selector: 'size-doc',
- template: `
-
- In addition to a regular treetable, alternatives with alternative sizes are available. Add p-treetable-sm class to reduce the size of treetable or p-treetable-lg to enlarge it.
-
-
-
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class SizeDoc {
- files!: TreeNode[];
-
- sizes!: any[];
-
- selectedSize: any = '';
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
-
- this.sizes = [
- { name: 'Small', class: 'p-treetable-sm' },
- { name: 'Normal', class: '' },
- { name: 'Large', class: 'p-treetable-lg' }
- ];
- }
-
- code: Code = {
- basic: `
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
- `,
-
- html: `
-
-
-
-
- Name
- Size
- Type
-
-
-
-
-
-
- {{ rowData.name }}
-
- {{ rowData.size }}
- {{ rowData.type }}
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { TreeTableModule } from 'primeng/treetable';
-import { SelectButton } from 'primeng/selectbutton';
-import { FormsModule } from '@angular/forms';
-
-@Component({
- selector: 'tree-table-size-demo',
- templateUrl: './tree-table-size-demo.html',
- standalone: true,
- imports: [TreeTableModule, SelectButton, FormsModule],
- providers: [NodeService]
-})
-export class TreeTableSizeDemo implements OnInit {
- files!: TreeNode[];
-
- sizes!: any[];
-
- selectedSize: any = '';
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.sizes = [
- { name: 'Small', class: 'p-treetable-sm' },
- { name: 'Normal', class: '' },
- { name: 'Large', class: 'p-treetable-lg' }
- ];
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/doc/treetable/templatedoc.ts b/apps/showcase/src/app/showcase/doc/treetable/templatedoc.ts
deleted file mode 100644
index dcf7a15398a..00000000000
--- a/apps/showcase/src/app/showcase/doc/treetable/templatedoc.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { Code } from '@domain/code';
-import { NodeService } from '@service/nodeservice';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'template-doc',
- template: `
-
- Custom content at caption , header , body and summary sections are supported via templating.
-
-
-
-
- File Viewer
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- `,
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class TemplateDoc {
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- loadDemoData() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' },
- { field: '', header: '' }
- ];
- }
- code: Code = {
- basic: `
- File Viewer
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
-
-
-
- `,
-
- html: `
-
- File Viewer
-
-
-
- {{ col.header }}
-
-
-
-
-
-
-
- {{ rowData[col.field] }}
-
-
-
-
-
-
-
-
-
-
-
-
`,
-
- typescript: `import { Component, OnInit } from '@angular/core';
-import { TreeNode } from 'primeng/api';
-import { NodeService } from '@service/nodeservice';
-import { ButtonModule } from 'primeng/button';
-import { TreeTableModule } from 'primeng/treetable';
-import { CommonModule } from '@angular/common';
-
-interface Column {
- field: string;
- header: string;
-}
-
-@Component({
- selector: 'tree-table-template-demo',
- templateUrl: './tree-table-template-demo.html',
- standalone: true,
- imports: [TreeTableModule, ButtonModule, CommonModule],
- providers: [NodeService]
-})
-export class TreeTableTemplateDemo implements OnInit {
- files!: TreeNode[];
-
- cols!: Column[];
-
- constructor(private nodeService: NodeService) {}
-
- ngOnInit() {
- this.nodeService.getFilesystem().then((files) => (this.files = files));
- this.cols = [
- { field: 'name', header: 'Name' },
- { field: 'size', header: 'Size' },
- { field: 'type', header: 'Type' },
- { field: '', header: '' }
- ];
- }
-}`,
-
- service: ['NodeService']
- };
-}
diff --git a/apps/showcase/src/app/showcase/layout/app.component.spec.ts b/apps/showcase/src/app/showcase/layout/app.component.spec.ts
deleted file mode 100644
index f88be82fbd3..00000000000
--- a/apps/showcase/src/app/showcase/layout/app.component.spec.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import { TestBed } from '@angular/core/testing';
-import { RouterTestingModule } from '@angular/router/testing';
-import { AppComponent } from './app.component';
-import { FormsModule } from '@angular/forms';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
-import { HttpClientModule } from '@angular/common/http';
-import { AppConfigService } from '@service/appconfigservice';
-import { AppConfiguratorComponent } from './configurator/app.configurator.component';
-import { AppFooterComponent } from './footer/app.footer.component';
-import { AppMenuComponent } from './menu/app.menu.component';
-import { AppTopBarComponent } from './topbar/app.topbar.component';
-import { JsonService } from '@service/jsonservice';
-import { AutoCompleteModule } from 'primeng/autocomplete';
-
-describe('AppComponent', () => {
- // beforeEach(async(() => {
- // TestBed.configureTestingModule({
- // imports: [RouterTestingModule, FormsModule, BrowserAnimationsModule, AutoCompleteModule, HttpClientModule],
- // declarations: [
- // AppComponent,
- // AppConfiguratorComponent,
- // AppTopBarComponent,
- // AppMenuComponent,
- // AppFooterComponent,
- // ],
- // providers: [JsonService, AppConfigService],
- // }).compileComponents();
- // }));
- // it('should create the app', async(() => {
- // const fixture = TestBed.createComponent(AppComponent);
- // const app = fixture.debugElement.componentInstance;
- // expect(app).toBeTruthy();
- // }));
-});
diff --git a/apps/showcase/src/app/showcase/layout/app.config.server.ts b/apps/showcase/src/app/showcase/layout/app.config.server.ts
deleted file mode 100644
index 8f7476ed93a..00000000000
--- a/apps/showcase/src/app/showcase/layout/app.config.server.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { mergeApplicationConfig, ApplicationConfig } from '@angular/core';
-import { provideServerRendering } from '@angular/platform-server';
-import { appConfig } from './app.config';
-
-const serverConfig: ApplicationConfig = {
- providers: [provideServerRendering()]
-};
-
-export const config = mergeApplicationConfig(appConfig, serverConfig);
diff --git a/apps/showcase/src/app/showcase/layout/app.routes.ts b/apps/showcase/src/app/showcase/layout/app.routes.ts
deleted file mode 100644
index e4c563f6007..00000000000
--- a/apps/showcase/src/app/showcase/layout/app.routes.ts
+++ /dev/null
@@ -1,303 +0,0 @@
-import { Routes } from '@angular/router';
-import { LandingComponent } from '@pages/landing/landing.component';
-import { AppMainComponent } from './app.main.component';
-
-export const routes: Routes = [
- { path: '', component: LandingComponent, pathMatch: 'full' },
- {
- path: '',
- component: AppMainComponent,
- children: [
- { path: '', redirectTo: 'installation', pathMatch: 'full' },
- { path: 'accessibility', redirectTo: 'guides/accessibility', pathMatch: 'full' },
- { path: 'autocomplete', loadChildren: () => import('@pages/autocomplete/routes') },
- {
- path: 'installation',
- loadChildren: () => import('@pages/installation/routes')
- },
- {
- path: 'configuration',
- loadChildren: () => import('@pages/configuration/routes')
- },
- { path: 'playground', loadChildren: () => import('@pages/playground/routes') },
- { path: 'roadmap', loadChildren: () => import('@pages/roadmap/routes') },
- { path: 'team', loadChildren: () => import('@pages/team/routes') },
- { path: 'partners', loadChildren: () => import('@pages/partners/routes') },
- {
- path: 'theming',
- loadChildren: () => import('@pages/theming/routes')
- },
- { path: 'icons', loadChildren: () => import('@pages/icons/routes') },
- {
- path: 'customicons',
- loadChildren: () => import('@pages/customicons/routes')
- },
- { path: 'accordion', loadChildren: () => import('@pages/accordion/routes') },
- { path: 'avatar', loadChildren: () => import('@pages/avatar/routes') },
- { path: 'blockui', loadChildren: () => import('@pages/blockui/routes') },
- { path: 'badge', loadChildren: () => import('@pages/badge/routes') },
- { path: 'breadcrumb', loadChildren: () => import('@pages/breadcrumb/routes') },
- { path: 'button', loadChildren: () => import('@pages/button/routes') },
- {
- path: 'datepicker',
- loadChildren: () => import('@pages/datepicker/routes')
- },
- { path: 'card', loadChildren: () => import('@pages/card/routes') },
- {
- path: 'cascadeselect',
- loadChildren: () => import('@pages/cascadeselect/routes')
- },
- { path: 'carousel', loadChildren: () => import('@pages/carousel/routes') },
- { path: 'chart', loadChildren: () => import('@pages/chart/routes') },
- { path: 'checkbox', loadChildren: () => import('@pages/checkbox/routes') },
- { path: 'chip', loadChildren: () => import('@pages/chip/routes') },
- {
- path: 'colorpicker',
- loadChildren: () => import('@pages/colorpicker/routes')
- },
- { path: 'colors', loadChildren: () => import('@pages/colors/routes') },
- {
- path: 'confirmdialog',
- loadChildren: () => import('@pages/confirmdialog/routes')
- },
- {
- path: 'confirmpopup',
- loadChildren: () => import('@pages/confirmpopup/routes')
- },
- {
- path: 'contextmenu',
- loadChildren: () => import('@pages/contextmenu/routes')
- },
- {
- path: 'dataview',
- loadChildren: () => import('@pages/dataview/routes')
- },
- { path: 'defer', loadChildren: () => import('@pages/defer/routes') },
- { path: 'dialog', loadChildren: () => import('@pages/dialog/routes') },
- { path: 'dock', loadChildren: () => import('@pages/dock/routes') },
- { path: 'divider', loadChildren: () => import('@pages/divider/routes') },
- {
- path: 'dynamicdialog',
- loadChildren: () => import('@pages/dynamicdialog/routes')
- },
- {
- path: 'dragdrop',
- loadChildren: () => import('@pages/dragdrop/routes')
- },
- { path: 'select', loadChildren: () => import('@pages/select/routes') },
- {
- path: 'iconfield',
- loadChildren: () => import('@pages/iconfield/routes')
- },
- {
- path: 'iftalabel',
- loadChildren: () => import('@pages/iftalabel/routes')
- },
- { path: 'editor', loadChildren: () => import('@pages/editor/routes') },
- {
- path: 'floatlabel',
- loadChildren: () => import('@pages/floatlabel/routes')
- },
- {
- path: 'fieldset',
- loadChildren: () => import('@pages/fieldset/routes')
- },
- {
- path: 'fileupload',
- loadChildren: () => import('@pages/fileupload/routes')
- },
- {
- path: 'filterservice',
- loadChildren: () => import('@pages/filterservice/routes')
- },
- {
- path: 'focustrap',
- loadChildren: () => import('@pages/focustrap/routes')
- },
- {
- path: 'galleria',
- loadChildren: () => import('@pages/galleria/routes')
- },
- { path: 'image', loadChildren: () => import('@pages/image/routes') },
- { path: 'inplace', loadChildren: () => import('@pages/inplace/routes') },
- { path: 'fluid', loadChildren: () => import('@pages/fluid/routes') },
- {
- path: 'metergroup',
- loadChildren: () => import('@pages/metergroup/routes')
- },
- {
- path: 'inputmask',
- loadChildren: () => import('@pages/inputmask/routes')
- },
- {
- path: 'inputnumber',
- loadChildren: () => import('@pages/inputnumber/routes')
- },
- {
- path: 'inputotp',
- loadChildren: () => import('@pages/inputotp/routes')
- },
- {
- path: 'toggleswitch',
- loadChildren: () => import('@pages/toggleswitch/routes')
- },
- {
- path: 'inputtext',
- loadChildren: () => import('@pages/inputtext/routes')
- },
- {
- path: 'inputgroup',
- loadChildren: () => import('@pages/inputgroup/routes')
- },
- {
- path: 'textarea',
- loadChildren: () => import('@pages/textarea/routes')
- },
- { path: 'knob', loadChildren: () => import('@pages/knob/routes') },
- {
- path: 'keyfilter',
- loadChildren: () => import('@pages/keyfilter/routes')
- },
- { path: 'listbox', loadChildren: () => import('@pages/listbox/routes') },
- { path: 'lts', loadChildren: () => import('@pages/lts/routes') },
- {
- path: 'megamenu',
- loadChildren: () => import('@pages/megamenu/routes')
- },
- { path: 'menu', loadChildren: () => import('@pages/menu/routes') },
- { path: 'menubar', loadChildren: () => import('@pages/menubar/routes') },
- { path: 'message', loadChildren: () => import('@pages/message/routes') },
- {
- path: 'multiselect',
- loadChildren: () => import('@pages/multiselect/routes')
- },
- {
- path: 'orderlist',
- loadChildren: () => import('@pages/orderlist/routes')
- },
- {
- path: 'organizationchart',
- loadChildren: () => import('@pages/organizationchart/routes')
- },
- { path: 'popover', loadChildren: () => import('@pages/popover/routes') },
- {
- path: 'paginator',
- loadChildren: () => import('@pages/paginator/routes')
- },
- { path: 'panel', loadChildren: () => import('@pages/panel/routes') },
- {
- path: 'panelmenu',
- loadChildren: () => import('@pages/panelmenu/routes')
- },
- {
- path: 'password',
- loadChildren: () => import('@pages/password/routes')
- },
- {
- path: 'picklist',
- loadChildren: () => import('@pages/picklist/routes')
- },
- {
- path: 'progressbar',
- loadChildren: () => import('@pages/progressbar/routes')
- },
- {
- path: 'progressspinner',
- loadChildren: () => import('@pages/progressspinner/routes')
- },
- {
- path: 'radiobutton',
- loadChildren: () => import('@pages/radiobutton/routes')
- },
- { path: 'rating', loadChildren: () => import('@pages/rating/routes') },
- { path: 'ripple', loadChildren: () => import('@pages/ripple/routes') },
- {
- path: 'scrollpanel',
- loadChildren: () => import('@pages/scrollpanel/routes')
- },
- {
- path: 'scrolltop',
- loadChildren: () => import('@pages/scrolltop/routes')
- },
- {
- path: 'selectbutton',
- loadChildren: () => import('@pages/selectbutton/routes')
- },
- { path: 'drawer', loadChildren: () => import('@pages/drawer/routes') },
- {
- path: 'skeleton',
- loadChildren: () => import('@pages/skeleton/routes')
- },
- { path: 'slider', loadChildren: () => import('@pages/slider/routes') },
- {
- path: 'speeddial',
- loadChildren: () => import('@pages/speeddial/routes')
- },
- {
- path: 'splitbutton',
- loadChildren: () => import('@pages/splitbutton/routes')
- },
- {
- path: 'splitter',
- loadChildren: () => import('@pages/splitter/routes')
- },
- { path: 'stepper', loadChildren: () => import('@pages/stepper/routes') },
- { path: 'steps', loadChildren: () => import('@pages/steps/routes') },
- { path: 'support', loadChildren: () => import('@pages/support/routes') },
- {
- path: 'styleclass',
- loadChildren: () => import('@pages/styleclass/routes')
- },
- { path: 'tag', loadChildren: () => import('@pages/tag/routes') },
- { path: 'table', loadChildren: () => import('@pages/table/routes') },
- { path: 'tabs', loadChildren: () => import('@pages/tabs/routes') },
- {
- path: 'tailwind',
- loadChildren: () => import('@pages/tailwind/routes')
- },
- {
- path: 'terminal',
- loadChildren: () => import('@pages/terminal/routes')
- },
- {
- path: 'tieredmenu',
- loadChildren: () => import('@pages/tieredmenu/routes')
- },
- {
- path: 'timeline',
- loadChildren: () => import('@pages/timeline/routes')
- },
- { path: 'toast', loadChildren: () => import('@pages/toast/routes') },
- {
- path: 'togglebutton',
- loadChildren: () => import('@pages/togglebutton/routes')
- },
- { path: 'toolbar', loadChildren: () => import('@pages/toolbar/routes') },
- { path: 'tooltip', loadChildren: () => import('@pages/tooltip/routes') },
- { path: 'tree', loadChildren: () => import('@pages/tree/routes') },
- {
- path: 'treeselect',
- loadChildren: () => import('@pages/treeselect/routes')
- },
- {
- path: 'treetable',
- loadChildren: () => import('@pages/treetable/routes')
- },
- {
- path: 'virtualscroller',
- loadChildren: () => import('@pages/scroller/routes')
- },
- { path: 'uikit', loadChildren: () => import('@pages/uikit/routes') },
- { path: 'autofocus', loadChildren: () => import('@pages/autofocus/routes') },
- { path: 'overlay', loadChildren: () => import('@pages/overlay/routes') },
- {
- path: 'animateonscroll',
- loadChildren: () => import('@pages/animateonscroll/routes')
- },
- { path: 'templates', loadChildren: () => import('@pages/templates/templates.module').then((m) => m.TemplatesModule) },
- { path: 'guides', loadChildren: () => import('@pages/guides/guides.module').then((m) => m.GuidesModule) }
- ]
- },
- { path: 'notfound', loadChildren: () => import('@pages/notfound/routes') },
- { path: '**', redirectTo: '/notfound' }
-];
diff --git a/apps/showcase/src/app/showcase/layout/doc/codeeditor/index.ts b/apps/showcase/src/app/showcase/layout/doc/codeeditor/index.ts
deleted file mode 100644
index 5aaf4a87a80..00000000000
--- a/apps/showcase/src/app/showcase/layout/doc/codeeditor/index.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import sdk from '@stackblitz/sdk';
-import { Props, getAngularApp } from './templates';
-
-const useCodeSandbox = (props: Props) => {
- const { files } = getAngularApp(props);
-
- files['sandbox.config.json'] = {
- content: {
- infiniteLoopProtection: false,
- template: 'node',
- container: {
- node: '16'
- }
- }
- };
-
- fetch('https://codesandbox.io/api/v1/sandboxes/define?json=1', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- Accept: 'application/json'
- },
- body: JSON.stringify({ files: files, sourceFileName: 'src/app/app.component.ts' })
- })
- .then((response) => response.json())
- .then((data) => typeof window !== undefined && window.open(`https://codesandbox.io/s/${data.sandbox_id}`, '_blank'));
-};
-
-const useStackBlitz = (props: Props) => {
- const { files, title } = getAngularApp(props);
-
- let _files = {};
-
- Object.entries(files).forEach(([k, v]) => (_files[`${k}`] = typeof v.content === 'object' ? JSON.stringify(v.content, null, 2) : v.content));
-
- const project = {
- title: title,
- template: 'node',
- description:
- 'PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock, which has 370+ ready to use UI blocks to build spectacular applications in no time.',
- files: _files
- };
-
- const options = {
- newWindow: true,
- openFile: 'src/app/app.component.html'
- };
- // @ts-ignore
- sdk.openProject(project, options);
-};
-
-export { useCodeSandbox, useStackBlitz };
diff --git a/apps/showcase/src/app/showcase/pages/accordion/index.ts b/apps/showcase/src/app/showcase/pages/accordion/index.ts
deleted file mode 100755
index 4a84b71e08e..00000000000
--- a/apps/showcase/src/app/showcase/pages/accordion/index.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/accordion/accessibilitydoc';
-import { BasicDoc } from '@doc/accordion/basicdoc';
-import { ControlledDoc } from '@doc/accordion/controlleddoc';
-import { DisabledDoc } from '@doc/accordion/disableddoc';
-import { ImportDoc } from '@doc/accordion/importdoc';
-import { MultipleDoc } from '@doc/accordion/multipledoc';
-import { TemplateDoc } from '@doc/accordion/templatedoc';
-import { AccordionDocModule } from '@doc/accordion/accordiondoc.module';
-import { DynamicDoc } from '@doc/accordion/dynamicdoc';
-
-@Component({
- template: ` `,
- imports: [AccordionDocModule],
- standalone: true
-})
-export class AccordionDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/animateonscroll/index.ts b/apps/showcase/src/app/showcase/pages/animateonscroll/index.ts
deleted file mode 100755
index 469c44cc9e6..00000000000
--- a/apps/showcase/src/app/showcase/pages/animateonscroll/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/animateonscroll/importdoc';
-import { BasicDoc } from '@doc/animateonscroll/basicdoc';
-import { AccessibilityDoc } from '@doc/animateonscroll/accessibilitydoc';
-import { AnimateOnScrollDocModule } from '@doc/animateonscroll/animateonscrolldoc.module';
-
-@Component({
- template: ` `,
- imports: [AnimateOnScrollDocModule],
- standalone: true
-})
-export class AnimateOnScrollDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/autocomplete/index.ts b/apps/showcase/src/app/showcase/pages/autocomplete/index.ts
deleted file mode 100755
index 706629e5d6e..00000000000
--- a/apps/showcase/src/app/showcase/pages/autocomplete/index.ts
+++ /dev/null
@@ -1,122 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { BasicDoc } from '@doc/autocomplete/basicdoc';
-import { ImportDoc } from '@doc/autocomplete/importdoc';
-import { AutoCompleteDocModule } from '@doc/autocomplete/autocompletedoc.module';
-import { ReactiveFormsDoc } from '@doc/autocomplete/reactiveformsdoc';
-import { DropdownDoc } from '@doc/autocomplete/dropdowndoc';
-import { ObjectsDoc } from '@doc/autocomplete/objectsdoc';
-import { TemplateDoc } from '@doc/autocomplete/templatedoc';
-import { GroupDoc } from '@doc/autocomplete/groupdoc';
-import { ForceSelectionDoc } from '@doc/autocomplete/forceselectiondoc';
-import { VirtualScrollDoc } from '@doc/autocomplete/virtualscrolldoc';
-import { MultipleDoc } from '@doc/autocomplete/multipledoc';
-import { FloatLabelDoc } from '@doc/autocomplete/floatlabeldoc';
-import { FilledDoc } from '@doc/autocomplete/filleddoc';
-import { DisabledDoc } from '@doc/autocomplete/disableddoc';
-import { InvalidDoc } from '@doc/autocomplete/invaliddoc';
-import { AccessibilityDoc } from '@doc/autocomplete/accessibilitydoc';
-import { IftaLabelDoc } from '@doc/autocomplete/iftalabeldoc';
-import { SizesDoc } from '@doc/autocomplete/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [AutoCompleteDocModule],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class AutoCompleteDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'dropdown',
- label: 'Dropdown',
- component: DropdownDoc
- },
- {
- id: 'objects',
- label: 'Objects',
- component: ObjectsDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'forceselection',
- label: 'Force Selection',
- component: ForceSelectionDoc
- },
- {
- id: 'virtualscroll',
- label: 'Virtual Scroll',
- component: VirtualScrollDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/autofocus/index.ts b/apps/showcase/src/app/showcase/pages/autofocus/index.ts
deleted file mode 100644
index ebcf6f6067d..00000000000
--- a/apps/showcase/src/app/showcase/pages/autofocus/index.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/autofocus/importdoc';
-import { BasicDoc } from '@doc/autofocus/basicdoc';
-import { AutoFocusDocModule } from '@doc/autofocus/autofocusdoc.module';
-
-@Component({
- standalone: true,
- imports: [AutoFocusDocModule],
- template: ` `
-})
-export class AutoFocusDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/avatar/index.ts b/apps/showcase/src/app/showcase/pages/avatar/index.ts
deleted file mode 100755
index 8137c78f9c5..00000000000
--- a/apps/showcase/src/app/showcase/pages/avatar/index.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/avatar/accessibilitydoc';
-import { AvatarDocModule } from '@doc/avatar/avatardoc.module';
-import { GroupDoc } from '@doc/avatar/avatargroupdoc';
-import { IconDoc } from '@doc/avatar/icondoc';
-import { ImageDoc } from '@doc/avatar/imagedoc';
-import { ImportDoc } from '@doc/avatar/importdoc';
-import { LabelDoc } from '@doc/avatar/labeldoc';
-import { ShapeDoc } from '@doc/avatar/shapedoc';
-
-@Component({
- standalone: true,
- imports: [AvatarDocModule],
- template: ` `
-})
-export class AvatarDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'label',
- label: 'Label',
- component: LabelDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'image',
- label: 'Image',
- component: ImageDoc
- },
- {
- id: 'avatargroup',
- label: 'AvatarGroup',
- component: GroupDoc
- },
- {
- id: 'shape',
- label: 'Shape',
- component: ShapeDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/badge/index.ts b/apps/showcase/src/app/showcase/pages/badge/index.ts
deleted file mode 100644
index be936008509..00000000000
--- a/apps/showcase/src/app/showcase/pages/badge/index.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/badge/importdoc';
-import { SizeDoc } from '@doc/badge/sizedoc';
-import { BasicDoc } from '@doc/badge/basicdoc';
-import { ButtonDoc } from '@doc/badge/buttondoc';
-import { DirectiveDoc } from '@doc/badge/directivedoc';
-import { SeverityDoc } from '@doc/badge/severitydoc';
-import { AccessibilityDoc } from '@doc/badge/accessibilitydoc';
-import { OverlayDoc } from '@doc/badge/overlaydoc';
-import { BadgeDocModule } from '@doc/badge/badgedoc.module';
-
-@Component({
- standalone: true,
- imports: [BadgeDocModule],
- template: ` `
-})
-export class BadgeDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'directive',
- label: 'Directive',
- component: DirectiveDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'overlay',
- label: 'Overlay',
- component: OverlayDoc
- },
- {
- id: 'button',
- label: 'Button',
- component: ButtonDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/blockui/index.ts b/apps/showcase/src/app/showcase/pages/blockui/index.ts
deleted file mode 100755
index 62eddef562d..00000000000
--- a/apps/showcase/src/app/showcase/pages/blockui/index.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/blockui/accessibilitydoc';
-import { BasicDoc } from '@doc/blockui/basicdoc';
-import { DocumentDoc } from '@doc/blockui/documentdoc';
-import { ImportDoc } from '@doc/blockui/importdoc';
-import { BlockUIDocModule } from '@doc/blockui/blockuidoc.module';
-
-@Component({
- standalone: true,
- imports: [BlockUIDocModule],
- template: ` `,
- styles: [
- `
- :host ::ng-deep button {
- margin-right: 0.25em;
- }
-
- :host ::ng-deep .p-overlay-mask-enter .pi.pi-lock {
- animation: enter 150ms forwards;
- }
-
- :host ::ng-deep .p-overlay-mask-leave .pi.pi-lock {
- animation: leave 150ms forwards;
- }
-
- @keyframes enter {
- from {
- color: transparent;
- }
- to {
- color: var(--text-color);
- }
- }
-
- @keyframes leave {
- from {
- color: var(--text-color);
- }
- to {
- color: transparent;
- }
- }
- `
- ]
-})
-export class BlockUIDemo {
- blockedPanel: boolean = false;
-
- blockedDocument: boolean = false;
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'document',
- label: 'Document',
- component: DocumentDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-
- blockDocument() {
- this.blockedDocument = true;
- setTimeout(() => {
- this.blockedDocument = false;
- }, 3000);
- }
-}
diff --git a/apps/showcase/src/app/showcase/pages/breadcrumb/index.ts b/apps/showcase/src/app/showcase/pages/breadcrumb/index.ts
deleted file mode 100755
index e7e7a684dbc..00000000000
--- a/apps/showcase/src/app/showcase/pages/breadcrumb/index.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/breadcrumb/basicdoc';
-import { ImportDoc } from '@doc/breadcrumb/importdoc';
-import { AccessibilityDoc } from '@doc/breadcrumb/accessibilitydoc';
-import { TemplateDoc } from '@doc/breadcrumb/templatedoc';
-import { RouterDoc } from '@doc/breadcrumb/routerdoc';
-import { BreadcrumbDocModule } from '@doc/breadcrumb/breadcrumbdoc.module';
-
-@Component({
- standalone: true,
- imports: [BreadcrumbDocModule],
- template: `
-
- `
-})
-export class BreadcrumbDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/button/index.ts b/apps/showcase/src/app/showcase/pages/button/index.ts
deleted file mode 100755
index 3835a0f50ab..00000000000
--- a/apps/showcase/src/app/showcase/pages/button/index.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/button/accessibilitydoc';
-import { BadgeDoc } from '@doc/button/badgedoc';
-import { BasicDoc } from '@doc/button/basicdoc';
-import { DirectiveDoc } from '@doc/button/directivedoc';
-import { DisabledDoc } from '@doc/button/disableddoc';
-import { IconsDoc } from '@doc/button/iconsdoc';
-import { IconOnlyDoc } from '@doc/button/iconsonlydoc';
-import { ImportDoc } from '@doc/button/importdoc';
-import { LinkDoc } from '@doc/button/linkdoc';
-import { LoadingDoc } from '@doc/button/loadingdoc';
-import { OutlinedDoc } from '@doc/button/outlineddoc';
-import { RaisedDoc } from '@doc/button/raiseddoc';
-import { RaisedTextDoc } from '@doc/button/raisedtextdoc';
-import { RoundedDoc } from '@doc/button/roundeddoc';
-import { SeverityDoc } from '@doc/button/severitydoc';
-import { SizesDoc } from '@doc/button/sizesdoc';
-import { TemplateDoc } from '@doc/button/templatedoc';
-import { TextDoc } from '@doc/button/textdoc';
-import { ButtonGroupDoc } from '@doc/button/buttongroupdoc';
-import { ButtonDocModule } from '@doc/button/buttondoc.module';
-
-@Component({
- standalone: true,
- imports: [ButtonDocModule],
- template: `
-
- `
-})
-export class ButtonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'directive',
- label: 'Directive',
- component: DirectiveDoc
- },
- {
- id: 'link',
- label: 'Link',
- component: LinkDoc
- },
- {
- id: 'icons',
- label: 'Icons',
- component: IconsDoc
- },
- {
- id: 'loading',
- label: 'Loading',
- component: LoadingDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'raised',
- label: 'Raised',
- component: RaisedDoc
- },
- {
- id: 'rounded',
- label: 'Rounded',
- component: RoundedDoc
- },
- {
- id: 'text',
- label: 'Text',
- component: TextDoc
- },
- {
- id: 'raisedtext',
- label: 'Raised Text',
- component: RaisedTextDoc
- },
- {
- id: 'outlined',
- label: 'Outlined',
- component: OutlinedDoc
- },
- {
- id: 'icononly',
- label: 'Icon Only',
- component: IconOnlyDoc
- },
- {
- id: 'badge',
- label: 'Badge',
- component: BadgeDoc
- },
- {
- id: 'buttongroup',
- label: 'Button Group',
- component: ButtonGroupDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/card/index.ts b/apps/showcase/src/app/showcase/pages/card/index.ts
deleted file mode 100755
index 6e74e4b5dee..00000000000
--- a/apps/showcase/src/app/showcase/pages/card/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/card/accessibilitydoc';
-import { AdvancedDoc } from '@doc/card/advanceddoc';
-import { BasicDoc } from '@doc/card/basicdoc';
-import { ImportDoc } from '@doc/card/importdoc';
-import { CardDocModule } from '@doc/card/carddoc.module';
-
-@Component({
- standalone: true,
- imports: [CardDocModule],
- template: ` `
-})
-export class CardDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'advanced',
- label: 'Advanced',
- component: AdvancedDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/carousel/index.ts b/apps/showcase/src/app/showcase/pages/carousel/index.ts
deleted file mode 100755
index cadbdda2626..00000000000
--- a/apps/showcase/src/app/showcase/pages/carousel/index.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/carousel/importdoc';
-import { BasicDoc } from '@doc/carousel/basicdoc';
-import { CircularDoc } from '@doc/carousel/circulardoc';
-import { NumScrollDoc } from '@doc/carousel/numscrolldoc';
-import { ResponsiveDoc } from '@doc/carousel/responsivedoc';
-import { VerticalDoc } from '@doc/carousel/verticaldoc';
-import { TemplateDoc } from '@doc/carousel/templatedoc';
-import { AccessibilityDoc } from '@doc/carousel/accessibilitydoc';
-import { CarouselDocModule } from '@doc/carousel/carouseldoc.module';
-
-@Component({
- standalone: true,
- imports: [CarouselDocModule],
- template: ` `
- // styles: [
- // `
- // :host ::ng-deep {
- // .product-item {
- // .product-item-content {
- // border: 1px solid var(--surface-d);
- // border-radius: 3px;
- // margin: 0.3rem;
- // text-align: center;
- // padding: 2rem 0;
- // }
- //
- // .product-image {
- // width: 50%;
- // box-shadow:
- // 0 3px 6px rgba(0, 0, 0, 0.16),
- // 0 3px 6px rgba(0, 0, 0, 0.23);
- // }
- // }
- // }
- // `,
- // ],
-})
-export class CarouselDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'circular',
- label: 'Circular',
- component: CircularDoc
- },
- {
- id: 'responsive',
- label: 'Responsive',
- component: ResponsiveDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/cascadeselect/index.ts b/apps/showcase/src/app/showcase/pages/cascadeselect/index.ts
deleted file mode 100644
index 0ea16343557..00000000000
--- a/apps/showcase/src/app/showcase/pages/cascadeselect/index.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/cascadeselect/accessibilitydoc';
-import { BasicDoc } from '@doc/cascadeselect/basicdoc';
-import { ImportDoc } from '@doc/cascadeselect/importdoc';
-import { ReactiveFormsDoc } from '@doc/cascadeselect/reactiveformsdoc';
-import { InvalidDoc } from '@doc/cascadeselect/invaliddoc';
-import { FloatLabelDoc } from '@doc/cascadeselect/floatlabeldoc';
-import { TemplateDoc } from '@doc/cascadeselect/templatedoc';
-import { DisabledDoc } from '@doc/cascadeselect/disableddoc';
-import { FilledDoc } from '@doc/cascadeselect/filleddoc';
-import { LoadingDoc } from '@doc/cascadeselect/loadingdoc';
-import { CascadeSelectDocModule } from '@doc/cascadeselect/cascasdeselectdoc.module';
-import { IftaLabelDoc } from '@doc/cascadeselect/iftalabeldoc';
-import { SizesDoc } from '@doc/cascadeselect/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [CascadeSelectDocModule],
- template: ` `
-})
-export class CascadeSelectDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'loading',
- label: 'Loading State',
- component: LoadingDoc
- },
- {
- id: 'float-label',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'ifta-label',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/chart/index.ts b/apps/showcase/src/app/showcase/pages/chart/index.ts
deleted file mode 100755
index 071e9c722ff..00000000000
--- a/apps/showcase/src/app/showcase/pages/chart/index.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { Component } from '@angular/core';
-import { ChartjsDoc } from '@doc/chart/chartjsdoc';
-import { ImportDoc } from '@doc/chart/importdoc';
-import { BasicDoc } from '@doc/chart/basicdoc';
-import { PieDoc } from '@doc/chart/piedoc';
-import { DoughnutDoc } from '@doc/chart/doughnutdoc';
-import { ComboDoc } from '@doc/chart/combodoc';
-import { HorizontalBarDoc } from '@doc/chart/horizontalbardoc';
-import { LineDoc } from '@doc/chart/linedoc';
-import { MultiAxisDoc } from '@doc/chart/multiaxisdoc';
-import { PolarAreaDoc } from '@doc/chart/polarareadoc';
-import { RadarDoc } from '@doc/chart/radardoc';
-import { StackedBarDoc } from '@doc/chart/stackedbardoc';
-import { VerticalBarDoc } from '@doc/chart/verticalbardoc';
-import { LineStyleDoc } from '@doc/chart/linestyledoc';
-import { PropsDoc } from '@doc/chart/propsdoc';
-import { MethodsDoc } from '@doc/chart/methodsdoc';
-import { AccessibilityDoc } from '@doc/chart/accessibilitydoc';
-import { ChartDocModule } from '@doc/chart/chartdoc.module';
-
-@Component({
- standalone: true,
- imports: [ChartDocModule],
- template: ` `
-})
-export class ChartDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'chartjs',
- label: 'Chart.js',
- component: ChartjsDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'pie',
- label: 'Pie',
- component: PieDoc
- },
- {
- id: 'doughnut',
- label: 'Doughnut',
- component: DoughnutDoc
- },
- {
- id: 'verticalbar',
- label: 'Vertical Bar',
- component: VerticalBarDoc
- },
- {
- id: 'horizontalbar',
- label: 'Horizontal Bar',
- component: HorizontalBarDoc
- },
- {
- id: 'stackedbar',
- label: 'Stacked Bar',
- component: StackedBarDoc
- },
- {
- id: 'line',
- label: 'Line',
- component: LineDoc
- },
- {
- id: 'multiaxis',
- label: 'MultiAxis',
- component: MultiAxisDoc
- },
- {
- id: 'linestyles',
- label: 'Line Styles',
- component: LineStyleDoc
- },
- {
- id: 'polararea',
- label: 'Polar Area',
- component: PolarAreaDoc
- },
- {
- id: 'Radar',
- label: 'Radar',
- component: RadarDoc
- },
- {
- id: 'combo',
- label: 'Combo',
- component: ComboDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-
- apiDocs = [
- {
- id: 'properties',
- label: 'Properties',
- component: PropsDoc
- },
- {
- id: 'methods',
- label: 'Methods',
- component: MethodsDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/checkbox/index.ts b/apps/showcase/src/app/showcase/pages/checkbox/index.ts
deleted file mode 100755
index 7578aaace13..00000000000
--- a/apps/showcase/src/app/showcase/pages/checkbox/index.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/checkbox/basicdoc';
-import { ImportDoc } from '@doc/checkbox/importdoc';
-import { MultipleDoc } from '@doc/checkbox/multipledoc';
-import { DynamicDoc } from '@doc/checkbox/dynamicdoc';
-import { DisabledDoc } from '@doc/checkbox/disableddoc';
-import { InvalidDoc } from '@doc/checkbox/invaliddoc';
-import { AccessibilityDoc } from '@doc/checkbox/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/checkbox/reactiveformsdoc';
-import { FilledDoc } from '@doc/checkbox/filleddoc';
-import { IndeterminateDoc } from '@doc/checkbox/indeterminatedoc';
-import { CheckboxDocModule } from '@doc/checkbox/checkboxdoc.module';
-import { SizesDoc } from '@doc/checkbox/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [CheckboxDocModule],
- template: ` `
-})
-export class CheckboxDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'indeterminate',
- label: 'Indeterminate',
- component: IndeterminateDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: MultipleDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/chip/index.ts b/apps/showcase/src/app/showcase/pages/chip/index.ts
deleted file mode 100644
index 42bf4aff765..00000000000
--- a/apps/showcase/src/app/showcase/pages/chip/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { IconDoc } from '@doc/chip/icondoc';
-import { ImageDoc } from '@doc/chip/imagedoc';
-import { ImportDoc } from '@doc/chip/importdoc';
-import { TemplateDoc } from '@doc/chip/templatedoc';
-import { BasicDoc } from '@doc/chip/basicdoc';
-import { AccessibilityDoc } from '@doc/chip/accessibilitydoc';
-import { ChipDocModule } from '@doc/chip/chipdoc.module';
-
-@Component({
- standalone: true,
- imports: [ChipDocModule],
- template: ` `
-})
-export class ChipDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'image',
- label: 'Image',
- component: ImageDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/colorpicker/index.ts b/apps/showcase/src/app/showcase/pages/colorpicker/index.ts
deleted file mode 100755
index 69df7a126a8..00000000000
--- a/apps/showcase/src/app/showcase/pages/colorpicker/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { InlineDoc } from '@doc/colorpicker/inlinedoc';
-import { BasicDoc } from '@doc/colorpicker/basicdoc';
-import { ImportDoc } from '@doc/colorpicker/importdoc';
-import { FormatDoc } from '@doc/colorpicker/formatdoc';
-import { DisabledDoc } from '@doc/colorpicker/disableddoc';
-import { AccessibilityDoc } from '@doc/colorpicker/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/colorpicker/reactiveformsdoc';
-import { ColorPickerDocModule } from '@doc/colorpicker/colorpickerdoc.module';
-
-@Component({
- standalone: true,
- imports: [ColorPickerDocModule],
- template: ` `
-})
-export class ColorPickerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'inline',
- label: 'Inline',
- component: InlineDoc
- },
- {
- id: 'format',
- label: 'Format',
- component: FormatDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/colors/index.ts b/apps/showcase/src/app/showcase/pages/colors/index.ts
deleted file mode 100755
index 6b12e629c17..00000000000
--- a/apps/showcase/src/app/showcase/pages/colors/index.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Component } from '@angular/core';
-import { OverviewDoc } from '@doc/colors/overviewdoc';
-import { PaletteDoc } from '@doc/colors/palettedoc';
-import { SurfacesDoc } from '@doc/colors/surfacesdoc';
-import { ColorsDocModule } from '@doc/colors/colorsdoc.module';
-
-@Component({
- standalone: true,
- imports: [ColorsDocModule],
- template: ` `
-})
-export class ColorsDemo {
- docs = [
- {
- id: 'overview',
- label: 'Overview',
- component: OverviewDoc
- },
- {
- id: 'surfaces',
- label: 'Surfaces',
- component: SurfacesDoc
- },
- {
- id: 'palette',
- label: 'Palette',
- component: PaletteDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/configuration/index.ts b/apps/showcase/src/app/showcase/pages/configuration/index.ts
deleted file mode 100644
index cb2b26935a8..00000000000
--- a/apps/showcase/src/app/showcase/pages/configuration/index.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { Component } from '@angular/core';
-import { ConfigurationDocModule } from '@doc/configuration/configurationdoc.module';
-import { CspDoc } from '@doc/configuration/cspdoc';
-import { FilterModeDoc } from '@doc/configuration/filtermodedoc';
-import { ImportDoc } from '@doc/configuration/importdoc';
-import { ApiDoc } from '@doc/configuration/locale/apidoc';
-import { NgxTranslateDoc } from '@doc/configuration/locale/ngx-translatedoc';
-import { RepositoryDoc } from '@doc/configuration/locale/repositorydoc';
-import { SetLocaleDoc } from '@doc/configuration/locale/setlocaledoc';
-import { RippleDoc } from '@doc/configuration/rippledoc';
-import { ThemingDoc } from '@doc/configuration/themingdoc';
-import { ZIndexDoc } from '@doc/configuration/zindexdoc';
-
-@Component({
- selector: 'configuration',
- standalone: true,
- imports: [CommonModule, ConfigurationDocModule],
- template: ` `
-})
-export class ConfigurationDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'theming',
- label: 'Theming',
- component: ThemingDoc
- },
- {
- id: 'ripple',
- label: 'Ripple',
- component: RippleDoc
- },
- {
- id: 'zIndex',
- label: 'ZIndex',
- component: ZIndexDoc
- },
- {
- id: 'csp',
- label: 'CSP',
- children: [
- {
- id: 'csp-nonce',
- label: 'Nonce',
- component: CspDoc
- }
- ]
- },
- {
- id: 'filter-mode',
- label: 'Filter Mode',
- component: FilterModeDoc
- },
- {
- id: 'locale',
- label: 'Locale',
- children: [
- {
- id: 'set-locale',
- label: 'Set Locale',
- component: SetLocaleDoc
- },
- {
- id: 'ngx-translate',
- label: 'Ngx-translate',
- component: NgxTranslateDoc
- },
- {
- id: 'repository',
- label: 'Repository',
- component: RepositoryDoc
- },
- {
- id: 'api',
- label: 'API',
- component: ApiDoc
- }
- ]
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/confirmdialog/index.ts b/apps/showcase/src/app/showcase/pages/confirmdialog/index.ts
deleted file mode 100755
index 31dce32da13..00000000000
--- a/apps/showcase/src/app/showcase/pages/confirmdialog/index.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/confirmdialog/basicdoc';
-import { ImportDoc } from '@doc/confirmdialog/importdoc';
-import { PositionDoc } from '@doc/confirmdialog/positiondoc';
-import { TemplateDoc } from '@doc/confirmdialog/templatedoc';
-import { HeadlessDoc } from '@doc/confirmdialog/headlessdoc';
-import { AccessibilityDoc } from '@doc/confirmdialog/accessibilitydoc';
-import { ConfirmDialogDocModule } from '@doc/confirmdialog/confirmdialogdoc.module';
-
-@Component({
- standalone: true,
- imports: [ConfirmDialogDocModule],
- template: `
-
- `
-})
-export class ConfirmDialogDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/confirmpopup/index.ts b/apps/showcase/src/app/showcase/pages/confirmpopup/index.ts
deleted file mode 100755
index d5ad1dfb1d6..00000000000
--- a/apps/showcase/src/app/showcase/pages/confirmpopup/index.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/confirmpopup/basicdoc';
-import { ImportDoc } from '@doc/confirmpopup/importdoc';
-import { TemplateDoc } from '@doc/confirmpopup/templatedoc';
-import { AccessibilityDoc } from '@doc/confirmpopup/accessibilitydoc';
-import { HeadlessDoc } from '@doc/confirmpopup/headlessdoc';
-import { ConfirmPopupDocModule } from '@doc/confirmpopup/confirmpopupdoc.module';
-
-@Component({
- standalone: true,
- imports: [ConfirmPopupDocModule],
- template: `
-
- `
-})
-export class ConfirmPopupDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/contextmenu/index.ts b/apps/showcase/src/app/showcase/pages/contextmenu/index.ts
deleted file mode 100755
index 616727b26cd..00000000000
--- a/apps/showcase/src/app/showcase/pages/contextmenu/index.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/contextmenu/accessibilitydoc';
-import { BasicDoc } from '@doc/contextmenu/basicdoc';
-import { CommandDoc } from '@doc/contextmenu/commanddoc';
-import { DocumentDoc } from '@doc/contextmenu/documentdoc';
-import { ImportDoc } from '@doc/contextmenu/importdoc';
-import { RouterDoc } from '@doc/contextmenu/routerdoc';
-import { TableDoc } from '@doc/contextmenu/tabledoc';
-import { TemplateDoc } from '@doc/contextmenu/templatedoc';
-import { ContextMenuDocModule } from '@doc/contextmenu/contextmenudoc.module';
-
-@Component({
- standalone: true,
- imports: [ContextMenuDocModule],
- template: `
-
- `
-})
-export class ContextMenuDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'document',
- label: 'Document',
- component: DocumentDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
- {
- id: 'table',
- label: 'Table',
- component: TableDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/customicons/index.ts b/apps/showcase/src/app/showcase/pages/customicons/index.ts
deleted file mode 100755
index 2e851e0ab79..00000000000
--- a/apps/showcase/src/app/showcase/pages/customicons/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { FontAwesomeDoc } from '@doc/customicons/fontawesomedoc';
-import { ImageDoc } from '@doc/customicons/imagedoc';
-import { MaterialDoc } from '@doc/customicons/materialdoc';
-import { SVGDoc } from '@doc/customicons/svgdoc';
-import { CustomIconsDocModule } from '@doc/customicons/customicons.module';
-
-@Component({
- standalone: true,
- imports: [CustomIconsDocModule],
- template: ` `
-})
-export class CustomIconsDemo {
- docs = [
- {
- id: 'material',
- label: 'Material',
- component: MaterialDoc
- },
- {
- id: 'fontawesome',
- label: 'Font Awesome',
- component: FontAwesomeDoc
- },
- {
- id: 'svg',
- label: 'SVG',
- component: SVGDoc
- },
- {
- id: 'image',
- label: 'Image',
- component: ImageDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/dataview/index.ts b/apps/showcase/src/app/showcase/pages/dataview/index.ts
deleted file mode 100755
index c7ac2b22f1f..00000000000
--- a/apps/showcase/src/app/showcase/pages/dataview/index.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/dataview/basicdoc';
-import { ImportDoc } from '@doc/dataview/importdoc';
-import { LayoutDoc } from '@doc/dataview/layoutdoc';
-import { PaginationDoc } from '@doc/dataview/paginationdoc';
-import { SortingDoc } from '@doc/dataview/sortingdoc';
-import { AccessibilityDoc } from '@doc/dataview/accessibilitydoc';
-import { LoadingDoc } from '@doc/dataview/loadingdoc';
-import { DataViewDocModule } from '@doc/dataview/dataviewdoc.module';
-
-@Component({
- standalone: true,
- imports: [DataViewDocModule],
- template: `
-
- `,
- styleUrls: ['./dataviewdemo.scss']
-})
-export class DataViewDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'pagination',
- label: 'Pagination',
- component: PaginationDoc
- },
- {
- id: 'sorting',
- label: 'Sorting',
- component: SortingDoc
- },
- {
- id: 'layout',
- label: 'Layout',
- component: LayoutDoc
- },
- {
- id: 'loading',
- label: 'Loading',
- component: LoadingDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/datepicker/index.ts b/apps/showcase/src/app/showcase/pages/datepicker/index.ts
deleted file mode 100755
index 9953d9edbf9..00000000000
--- a/apps/showcase/src/app/showcase/pages/datepicker/index.ts
+++ /dev/null
@@ -1,152 +0,0 @@
-import { Component } from '@angular/core';
-import { IconDoc } from '@doc/datepicker/icondoc';
-import { BasicDoc } from '@doc/datepicker/basicdoc';
-import { FormatDoc } from '@doc/datepicker/formatdoc';
-import { ImportDoc } from '@doc/datepicker/importdoc';
-import { LocaleDoc } from '@doc/datepicker/localedoc';
-import { MinMaxDoc } from '@doc/datepicker/minmaxdox';
-import { MultipleDoc } from '@doc/datepicker/multipledoc';
-import { RangeDoc } from '@doc/datepicker/rangedoc';
-import { ButtonBarDoc } from '@doc/datepicker/buttonbardoc';
-import { TimeDoc } from '@doc/datepicker/timedoc';
-import { MonthDoc } from '@doc/datepicker/monthdoc';
-import { YearDoc } from '@doc/datepicker/yeardoc';
-import { MultipleMonthDoc } from '@doc/datepicker/multiplemonths.doc';
-import { InlineDoc } from '@doc/datepicker/inlinedoc';
-import { TouchUIDoc } from '@doc/datepicker/touchuidoc';
-import { DateTemplateDoc } from '@doc/datepicker/datetemplatedoc';
-import { AccessibilityDoc } from '@doc/datepicker/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/datepicker/reactiveformsdoc';
-import { FloatLabelDoc } from '@doc/datepicker/floatlabeldoc';
-import { InvalidDoc } from '@doc/datepicker/invaliddoc';
-import { DisabledDoc } from '@doc/datepicker/disableddoc';
-import { FilledDoc } from '@doc/datepicker/filleddoc';
-import { DatePickerDocModule } from '@doc/datepicker/datepickerdoc.module';
-import { IftaLabelDoc } from '@doc/datepicker/iftalabeldoc';
-import { SizesDoc } from '@doc/datepicker/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [DatePickerDocModule],
- template: ` `
-})
-export class DatePickerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'format',
- label: 'Format',
- component: FormatDoc
- },
- {
- id: 'locale',
- label: 'Locale',
- component: LocaleDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'minmax',
- label: 'Min / Max',
- component: MinMaxDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'range',
- label: 'Range',
- component: RangeDoc
- },
- {
- id: 'buttonbar',
- label: 'Button Bar',
- component: ButtonBarDoc
- },
- {
- id: 'time',
- label: 'Time',
- component: TimeDoc
- },
- {
- id: 'monthpicker',
- label: 'Month Picker',
- component: MonthDoc
- },
- {
- id: 'yearpicker',
- label: 'Year Picker',
- component: YearDoc
- },
- {
- id: 'multiplemonths',
- label: 'Multiple Months',
- component: MultipleMonthDoc
- },
- {
- id: 'datetemplate',
- label: 'Date Template',
- component: DateTemplateDoc
- },
- {
- id: 'inline',
- label: 'Inline',
- component: InlineDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/defer/index.ts b/apps/showcase/src/app/showcase/pages/defer/index.ts
deleted file mode 100755
index af3b0524585..00000000000
--- a/apps/showcase/src/app/showcase/pages/defer/index.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component, inject } from '@angular/core';
-import { MessageService } from 'primeng/api';
-import { BasicDoc } from '@doc/defer/basicdoc';
-import { ImportDoc } from '@doc/defer/importdoc';
-import { DataTableDoc } from '@doc/defer/datatabledoc';
-import { CarService } from '@service/carservice';
-import { Car } from '../domain/car';
-import { DeferDocModule } from '@doc/defer/deferdoc.module';
-
-@Component({
- standalone: true,
- imports: [DeferDocModule],
- template: ` `,
- providers: [MessageService]
-})
-export class DeferDemo {
- cars: Car[];
-
- carService = inject(CarService);
-
- messageService = inject(MessageService);
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'datatable',
- label: 'DataTable',
- component: DataTableDoc
- }
- ];
-
- initData() {
- this.messageService.add({ severity: 'success', summary: 'Data Initialized', detail: 'Render Completed' });
- this.carService.getCarsSmall().then((cars) => (this.cars = cars));
- }
-}
diff --git a/apps/showcase/src/app/showcase/pages/dialog/index.ts b/apps/showcase/src/app/showcase/pages/dialog/index.ts
deleted file mode 100755
index f2d7e604650..00000000000
--- a/apps/showcase/src/app/showcase/pages/dialog/index.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/dialog/basicdoc';
-import { ImportDoc } from '@doc/dialog/importdoc';
-import { LongContentDoc } from '@doc/dialog/longcontentdoc';
-import { ResponsiveDoc } from '@doc/dialog/responsivedoc';
-import { PositionDoc } from '@doc/dialog/positiondoc';
-import { MaximizableDoc } from '@doc/dialog/maximizabledoc';
-import { TemplateDoc } from '@doc/dialog/templatedoc';
-import { HeadlessDoc } from '@doc/dialog/headlessdoc';
-import { AccessibilityDoc } from '@doc/dialog/accessibilitydoc';
-import { WithoutModalDoc } from '@doc/dialog/withoutmodaldoc';
-import { DialogDocModule } from '@doc/dialog/dialogdoc.module';
-
-@Component({
- standalone: true,
- imports: [DialogDocModule],
- template: ` `
-})
-export class DialogDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionDoc
- },
- {
- id: 'maximizable',
- label: 'Maximizable',
- component: MaximizableDoc
- },
- {
- id: 'longcontent',
- label: 'Long Content',
- component: LongContentDoc
- },
- {
- id: 'withoutmodal',
- label: 'Without Modal',
- component: WithoutModalDoc
- },
- {
- id: 'responsive',
- label: 'Responsive',
- component: ResponsiveDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/divider/index.ts b/apps/showcase/src/app/showcase/pages/divider/index.ts
deleted file mode 100644
index 4c23b54873e..00000000000
--- a/apps/showcase/src/app/showcase/pages/divider/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/divider/accessibilitydoc';
-import { BasicDoc } from '@doc/divider/basicdoc';
-import { ContentDoc } from '@doc/divider/contentdoc';
-import { ImportDoc } from '@doc/divider/importdoc';
-import { LoginDoc } from '@doc/divider/logindoc';
-import { TypeDoc } from '@doc/divider/typedoc';
-import { VerticalDoc } from '@doc/divider/verticaldoc';
-import { DividerDocModule } from '@doc/divider/dividerdoc.module';
-
-@Component({
- standalone: true,
- imports: [DividerDocModule],
- template: ` `
-})
-export class DividerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'type',
- label: 'Type',
- component: TypeDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'content',
- label: 'Content',
- component: ContentDoc
- },
- {
- id: 'login',
- label: 'Login',
- component: LoginDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/dock/index.ts b/apps/showcase/src/app/showcase/pages/dock/index.ts
deleted file mode 100755
index e777a6d8b63..00000000000
--- a/apps/showcase/src/app/showcase/pages/dock/index.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { AdvancedDoc } from '@doc/dock/advanceddoc';
-import { BasicDoc } from '@doc/dock/basicdoc';
-import { ImportDoc } from '@doc/dock/importdoc';
-import { AccessibilityDoc } from '@doc/dock/accessibilitydoc';
-import { DockDocModule } from '@doc/dock/dockdoc.module';
-
-@Component({
- standalone: true,
- imports: [DockDocModule],
- template: ` `,
- styleUrls: ['./dockdemo.scss']
-})
-export class DockDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'advanced',
- label: 'Advanced',
- component: AdvancedDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/dragdrop/index.ts b/apps/showcase/src/app/showcase/pages/dragdrop/index.ts
deleted file mode 100755
index ea425d9c992..00000000000
--- a/apps/showcase/src/app/showcase/pages/dragdrop/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/dragdrop/importdoc';
-import { BasicDoc } from '@doc/dragdrop/basicdoc';
-import { DataTableDoc } from '@doc/dragdrop/datatabledoc';
-import { DropIndicatorDoc } from '@doc/dragdrop/dropindicatordoc';
-import { DragHandleDoc } from '@doc/dragdrop/draghandledoc';
-import { DragDropDocModule } from '@doc/dragdrop/dragdropdoc.module';
-
-@Component({
- standalone: true,
- imports: [DragDropDocModule],
- template: ` `,
- styleUrls: ['./dragdropdemo.scss']
-})
-export class DragDropDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'datatable',
- label: 'DataTable',
- component: DataTableDoc
- },
- {
- id: 'dropindicator',
- label: 'Drop Indicator',
- component: DropIndicatorDoc
- },
- {
- id: 'draghandle',
- label: 'Drag Handle',
- component: DragHandleDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/drawer/index.ts b/apps/showcase/src/app/showcase/pages/drawer/index.ts
deleted file mode 100755
index e0d4aa645d0..00000000000
--- a/apps/showcase/src/app/showcase/pages/drawer/index.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/drawer/basicdoc';
-import { TemplateDoc } from '@doc/drawer/templatedoc';
-import { ImportDoc } from '@doc/drawer/importdoc';
-import { PositionDoc } from '@doc/drawer/positiondoc';
-import { FullScreenDoc } from '@doc/drawer/fullscreendoc';
-import { SizeDoc } from '@doc/drawer/sizedoc';
-import { HeadlessDoc } from '@doc/drawer/headlessdoc';
-import { AccessibilityDoc } from '@doc/drawer/accessibilitydoc';
-import { DrawerDocModule } from '@doc/drawer/drawerdoc.module';
-
-@Component({
- standalone: true,
- imports: [DrawerDocModule],
- template: ` `
-})
-export class DrawerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'fullscreen',
- label: 'Full Screen',
- component: FullScreenDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/dynamicdialog/index.ts b/apps/showcase/src/app/showcase/pages/dynamicdialog/index.ts
deleted file mode 100755
index 463b08ba5f0..00000000000
--- a/apps/showcase/src/app/showcase/pages/dynamicdialog/index.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-import { Component } from '@angular/core';
-import { OpenDoc } from '@doc/dynamicdialog/opendoc';
-import { ImportDoc } from '@doc/dynamicdialog/importdoc';
-import { ExampleDoc } from '@doc/dynamicdialog/exampledoc';
-import { UsageDoc } from '@doc/dynamicdialog/usagedoc';
-import { PassingDataDoc } from '@doc/dynamicdialog/passingdatadoc';
-import { CloseDoc } from '@doc/dynamicdialog/closedoc';
-import { CustomizationDoc } from '@doc/dynamicdialog/customizationdoc';
-import { DynamicDialogDocModule } from '@doc/dynamicdialog/dynamicdialogdoc.module';
-
-@Component({
- standalone: true,
- imports: [DynamicDialogDocModule],
- template: `
-
- `
-})
-export class DynamicDialogDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'usage',
- label: 'Usage',
- component: UsageDoc
- },
- {
- id: 'open',
- label: 'Opening a Dialog',
- component: OpenDoc
- },
- {
- id: 'customization',
- label: 'Customization',
- component: CustomizationDoc
- },
- {
- id: 'passingdata',
- label: 'Passing Data',
- component: PassingDataDoc
- },
- {
- id: 'close',
- label: 'Closing a Dialog',
- component: CloseDoc
- },
- {
- id: 'example',
- label: 'Example',
- component: ExampleDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/editor/index.ts b/apps/showcase/src/app/showcase/pages/editor/index.ts
deleted file mode 100755
index d2ee049555d..00000000000
--- a/apps/showcase/src/app/showcase/pages/editor/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/editor/accessibilitydoc';
-import { BasicDoc } from '@doc/editor/basicdoc';
-import { CustomToolbarDoc } from '@doc/editor/customtoolbardoc';
-import { ImportDoc } from '@doc/editor/importdoc';
-import { QuillDoc } from '@doc/editor/quilldoc';
-import { ReactiveFormsDoc } from '@doc/editor/reactiveformsdoc';
-import { ReadOnlyDoc } from '@doc/editor/readonlydoc';
-import { EditorDocModule } from '@doc/editor/editordoc.module';
-
-@Component({
- standalone: true,
- imports: [EditorDocModule],
- template: ` `
-})
-export class EditorDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'quill',
- label: 'Quill',
- component: QuillDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'readonly',
- label: 'ReadOnly',
- component: ReadOnlyDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: CustomToolbarDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/fieldset/index.ts b/apps/showcase/src/app/showcase/pages/fieldset/index.ts
deleted file mode 100755
index 35a6ff89540..00000000000
--- a/apps/showcase/src/app/showcase/pages/fieldset/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/fieldset/importdoc';
-import { BasicDoc } from '@doc/fieldset/basicdoc';
-import { ToggleableDoc } from '@doc/fieldset/toggleabledoc';
-import { TemplateDoc } from '@doc/fieldset/templatedoc';
-import { AccessibilityDoc } from '@doc/fieldset/accessibilitydoc';
-import { FieldsetDocModule } from '@doc/fieldset/fieldsetdoc.module';
-
-@Component({
- standalone: true,
- imports: [FieldsetDocModule],
- template: ` `
-})
-export class FieldsetDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'toggleable',
- label: 'Toggleable',
- component: ToggleableDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/fileupload/index.ts b/apps/showcase/src/app/showcase/pages/fileupload/index.ts
deleted file mode 100755
index fd5babcfe25..00000000000
--- a/apps/showcase/src/app/showcase/pages/fileupload/index.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { AdvancedDoc } from '@doc/fileupload/advanceddoc';
-import { AutoDoc } from '@doc/fileupload/autodoc';
-import { BasicDoc } from '@doc/fileupload/basicdoc';
-import { ImportDoc } from '@doc/fileupload/importdoc';
-import { TemplateDoc } from '@doc/fileupload/templatedoc';
-import { AccessibilityDoc } from '@doc/fileupload/accessibilitydoc';
-import { FileUploadDocModule } from '@doc/fileupload/fileuploaddoc.module';
-
-@Component({
- standalone: true,
- imports: [FileUploadDocModule],
- template: ` `
-})
-export class FileUploadDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'auto',
- label: 'Auto',
- component: AutoDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'advanced',
- label: 'Advanced',
- component: AdvancedDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/filterservice/index.ts b/apps/showcase/src/app/showcase/pages/filterservice/index.ts
deleted file mode 100755
index 8e91dbd7c9e..00000000000
--- a/apps/showcase/src/app/showcase/pages/filterservice/index.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { ApiDoc } from '@doc/filterservice/apidoc';
-import { BuiltInConstraintsDoc } from '@doc/filterservice/builtinconstraintsdoc';
-import { CustomConstraintsDoc } from '@doc/filterservice/customconstraintsdoc';
-import { ImportDoc } from '@doc/filterservice/importdoc';
-import { UsageDoc } from '@doc/filterservice/usagedoc';
-import { TableIntegrationDoc } from '@doc/filterservice/tableintegrationdoc';
-import { FilterServiceDocModule } from '@doc/filterservice/filterservicedoc.module';
-
-@Component({
- standalone: true,
- imports: [FilterServiceDocModule],
- template: ` `
-})
-export class FilterServiceDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'usage',
- label: 'Usage',
- component: UsageDoc
- },
- {
- id: 'builtinconstraints',
- label: 'Built-in Constraints',
- component: BuiltInConstraintsDoc
- },
- {
- id: 'customconstraints',
- label: 'Custom Constraints',
- component: CustomConstraintsDoc
- },
- {
- id: 'table-integration',
- label: 'Table Integration',
- component: TableIntegrationDoc
- },
- {
- id: 'api',
- label: 'FilterService API',
- component: ApiDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/floatlabel/index.ts b/apps/showcase/src/app/showcase/pages/floatlabel/index.ts
deleted file mode 100755
index 200066ccbea..00000000000
--- a/apps/showcase/src/app/showcase/pages/floatlabel/index.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/floatlabel/importdoc';
-import { BasicDoc } from '@doc/floatlabel/basicdoc';
-import { AccessibilityDoc } from '@doc/floatlabel/accessibilitydoc';
-import { FloatLabelDocModule } from '@doc/floatlabel/floatlabeldoc.module';
-import { VariantsDoc } from '@doc/floatlabel/variantsdoc';
-import { InvalidDoc } from '@doc/floatlabel/invaliddoc';
-
-@Component({
- standalone: true,
- imports: [FloatLabelDocModule],
- template: ` `
-})
-export class FloatLabelDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'variants',
- label: 'Variants',
- component: VariantsDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/fluid/index.ts b/apps/showcase/src/app/showcase/pages/fluid/index.ts
deleted file mode 100755
index a435800926f..00000000000
--- a/apps/showcase/src/app/showcase/pages/fluid/index.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/fluid/importdoc';
-import { BasicDoc } from '@doc/fluid/basicdoc';
-import { AccessibilityDoc } from '@doc/fluid/accessibilitydoc';
-import { FluidDocModule } from '@doc/fluid/fluiddoc.module';
-
-@Component({
- standalone: true,
- imports: [FluidDocModule],
- template: ` `
-})
-export class FluidDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/focustrap/index.ts b/apps/showcase/src/app/showcase/pages/focustrap/index.ts
deleted file mode 100644
index e4c14beea68..00000000000
--- a/apps/showcase/src/app/showcase/pages/focustrap/index.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/focustrap/basicdoc';
-import { ImportDoc } from '@doc/focustrap/importdoc';
-import { FocusTrapDocModule } from '@doc/focustrap/focustrapdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [FocusTrapDocModule]
-})
-export class FocusTrapDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/galleria/index.ts b/apps/showcase/src/app/showcase/pages/galleria/index.ts
deleted file mode 100644
index 40cc0f8a39b..00000000000
--- a/apps/showcase/src/app/showcase/pages/galleria/index.ts
+++ /dev/null
@@ -1,152 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/galleria/accessibilitydoc';
-import { AdvancedDoc } from '@doc/galleria/advanceddoc';
-import { AutoPlayDoc } from '@doc/galleria/autoplaydoc';
-import { BasicDoc } from '@doc/galleria/basicdoc';
-import { CaptionDoc } from '@doc/galleria/captiondoc';
-import { ControlledDoc } from '@doc/galleria/controlleddoc';
-import { FullScreenTemplateDoc } from '@doc/galleria/fullscreen/customcontentdoc';
-import { WithoutThumbnailsDoc } from '@doc/galleria/fullscreen/withoutthumbnailsdoc';
-import { WithThumbnailsDoc } from '@doc/galleria/fullscreen/withthumbnailsdoc';
-import { ImportDoc } from '@doc/galleria/importdoc';
-import { ClickEventDoc } from '@doc/galleria/indicator/clickeventdoc';
-import { HoverEventDoc } from '@doc/galleria/indicator/hovereventdoc';
-import { PositionedDoc } from '@doc/galleria/indicator/positioneddoc';
-import { TemplateDoc } from '@doc/galleria/indicator/templatedoc';
-import { HoverDoc } from '@doc/galleria/navigator/hoverdoc';
-import { IndicatorsDoc } from '@doc/galleria/navigator/indicatorsdoc';
-import { ItemThumbnailsDoc } from '@doc/galleria/navigator/itemthumbnailsdoc';
-import { ItemWithoutThumbnailsDoc } from '@doc/galleria/navigator/itemwithoutthumbnailsdoc';
-import { ResponsiveDoc } from '@doc/galleria/responsivedoc';
-import { ThumbnailDoc } from '@doc/galleria/thumbnaildoc';
-import { GalleriaDocModule } from '@doc/galleria/galleriadoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [GalleriaDocModule],
- styleUrl: './galleriademo.scss'
-})
-export class GalleriaDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'indicator',
- label: 'Indicator',
- children: [
- {
- id: 'clickevent',
- label: 'Click Event',
- component: ClickEventDoc
- },
- {
- id: 'hoverevent',
- label: 'Hover Event',
- component: HoverEventDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionedDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- }
- ]
- },
- {
- id: 'thumbnail',
- label: 'Thumbnail',
- component: ThumbnailDoc
- },
- {
- id: 'responsive',
- label: 'Responsive',
- component: ResponsiveDoc
- },
- {
- id: 'fullscreen',
- label: 'Full Screen',
- children: [
- {
- id: 'withthumbnails',
- label: 'With Thumbnails',
- component: WithThumbnailsDoc
- },
- {
- id: 'withtouthumbnails',
- label: 'Without Thumbnails',
- component: WithoutThumbnailsDoc
- },
- {
- id: 'customcontent',
- label: 'Custom Content',
- component: FullScreenTemplateDoc
- }
- ]
- },
- {
- id: 'navigator',
- label: 'Navigator',
- children: [
- {
- id: 'itemwiththumbnails',
- label: 'With Thumbnails',
- component: ItemThumbnailsDoc
- },
- {
- id: 'itemwithtouthumbnails',
- label: 'Without Thumbnails',
- component: ItemWithoutThumbnailsDoc
- },
- {
- id: 'hover',
- label: 'Display on Hover',
- component: HoverDoc
- },
- {
- id: 'withindicators',
- label: 'With Indicators',
- component: IndicatorsDoc
- }
- ]
- },
- {
- id: 'autoplay',
- label: 'AutoPlay',
- component: AutoPlayDoc
- },
- {
- id: 'caption',
- label: 'Caption',
- component: CaptionDoc
- },
- {
- id: 'advanced',
- label: 'Advanced',
- component: AdvancedDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/guides/accessibility/accessibilitydemo.component.ts b/apps/showcase/src/app/showcase/pages/guides/accessibility/accessibilitydemo.component.ts
deleted file mode 100644
index a48e491fe74..00000000000
--- a/apps/showcase/src/app/showcase/pages/guides/accessibility/accessibilitydemo.component.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Component } from '@angular/core';
-import { ColorsDoc } from '@doc/guides/accessibility/colorsdoc';
-import { FormControlsDoc } from '@doc/guides/accessibility/formcontrolsdoc';
-import { IntroductionDoc } from '@doc/guides/accessibility/introductiondoc';
-import { SemanticHTMLDoc } from '@doc/guides/accessibility/semantichtmldoc';
-import { WAIARIADoc } from '@doc/guides/accessibility/waiariadoc';
-import { WCAGDoc } from '@doc/guides/accessibility/wcagdoc';
-
-@Component({
- selector: 'accessibility',
- templateUrl: './accessibilitydemo.component.html'
-})
-export class AccessibilityDemoComponent {
- docs = [
- {
- id: 'introduction',
- label: 'Introduction',
- component: IntroductionDoc
- },
- {
- id: 'wcag',
- label: 'WCAG',
- component: WCAGDoc
- },
- {
- id: 'form-controls',
- label: 'Form Controls',
- component: FormControlsDoc
- },
- {
- id: 'semantic-html',
- label: 'Semantic HTML',
- component: SemanticHTMLDoc
- },
- {
- id: 'wai-aria',
- label: 'WAI-ARIA',
- component: WAIARIADoc
- },
- {
- id: 'colors',
- label: 'Colors',
- component: ColorsDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/guides/primeflex/primeflexdemo.component.ts b/apps/showcase/src/app/showcase/pages/guides/primeflex/primeflexdemo.component.ts
deleted file mode 100644
index 115a78b733f..00000000000
--- a/apps/showcase/src/app/showcase/pages/guides/primeflex/primeflexdemo.component.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Component } from '@angular/core';
-import { MigrationDoc } from '@doc/guides/primeflex/migrationdoc';
-import { OverviewDoc } from '@doc/guides/primeflex/overviewdoc';
-import { TailwindCSSDoc } from '@doc/guides/primeflex/tailwindcssdoc';
-
-@Component({
- selector: 'css-layer',
- templateUrl: './primeflexdemo.component.html'
-})
-export class PrimeFlexDemoComponent {
- docs = [
- {
- id: 'overview',
- label: 'Overview',
- component: OverviewDoc
- },
- {
- id: 'tailwindcss',
- label: 'Tailwind CSS',
- component: TailwindCSSDoc
- },
- {
- id: 'migration',
- label: 'Migration',
- component: MigrationDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/iconfield/index.ts b/apps/showcase/src/app/showcase/pages/iconfield/index.ts
deleted file mode 100644
index 829ef545d1d..00000000000
--- a/apps/showcase/src/app/showcase/pages/iconfield/index.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/iconfield/importdoc';
-import { BasicDoc } from '@doc/iconfield/basicdoc';
-import { TemplateDoc } from '@doc/iconfield/templatedoc';
-import { AccessibilityDoc } from '@doc/iconfield/accessibilitydoc';
-import { IconFieldDocModule } from '@doc/iconfield/iconfielddoc.module';
-import { FloatLabelDoc } from '@doc/iconfield/floatlabeldoc';
-import { IftaLabelDoc } from '@doc/iconfield/iftalabeldoc';
-import { SizesDoc } from '@doc/iconfield/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [IconFieldDocModule]
-})
-export class IconFieldDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/icons/index.ts b/apps/showcase/src/app/showcase/pages/icons/index.ts
deleted file mode 100755
index 105d77f6d25..00000000000
--- a/apps/showcase/src/app/showcase/pages/icons/index.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/icons/basicdoc';
-import { ColorDoc } from '@doc/icons/colordoc';
-import { ConstantsDoc } from '@doc/icons/constantsdoc';
-import { DownloadDoc } from '@doc/icons/downloaddoc';
-import { ImportDoc } from '@doc/icons/importdoc';
-import { ListDoc } from '@doc/icons/listdoc';
-import { SizeDoc } from '@doc/icons/sizedoc';
-import { SpinDoc } from '@doc/icons/spindoc';
-import { FigmaDoc } from '@doc/icons/figmadoc';
-import { CommonModule } from '@angular/common';
-import { IconsDocModule } from '@doc/icons/icons.module';
-
-@Component({
- standalone: true,
- imports: [CommonModule, IconsDocModule],
- template: `
-
- `,
- styleUrls: ['./iconsdemo.component.scss']
-})
-export class IconsDemo {
- docs = [
- {
- id: 'download',
- label: 'Download',
- component: DownloadDoc
- },
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'figma',
- label: 'Figma',
- component: FigmaDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'color',
- label: 'Color',
- component: ColorDoc
- },
- {
- id: 'spin',
- label: 'Spin',
- component: SpinDoc
- },
- {
- id: 'constants',
- label: 'Constants',
- component: ConstantsDoc
- },
- {
- id: 'list',
- label: 'List',
- component: ListDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/iftalabel/index.ts b/apps/showcase/src/app/showcase/pages/iftalabel/index.ts
deleted file mode 100755
index a44c22842c6..00000000000
--- a/apps/showcase/src/app/showcase/pages/iftalabel/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/iftalabel/importdoc';
-import { BasicDoc } from '@doc/iftalabel/basicdoc';
-import { IftaLabelDocModule } from '@doc/iftalabel/iftalabeldoc.module';
-import { InvalidDoc } from '@doc/iftalabel/invaliddoc';
-import { AccessibilityDoc } from '@doc/iftalabel/accessibilitydoc';
-
-@Component({
- standalone: true,
- imports: [IftaLabelDocModule],
- template: ` `
-})
-export class IftaLabelDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/image/index.ts b/apps/showcase/src/app/showcase/pages/image/index.ts
deleted file mode 100644
index 7a2d542bc7a..00000000000
--- a/apps/showcase/src/app/showcase/pages/image/index.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/Image/accessibilitydoc';
-import { BasicDoc } from '@doc/Image/basicdoc';
-import { ImportDoc } from '@doc/Image/importdoc';
-import { PreviewDoc } from '@doc/Image/previewdoc';
-import { TemplateDoc } from '@doc/Image/templatedoc';
-import { ImageDocModule } from '@doc/Image/imagedoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ImageDocModule]
-})
-export class ImageDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'preview',
- label: 'Preview',
- component: PreviewDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inplace/index.ts b/apps/showcase/src/app/showcase/pages/inplace/index.ts
deleted file mode 100755
index 39144484718..00000000000
--- a/apps/showcase/src/app/showcase/pages/inplace/index.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { ImageDoc } from '@doc/inplace/imagedoc';
-import { BasicDoc } from '@doc/inplace/basicdoc';
-import { DataDoc } from '@doc/inplace/datadoc';
-import { ImportDoc } from '@doc/inplace/importdoc';
-import { InputDoc } from '@doc/inplace/inputdoc';
-import { AccessibilityDoc } from '@doc/inplace/accessibilitydoc';
-import { LazyDoc } from '@doc/inplace/lazydoc';
-import { InplaceDocModule } from '@doc/inplace/inplacedoc.module';
-
-@Component({
- standalone: true,
- imports: [InplaceDocModule],
- template: ` `
-})
-export class InplaceDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'input',
- label: 'Input',
- component: InputDoc
- },
- {
- id: 'image',
- label: 'Image',
- component: ImageDoc
- },
- {
- id: 'lazy',
- label: 'Lazy',
- component: LazyDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inputgroup/index.ts b/apps/showcase/src/app/showcase/pages/inputgroup/index.ts
deleted file mode 100644
index 3dd8519caa8..00000000000
--- a/apps/showcase/src/app/showcase/pages/inputgroup/index.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component } from '@angular/core';
-import { MultipleDoc } from '@doc/inputgroup/multipledoc';
-import { BasicDoc } from '@doc/inputgroup/basicdoc';
-import { ImportDoc } from '@doc/inputgroup/importdoc';
-import { ButtonDoc } from '@doc/inputgroup/buttondoc';
-import { CheckboxDoc } from '@doc/inputgroup/checkboxdoc';
-import { AccessibilityDoc } from '@doc/inputgroup/accessibilitydoc';
-import { InputGroupDocModule } from '@doc/inputgroup/inputgroupddoc.module';
-import { FloatLabelDoc } from '@doc/inputgroup/floatlabeldoc';
-import { IftaLabelDoc } from '@doc/inputgroup/iftalabeldoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [InputGroupDocModule]
-})
-export class InputGroupDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'button',
- label: 'Button',
- component: ButtonDoc
- },
- {
- id: 'checkbox',
- label: 'Checkbox & Radio',
- component: CheckboxDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inputmask/index.ts b/apps/showcase/src/app/showcase/pages/inputmask/index.ts
deleted file mode 100644
index 33f0d902ca5..00000000000
--- a/apps/showcase/src/app/showcase/pages/inputmask/index.ts
+++ /dev/null
@@ -1,98 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/inputmask/accessibilitydoc';
-import { BasicDoc } from '@doc/inputmask/basicdoc';
-import { DisabledDoc } from '@doc/inputmask/disableddoc';
-import { FilledDoc } from '@doc/inputmask/filleddoc';
-import { FloatlabelDoc } from '@doc/inputmask/floatlabeldoc';
-import { ImportDoc } from '@doc/inputmask/importdoc';
-import { InvalidDoc } from '@doc/inputmask/invaliddoc';
-import { MaskDoc } from '@doc/inputmask/maskdoc';
-import { OptionalDoc } from '@doc/inputmask/optionaldoc';
-import { ReactiveFormsDoc } from '@doc/inputmask/reactiveformsdoc';
-import { SlotCharDoc } from '@doc/inputmask/slotchardoc';
-import { InputMaskDocModule } from '@doc/inputmask/inputmaskdoc.module';
-import { IftaLabelDoc } from '@doc/inputmask/iftalabeldoc';
-import { SizesDoc } from '@doc/inputmask/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [InputMaskDocModule]
-})
-export class InputMaskDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'mask',
- label: 'Mask',
- component: MaskDoc
- },
- {
- id: 'optional',
- label: 'Optional',
- component: OptionalDoc
- },
- {
- id: 'slotchar',
- label: 'SlotChar',
- component: SlotCharDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatlabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inputnumber/index.ts b/apps/showcase/src/app/showcase/pages/inputnumber/index.ts
deleted file mode 100644
index 651d51a6eed..00000000000
--- a/apps/showcase/src/app/showcase/pages/inputnumber/index.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { Component } from '@angular/core';
-import { LocaleDoc } from '@doc/inputnumber/localedoc';
-import { ImportDoc } from '@doc/inputnumber/importdoc';
-import { NumeralsDoc } from '@doc/inputnumber/numeralsdoc';
-import { CurrencyDoc } from '@doc/inputnumber/currencydoc';
-import { PrefixSuffixDoc } from '@doc/inputnumber/prefixsuffixdoc';
-import { ButtonsDoc } from '@doc/inputnumber/buttonsdoc';
-import { VerticalDoc } from '@doc/inputnumber/verticaldoc';
-import { FloatlabelDoc } from '@doc/inputnumber/floatlabeldoc';
-import { InvalidDoc } from '@doc/inputnumber/invaliddoc';
-import { DisabledDoc } from '@doc/inputnumber/disableddoc';
-import { AccessibilityDoc } from '@doc/inputnumber/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/inputnumber/reactiveformsdoc';
-import { FilledDoc } from '@doc/inputnumber/filleddoc';
-import { InputNumberDocModule } from '@doc/inputnumber/inputnumberdoc.module';
-import { IftaLabelDoc } from '@doc/inputnumber/iftalabeldoc';
-import { SizesDoc } from '@doc/inputnumber/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [InputNumberDocModule]
-})
-export class InputNumberDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'numerals',
- label: 'Numerals',
- component: NumeralsDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'locale',
- label: 'Locale',
- component: LocaleDoc
- },
- {
- id: 'currency',
- label: 'Currency',
- component: CurrencyDoc
- },
- {
- id: 'prefixsuffix',
- label: 'Prefix & Suffix',
- component: PrefixSuffixDoc
- },
- {
- id: 'buttons',
- label: 'Buttons',
- component: ButtonsDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatlabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inputotp/index.ts b/apps/showcase/src/app/showcase/pages/inputotp/index.ts
deleted file mode 100755
index 4670f255d86..00000000000
--- a/apps/showcase/src/app/showcase/pages/inputotp/index.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component, ViewEncapsulation } from '@angular/core';
-import { ImportDoc } from '@doc/inputotp/importdoc';
-import { BasicDoc } from '@doc/inputotp/basicdoc';
-import { MaskDoc } from '@doc/inputotp/maskdoc';
-import { IntegerOnlyDoc } from '@doc/inputotp/integeronlydoc';
-import { TemplateDoc } from '@doc/inputotp/templatedoc';
-import { SampleDoc } from '@doc/inputotp/sampledoc';
-import { AccessibilityDoc } from '@doc/inputotp/accessibilitydoc';
-import { InputOtpDocModule } from '@doc/inputotp/inputotpdoc.module';
-import { SizesDoc } from '@doc/inputotp/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [InputOtpDocModule],
- template: ` `,
- encapsulation: ViewEncapsulation.None
-})
-export class InputOtpDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'mask',
- label: 'Mask',
- component: MaskDoc
- },
- {
- id: 'integeronly',
- label: 'Integer Only',
- component: IntegerOnlyDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'sample',
- label: 'Sample',
- component: SampleDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/inputtext/index.ts b/apps/showcase/src/app/showcase/pages/inputtext/index.ts
deleted file mode 100644
index 18b566ae4c2..00000000000
--- a/apps/showcase/src/app/showcase/pages/inputtext/index.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/inputtext/accessibilitydoc';
-import { BasicDoc } from '@doc/inputtext/basicdoc';
-import { DisabledDoc } from '@doc/inputtext/disableddoc';
-import { FilledDoc } from '@doc/inputtext/filleddoc';
-import { FloatLabelDoc } from '@doc/inputtext/floatlabeldoc';
-import { HelpTextDoc } from '@doc/inputtext/helptextdoc';
-import { IftaLabelDoc } from '@doc/inputtext/iftalabeldoc';
-import { ImportDoc } from '@doc/inputtext/importdoc';
-import { InputtextDocModule } from '@doc/inputtext/inputtextdoc.module';
-import { InvalidDoc } from '@doc/inputtext/invaliddoc';
-import { ReactiveFormsDoc } from '@doc/inputtext/reactiveformsdoc';
-import { SizesDoc } from '@doc/inputtext/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [InputtextDocModule],
- template: ` `
-})
-export class InputTextDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'helptext',
- label: 'Help Text',
- component: HelpTextDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/installation/index.ts b/apps/showcase/src/app/showcase/pages/installation/index.ts
deleted file mode 100755
index 6f671ee77e9..00000000000
--- a/apps/showcase/src/app/showcase/pages/installation/index.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { Component } from '@angular/core';
-import { AnimationsDoc } from '@doc/installation/animationsdoc';
-import { DownloadDoc } from '@doc/installation/downloaddoc';
-import { ExamplesDoc } from '@doc/installation/examplesdoc';
-import { InstallationDocModule } from '@doc/installation/installationdoc.module';
-import { NextStepsDoc } from '@doc/installation/nextstepsdoc';
-import { ThemeDoc } from '@doc/installation/themedoc';
-import { VerifyDoc } from '@doc/installation/verifydoc';
-
-@Component({
- standalone: true,
- imports: [CommonModule, InstallationDocModule],
- template: ` `
-})
-export class InstallationDemo {
- docs = [
- {
- id: 'download',
- label: 'Download',
- component: DownloadDoc
- },
- {
- id: 'animations',
- label: 'Animations',
- component: AnimationsDoc
- },
- {
- id: 'theme',
- label: 'Theme',
- component: ThemeDoc
- },
- {
- id: 'verify',
- label: 'Verify',
- component: VerifyDoc
- },
- {
- id: 'examples',
- label: 'Example',
- component: ExamplesDoc
- },
- {
- id: 'nextsteps',
- label: 'Next Steps',
- component: NextStepsDoc
- } /*,
- {
- id: 'videos',
- label: 'Videos',
- component: VideosDoc,
- },*/
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/keyfilter/index.ts b/apps/showcase/src/app/showcase/pages/keyfilter/index.ts
deleted file mode 100644
index 4393708a889..00000000000
--- a/apps/showcase/src/app/showcase/pages/keyfilter/index.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/keyfilter/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/keyfilter/accessibilitydoc';
-import { ImportDoc } from '@doc/keyfilter/importdoc';
-import { PresetsDoc } from '@doc/keyfilter/presetsdoc';
-import { RegexDoc } from '@doc/keyfilter/regexdoc';
-import { KeyFilterDocModule } from '@doc/keyfilter/keyfilterdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [KeyFilterDocModule]
-})
-export class KeyFilterDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'presets',
- label: 'Presets',
- component: PresetsDoc
- },
- {
- id: 'regex',
- label: 'Regex',
- component: RegexDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/knob/index.ts b/apps/showcase/src/app/showcase/pages/knob/index.ts
deleted file mode 100644
index 049c681326d..00000000000
--- a/apps/showcase/src/app/showcase/pages/knob/index.ts
+++ /dev/null
@@ -1,91 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/knob/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/knob/accessibilitydoc';
-import { BasicDoc } from '@doc/knob/basicdoc';
-import { ColorDoc } from '@doc/knob/colordoc';
-import { ReactiveDoc } from '@doc/knob/reactivedoc';
-import { DisabledDoc } from '@doc/knob/disableddoc';
-import { ImportDoc } from '@doc/knob/importdoc';
-import { MinMaxDoc } from '@doc/knob/minmaxdoc';
-import { ReadonlyDoc } from '@doc/knob/readonlydoc';
-import { SizeDoc } from '@doc/knob/sizedoc';
-import { StepDoc } from '@doc/knob/stepdoc';
-import { StrokeDoc } from '@doc/knob/strokedoc';
-import { TemplateDoc } from '@doc/knob/templatedoc';
-import { KnobDocModule } from '@doc/knob/knobdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [KnobDocModule]
-})
-export class KnobDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'minmax',
- label: 'Min/Max',
- component: MinMaxDoc
- },
- {
- id: 'step',
- label: 'Step',
- component: StepDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'stroke',
- label: 'Stroke',
- component: StrokeDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'color',
- label: 'Color',
- component: ColorDoc
- },
- {
- id: 'reactive',
- label: 'Reactive',
- component: ReactiveDoc
- },
- {
- id: 'readonly',
- label: 'ReadOnly',
- component: ReadonlyDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/listbox/index.ts b/apps/showcase/src/app/showcase/pages/listbox/index.ts
deleted file mode 100644
index 3ff12625834..00000000000
--- a/apps/showcase/src/app/showcase/pages/listbox/index.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/listbox/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/listbox/accessibilitydoc';
-import { BasicDoc } from '@doc/listbox/basicdoc';
-import { DisabledDoc } from '@doc/listbox/disableddoc';
-import { FilterDoc } from '@doc/listbox/filterdoc';
-import { GroupDoc } from '@doc/listbox/groupdoc';
-import { ImportDoc } from '@doc/listbox/importdoc';
-import { InvalidDoc } from '@doc/listbox/invaliddoc';
-import { MultipleDoc } from '@doc/listbox/multipledoc';
-import { TemplateDoc } from '@doc/listbox/templatedoc';
-import { VirtualScrollDoc } from '@doc/listbox/virtualscrolldoc';
-import { ListboxDocModule } from '@doc/listbox/listboxdoc.module';
-import { CheckmarkDoc } from '@doc/listbox/checkmarkdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ListboxDocModule]
-})
-export class ListboxDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'checkmark',
- label: 'Checkmark',
- component: CheckmarkDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'virtualscroll',
- label: 'Virtual Scroll',
- component: VirtualScrollDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/lts/index.ts b/apps/showcase/src/app/showcase/pages/lts/index.ts
deleted file mode 100755
index 3094316855c..00000000000
--- a/apps/showcase/src/app/showcase/pages/lts/index.ts
+++ /dev/null
@@ -1,314 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { Component } from '@angular/core';
-import { Meta, Title } from '@angular/platform-browser';
-import { RouterModule } from '@angular/router';
-import { Code } from '@domain/code';
-import { AppCodeModule } from '@layout/doc/app.code.component';
-import { RippleModule } from 'primeng/ripple';
-import { TagModule } from 'primeng/tag';
-
-@Component({
- standalone: true,
- imports: [CommonModule, TagModule, AppCodeModule, RouterModule, RippleModule],
- template: `
-
-
-
-
-
Community Versions
-
- Angular is a fast paced technology with a new major version every 6 months. PrimeNG release cycle is aligned with Angular and every 6 months a new major PrimeNG version is released as open source that is compatible with the
- latest Angular core. The maintenance releases of the latest PrimeNG version are provided as free and open source for the following 6 months until the new major Angular version is ready.
-
-
-
-
LTS Versions
-
- Majority of the existing applications prefer to remain at a previous version due to stability requirements instead of upgrading to the latest version immediately. PrimeNG LTS is a support service to provide a license for the
- finest compatible version suited to you. LTS covers the prior two versions from the latest release, this means up to 18 months of almost bi-weekly releases to bring the latest defect fixes and security updates to your project.
- As an example, when PrimeNG moves to Angular 18, v17 and v16 will move to LTS support whereas STS (short term support) versions of PrimeNG 18 will be open source under MIT license for at least 6 months until Angular/PrimeNG 19
- is released.
-
-
-
-
-
Version Support
-
- STS means open source short term support whereas LTS stands for commercial long term support. Legacy versions are only supported by
- PrimeNG PRO.
-
-
-
-
-
-
- Version
- Status
- End of STS
- End of LTS
-
-
-
-
-
-
-
- STS
- After v18 release
- After v20 release
-
-
-
-
-
- LTS
- After v17 release
- After v19 release
-
-
-
-
-
- LTS
- After v16 release
- After v18 release
-
-
-
-
-
- Legacy
- After v15 release
- After v17 release
-
-
-
-
-
- Legacy
- After v14 release
- After v16 release
-
-
-
-
-
- Legacy
- After v13 release
- After v15 release
-
-
-
-
-
-
-
LTS License
-
-
-
-
-
- Security
-
-
- PrimeNG comes with a commitment to provide long-term support, including regular security updates to keep your system protected against emerging threats.
-
-
-
-
-
- Maintenance
-
-
- We understand the importance of maintaining a stable and reliable software system. Our team will provide ongoing maintenance to ensure that the software continues to function seamlessly and efficiently.
-
-
-
-
-
- Enhancements
-
-
- We are dedicated to continuously improving PrimeNG to meet the evolving needs of our users. As part of our long-term support, we will provide regular updates and enhancements to add new features and functionality.
-
-
-
-
-
-
Pricing
-
Choose the right plan for your business.
-
View License Details
-
-
-
-
-
-
Basic License
-
Annual
-
-
-
-
-
-
- Expires After 1 Year
-
-
-
- Warning Message at Runtime After Expiry
-
-
-
- Eligible for 1 Major Version
-
-
-
- Unlimited Developers
-
-
-
- Unlimited Projects
-
-
-
-
Buy Now
-
-
-
-
-
-
-
-
Extended License
-
Perpetual
-
-
-
-
-
-
- No Expiry
-
-
-
- No Warning Message at Runtime
-
-
-
- Eligible for 1 Major Version
-
-
-
- Unlimited Developers
-
-
-
- Unlimited Projects
-
-
-
-
Buy Now
-
-
-
-
-
-
-
Usage
-
- LTS versions require a license key and a pass key to be verified at your main app component or main.ts before bootstrap process. The keys would be available at
- PrimeStore
- under LTS Licenses section.
-
-
-
-
-
Frequently Asked Questions
-
-
-
Do I have to purchase a license for PrimeNG?
-
No, only the versions that have the -lts suffix required a paid license. Any other version is open source under MIT license.
-
-
Is LTS License mandatory to use PrimeNG?
-
No, LTS is totally optional if you cannot update to latest Angular immediately and still would like to receive updates for your version.
-
-
How long is the duration of the LTS license?
-
Duration is 1 year for Basic License, for Extended License there is no limit.
-
-
What happens after the LTS license duration ends?
-
- A message will be displayed at the application screen and license needs to be renewed at PrimeStore. This only applies to Basic License as Extended License has no time limit.
-
-
-
Is a license bound to a specific major version?
-
Yes, a license key is tied to the major version such as 15 and same license key cannot be used on another major version like 14.
-
-
How can I assign my LTS license to a version?
-
At PrimeStore, there is an "Assign" feature that activates your license by selecting a version.
-
-
-
Does the license renew automatically?
-
No, renewal should be done manually at PrimeStore.
-
-
How are LTS and Community versions differentiated at NPM?
-
LTS releases have -lts suffix such as 14.2.4-lts .
-
-
Is the license per organization, per developer or per cpu/server?
-
LTS license is per organization, there is no limit on the number of developers, projects or hardware.
-
-
Can subsidiary companies share the license of a parent company?
-
No, license owner needs to be a separate entity as a result each company requires a separate license.
-
-
Does LTS provide a support contact?
-
No, PrimeNG PRO is the service where response of PrimeTek engineers is secured within 1 business day.
-
-
-
Can LTS releases be used in open source projects?
-
No, this means violation of the license as keys cannot be shared.
-
-
Does PRO provide access to the LTS releases?
-
Yes, PRO users are granted a basic license.
-
-
What is the difference between LTS and PRO?
-
- PrimeNG PRO is a premium support service delivered via an exclusive JIRA instance where support engineers of PrimeTek provide assistance within 1 business day to the raised tickets. LTS on the other hand provides a license
- to utilize the long term support versions.
-
-
-
-
-
- `
-})
-export class LTSDemo {
- code: Code = {
- typescript: `import { Component } from '@angular/core';
-import { LicenseManager } from 'primeng/api';
-
-@Component({
- selector: 'app-root',
- templateUrl: './app.component.html'
-})
-export class AppComponent {
-
- LicenseManager.verify('LICENSE_KEY', 'PASS_KEY');
-
-}`
- };
-
- constructor(
- private titleService: Title,
- private metaService: Meta
- ) {
- this.titleService.setTitle('Long Term Support - PrimeNG');
- this.metaService.updateTag({ name: 'description', content: 'Long Term Support' });
- }
-}
diff --git a/apps/showcase/src/app/showcase/pages/megamenu/index.ts b/apps/showcase/src/app/showcase/pages/megamenu/index.ts
deleted file mode 100644
index a47958a7c31..00000000000
--- a/apps/showcase/src/app/showcase/pages/megamenu/index.ts
+++ /dev/null
@@ -1,64 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/megamenu/importdoc';
-import { BasicDoc } from '@doc/megamenu/basicdoc';
-import { TemplateDoc } from '@doc/megamenu/templatedoc';
-import { VerticalDoc } from '@doc/megamenu/verticaldoc';
-import { AccessibilityDoc } from '@doc/megamenu/accessibilitydoc';
-import { CommandDoc } from '@doc/megamenu/commanddoc';
-import { RouterDoc } from '@doc/megamenu/routerdoc';
-import { MegaMenuDocModule } from '@doc/megamenu/megamenudoc.module';
-
-@Component({
- standalone: true,
- imports: [MegaMenuDocModule],
- template: ` `,
- styles: [
- `
- :host ::ng-deep {
- .p-megamenu-panel {
- z-index: 3;
- }
- }
- `
- ]
-})
-export class MegaMenuDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/menu/index.ts b/apps/showcase/src/app/showcase/pages/menu/index.ts
deleted file mode 100644
index 2841dd497e5..00000000000
--- a/apps/showcase/src/app/showcase/pages/menu/index.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/menu/basicdoc';
-import { TemplateDoc } from '@doc/menu/templatedoc';
-import { CommandDoc } from '@doc/menu/commanddoc';
-import { GroupDoc } from '@doc/menu/groupdoc';
-import { ImportDoc } from '@doc/menu/importdoc';
-import { RouterDoc } from '@doc/menu/routerdoc';
-import { PopupDoc } from '@doc/menu/popupdoc';
-import { AccessibilityDoc } from '@doc/menu/accessibilitydoc';
-import { MenuDocModule } from '@doc/menu/menudoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [MenuDocModule]
-})
-export class MenuDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'popup',
- label: 'Popup',
- component: PopupDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/menubar/index.ts b/apps/showcase/src/app/showcase/pages/menubar/index.ts
deleted file mode 100644
index 94153896497..00000000000
--- a/apps/showcase/src/app/showcase/pages/menubar/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { TemplateDoc } from '@doc/menubar/templatedoc';
-import { BasicDoc } from '@doc/menubar/basicdoc';
-import { ImportDoc } from '@doc/menubar/importdoc';
-import { AccessibilityDoc } from '@doc/menubar/accessibilitydoc';
-import { CommandDoc } from '@doc/menubar/commanddoc';
-import { RouterDoc } from '@doc/menubar/routerdoc';
-import { MenubarDocModule } from '@doc/menubar/menubardoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [MenubarDocModule]
-})
-export class MenubarDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/message/index.ts b/apps/showcase/src/app/showcase/pages/message/index.ts
deleted file mode 100644
index 6b31a13d58d..00000000000
--- a/apps/showcase/src/app/showcase/pages/message/index.ts
+++ /dev/null
@@ -1,84 +0,0 @@
-import { Component } from '@angular/core';
-import { IconDoc } from '@doc/message/icondoc';
-import { BasicDoc } from '@doc/message/basicdoc';
-import { ImportDoc } from '@doc/message/importdoc';
-import { MessageDocModule } from '@doc/message/messagedoc.module';
-import { FormDoc } from '@doc/message/formdoc';
-import { DynamicDoc } from '@doc/message/dynamicdoc';
-import { LifeDoc } from '@doc/message/lifedoc';
-import { AccessibilityDoc } from '@doc/message/accessibilitydoc';
-import { SeverityDoc } from '@doc/message/severitydoc';
-import { SizesDoc } from '@doc/message/sizesdoc';
-import { OutlinedDoc } from '@doc/message/outlineddoc';
-import { SimpleDoc } from '@doc/message/simpledoc';
-import { ClosableDoc } from '@doc/message/closabledoc';
-
-@Component({
- template: ` `,
- imports: [MessageDocModule],
- standalone: true
-})
-export class MessageDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'outlined',
- label: 'Outlined',
- component: OutlinedDoc
- },
- {
- id: 'simple',
- label: 'Simple',
- component: SimpleDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'forms',
- label: 'Forms',
- component: FormDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'closable',
- label: 'Closable',
- component: ClosableDoc
- },
- {
- id: 'life',
- label: 'Life',
- component: LifeDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/metergroup/index.ts b/apps/showcase/src/app/showcase/pages/metergroup/index.ts
deleted file mode 100755
index 499e4b10626..00000000000
--- a/apps/showcase/src/app/showcase/pages/metergroup/index.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/metergroup/importdoc';
-import { BasicDoc } from '@doc/metergroup/basicdoc';
-import { MultipleDoc } from '@doc/metergroup/multipledoc';
-import { IconDoc } from '@doc/metergroup/icondoc';
-import { LabelDoc } from '@doc/metergroup/labeldoc';
-import { VerticalDoc } from '@doc/metergroup/verticaldoc';
-import { MinMaxDoc } from '@doc/metergroup/minmaxdoc';
-import { TemplateDoc } from '@doc/metergroup/templatedoc';
-import { AccessibilityDoc } from '@doc/metergroup/accessibilitydoc';
-import { MeterGroupDocModule } from '@doc/metergroup/metergroupdoc.module';
-
-@Component({
- standalone: true,
- imports: [MeterGroupDocModule],
- template: ` `
-})
-export class MeterGroupDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'label',
- label: 'Label',
- component: LabelDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'minmax',
- label: 'Min Max',
- component: MinMaxDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/multiselect/index.ts b/apps/showcase/src/app/showcase/pages/multiselect/index.ts
deleted file mode 100644
index fb3b21d1ac6..00000000000
--- a/apps/showcase/src/app/showcase/pages/multiselect/index.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/multiselect/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/multiselect/accessibilitydoc';
-import { BasicDoc } from '@doc/multiselect/basicdoc';
-import { ChipsDoc } from '@doc/multiselect/chipsdoc';
-import { DisabledDoc } from '@doc/multiselect/disableddoc';
-import { FilterDoc } from '@doc/multiselect/filterdoc';
-import { FloatLabelDoc } from '@doc/multiselect/floatlabeldoc';
-import { GroupDoc } from '@doc/multiselect/groupdoc';
-import { ImportDoc } from '@doc/multiselect/importdoc';
-import { InvalidDoc } from '@doc/multiselect/invaliddoc';
-import { TemplateDoc } from '@doc/multiselect/templatedoc';
-import { VirtualScrollDoc } from '@doc/multiselect/virtualscrolldoc';
-import { LoadingStateDoc } from '@doc/multiselect/loadingstatedoc';
-import { FilledDoc } from '@doc/multiselect/filleddoc';
-import { IftaLabelDoc } from '@doc/multiselect/iftalabeldoc';
-import { MultiSelectDocModule } from '@doc/multiselect/multiselectdoc.module';
-import { SizesDoc } from '@doc/multiselect/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [MultiSelectDocModule]
-})
-export class MultiSelectDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'chips',
- label: 'Chips',
- component: ChipsDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'loadingstate',
- label: 'Loading State',
- component: LoadingStateDoc
- },
- {
- id: 'virtualscroll',
- label: 'VirtualScroll',
- component: VirtualScrollDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/orderlist/index.ts b/apps/showcase/src/app/showcase/pages/orderlist/index.ts
deleted file mode 100644
index 9529c42d99f..00000000000
--- a/apps/showcase/src/app/showcase/pages/orderlist/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { FilterDoc } from '@doc/orderlist/filterdoc';
-import { BasicDoc } from '@doc/orderlist/basicdoc';
-import { ImportDoc } from '@doc/orderlist/importdoc';
-import { DragDropDoc } from '@doc/orderlist/dragdropdoc';
-import { AccessibilityDoc } from '@doc/orderlist/accessibilitydoc';
-import { OrderlistDocModule } from '@doc/orderlist/orderlistdoc.module';
-import { TemplateDoc } from '@doc/orderlist/templatedoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [OrderlistDocModule]
-})
-export class OrderListDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/organizationchart/index.ts b/apps/showcase/src/app/showcase/pages/organizationchart/index.ts
deleted file mode 100644
index a3f9b811cac..00000000000
--- a/apps/showcase/src/app/showcase/pages/organizationchart/index.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { TemplateDoc } from '@doc/organizationchart/templatedoc';
-import { BasicDoc } from '@doc/organizationchart/basicdoc';
-import { ImportDoc } from '@doc/organizationchart/importdoc';
-import { SelectionDoc } from '@doc/organizationchart/selectiondoc';
-import { ColoredDoc } from '@doc/organizationchart/colored.doc';
-import { AccessibilityDoc } from '@doc/organizationchart/accessibilitydoc';
-import { OrganizationChartDocModule } from '@doc/organizationchart/organizationchartdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [OrganizationChartDocModule],
- styleUrl: './organizationchartdemo.scss'
-})
-export class OrganizationChartDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'selection',
- label: 'Selection',
- component: SelectionDoc
- },
- {
- id: 'colored',
- label: 'Colored',
- component: ColoredDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/overlay/index.ts b/apps/showcase/src/app/showcase/pages/overlay/index.ts
deleted file mode 100644
index 667ea65fcfc..00000000000
--- a/apps/showcase/src/app/showcase/pages/overlay/index.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Component } from '@angular/core';
-import { OverlayBasicDemo } from '@doc/overlay/basicdoc';
-import { AppendToDoc } from '@doc/overlay/appendtodoc';
-import { AutoZIndexDoc } from '@doc/overlay/autozindexdoc';
-import { BaseZIndexDoc } from '@doc/overlay/basezindexdoc';
-import { EventsDoc } from '@doc/overlay/eventsdoc';
-import { HideOnEscapeDoc } from '@doc/overlay/hideonescapedoc';
-import { ImportDoc } from '@doc/overlay/importdoc';
-import { ModeDoc } from '@doc/overlay/modedoc';
-import { ResponsiveDoc } from '@doc/overlay/responsivedoc';
-import { StyleDoc } from '@doc/overlay/styledoc';
-import { TargetDoc } from '@doc/overlay/targetdoc';
-import { OverlayTemplateDemo } from '@doc/overlay/templatedoc';
-import { TransitionOptionsDoc } from '@doc/overlay/transitionoptionsdoc';
-import { AccessibilityDoc } from '@doc/overlay/accessibilitydoc';
-import { OverlayDocModule } from '@doc/overlay/overlaydoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [OverlayDocModule]
-})
-export class OverlayDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: OverlayBasicDemo
- },
- {
- id: 'template',
- label: 'Template',
- component: OverlayTemplateDemo
- },
- {
- id: 'options',
- label: 'Options',
- children: [
- {
- id: 'mode',
- label: 'Mode',
- component: ModeDoc
- },
- {
- id: 'responsive',
- label: 'Responsive',
- component: ResponsiveDoc
- },
- {
- id: 'append-to',
- label: 'AppendTo',
- component: AppendToDoc
- },
- {
- id: 'target',
- label: 'Target',
- component: TargetDoc
- },
- {
- id: 'style',
- label: 'Style',
- component: StyleDoc
- },
- {
- id: 'base-z-index',
- label: 'BaseZIndex',
- component: BaseZIndexDoc
- },
- {
- id: 'auto-z-index',
- label: 'AutoZIndex',
- component: AutoZIndexDoc
- },
- {
- id: 'hide-on-escape',
- label: 'HideOnEscape',
- component: HideOnEscapeDoc
- },
- {
- id: 'transition-options',
- label: 'ShowTransitionOptions and HideTransitionOptions',
- component: TransitionOptionsDoc
- },
- {
- id: 'events',
- label: 'Events',
- component: EventsDoc
- }
- ]
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/paginator/index.ts b/apps/showcase/src/app/showcase/pages/paginator/index.ts
deleted file mode 100644
index 7c5984f230a..00000000000
--- a/apps/showcase/src/app/showcase/pages/paginator/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/paginator/accessibilitydoc';
-import { BasicDoc } from '@doc/paginator/basicdoc';
-import { ImportDoc } from '@doc/paginator/importdoc';
-import { TemplateDoc } from '@doc/paginator/templatedoc';
-import { CurrentPageReportDoc } from '@doc/paginator/currentpagereportdoc';
-import { PaginatorDocModule } from '@doc/paginator/paginatordoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [PaginatorDocModule],
- styles: `
- .image-gallery {
- text-align: center;
- padding: 1rem;
- }
- `
-})
-export class PaginatorDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'current-page-report',
- label: 'Current Page Report',
- component: CurrentPageReportDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/panel/index.ts b/apps/showcase/src/app/showcase/pages/panel/index.ts
deleted file mode 100644
index 09939a433e5..00000000000
--- a/apps/showcase/src/app/showcase/pages/panel/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { TemplateDoc } from '@doc/panel/templatedoc';
-import { BasicDoc } from '@doc/panel/basicdoc';
-import { ImportDoc } from '@doc/panel/importdoc';
-import { ToggleableDoc } from '@doc/panel/toggleabledoc';
-import { AccessibilityDoc } from '@doc/panel/accessibilitydoc';
-import { PanelDocModule } from '@doc/panel/paneldoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [PanelDocModule]
-})
-export class PanelDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'toggleable',
- label: 'Toggleable',
- component: ToggleableDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/panelmenu/index.ts b/apps/showcase/src/app/showcase/pages/panelmenu/index.ts
deleted file mode 100644
index 8d652b501f5..00000000000
--- a/apps/showcase/src/app/showcase/pages/panelmenu/index.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/panelmenu/basicdoc';
-import { ImportDoc } from '@doc/panelmenu/importdoc';
-import { MultipleDoc } from '@doc/panelmenu/multipledoc';
-import { AccessibilityDoc } from '@doc/panelmenu/accessibilitydoc';
-import { ControlledDoc } from '@doc/panelmenu/controlleddoc';
-import { TemplateDoc } from '@doc/panelmenu/templatedoc';
-import { CommandDoc } from '@doc/panelmenu/commanddoc';
-import { RouterDoc } from '@doc/panelmenu/routerdoc';
-import { PanelMenuDocModule } from '@doc/panelmenu/panelmenudoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [PanelMenuDocModule]
-})
-export class PanelMenuDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/password/index.ts b/apps/showcase/src/app/showcase/pages/password/index.ts
deleted file mode 100644
index dc5fd200bbb..00000000000
--- a/apps/showcase/src/app/showcase/pages/password/index.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/password/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/password/accessibilitydoc';
-import { BasicDoc } from '@doc/password/basicdoc';
-import { DisabledDoc } from '@doc/password/disableddoc';
-import { FloatLabelDoc } from '@doc/password/floatlabeldoc';
-import { ImportDoc } from '@doc/password/importdoc';
-import { InvalidDoc } from '@doc/password/invaliddoc';
-import { MeterDoc } from '@doc/password/meterdoc';
-import { LocaleDoc } from '@doc/password/localedoc';
-import { TemplateDoc } from '@doc/password/templatedoc';
-import { ToggleMaskDoc } from '@doc/password/togglemaskdoc';
-import { FilledDoc } from '@doc/password/filleddoc';
-import { PasswordDocModule } from '@doc/password/passworddoc.module';
-import { IftaLabelDoc } from '@doc/password/iftalabeldoc';
-import { SizesDoc } from '@doc/password/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [PasswordDocModule]
-})
-export class PasswordDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'meter',
- label: 'Meter',
- component: MeterDoc
- },
- {
- id: 'locale',
- label: 'Locale',
- component: LocaleDoc
- },
- {
- id: 'togglemask',
- label: 'Toggle Mask',
- component: ToggleMaskDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/picklist/index.ts b/apps/showcase/src/app/showcase/pages/picklist/index.ts
deleted file mode 100644
index a3472d76476..00000000000
--- a/apps/showcase/src/app/showcase/pages/picklist/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { Component } from '@angular/core';
-import { FilterDoc } from '@doc/picklist/filterdoc';
-import { BasicDoc } from '@doc/picklist/basicdoc';
-import { ImportDoc } from '@doc/picklist/importdoc';
-import { AccessibilityDoc } from '@doc/picklist/accessibilitydoc';
-import { PicklistDocModule } from '@doc/picklist/picklistdoc.module';
-import { TemplateDoc } from '@doc/picklist/templatedoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [PicklistDocModule],
- styleUrl: './picklistdemo.scss'
-})
-export class PickListDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/popover/index.ts b/apps/showcase/src/app/showcase/pages/popover/index.ts
deleted file mode 100755
index a805e79d3a3..00000000000
--- a/apps/showcase/src/app/showcase/pages/popover/index.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/popover/basicdoc';
-import { ImportDoc } from '@doc/popover/importdoc';
-import { DataTableDoc } from '@doc/popover/datatabledoc';
-import { AccessibilityDoc } from '@doc/popover/accessibilitydoc';
-import { CommonModule } from '@angular/common';
-import { PopoverDocModule } from '@doc/popover/popoverdoc.module';
-import { SelectDataDoc } from '@doc/popover/selectdatadoc';
-
-@Component({
- template: ` `,
- imports: [CommonModule, PopoverDocModule],
- standalone: true
-})
-export class PopoverDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'selectdata',
- label: 'Select Data',
- component: SelectDataDoc
- },
- {
- id: 'datatable',
- label: 'DataTable',
- component: DataTableDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/progressbar/index.ts b/apps/showcase/src/app/showcase/pages/progressbar/index.ts
deleted file mode 100644
index 25b1d242a79..00000000000
--- a/apps/showcase/src/app/showcase/pages/progressbar/index.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/progressbar/basicdoc';
-import { ImportDoc } from '@doc/progressbar/importdoc';
-import { TemplateDoc } from '@doc/progressbar/templatedoc';
-import { IndeterminateDoc } from '@doc/progressbar/indeterminatedoc';
-import { DynamicDoc } from '@doc/progressbar/dynamicdoc';
-import { AccessibilityDoc } from '@doc/progressbar/accessibilitydoc';
-import { ProgressBarDocModule } from '@doc/progressbar/progressbardoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ProgressBarDocModule]
-})
-export class ProgressBarDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'indeterminate',
- label: 'Indeterminate',
- component: IndeterminateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/progressspinner/index.ts b/apps/showcase/src/app/showcase/pages/progressspinner/index.ts
deleted file mode 100644
index 8bb40ce1a13..00000000000
--- a/apps/showcase/src/app/showcase/pages/progressspinner/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/progressspinner/importdoc';
-import { BasicDoc } from '@doc/progressspinner/basicdoc';
-import { CustomDoc } from '@doc/progressspinner/customdoc';
-import { AccessibilityDoc } from '@doc/progressspinner/accessibilitydoc';
-import { ProgressSpinnerDocModule } from '@doc/progressspinner/progressspinnerdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ProgressSpinnerDocModule]
-})
-export class ProgressSpinnerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'custom',
- label: 'Custom',
- component: CustomDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/radiobutton/index.ts b/apps/showcase/src/app/showcase/pages/radiobutton/index.ts
deleted file mode 100644
index d5e1c0973cd..00000000000
--- a/apps/showcase/src/app/showcase/pages/radiobutton/index.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/radiobutton/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/radiobutton/accessibilitydoc';
-import { DisabledDoc } from '@doc/radiobutton/disableddoc';
-import { DynamicDoc } from '@doc/radiobutton/dynamicdoc';
-import { GroupDoc } from '@doc/radiobutton/groupdoc';
-import { ImportDoc } from '@doc/radiobutton/importdoc';
-import { InvalidDoc } from '@doc/radiobutton/invaliddoc';
-import { FilledDoc } from '@doc/radiobutton/filleddoc';
-import { RadioButtonDocModule } from '@doc/radiobutton/radiobuttondoc.module';
-import { SizesDoc } from '@doc/radiobutton/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [RadioButtonDocModule]
-})
-export class RadioButtonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/rating/index.ts b/apps/showcase/src/app/showcase/pages/rating/index.ts
deleted file mode 100644
index a274a92ef8e..00000000000
--- a/apps/showcase/src/app/showcase/pages/rating/index.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Component } from '@angular/core';
-import { DisabledDoc } from '@doc/rating/disableddoc';
-import { BasicDoc } from '@doc/rating/basicdoc';
-import { ImportDoc } from '@doc/rating/importdoc';
-import { NumberOfStarsDoc } from '@doc/rating/numberofstarsdoc';
-import { ReadOnlyDoc } from '@doc/rating/readonlydoc';
-import { TemplateDoc } from '@doc/rating/templatedoc';
-import { WithoutCancelDoc } from '@doc/rating/withoutcanceldoc';
-import { AccessibilityDoc } from '@doc/rating/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/rating/reactiveformsdoc';
-import { RatingDocModule } from '@doc/rating/ratingdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [RatingDocModule]
-})
-export class RatingDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'numberofstars',
- label: 'Number of Stars',
- component: NumberOfStarsDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'readonly',
- label: 'ReadOnly',
- component: ReadOnlyDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/ripple/index.ts b/apps/showcase/src/app/showcase/pages/ripple/index.ts
deleted file mode 100644
index f3856af8007..00000000000
--- a/apps/showcase/src/app/showcase/pages/ripple/index.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/ripple/importdoc';
-import { CustomDoc } from '@doc/ripple/customdoc';
-import { DefaultDoc } from '@doc/ripple/defaultdoc';
-import { AccessibilityDoc } from '@doc/ripple/accessibilitydoc';
-import { RippleDocModule } from '@doc/ripple/rippledoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [RippleDocModule],
- styleUrl: './rippledemo.scss'
-})
-export class RippleDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'default',
- label: 'Default',
- component: DefaultDoc
- },
- {
- id: 'custom',
- label: 'Custom',
- component: CustomDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/scroller/index.ts b/apps/showcase/src/app/showcase/pages/scroller/index.ts
deleted file mode 100644
index 444d0541288..00000000000
--- a/apps/showcase/src/app/showcase/pages/scroller/index.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/scroller/basicdoc';
-import { DelayDoc } from '@doc/scroller/delaydoc';
-import { HorizontalDoc } from '@doc/scroller/horizontaldoc';
-import { GridDoc } from '@doc/scroller/griddoc';
-import { ImportDoc } from '@doc/scroller/importdoc';
-import { LazyLoadDoc } from '@doc/scroller/lazyloaddoc';
-import { LoaderDoc } from '@doc/scroller/loaderdoc';
-import { ProgrammaticDoc } from '@doc/scroller/programmaticdoc';
-import { AccessibilityDoc } from '@doc/scroller/accessibilitydoc';
-import { VirtualScrollerDocModule } from '@doc/scroller/scrollerdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [VirtualScrollerDocModule],
- styleUrl: './scrollerdemo.scss'
-})
-export class VirtualScrollerDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'horizontal',
- label: 'Horizontal',
- component: HorizontalDoc
- },
- {
- id: 'grid',
- label: 'Grid',
- component: GridDoc
- },
- {
- id: 'delay',
- label: 'Delay',
- component: DelayDoc
- },
- {
- id: 'loading',
- label: 'Loading',
- component: LoaderDoc
- },
- {
- id: 'lazy',
- label: 'Lazy',
- component: LazyLoadDoc
- },
- {
- id: 'programmatic',
- label: 'Programmatic',
- component: ProgrammaticDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/scrollpanel/index.ts b/apps/showcase/src/app/showcase/pages/scrollpanel/index.ts
deleted file mode 100644
index 5647419beeb..00000000000
--- a/apps/showcase/src/app/showcase/pages/scrollpanel/index.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/scrollpanel/basicdoc';
-import { ImportDoc } from '@doc/scrollpanel/importdoc';
-import { CusstomDoc } from '@doc/scrollpanel/customdoc';
-import { AccessibilityDoc } from '@doc/scrollpanel/accessibilitydoc';
-import { ScrollPanelDocModule } from '@doc/scrollpanel/scrollpaneldoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ScrollPanelDocModule]
-})
-export class ScrollPanelDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'custom',
- label: 'Custom',
- component: CusstomDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/scrolltop/index.ts b/apps/showcase/src/app/showcase/pages/scrolltop/index.ts
deleted file mode 100644
index fc3c45b2511..00000000000
--- a/apps/showcase/src/app/showcase/pages/scrolltop/index.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/scrolltop/importdoc';
-import { BasicDoc } from '@doc/scrolltop/basicdoc';
-import { ElementDoc } from '@doc/scrolltop/elementdoc';
-import { AccessibilityDoc } from '@doc/scrolltop/accessibilitydoc';
-import { ScrollTopDocModule } from '@doc/scrolltop/scrolltopdoc.module';
-
-@Component({
- standalone: true,
- imports: [ScrollTopDocModule],
- template: ` `,
- styleUrls: ['./scrolltopdemo.scss']
-})
-export class ScrollTopDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'element',
- label: 'Target Element',
- component: ElementDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/select/index.ts b/apps/showcase/src/app/showcase/pages/select/index.ts
deleted file mode 100644
index 74b79458606..00000000000
--- a/apps/showcase/src/app/showcase/pages/select/index.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/select/basicdoc';
-import { DisabledDoc } from '@doc/select/disableddoc';
-import { EditableDoc } from '@doc/select/editabledoc';
-import { FilterDoc } from '@doc/select/filterdoc';
-import { GroupDoc } from '@doc/select/groupdoc';
-import { ImportDoc } from '@doc/select/importdoc';
-import { TemplateDoc } from '@doc/select/templatedoc';
-import { VirtualScrollDoc } from '@doc/select/virtualscrolldoc';
-import { FloatLabelDoc } from '@doc/select/floatlabeldoc';
-import { AccessibilityDoc } from '@doc/select/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/select/reactiveformsdoc';
-import { LazyVirtualScrollDoc } from '@doc/select/lazyvirtualscrolldoc';
-import { InvalidDoc } from '@doc/select/invaliddoc';
-import { CustomFilterDoc } from '@doc/select/customfilterdoc';
-import { CheckmarkDoc } from '@doc/select/checkmarkdoc';
-import { ClearIconDoc } from '@doc/select/clearicondoc';
-import { LoadingStateDoc } from '@doc/select/loadingstatedoc';
-import { FilledDoc } from '@doc/select/filleddoc';
-import { SelectDocModule } from '@doc/select/selectdoc.module';
-import { IftaLabelDoc } from '@doc/select/iftalabeldoc';
-import { SizesDoc } from '@doc/select/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SelectDocModule],
- styleUrl: './selectdemo.scss'
-})
-export class SelectDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'checkmark',
- label: 'Checkmark',
- component: CheckmarkDoc
- },
- {
- id: 'editable',
- label: 'Editable',
- component: EditableDoc
- },
- {
- id: 'group',
- label: 'Group',
- component: GroupDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'clearicon',
- label: 'Clear Icon',
- component: ClearIconDoc
- },
- {
- id: 'loadingstate',
- label: 'Loading State',
- component: LoadingStateDoc
- },
-
- {
- id: 'virtualscroll',
- label: 'Virtual Scroll',
- component: VirtualScrollDoc
- },
- {
- id: 'lazyvirtualscroll',
- label: 'Lazy Virtual Scroll',
- component: LazyVirtualScrollDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/selectbutton/index.ts b/apps/showcase/src/app/showcase/pages/selectbutton/index.ts
deleted file mode 100644
index 86b0415a0b3..00000000000
--- a/apps/showcase/src/app/showcase/pages/selectbutton/index.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/selectbutton/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/selectbutton/accessibilitydoc';
-import { BasicDoc } from '@doc/selectbutton/basicdoc';
-import { DisabledDoc } from '@doc/selectbutton/disableddoc';
-import { ImportDoc } from '@doc/selectbutton/importdoc';
-import { InvalidDoc } from '@doc/selectbutton/invaliddoc';
-import { MultipleDoc } from '@doc/selectbutton/multipledoc';
-import { TemplateDoc } from '@doc/selectbutton/templatedoc';
-import { SelectButtonDocModule } from '@doc/selectbutton/selectbuttondoc.module';
-import { SizesDoc } from '@doc/selectbutton/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SelectButtonDocModule]
-})
-export class SelectButtonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/skeleton/index.ts b/apps/showcase/src/app/showcase/pages/skeleton/index.ts
deleted file mode 100644
index 555d2cd78a2..00000000000
--- a/apps/showcase/src/app/showcase/pages/skeleton/index.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component } from '@angular/core';
-import { CardDoc } from '@doc/skeleton/carddoc';
-import { DataTableDoc } from '@doc/skeleton/datatabledoc';
-import { ImportDoc } from '@doc/skeleton/importdoc';
-import { ListDoc } from '@doc/skeleton/listdoc';
-import { ShapesDoc } from '@doc/skeleton/shapesdoc';
-import { AccessibilityDoc } from '@doc/skeleton/accessibilitydoc';
-import { SkeletonDocModule } from '@doc/skeleton/skeletondoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SkeletonDocModule],
- styleUrl: './skeletondemo.scss'
-})
-export class SkeletonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'shapes',
- label: 'Shapes',
- component: ShapesDoc
- },
- {
- id: 'card',
- label: 'Card',
- component: CardDoc
- },
- {
- id: 'list',
- label: 'List',
- component: ListDoc
- },
- {
- id: 'datatable',
- label: 'DataTable',
- component: DataTableDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/slider/index.ts b/apps/showcase/src/app/showcase/pages/slider/index.ts
deleted file mode 100644
index 8f129eaf842..00000000000
--- a/apps/showcase/src/app/showcase/pages/slider/index.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/slider/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/slider/accessibilitydoc';
-import { BasicDoc } from '@doc/slider/basicdoc';
-import { ImportDoc } from '@doc/slider/importdoc';
-import { InputDoc } from '@doc/slider/inputdoc';
-import { RangeDoc } from '@doc/slider/rangedoc';
-import { StepDoc } from '@doc/slider/stepdoc';
-import { VerticalDoc } from '@doc/slider/verticaldoc';
-import { SliderDocModule } from '@doc/slider/sliderdoc.module';
-import { FilterDoc } from '@doc/slider/filterdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SliderDocModule]
-})
-export class SliderDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'input',
- label: 'Input',
- component: InputDoc
- },
- {
- id: 'step',
- label: 'Step',
- component: StepDoc
- },
- {
- id: 'range',
- label: 'Range',
- component: RangeDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/speeddial/index.ts b/apps/showcase/src/app/showcase/pages/speeddial/index.ts
deleted file mode 100644
index 212a55a58c7..00000000000
--- a/apps/showcase/src/app/showcase/pages/speeddial/index.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/speeddial/accessibilitydoc';
-import { CircleDoc } from '@doc/speeddial/circledoc';
-import { ImportDoc } from '@doc/speeddial/importdoc';
-import { LinearDoc } from '@doc/speeddial/lineardoc';
-import { MaskDoc } from '@doc/speeddial/maskdoc';
-import { QuarterCircleDoc } from '@doc/speeddial/quartercircledoc';
-import { SemiCircleDoc } from '@doc/speeddial/semicircledoc';
-import { TooltipDoc } from '@doc/speeddial/tooltipdoc';
-import { TemplateDoc } from '@doc/speeddial/templatedoc';
-import { SpeedDialDocModule } from '@doc/speeddial/speeddialdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SpeedDialDocModule],
- styleUrl: './speeddialdemo.scss'
-})
-export class SpeedDialDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'linear',
- label: 'Linear',
- component: LinearDoc
- },
- {
- id: 'circle',
- label: 'Circle',
- component: CircleDoc
- },
- {
- id: 'semicircle',
- label: 'Semi Circle',
- component: SemiCircleDoc
- },
- {
- id: 'quartercircle',
- label: 'Quarter Circle',
- component: QuarterCircleDoc
- },
- {
- id: 'tooltip',
- label: 'Tooltip',
- component: TooltipDoc
- },
- {
- id: 'mask',
- label: 'Mask',
- component: MaskDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/splitbutton/index.ts b/apps/showcase/src/app/showcase/pages/splitbutton/index.ts
deleted file mode 100644
index be326433774..00000000000
--- a/apps/showcase/src/app/showcase/pages/splitbutton/index.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { Component } from '@angular/core';
-import { TextDoc } from '@doc/splitbutton/textdoc';
-import { BasicDoc } from '@doc/splitbutton/basicdoc';
-import { IconsDoc } from '@doc/splitbutton/iconsdoc';
-import { ImportDoc } from '@doc/splitbutton/importdoc';
-import { NestedDoc } from '@doc/splitbutton/nesteddoc';
-import { RaisedDoc } from '@doc/splitbutton/raiseddoc';
-import { RoundedDoc } from '@doc/splitbutton/roundeddoc';
-import { SeverityDoc } from '@doc/splitbutton/severitydoc';
-import { RaisedTextDoc } from '@doc/splitbutton/raisedtextdoc';
-import { OutlinedDoc } from '@doc/splitbutton/outlineddoc';
-import { SizesDoc } from '@doc/splitbutton/sizesdoc';
-import { DisabledDoc } from '@doc/splitbutton/disableddoc';
-import { TemplateDoc } from '@doc/splitbutton/templatedoc';
-import { AccessibilityDoc } from '@doc/splitbutton/accessibilitydoc';
-import { SplitButtonDocModule } from '@doc/splitbutton/splitbuttondoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SplitButtonDocModule]
-})
-export class SplitButtonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'icons',
- label: 'Icons',
- component: IconsDoc
- },
- {
- id: 'nested',
- label: 'Nested',
- component: NestedDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'raised',
- label: 'Raised',
- component: RaisedDoc
- },
- {
- id: 'rounded',
- label: 'Rounded',
- component: RoundedDoc
- },
- {
- id: 'text',
- label: 'Text',
- component: TextDoc
- },
- {
- id: 'raisedtext',
- label: 'Raised Text',
- component: RaisedTextDoc
- },
- {
- id: 'outlined',
- label: 'Outlined',
- component: OutlinedDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/splitter/index.ts b/apps/showcase/src/app/showcase/pages/splitter/index.ts
deleted file mode 100644
index 249d821858a..00000000000
--- a/apps/showcase/src/app/showcase/pages/splitter/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Component } from '@angular/core';
-import { SizeDoc } from '@doc/splitter/sizedoc';
-import { HorizontalDoc } from '@doc/splitter/horizontaldoc';
-import { ImportDoc } from '@doc/splitter/importdoc';
-import { VerticalDoc } from '@doc/splitter/verticaldoc';
-import { NestedDoc } from '@doc/splitter/nesteddoc';
-import { AccessibilityDoc } from '@doc/splitter/accessibilitydoc';
-import { SplitterDocModule } from '@doc/splitter/splitterdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [SplitterDocModule]
-})
-export class SplitterDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'horizontal',
- label: 'Horizontal',
- component: HorizontalDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'nested',
- label: 'Nested',
- component: NestedDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/stepper/index.ts b/apps/showcase/src/app/showcase/pages/stepper/index.ts
deleted file mode 100644
index 4b398541cbe..00000000000
--- a/apps/showcase/src/app/showcase/pages/stepper/index.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/stepper/importdoc';
-import { BasicDoc } from '@doc/stepper/basicdoc';
-import { VerticalDoc } from '@doc/stepper/verticaldoc';
-import { LinearDoc } from '@doc/stepper/lineardoc';
-import { TemplateDoc } from '@doc/stepper/templatedoc';
-import { AccessibilityDoc } from '@doc/stepper/accessibilitydoc';
-import { StepperDocModule } from '@doc/stepper/stepperdoc.module';
-import { StepsOnlyDoc } from '@doc/stepper/stepsonly';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [StepperDocModule]
-})
-export class StepperDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'horizontal',
- label: 'Horizontal',
- component: BasicDoc
- },
- {
- id: 'vertical',
- label: 'Vertical',
- component: VerticalDoc
- },
- {
- id: 'linear',
- label: 'Linear',
- component: LinearDoc
- },
- {
- id: 'steps-only',
- label: 'Steps Only',
- component: StepsOnlyDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/steps/index.ts b/apps/showcase/src/app/showcase/pages/steps/index.ts
deleted file mode 100644
index 9dcf8f361d9..00000000000
--- a/apps/showcase/src/app/showcase/pages/steps/index.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/steps/basicdoc';
-import { ImportDoc } from '@doc/steps/importdoc';
-import { InteractiveDoc } from '@doc/steps/interactivedoc';
-import { RoutingDoc } from '@doc/steps/routingdoc';
-import { AccessibilityDoc } from '@doc/steps/accessibilitydoc';
-import { ControlledDoc } from '@doc/steps/controlleddoc';
-import { StepsDocModule } from '@doc/steps/stepsdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [StepsDocModule],
- styleUrl: './stepsdemo.scss'
-})
-export class StepsDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'interactive',
- label: 'Interactive',
- component: InteractiveDoc
- },
- {
- id: 'routing',
- label: 'Routing',
- component: RoutingDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/styleclass/index.ts b/apps/showcase/src/app/showcase/pages/styleclass/index.ts
deleted file mode 100644
index 0b6fe634144..00000000000
--- a/apps/showcase/src/app/showcase/pages/styleclass/index.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/styleclass/importdoc';
-import { AnimationDoc } from '@doc/styleclass/animationdoc';
-import { ToggleClassDoc } from '@doc/styleclass/toggleclassdoc';
-import { StyleClassDocModule } from '@doc/styleclass/styleclassdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [StyleClassDocModule]
-})
-export class StyleClassDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'toggleclass',
- label: 'Toggle Class',
- component: ToggleClassDoc
- },
- {
- id: 'animation',
- label: 'Animation',
- component: AnimationDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/table/index.ts b/apps/showcase/src/app/showcase/pages/table/index.ts
deleted file mode 100644
index 6f22862d3fe..00000000000
--- a/apps/showcase/src/app/showcase/pages/table/index.ts
+++ /dev/null
@@ -1,360 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/table/basicdoc';
-import { DynamicDoc } from '@doc/table/dynamicdoc';
-import { TemplateDoc } from '@doc/table/templatedoc';
-import { SizeDoc } from '@doc/table/sizedoc';
-import { GridlinesDoc } from '@doc/table/gridlinesdoc';
-import { StripedDoc } from '@doc/table/stripeddoc';
-import { StyleDoc } from '@doc/table/styledoc';
-import { ImportDoc } from '@doc/table/importdoc';
-import { PaginatorBasicDoc } from '@doc/table/paginatorbasicdoc';
-import { PaginatorProgrammaticDoc } from '@doc/table/paginatorprogrammaticdoc';
-import { SingleColumnSortDoc } from '@doc/table/singlecolumnsortdoc';
-import { MultipleColumnsSortDoc } from '@doc/table/multiplecolumnssortdoc';
-import { FilterBasicDoc } from '@doc/table/filterbasic';
-import { SingleSelectionDoc } from '@doc/table/singleselectiondoc';
-import { MultipleSelectionDoc } from '@doc/table/multipleselectiondoc';
-import { RadioButtonSelectionDoc } from '@doc/table/radiobuttonselectiondoc';
-import { CheckboxSelectionDoc } from '@doc/table/checkboxselectiondoc';
-import { SelectionEventsDoc } from '@doc/table/selectioneventsdoc';
-import { ColumnSelectionDoc } from '@doc/table/columnselectiondoc';
-import { RowExpansionDoc } from '@doc/table/rowexpansiondoc';
-import { CellEditDoc } from '@doc/table/celleditdoc';
-import { RowEditDoc } from '@doc/table/roweditdoc';
-import { VerticalScrollDoc } from '@doc/table/verticalscrolldoc';
-import { FlexibleScrollDoc } from '@doc/table/flexiblescrolldoc';
-import { HorizontalScrollDoc } from '@doc/table/horizontalscrolldoc';
-import { FrozenRowsDoc } from '@doc/table/frozenrowsdoc';
-import { FrozenColumnsDoc } from '@doc/table/frozencolumnsdoc';
-import { VirtualScrollDoc } from '@doc/table/virtualscrolldoc';
-import { VirtualScrollLazyDoc } from '@doc/table/virtualscrolllazydoc';
-import { ColumnGroupDoc } from '@doc/table/columngroupdoc';
-import { SubheaderGroupingDoc } from '@doc/table/subheadergroupingdoc';
-import { ExpandableRowGroupDoc } from '@doc/table/expandablerowgroupdoc';
-import { RowspanGroupingDoc } from '@doc/table/rowspangroupingdoc';
-import { ColumnResizeFitModeDoc } from '@doc/table/columnresizefitmodedoc';
-import { ColumnResizeExpandModeDoc } from '@doc/table/columnresizeexpandmodedoc';
-import { ColumnResizeScrollableModeDoc } from '@doc/table/columnresizescrollablemodedoc';
-import { ReorderDoc } from '@doc/table/reorderdoc';
-import { ColumnToggleDoc } from '@doc/table/columntoggledoc';
-import { ExportDoc } from '@doc/table/exportdoc';
-import { ContextMenuDoc } from '@doc/table/contextmenudoc';
-import { StatefulDoc } from '@doc/table/statefuldoc';
-import { CustomersDoc } from '@doc/table/customersdoc';
-import { ProductsDoc } from '@doc/table/productsdoc';
-import { AccessibilityDoc } from '@doc/table/accessibilitydoc';
-import { PreSortDoc } from '@doc/table/presortdoc';
-import { RemovableSortDoc } from '@doc/table/removablesortdoc';
-import { FilterAdvancedDoc } from '@doc/table/filteradvanceddoc';
-import { TableDocModule } from '@doc/table/tabledoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TableDocModule],
- styleUrl: './tabledemo.scss'
-})
-export class TableDemo {
- docs = [
- {
- id: 'import-demo',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic Columns',
- component: DynamicDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'gridlines',
- label: 'Grid Lines',
- component: GridlinesDoc
- },
- {
- id: 'striped',
- label: 'Striped Rows',
- component: StripedDoc
- },
- {
- id: 'table-style',
- label: 'Conditional Style',
- component: StyleDoc
- },
- {
- id: 'paginator',
- label: 'Pagination',
- children: [
- {
- id: 'paginator-basic',
- label: 'Basic',
- component: PaginatorBasicDoc
- },
- {
- id: 'paginator-programmatic',
- label: 'Programmatic',
- component: PaginatorProgrammaticDoc
- }
- ]
- },
- {
- id: 'sort',
- label: 'Sort',
- children: [
- {
- id: 'single-column-sort',
- label: 'Single Column',
- component: SingleColumnSortDoc
- },
- {
- id: 'multiple-columns-sort',
- label: 'Multiple Columns',
- component: MultipleColumnsSortDoc
- },
- {
- id: 'pre-sort',
- label: 'Presort',
- component: PreSortDoc
- },
- {
- id: 'removable-sort',
- label: 'Removable',
- component: RemovableSortDoc
- }
- ]
- },
- {
- id: 'filter',
- label: 'Filter',
- children: [
- {
- id: 'filter-basic',
- label: 'Basic',
- component: FilterBasicDoc
- },
- {
- id: 'filter-advanced',
- label: 'Advanced',
- component: FilterAdvancedDoc
- }
- ]
- },
- {
- id: 'row-selection',
- label: 'Row Selection',
- children: [
- {
- id: 'single-selection',
- label: 'Single',
- component: SingleSelectionDoc
- },
- {
- id: 'multiple-selection',
- label: 'Multiple',
- component: MultipleSelectionDoc
- },
- {
- id: 'radio-button-selection',
- label: 'RadioButton',
- component: RadioButtonSelectionDoc
- },
- {
- id: 'checkbox-selection',
- label: 'Checkbox',
- component: CheckboxSelectionDoc
- },
- {
- id: 'column-selection',
- label: 'Column',
- component: ColumnSelectionDoc
- },
- {
- id: 'selection-events',
- label: 'Events',
- component: SelectionEventsDoc
- }
- ]
- },
- {
- id: 'row-expansion',
- label: 'Row Expansion',
- component: RowExpansionDoc
- },
- {
- id: 'Edit',
- label: 'Edit',
- children: [
- {
- id: 'cell-edit',
- label: 'Cell',
- component: CellEditDoc
- },
- {
- id: 'row-edit',
- label: 'Row',
- component: RowEditDoc
- }
- ]
- },
- // {
- // id: 'lazy-load',
- // label: 'Lazy Load',
- // component: LazyLoadDoc,
- // },
- {
- id: 'scroll',
- label: 'Scroll',
- children: [
- {
- id: 'vertical-scroll',
- label: 'Vertical',
- component: VerticalScrollDoc
- },
- {
- id: 'flex-scroll',
- label: 'Flexible',
- component: FlexibleScrollDoc
- },
- {
- id: 'horizontal-scroll',
- label: 'Horizontal',
- component: HorizontalScrollDoc
- },
- {
- id: 'frozen-rows',
- label: 'Frozen Rows',
- component: FrozenRowsDoc
- },
- {
- id: 'frozen-columns',
- label: 'Frozen Columns',
- component: FrozenColumnsDoc
- }
- ]
- },
- {
- id: 'virtual-scroll',
- label: 'Virtual Scroll',
- children: [
- {
- id: 'virtual-scroll-basic',
- label: 'Preload',
- component: VirtualScrollDoc
- },
- {
- id: 'virtual-scroll-lazy',
- label: 'Lazy',
- component: VirtualScrollLazyDoc
- }
- ]
- },
- {
- id: 'column-group',
- label: 'Column Group',
- component: ColumnGroupDoc
- },
- {
- id: 'row-group',
- label: 'Row Group',
- children: [
- {
- id: 'subheader',
- label: 'Subheader',
- component: SubheaderGroupingDoc
- },
- {
- id: 'expand',
- label: 'Expandable',
- component: ExpandableRowGroupDoc
- },
- {
- id: 'row-span',
- label: 'RowSpan',
- component: RowspanGroupingDoc
- }
- ]
- },
- {
- id: 'column-resize',
- label: 'Column Resize',
- children: [
- {
- id: 'fit-mode',
- label: 'Fit Mode',
- component: ColumnResizeFitModeDoc
- },
- {
- id: 'expand-mode',
- label: 'Expand Mode',
- component: ColumnResizeExpandModeDoc
- },
- {
- id: 'scrollable',
- label: 'Scrollable',
- component: ColumnResizeScrollableModeDoc
- }
- ]
- },
- {
- id: 'reorder',
- label: 'Reorder',
- component: ReorderDoc
- },
- {
- id: 'column-toggle',
- label: 'Column Toggle',
- component: ColumnToggleDoc
- },
- {
- id: 'export',
- label: 'Export',
- component: ExportDoc
- },
- {
- id: 'context-menu',
- label: 'Context Menu',
- component: ContextMenuDoc
- },
- {
- id: 'stateful',
- label: 'Stateful',
- component: StatefulDoc
- },
- {
- id: 'samples',
- label: 'Samples',
- children: [
- {
- id: 'customers',
- label: 'Customers',
- component: CustomersDoc
- },
- {
- id: 'products',
- label: 'Products',
- component: ProductsDoc
- }
- ]
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tabs/index.ts b/apps/showcase/src/app/showcase/pages/tabs/index.ts
deleted file mode 100755
index 29d19ff3029..00000000000
--- a/apps/showcase/src/app/showcase/pages/tabs/index.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { Component } from '@angular/core';
-import { DisabledDoc } from '@doc/tabs/disableddoc';
-import { BasicDoc } from '@doc/tabs/basicdoc';
-import { DynamicDoc } from '@doc/tabs/dynamicdoc';
-import { ControlledDoc } from '@doc/tabs/controlleddoc';
-import { ImportDoc } from '@doc/tabs/importdoc';
-import { TemplateDoc } from '@doc/tabs/customtemplatedoc';
-import { ScrollableDoc } from '@doc/tabs/scrollabledoc';
-import { TabmenuDoc } from '@doc/tabs/tabmenudoc';
-import { AccessibilityDoc } from '@doc/tabs/accessibilitydoc';
-import { TabsDocModule } from '@doc/tabs/tabsdoc.module';
-
-@Component({
- template: ` `,
- imports: [TabsDocModule],
- standalone: true
-})
-export class TabsDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'dynamic',
- label: 'Dynamic',
- component: DynamicDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'scrollable',
- label: 'Scrollable',
- component: ScrollableDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'tabmenu',
- label: 'Tab Menu',
- component: TabmenuDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tag/index.ts b/apps/showcase/src/app/showcase/pages/tag/index.ts
deleted file mode 100644
index 1d065599a58..00000000000
--- a/apps/showcase/src/app/showcase/pages/tag/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { IconDoc } from '@doc/tag/icondoc';
-import { ImportDoc } from '@doc/tag/importdoc';
-import { SeverityDoc } from '@doc/tag/severitydoc';
-import { BasicDoc } from '@doc/tag/basicdoc';
-import { PillDoc } from '@doc/tag/pilldoc';
-import { TemplateDoc } from '@doc/tag/templatedoc';
-import { AccessibilityDoc } from '@doc/tag/accessibilitydoc';
-import { TagDocModule } from '@doc/tag/tagdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TagDocModule]
-})
-export class TagDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'pill',
- label: 'Pill',
- component: PillDoc
- },
- {
- id: 'icon',
- label: 'Icon',
- component: IconDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tailwind/index.ts b/apps/showcase/src/app/showcase/pages/tailwind/index.ts
deleted file mode 100644
index b3900c7c7f3..00000000000
--- a/apps/showcase/src/app/showcase/pages/tailwind/index.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Component } from '@angular/core';
-import { AnimationsDoc } from '@doc/tailwind/animationsdoc';
-import { ColorPaletteDoc } from '@doc/tailwind/colorpalettedoc';
-import { ExtensionsDoc } from '@doc/tailwind/extensionsdoc';
-import { FormDoc } from '@doc/tailwind/formdoc';
-import { HeadlessDoc } from '@doc/tailwind/headlessdoc';
-import { OverrideDoc } from '@doc/tailwind/overridedoc';
-import { OverviewDoc } from '@doc/tailwind/overviewdoc';
-import { PluginDoc } from '@doc/tailwind/plugindoc';
-import { TailwindDocModule } from '@doc/tailwind/tailwinddoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TailwindDocModule]
-})
-export class TailwindDemo {
- docs = [
- {
- id: 'overview',
- label: 'Overview',
- component: OverviewDoc
- },
- {
- id: 'plugin',
- label: 'Plugin',
- component: PluginDoc
- },
- {
- id: 'extensions',
- label: 'Extensions',
- component: ExtensionsDoc
- },
- {
- id: 'override',
- label: 'Override',
- component: OverrideDoc
- },
- {
- id: 'samples',
- label: 'Samples',
- description: 'Example uses cases with PrimeNG and Tailwind CSS.',
- children: [
- {
- id: 'color-palette',
- label: 'Color Palette',
- component: ColorPaletteDoc
- },
- {
- id: 'form',
- label: 'Form',
- component: FormDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
- {
- id: 'animations',
- label: 'Animations',
- component: AnimationsDoc
- }
- ]
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.module.ts b/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.module.ts
deleted file mode 100644
index 133bd2d5edd..00000000000
--- a/apps/showcase/src/app/showcase/pages/templates/learnmore/learnmore.module.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { NgModule } from '@angular/core';
-
-import { TemplateConfigurationModule } from '@layout/templates/templateconfiguration';
-import { TemplateFeaturesModule } from '@layout/templates/templatefeatures';
-import { TemplateFeaturesAnimationModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimation';
-import { TemplateFeaturesAnimationInlineModule } from '@layout/templates/templatefeaturesanimation/templatefeaturesanimationinline';
-import { TemplateHeroModule } from '@layout/templates/templatehero/templatehero';
-import { TemplateLicenseModule } from '@layout/templates/templatelicense';
-import { TemplateRelatedModule } from '@layout/templates/templaterelated';
-import { TemplateSeparatorModule } from '@layout/templates/templateseparator';
-import { TemplateYoutubeModule } from '@layout/templates/templateyoutube';
-import { LearnMoreRoutingModule } from './learnmore-routing.module';
-import { LearnMoreComponent } from './learnmore.component';
-@NgModule({
- declarations: [LearnMoreComponent],
- imports: [
- CommonModule,
- LearnMoreRoutingModule,
- TemplateHeroModule,
- TemplateSeparatorModule,
- TemplateYoutubeModule,
- TemplateLicenseModule,
- TemplateFeaturesModule,
- TemplateFeaturesAnimationModule,
- TemplateConfigurationModule,
- TemplateRelatedModule,
- TemplateFeaturesAnimationInlineModule
- ]
-})
-export class LearnMoreModule {}
diff --git a/apps/showcase/src/app/showcase/pages/terminal/index.ts b/apps/showcase/src/app/showcase/pages/terminal/index.ts
deleted file mode 100644
index 6bfc7c6158c..00000000000
--- a/apps/showcase/src/app/showcase/pages/terminal/index.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/terminal/basicdoc';
-import { ImportDoc } from '@doc/terminal/importdoc';
-import { AccessibilityDoc } from '@doc/terminal/accessibilitydoc';
-import { TerminalDocModule } from '@doc/terminal/terminaldoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TerminalDocModule]
-})
-export class TerminalDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/textarea/index.ts b/apps/showcase/src/app/showcase/pages/textarea/index.ts
deleted file mode 100755
index 7791d5f5a67..00000000000
--- a/apps/showcase/src/app/showcase/pages/textarea/index.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/textarea/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/textarea/accessibilitydoc';
-import { AutoResizeDoc } from '@doc/textarea/autoresizedoc';
-import { BasicDoc } from '@doc/textarea/basicdoc';
-import { DisabledDoc } from '@doc/textarea/disableddoc';
-import { FloatlabelDoc } from '@doc/textarea/floatlabeldoc';
-import { InvalidDoc } from '@doc/textarea/invaliddoc';
-import { ImportDoc } from '@doc/textarea/importdoc';
-import { FilledDoc } from '@doc/textarea/filleddoc';
-import { TextareaDocModule } from '@doc/textarea/texteareadoc.module';
-import { IftaLabelDoc } from '@doc/textarea/iftalabeldoc';
-import { SizesDoc } from '@doc/textarea/sizesdoc';
-
-@Component({
- standalone: true,
- imports: [TextareaDocModule],
- template: ` `
-})
-export class TextareaDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'autoresize',
- label: 'AutoResize',
- component: AutoResizeDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatlabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/theming/index.ts b/apps/showcase/src/app/showcase/pages/theming/index.ts
deleted file mode 100644
index 3aef60947b6..00000000000
--- a/apps/showcase/src/app/showcase/pages/theming/index.ts
+++ /dev/null
@@ -1,199 +0,0 @@
-import { Component } from '@angular/core';
-import { ArchitectureDoc } from '@doc/theming/architecturedoc';
-import { CaseDoc } from '@doc/theming/casedoc';
-import { ColorsDoc } from '@doc/theming/colorsdoc';
-import { ComponentDoc } from '@doc/theming/componentdoc';
-import { DarkModeDoc } from '@doc/theming/darkmodedoc';
-import { DefinePresetDoc } from '@doc/theming/definepresetdoc';
-import { DtDoc } from '@doc/theming/dtdoc';
-import { FocusRingDoc } from '@doc/theming/focusringdoc';
-import { FontDoc } from '@doc/theming/fontdoc';
-import { FormsDoc } from '@doc/theming/formsdoc';
-import { LibrariesDoc } from '@doc/theming/librariesdoc';
-import { NoirDoc } from '@doc/theming/noirdoc';
-import { OptionsDoc } from '@doc/theming/optionsdoc';
-import { PaletteDoc } from '@doc/theming/palettedoc';
-import { PresetsDoc } from '@doc/theming/presetsdoc';
-import { PrimaryDoc } from '@doc/theming/primarydoc';
-import { ResetDoc } from '@doc/theming/resetdoc';
-import { ReversedKeysDoc } from '@doc/theming/reversedkeysdoc';
-import { ScaleDoc } from '@doc/theming/scaledoc';
-import { ScopedTokensDoc } from '@doc/theming/scopedtokensdoc';
-import { SpecificityDoc } from '@doc/theming/specifitydoc';
-import { SurfaceDoc } from '@doc/theming/surfacedoc';
-import { ThemeDoc } from '@doc/theming/themedoc';
-import { ThemingDocModule } from '@doc/theming/themingdoc.module';
-import { UpdatePresetDoc } from '@doc/theming/updatepresetdoc';
-import { UpdatePrimaryPaletteDoc } from '@doc/theming/updateprimarypalettedoc';
-import { UpdateSurfacePaletteDoc } from '@doc/theming/updatesurfacepalettedoc';
-import { UsePresetDoc } from '@doc/theming/usepresetdoc';
-
-@Component({
- template: ` `,
- imports: [ThemingDocModule],
- standalone: true
-})
-export class ThemingDemo {
- docs = [
- {
- id: 'architecture',
- label: 'Architecture',
- component: ArchitectureDoc
- },
- {
- id: 'configuration',
- label: 'Configuration API',
- children: [
- {
- id: 'theme',
- label: 'Theme',
- component: ThemeDoc
- },
- {
- id: 'options',
- label: 'Options',
- component: OptionsDoc
- }
- ]
- },
- {
- id: 'presets',
- label: 'Presets',
- component: PresetsDoc
- },
- {
- id: 'casestyle',
- label: 'Case Style',
- component: CaseDoc
- },
- {
- id: 'reserved',
- label: 'Reserved Keys',
- component: ReversedKeysDoc
- },
- {
- id: 'customization',
- label: 'Customization',
- children: [
- {
- id: 'definepreset',
- label: 'definePreset',
- component: DefinePresetDoc
- },
- {
- id: 'primary',
- label: 'Primary',
- component: PrimaryDoc
- },
- {
- id: 'noir',
- label: 'Noir',
- component: NoirDoc
- },
- {
- id: 'surface',
- label: 'Surface',
- component: SurfaceDoc
- },
- {
- id: 'font',
- label: 'Font',
- component: FontDoc
- },
- {
- id: 'forms',
- label: 'Forms',
- component: FormsDoc
- },
- {
- id: 'focusring',
- label: 'Focus Ring',
- component: FocusRingDoc
- },
- {
- id: 'component',
- label: 'Component',
- component: ComponentDoc
- }
- ]
- },
- {
- id: 'scopedtokens',
- label: 'Scoped Tokens',
- component: ScopedTokensDoc
- },
- {
- id: 'utils',
- label: 'Utils',
- children: [
- {
- id: 'usepreset',
- label: 'usePreset',
- component: UsePresetDoc
- },
- {
- id: 'updatepreset',
- label: 'updatePreset',
- component: UpdatePresetDoc
- },
- {
- id: 'updateprimarypalette',
- label: 'updatePrimaryPalette',
- component: UpdatePrimaryPaletteDoc
- },
- {
- id: 'updatesurfacepalette',
- label: 'updateSurfacePalette',
- component: UpdateSurfacePaletteDoc
- },
- {
- id: 'dt',
- label: '$dt',
- component: DtDoc
- },
- {
- id: 'Palette',
- label: 'palette',
- component: PaletteDoc
- }
- ]
- },
- {
- id: 'colors',
- label: 'Colors',
- component: ColorsDoc
- },
- {
- id: 'darkmode',
- label: 'Dark Mode',
- component: DarkModeDoc
- },
- {
- id: 'csslayer',
- label: 'CSS Layer',
- description: 'The PrimeNG CSS layer only applies to styled mode when layering is enabled explicitly at theme configuration, in unstyled mode the built-in CSS classes are not included and as a result no layer is necessary.',
- children: [
- {
- id: 'specificity',
- label: 'Specificity',
- component: SpecificityDoc
- },
- {
- id: 'reset',
- label: 'Reset',
- component: ResetDoc
- },
- {
- id: 'libraries',
- label: 'Libraries',
- component: LibrariesDoc
- }
- ]
- },
- {
- id: 'scale',
- label: 'Scale',
- component: ScaleDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tieredmenu/index.ts b/apps/showcase/src/app/showcase/pages/tieredmenu/index.ts
deleted file mode 100644
index 84033e8fc75..00000000000
--- a/apps/showcase/src/app/showcase/pages/tieredmenu/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/tieredmenu/basicdoc';
-import { ImportDoc } from '@doc/tieredmenu/importdoc';
-import { PopupDoc } from '@doc/tieredmenu/popupdoc';
-import { TemplateDoc } from '@doc/tieredmenu/templatedoc';
-import { CommandDoc } from '@doc/tieredmenu/commanddoc';
-import { RouterDoc } from '@doc/tieredmenu/routerdoc';
-import { AccessibilityDoc } from '@doc/tieredmenu/accessibilitydoc';
-import { TieredMenuDocModule } from '@doc/tieredmenu/tieredmenudoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TieredMenuDocModule]
-})
-export class TieredMenuDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'popup',
- label: 'Popup',
- component: PopupDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'command',
- label: 'Command',
- component: CommandDoc
- },
- {
- id: 'router',
- label: 'Router',
- component: RouterDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/timeline/index.ts b/apps/showcase/src/app/showcase/pages/timeline/index.ts
deleted file mode 100644
index 1ed3a3b127c..00000000000
--- a/apps/showcase/src/app/showcase/pages/timeline/index.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { Component } from '@angular/core';
-import { TemplateDoc } from '@doc/timeline/templatedoc';
-import { AlignmentDoc } from '@doc/timeline/alignmentdoc';
-import { BasicDoc } from '@doc/timeline/basicdoc';
-import { ImportDoc } from '@doc/timeline/importdoc';
-import { OppositeDoc } from '@doc/timeline/oppositedoc';
-import { HorizontalDoc } from '@doc/timeline/horizontaldoc';
-import { AccessibilityDoc } from '@doc/timeline/accessibilitydoc';
-import { TimelineDocModule } from '@doc/timeline/timelinedoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TimelineDocModule],
- styleUrl: './timelinedemo.scss'
-})
-export class TimelineDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'alignment',
- label: 'Alignment',
- component: AlignmentDoc
- },
- {
- id: 'opposite',
- label: 'Opposite',
- component: OppositeDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'horizontal',
- label: 'Horizontal',
- component: HorizontalDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/toast/index.ts b/apps/showcase/src/app/showcase/pages/toast/index.ts
deleted file mode 100644
index 62b8a6419fb..00000000000
--- a/apps/showcase/src/app/showcase/pages/toast/index.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Component } from '@angular/core';
-import { AccessibilityDoc } from '@doc/toast/accessibilitydoc';
-import { AnimationDoc } from '@doc/toast/animationdoc';
-import { BasicDoc } from '@doc/toast/basicdoc';
-import { ClearDoc } from '@doc/toast/cleardoc';
-import { ImportDoc } from '@doc/toast/importdoc';
-import { LifeDoc } from '@doc/toast/lifedoc';
-import { MultipleDoc } from '@doc/toast/multipledoc';
-import { PositionDoc } from '@doc/toast/positiondoc';
-import { ResponsiveDoc } from '@doc/toast/responsivedoc';
-import { SeverityDoc } from '@doc/toast/severitydoc';
-import { StickyDoc } from '@doc/toast/stickydoc';
-import { TargetDoc } from '@doc/toast/targetdoc';
-import { TemplateDoc } from '@doc/toast/templatedoc';
-import { HeadlessDoc } from '@doc/toast/headlessdoc';
-import { ToastDocModule } from '@doc/toast/toastdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ToastDocModule]
-})
-export class ToastDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'severity',
- label: 'Severity',
- component: SeverityDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'sticky',
- label: 'Sticky',
- component: StickyDoc
- },
- {
- id: 'templating',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'headless',
- label: 'Headless',
- component: HeadlessDoc
- },
- {
- id: 'responsive',
- label: 'Responsive',
- component: ResponsiveDoc
- },
- {
- id: 'animation',
- label: 'Animation',
- component: AnimationDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/togglebutton/index.ts b/apps/showcase/src/app/showcase/pages/togglebutton/index.ts
deleted file mode 100644
index 0439829aae8..00000000000
--- a/apps/showcase/src/app/showcase/pages/togglebutton/index.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/togglebutton/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/togglebutton/accessibilitydoc';
-import { BasicDoc } from '@doc/togglebutton/basicdoc';
-import { CustomizedDoc } from '@doc/togglebutton/customizeddoc';
-import { DisabledDoc } from '@doc/togglebutton/disableddoc';
-import { ImportDoc } from '@doc/togglebutton/importdoc';
-import { ToggleButtonDocModule } from '@doc/togglebutton/togglebuttondoc.module';
-import { InvalidDoc } from '@doc/togglebutton/invaliddoc';
-import { SizesDoc } from '@doc/togglebutton/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ToggleButtonDocModule]
-})
-export class ToggleButtonDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'customized',
- label: 'Customized',
- component: CustomizedDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/toggleswitch/index.ts b/apps/showcase/src/app/showcase/pages/toggleswitch/index.ts
deleted file mode 100644
index cbb0f73cc9c..00000000000
--- a/apps/showcase/src/app/showcase/pages/toggleswitch/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { Component } from '@angular/core';
-import { BasicDoc } from '@doc/toggleswitch/basicdoc';
-import { ImportDoc } from '@doc/toggleswitch/importdoc';
-import { DisabledDoc } from '@doc/toggleswitch/disableddoc';
-import { PreselectionDoc } from '@doc/toggleswitch/preselectiondoc';
-import { AccessibilityDoc } from '@doc/toggleswitch/accessibilitydoc';
-import { ReactiveFormsDoc } from '@doc/toggleswitch/reactiveformsdoc';
-import { InvalidDoc } from '@doc/toggleswitch/invaliddoc';
-import { InputSwitchDocModule } from '@doc/toggleswitch/inputswitchdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [InputSwitchDocModule]
-})
-export class ToggleSwitchDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'preselection',
- label: 'Preselection',
- component: PreselectionDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/toolbar/index.ts b/apps/showcase/src/app/showcase/pages/toolbar/index.ts
deleted file mode 100644
index 831fcfdf71d..00000000000
--- a/apps/showcase/src/app/showcase/pages/toolbar/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/toolbar/importdoc';
-import { BasicDoc } from '@doc/toolbar/basicdoc';
-
-import { AccessibilityDoc } from '@doc/toolbar/accessibilitydoc';
-import { ToolbarDocModule } from '@doc/toolbar/toolbardoc.module';
-import { CustomDoc } from '@doc/toolbar/customdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [ToolbarDocModule]
-})
-export class ToolbarDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'custom',
- label: 'Custom',
- component: CustomDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tooltip/index.ts b/apps/showcase/src/app/showcase/pages/tooltip/index.ts
deleted file mode 100644
index 81432bab79f..00000000000
--- a/apps/showcase/src/app/showcase/pages/tooltip/index.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/tooltip/importdoc';
-import { PositionDoc } from '@doc/tooltip/positiondoc';
-import { EventDoc } from '@doc/tooltip/eventdoc';
-import { AutoHideDoc } from '@doc/tooltip/autohidedoc';
-import { DelayDoc } from '@doc/tooltip/delaydoc';
-import { OptionsDoc } from '@doc/tooltip/optionsdoc';
-import { AccessibilityDoc } from '@doc/tooltip/accessibilitydoc';
-import { CustomDoc } from '@doc/tooltip/customdoc';
-import { TooltipDocModule } from '@doc/tooltip/tooltipdoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TooltipDocModule]
-})
-export class TooltipDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'position',
- label: 'Position',
- component: PositionDoc
- },
- {
- id: 'event',
- label: 'Event',
- component: EventDoc
- },
- {
- id: 'autohide',
- label: 'Auto Hide',
- component: AutoHideDoc
- },
- {
- id: 'delay',
- label: 'Delay',
- component: DelayDoc
- },
- {
- id: 'custom',
- label: 'Custom',
- component: CustomDoc
- },
- {
- id: 'options',
- label: 'Tooltip Options',
- component: OptionsDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/tree/index.ts b/apps/showcase/src/app/showcase/pages/tree/index.ts
deleted file mode 100644
index fa8b5cacc89..00000000000
--- a/apps/showcase/src/app/showcase/pages/tree/index.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/tree/importdoc';
-import { BasicDoc } from '@doc/tree/basicdoc';
-import { ControlledDoc } from '@doc/tree/controlleddoc';
-import { SingleDoc } from '@doc/tree/singledoc';
-import { MultipleDoc } from '@doc/tree/multipledoc';
-import { CheckboxDoc } from '@doc/tree/checkboxdoc';
-import { EventDoc } from '@doc/tree/eventdoc';
-import { LazyDoc } from '@doc/tree/lazydoc';
-import { TemplateDoc } from '@doc/tree/templatedoc';
-import { DragDropDoc } from '@doc/tree/dragdropdoc';
-import { ContextMenuDoc } from '@doc/tree/contextmenudoc';
-import { FilterDoc } from '@doc/tree/filterdoc';
-import { AccessibilityDoc } from '@doc/tree/accessibilitydoc';
-import { VirtualScrollDoc } from '@doc/tree/virtualscrolldoc';
-import { LazyVirtualScrollDoc } from '@doc/tree/virtualscrolllazydoc';
-import { TreeDocModule } from '@doc/tree/treedoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TreeDocModule]
-})
-export class TreeDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'selection',
- label: 'Selection',
- children: [
- {
- id: 'single',
- label: 'Single',
- component: SingleDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'checkbox',
- label: 'Checkbox',
- component: CheckboxDoc
- }
- ]
- },
- {
- id: 'event',
- label: 'Events',
- component: EventDoc
- },
- {
- id: 'lazy',
- label: 'Lazy',
- component: LazyDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'virtualscroll',
- label: 'Virtual Scroll',
- children: [
- {
- id: 'preload',
- label: 'Preload',
- component: VirtualScrollDoc
- },
- {
- id: 'lazyvirtualscroll',
- label: 'Lazy',
- component: LazyVirtualScrollDoc
- }
- ]
- },
- {
- id: 'dragdrop',
- label: 'DragDrop',
- component: DragDropDoc
- },
- {
- id: 'contextmenu',
- label: 'Context Menu',
- component: ContextMenuDoc
- },
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/treeselect/index.ts b/apps/showcase/src/app/showcase/pages/treeselect/index.ts
deleted file mode 100644
index 05a2ae4d627..00000000000
--- a/apps/showcase/src/app/showcase/pages/treeselect/index.ts
+++ /dev/null
@@ -1,116 +0,0 @@
-import { Component } from '@angular/core';
-import { ReactiveFormsDoc } from '@doc/treeselect/reactiveformsdoc';
-import { AccessibilityDoc } from '@doc/treeselect/accessibilitydoc';
-import { BasicDoc } from '@doc/treeselect/basicdoc';
-import { CheckboxDoc } from '@doc/treeselect/checkboxdoc';
-import { DisabledDoc } from '@doc/treeselect/disableddoc';
-import { FilterDoc } from '@doc/treeselect/filterdoc';
-import { FloatLabelDoc } from '@doc/treeselect/floatlabeldoc';
-import { ImportDoc } from '@doc/treeselect/importdoc';
-import { InvalidDoc } from '@doc/treeselect/invaliddoc';
-import { MultipleDoc } from '@doc/treeselect/multipledoc';
-import { VirtualScrollDoc } from '@doc/treeselect/virtualscrolldoc';
-import { FilledDoc } from '@doc/treeselect/filleddoc';
-import { LazyDoc } from '@doc/treeselect/lazydoc';
-import { TreeSelectDocModule } from '@doc/treeselect/treeselectdoc.module';
-import { IftaLabelDoc } from '@doc/treeselect/iftalabeldoc';
-import { TemplateDoc } from '@doc/treeselect/templatedoc';
-import { SizesDoc } from '@doc/treeselect/sizesdoc';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TreeSelectDocModule]
-})
-export class TreeSelectDemo {
- docs = [
- {
- id: 'import',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'reactive-forms',
- label: 'Reactive Forms',
- component: ReactiveFormsDoc
- },
- {
- id: 'multiple',
- label: 'Multiple',
- component: MultipleDoc
- },
- {
- id: 'checkbox',
- label: 'Checkbox',
- component: CheckboxDoc
- },
- {
- id: 'virtual-scroll-doc',
- label: 'Virtual Scroll',
- component: VirtualScrollDoc
- },
- {
- id: 'lazy',
- label: 'Lazy',
- component: LazyDoc
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'floatlabel',
- label: 'Float Label',
- component: FloatLabelDoc
- },
- {
- id: 'iftalabel',
- label: 'Ifta Label',
- component: IftaLabelDoc
- },
- {
- id: 'sizes',
- label: 'Sizes',
- component: SizesDoc
- },
- {
- id: 'filled',
- label: 'Filled',
- component: FilledDoc
- },
- {
- id: 'invalid',
- label: 'Invalid',
- component: InvalidDoc
- },
- {
- id: 'disabled',
- label: 'Disabled',
- component: DisabledDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/treetable/index.ts b/apps/showcase/src/app/showcase/pages/treetable/index.ts
deleted file mode 100644
index ecf914ecaa9..00000000000
--- a/apps/showcase/src/app/showcase/pages/treetable/index.ts
+++ /dev/null
@@ -1,247 +0,0 @@
-import { Component } from '@angular/core';
-import { ImportDoc } from '@doc/treetable/importdoc';
-import { BasicDoc } from '@doc/treetable/basicdoc';
-import { DynamicColumnsDoc } from '@doc/treetable/dynamiccolumnsdoc';
-import { TemplateDoc } from '@doc/treetable/templatedoc';
-import { PaginatorBasicDoc } from '@doc/treetable/paginatorbasicdoc';
-import { PaginatorTemplateDoc } from '@doc/treetable/paginatortemplatedoc';
-import { SortSingleColumnDoc } from '@doc/treetable/sortsinglecolumndoc';
-import { FilterDoc } from '@doc/treetable/filterdoc';
-import { SelectionSingleDoc } from '@doc/treetable/selectionsingledoc';
-import { SelectionMultipleDoc } from '@doc/treetable/selectionmultipledoc';
-import { SelectionCheckboxDoc } from '@doc/treetable/selectioncheckboxdoc';
-import { SelectionEventsDoc } from '@doc/treetable/selectioneventscdoc';
-import { ColumnGroupDoc } from '@doc/treetable/columngroupdoc';
-import { LazyLoadDoc } from '@doc/treetable/lazyloaddoc';
-import { EditDoc } from '@doc/treetable/editdoc';
-import { ScrollVerticalDoc } from '@doc/treetable/scrollverticaldoc';
-import { ScrollHorizontalDoc } from '@doc/treetable/scrollhorizontaldoc';
-import { FrozenColumnsDoc } from '@doc/treetable/scrollfrozencolumnsdoc';
-import { ResizeFitDoc } from '@doc/treetable/columnresizefitdoc';
-import { ResizeExpandDoc } from '@doc/treetable/columnresizeexpanddoc';
-import { ReorderDoc } from '@doc/treetable/reorderdoc';
-import { ColumnToggleDoc } from '@doc/treetable/columntoggledoc';
-import { ConditionalStyleDoc } from '@doc/treetable/conditionalstyledoc';
-import { ContextMenuDoc } from '@doc/treetable/contextmenudoc';
-import { AccessibilityDoc } from '@doc/treetable/accessibilitydoc';
-import { PaginatorLocaleDoc } from '@doc/treetable/paginatorlocaledoc';
-import { ResizeScrollableDoc } from '@doc/treetable/columnresizescrollabledoc';
-import { SizeDoc } from '@doc/treetable/sizedoc';
-import { GridlinesDoc } from '@doc/treetable/gridlinesdoc';
-import { ControlledDoc } from '@doc/treetable/controlleddoc';
-import { SortMultipleColumnsDoc } from '@doc/treetable/sortmultiplecolumnsdoc';
-import { ScrollFlexibleDoc } from '@doc/treetable/flexiblescrolldoc';
-import { TreeTableDocModule } from '@doc/treetable/treetabledoc.module';
-
-@Component({
- template: ` `,
- standalone: true,
- imports: [TreeTableDocModule]
-})
-export class TreeTableDemo {
- docs = [
- {
- id: 'import-demo',
- label: 'Import',
- component: ImportDoc
- },
- {
- id: 'basic',
- label: 'Basic',
- component: BasicDoc
- },
- {
- id: 'dynamiccolumns',
- label: 'Dynamic Columns',
- component: DynamicColumnsDoc
- },
- {
- id: 'controlled',
- label: 'Controlled',
- component: ControlledDoc
- },
- {
- id: 'template',
- label: 'Template',
- component: TemplateDoc
- },
- {
- id: 'size',
- label: 'Size',
- component: SizeDoc
- },
- {
- id: 'gridlines',
- label: 'Grid Lines',
- component: GridlinesDoc
- },
- {
- id: 'paginator',
- label: 'Paginator',
- children: [
- {
- id: 'paginatorbasic',
- label: 'Basic',
- component: PaginatorBasicDoc
- },
- {
- id: 'paginatorlocale',
- label: 'Locale',
- component: PaginatorLocaleDoc
- },
- {
- id: 'paginatortemplate',
- label: 'Template',
- component: PaginatorTemplateDoc
- }
- ]
- },
- {
- id: 'sort',
- label: 'Sort',
- children: [
- {
- id: 'sortsinglecolumn',
- label: 'Single Column',
- component: SortSingleColumnDoc
- },
- {
- id: 'sortmultiplecolumns',
- label: 'Multiple Columns',
- component: SortMultipleColumnsDoc
- }
- // {
- // id: 'sortremovable',
- // label: 'Removable Sort',
- // component: SortRemovableDoc
- // }
- ]
- },
- {
- id: 'filter',
- label: 'Filter',
- component: FilterDoc
- },
- {
- id: 'selection',
- label: 'Selection',
- children: [
- {
- id: 'selectionsingle',
- label: 'Single',
- component: SelectionSingleDoc
- },
- {
- id: 'selectionmultiple',
- label: 'Multiple',
- component: SelectionMultipleDoc
- },
- {
- id: 'checkbox',
- label: 'Checkbox',
- component: SelectionCheckboxDoc
- },
- {
- id: 'events',
- label: 'Events',
- component: SelectionEventsDoc
- }
- ]
- },
- {
- id: 'columngroup',
- label: 'Column Group',
- component: ColumnGroupDoc
- },
- {
- id: 'lazyload',
- label: 'Lazy Load',
- component: LazyLoadDoc
- },
- // {
- // id: 'edit',
- // label: 'Edit',
- // component: EditDoc,
- // },
- {
- id: 'scroll',
- label: 'Scroll',
- children: [
- {
- id: 'vertical',
- label: 'Vertical',
- component: ScrollVerticalDoc
- },
- {
- id: 'flexible',
- label: 'Flexible',
- component: ScrollFlexibleDoc
- },
- {
- id: 'horizontal',
- label: 'Horizontal',
- component: ScrollHorizontalDoc
- },
- {
- id: 'frozencolumns',
- label: 'Frozen Columns',
- component: FrozenColumnsDoc
- }
- ]
- },
- {
- id: 'columnresize',
- label: 'Column Resize',
- children: [
- {
- id: 'fitmode',
- label: 'Fit Mode',
- component: ResizeFitDoc
- },
- {
- id: 'expandmode',
- label: 'Expand Mode',
- component: ResizeExpandDoc
- },
- {
- id: 'scrollable',
- label: 'Scrollable',
- component: ResizeScrollableDoc
- }
- ]
- },
- {
- id: 'reorder',
- label: 'Reorder',
- component: ReorderDoc
- },
- {
- id: 'columntoggle',
- label: 'Column Toggle',
- component: ColumnToggleDoc
- },
- {
- id: 'conditionalstyle',
- label: 'Conditional Style',
- component: ConditionalStyleDoc
- },
- {
- id: 'contextmenu',
- label: 'Context Menu',
- component: ContextMenuDoc
- },
-
- {
- id: 'accessibility',
- label: 'Accessibility',
- component: AccessibilityDoc
- }
- ];
-}
diff --git a/apps/showcase/src/app/showcase/pages/uikit/index.ts b/apps/showcase/src/app/showcase/pages/uikit/index.ts
deleted file mode 100755
index 2ed8a7a2ea9..00000000000
--- a/apps/showcase/src/app/showcase/pages/uikit/index.ts
+++ /dev/null
@@ -1,359 +0,0 @@
-import { CommonModule } from '@angular/common';
-import { Component } from '@angular/core';
-import { Meta, Title } from '@angular/platform-browser';
-import { AppConfigService } from '@service/appconfigservice';
-import { RippleModule } from 'primeng/ripple';
-import { Subscription } from 'rxjs';
-
-@Component({
- standalone: true,
- imports: [CommonModule, RippleModule],
- template: `
-
-
-
-
-
-
-
-
-
-
-
-
UP-TO-DATE
-
Best Features of Figma
-
PrimeOne for Figma uses the latest powerful features like components, variants, auto layout, styles, variables and interactive components. It'll always follow the best practices.
-
-
-
-
- Auto Layout
-
-
-
- Variants
-
-
-
- Variables and Styles
-
-
-
- Interactive Components
-
-
-
- Boolean, Instance Swap and Text Properties
-
-
-
- Nested Instances
-
-
-
-
-
-
-
ENTERPRISE GRADE
-
Powerful System
-
Save countless hours on every project with a carefully designed system that uses Prime UI Suite components. Start producing design results in no time.
-
-
-
-
- Numerous Components
-
-
-
- Icon Library
-
-
-
- Easy Customization
-
-
-
- Atomic Approach
-
-
-
-
-
-
-
-
-
-
-
-
-
DARK MODE
-
Two Themes
-
PrimeOne is designed based on Aura Light and Aura Dark themes. Easily change the themes of your designs using Figma's Swap Library feature or Tokens Studio Sets.
-
-
-
-
- Aura Light
-
-
-
- Aura Dark
-
-
-
-
-
-
-
TOKENS STUDIO
-
Tokens Support
-
Empower yourself with unprecedented control over your designs. Tokens Studio integration unlocks a whole new level of flexibility, allowing you to create and manage design tokens seamlessly.
-
-
-
-
- Countless Design Tokens
-
-
-
- Light and Dark Sets
-
-
-
- Well Documented
-
-
-
- Primitive, Semantic and Component Tokens
-
-
-
-
-
-
-
-
-
-
-
-
-
Pricing
-
Choose the right plan for your business. Whether you are an individual or a member of a team, UI Kit is available for affordable prices.
-
View License Details
-
-
-
-
-
-
Single Designer
-
For individual designers
-
-
- $99
- $49
-
-
-
-
-
- 1 Designer
-
-
-
- Auto Layout & Variants
-
-
-
- Interactive Components
-
-
-
- Tokens Studio Support
-
-
-
- Lifetime Support
-
-
-
- Use on Unlimited Projects
-
-
-
-
Buy Now
-
-
-
-
-
-
-
-
Team
-
For small teams
-
-
-
-
-
-
- Up to 5 Designers
-
-
-
- Auto Layout & Variants
-
-
-
- Interactive Components
-
-
-
- Tokens Studio Support
-
-
-
- Lifetime Support
-
-
-
- Use on Unlimited Projects
-
-
-
-
Buy Now
-
-
-
-
-
-
-
-
Enterprise
-
For large teams
-
-
- EXCLUSIVE DEALS
-
-
-
-
-
- Unlimited Designers
-
-
-
- Auto Layout & Variants
-
-
-
- Interactive Components
-
-
-
- Tokens Studio Support
-
-
-
- Lifetime Support
-
-
-
- Use on Unlimited Projects
-
-
-
-
Contact Us
-
-
-
-
-
-
-
-
Frequently Asked Questions
-
-
-
What do I get when I purchase a license?
-
You'll be able to download two Figma files for light and dark themes.
-
-
Is there a recurring fee or is the license perpetual?
-
UI Kit license is perpetual so requires one time payment, not subscription based.
-
-
Can I use UI Kit license for commercial projects?
-
Yes, your license allows you to sell your projects that utilize the UI Kit implementations.
-
-
Can I create multiple projects for multiple clients?
-
There is no limit, you are able to use UI Kit in multiple projects for multiple clients.
-
-
-
We're a reseller, are we able to purchase a license on behalf of our client?
-
- Yes, after the purchase, please
- contact us so we can transfer the license to your client.
-
-
-
Does the enterprise license include contractors within the organization?
-
Yes, contractors are also able to use the UI Kit within your company.
-
-
Can subsidiary company of a larger organization share the enterprise license?
-
No, enterprise license is per company so each subsidiary company needs to purchase a separate license.
-
-
What does "free updates" mean?
-
All updates will be totally free of charge for existing customers for an unlimited period.
-
-
-
How can I get support?
-
- Support is provided by PrimeTek via
- a dedicated forum channel monitored
- by PrimeTek support staff.
-
-
-
What does lifetime support mean?
-
Support service at the forum does not have a time limit.
-
-
Can I include UI Kit in an open source project?
-
Due to the license, it is not possible to use the UI Kit in an open source project where the design files are publicly available.
-
-
-
-
- `
-})
-export class UIKitDemo {
- subscription: Subscription;
-
- constructor(
- private configService: AppConfigService,
- private titleService: Title,
- private metaService: Meta
- ) {
- this.titleService.setTitle('UI Kit - PrimeNG');
- this.metaService.updateTag({ name: 'description', content: 'PrimeNG Angular UI Kit' });
- }
-
- get isDarkMode(): boolean {
- return this.configService.appState().darkTheme;
- }
-}
diff --git a/apps/showcase/src/main.server.ts b/apps/showcase/src/main.server.ts
deleted file mode 100644
index 3a107824833..00000000000
--- a/apps/showcase/src/main.server.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { bootstrapApplication } from '@angular/platform-browser';
-import { AppComponent } from '@layout/app.component';
-import { config } from '@layout/app.config.server';
-
-const bootstrap = () => bootstrapApplication(AppComponent, config);
-
-export default bootstrap;
diff --git a/apps/showcase/src/main.ts b/apps/showcase/src/main.ts
deleted file mode 100644
index c62cbaf6f32..00000000000
--- a/apps/showcase/src/main.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { bootstrapApplication } from '@angular/platform-browser';
-import { AppComponent } from '@layout/app.component';
-import { appConfig } from '@layout/app.config';
-
-bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));
diff --git a/apps/showcase/src/styles.scss b/apps/showcase/src/styles.scss
deleted file mode 100644
index 92dd8239773..00000000000
--- a/apps/showcase/src/styles.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-@import 'assets/showcase/styles/layout/layout.scss';
-@import 'primeicons/primeicons.css';
-@import 'quill/dist/quill.snow.css';
-@import 'assets/showcase/styles/flags.css';
-@import '@docsearch/css/dist/style.css';
diff --git a/apps/showcase/src/test.ts b/apps/showcase/src/test.ts
deleted file mode 100755
index d2e04e89084..00000000000
--- a/apps/showcase/src/test.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-// This file is required by karma.conf.js and loads recursively all the .spec and framework files
-import 'zone.js';
-import 'zone.js/testing';
-//
-import { getTestBed } from '@angular/core/testing';
-import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
-
-// First, initialize the Angular testing environment.
-getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting(), {
- teardown: { destroyAfterEach: false }
-});
diff --git a/apps/showcase/tailwind.config.js b/apps/showcase/tailwind.config.js
index fa21e4f0683..bb8db661dcb 100644
--- a/apps/showcase/tailwind.config.js
+++ b/apps/showcase/tailwind.config.js
@@ -5,7 +5,7 @@ module.exports = {
preflight: false
},
darkMode: ['selector', '[class="p-dark"]'],
- content: ['./src/**/*.{html,ts,scss,css}'],
+ content: ['./components/**/*.{html,ts,scss,css}', './doc/**/*.{html,ts,scss,css}', './pages/**/*.{html,ts,scss,css}', './index.html'],
plugins: [primeui],
theme: {
screens: {
diff --git a/apps/showcase/src/app/showcase/themes/app-theme.ts b/apps/showcase/themes/app-theme.ts
similarity index 100%
rename from apps/showcase/src/app/showcase/themes/app-theme.ts
rename to apps/showcase/themes/app-theme.ts
diff --git a/apps/showcase/tsconfig.app.json b/apps/showcase/tsconfig.app.json
deleted file mode 100644
index bb3bb11063a..00000000000
--- a/apps/showcase/tsconfig.app.json
+++ /dev/null
@@ -1,13 +0,0 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/app",
- "types": ["node"],
- "resolveJsonModule": true,
- "allowSyntheticDefaultImports": true
- },
- "files": ["src/main.ts", "src/main.server.ts", "server.ts", "src/polyfills.ts"],
- "include": ["src/**/*.d.ts"],
- "exclude": ["node_modules", "**/node_modules/*"]
-}
diff --git a/apps/showcase/tsconfig.json b/apps/showcase/tsconfig.json
index c56ea40a882..f82e8f5355d 100644
--- a/apps/showcase/tsconfig.json
+++ b/apps/showcase/tsconfig.json
@@ -2,21 +2,18 @@
"extends": "../../tsconfig.json",
"compilerOptions": {
"baseUrl": "./",
+ "outDir": "./out-tsc/app",
+ "types": ["node"],
"strict": false,
"paths": {
+ "primeng/*": ["../../packages/primeng/src/*/public_api"],
"@primeng/themes/*": ["../../packages/themes/src/presets/*"],
"@primeng/themes": ["../../packages/themes/src/index.ts"],
- "primeng/*": ["../../packages/primeng/src/*/public_api"],
- "@pages/*": ["src/app/showcase/pages/*"],
- "@data/*": ["src/assets/showcase/data/*"],
- "@doc/*": ["src/app/showcase/doc/*"],
- "@domain/*": ["src/app/showcase/domain/*"],
- "@service/*": ["src/app/showcase/service/*"],
- "@layout/*": ["src/app/showcase/layout/*"],
- "@themes/*": ["src/app/components/themes/*"]
+ "@/*": ["./*"]
}
},
+ "files": ["app/main.ts", "server/main.server.ts", "server/server.ts", "app/polyfills.ts"],
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": false,
diff --git a/apps/showcase/tsconfig.server.json b/apps/showcase/tsconfig.server.json
deleted file mode 100644
index 4da40fb1ad1..00000000000
--- a/apps/showcase/tsconfig.server.json
+++ /dev/null
@@ -1,19 +0,0 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
-{
- "extends": "./tsconfig.app.json",
- "compilerOptions": {
- "outDir": "./out-tsc/server",
- "types": [
- "node"
- ],
- "resolveJsonModule": true,
- "allowSyntheticDefaultImports": true
- },
- "files": [
- "src/main.server.ts",
- "server.ts",
- ],
- "paths": {
- "primeng/*": ["../../packages/primeng/src/*/public_api"]
- }
- }
diff --git a/apps/showcase/tsconfig.spec.json b/apps/showcase/tsconfig.spec.json
deleted file mode 100755
index 73f1837fcb3..00000000000
--- a/apps/showcase/tsconfig.spec.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "extends": "./tsconfig.json",
- "compilerOptions": {
- "outDir": "./out-tsc/spec",
- "types": ["jasmine", "node"],
- "resolveJsonModule": true,
- "allowSyntheticDefaultImports": true
- },
- "files": ["src/test.ts", "src/polyfills.ts"],
- "include": ["src/**/*.spec.ts", "src/**/*.d.ts"],
- "exclude": ["node_modules", "**/node_modules/*"]
-}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 07ea7fe7228..077dbc15799 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -198,10 +198,10 @@ importers:
version: 18.2.11(@angular/common@18.2.11(@angular/core@18.2.11(rxjs@7.8.1)(zone.js@0.14.10))(rxjs@7.8.1))(@angular/core@18.2.11(rxjs@7.8.1)(zone.js@0.14.10))
'@docsearch/css':
specifier: ^3.3.4
- version: 3.7.0
+ version: 3.8.0
'@docsearch/js':
specifier: ^3.3.4
- version: 3.7.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)
+ version: 3.8.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)
'@primeng/themes':
specifier: workspace:*
version: link:../../packages/themes
@@ -355,22 +355,22 @@ importers:
packages:
- '@algolia/autocomplete-core@1.17.6':
- resolution: {integrity: sha512-lkDoW4I7h2kKlIgf3pUt1LqvxyYKkVyiypoGLlUnhPSnCpmeOwudM6rNq6YYsCmdQtnDQoW5lUNNuj6ASg3qeg==}
+ '@algolia/autocomplete-core@1.17.7':
+ resolution: {integrity: sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==}
- '@algolia/autocomplete-plugin-algolia-insights@1.17.6':
- resolution: {integrity: sha512-17NnaacuFzSWVuZu4NKzVeaFIe9Abpw8w+/gjc7xhZFtqj+GadufzodIdchwiB2eM2cDdiR3icW7gbNTB3K2YA==}
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7':
+ resolution: {integrity: sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==}
peerDependencies:
search-insights: '>= 1 < 3'
- '@algolia/autocomplete-preset-algolia@1.17.6':
- resolution: {integrity: sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==}
+ '@algolia/autocomplete-preset-algolia@1.17.7':
+ resolution: {integrity: sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
- '@algolia/autocomplete-shared@1.17.6':
- resolution: {integrity: sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==}
+ '@algolia/autocomplete-shared@1.17.7':
+ resolution: {integrity: sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==}
peerDependencies:
'@algolia/client-search': '>= 4.9.1 < 6'
algoliasearch: '>= 4.9.1 < 6'
@@ -1293,14 +1293,14 @@ packages:
resolution: {integrity: sha512-boghen8F0Q8D+0/Q1/1r6DUEieUJ8w2a1gIknExMSHBsJFOr2+0KUfHiVYBvucPwl3+RU5PFBK833FjFCh3BhA==}
engines: {node: '>=14.17.0'}
- '@docsearch/css@3.7.0':
- resolution: {integrity: sha512-1OorbTwi1eeDmr0v5t+ckSRlt1zM5GHjm92iIl3kUu7im3GHuP+csf6E0WBg8pdXQczTWP9J9+o9n+Vg6DH5cQ==}
+ '@docsearch/css@3.8.0':
+ resolution: {integrity: sha512-pieeipSOW4sQ0+bE5UFC51AOZp9NGxg89wAlZ1BAQFaiRAGK1IKUaPQ0UGZeNctJXyqZ1UvBtOQh2HH+U5GtmA==}
- '@docsearch/js@3.7.0':
- resolution: {integrity: sha512-ScfqOIKrSr8SImbpxVaD59xc/bytbL8QEM2GUpe3aICmoICflWp5DyTRzAdFky16HY+yEOAVZXt3COXQ1NOCWw==}
+ '@docsearch/js@3.8.0':
+ resolution: {integrity: sha512-PVuV629f5UcYRtBWqK7ID6vNL5647+2ADJypwTjfeBIrJfwPuHtzLy39hMGMfFK+0xgRyhTR0FZ83EkdEraBlg==}
- '@docsearch/react@3.7.0':
- resolution: {integrity: sha512-8e6tdDfkYoxafEEPuX5eE1h9cTkLvhe4KgoFkO5JCddXSQONnN1FHcDZRI4r8894eMpbYq6rdJF0dVYh8ikwNQ==}
+ '@docsearch/react@3.8.0':
+ resolution: {integrity: sha512-WnFK720+iwTVt94CxY3u+FgX6exb3BfN5kE9xUY6uuAH/9W/UFboBZFLlrw/zxFRHoHZCOXRtOylsXF+6LHI+Q==}
peerDependencies:
'@types/react': '>= 16.8.0 < 19.0.0'
react: '>= 16.8.0 < 19.0.0'
@@ -2567,8 +2567,8 @@ packages:
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm-eabi@4.25.0':
- resolution: {integrity: sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==}
+ '@rollup/rollup-android-arm-eabi@4.26.0':
+ resolution: {integrity: sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==}
cpu: [arm]
os: [android]
@@ -2577,8 +2577,8 @@ packages:
cpu: [arm64]
os: [android]
- '@rollup/rollup-android-arm64@4.25.0':
- resolution: {integrity: sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==}
+ '@rollup/rollup-android-arm64@4.26.0':
+ resolution: {integrity: sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==}
cpu: [arm64]
os: [android]
@@ -2587,8 +2587,8 @@ packages:
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-arm64@4.25.0':
- resolution: {integrity: sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==}
+ '@rollup/rollup-darwin-arm64@4.26.0':
+ resolution: {integrity: sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==}
cpu: [arm64]
os: [darwin]
@@ -2597,18 +2597,18 @@ packages:
cpu: [x64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.25.0':
- resolution: {integrity: sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==}
+ '@rollup/rollup-darwin-x64@4.26.0':
+ resolution: {integrity: sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.25.0':
- resolution: {integrity: sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==}
+ '@rollup/rollup-freebsd-arm64@4.26.0':
+ resolution: {integrity: sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.25.0':
- resolution: {integrity: sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==}
+ '@rollup/rollup-freebsd-x64@4.26.0':
+ resolution: {integrity: sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==}
cpu: [x64]
os: [freebsd]
@@ -2617,8 +2617,8 @@ packages:
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-gnueabihf@4.25.0':
- resolution: {integrity: sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.26.0':
+ resolution: {integrity: sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==}
cpu: [arm]
os: [linux]
@@ -2627,8 +2627,8 @@ packages:
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.25.0':
- resolution: {integrity: sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==}
+ '@rollup/rollup-linux-arm-musleabihf@4.26.0':
+ resolution: {integrity: sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==}
cpu: [arm]
os: [linux]
@@ -2637,8 +2637,8 @@ packages:
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.25.0':
- resolution: {integrity: sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==}
+ '@rollup/rollup-linux-arm64-gnu@4.26.0':
+ resolution: {integrity: sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==}
cpu: [arm64]
os: [linux]
@@ -2647,8 +2647,8 @@ packages:
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.25.0':
- resolution: {integrity: sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==}
+ '@rollup/rollup-linux-arm64-musl@4.26.0':
+ resolution: {integrity: sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==}
cpu: [arm64]
os: [linux]
@@ -2657,8 +2657,8 @@ packages:
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.25.0':
- resolution: {integrity: sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==}
+ '@rollup/rollup-linux-powerpc64le-gnu@4.26.0':
+ resolution: {integrity: sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==}
cpu: [ppc64]
os: [linux]
@@ -2667,8 +2667,8 @@ packages:
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.25.0':
- resolution: {integrity: sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==}
+ '@rollup/rollup-linux-riscv64-gnu@4.26.0':
+ resolution: {integrity: sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==}
cpu: [riscv64]
os: [linux]
@@ -2677,8 +2677,8 @@ packages:
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.25.0':
- resolution: {integrity: sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==}
+ '@rollup/rollup-linux-s390x-gnu@4.26.0':
+ resolution: {integrity: sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==}
cpu: [s390x]
os: [linux]
@@ -2687,8 +2687,8 @@ packages:
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.25.0':
- resolution: {integrity: sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==}
+ '@rollup/rollup-linux-x64-gnu@4.26.0':
+ resolution: {integrity: sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==}
cpu: [x64]
os: [linux]
@@ -2697,8 +2697,8 @@ packages:
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.25.0':
- resolution: {integrity: sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==}
+ '@rollup/rollup-linux-x64-musl@4.26.0':
+ resolution: {integrity: sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==}
cpu: [x64]
os: [linux]
@@ -2707,8 +2707,8 @@ packages:
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-arm64-msvc@4.25.0':
- resolution: {integrity: sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==}
+ '@rollup/rollup-win32-arm64-msvc@4.26.0':
+ resolution: {integrity: sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==}
cpu: [arm64]
os: [win32]
@@ -2717,8 +2717,8 @@ packages:
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.25.0':
- resolution: {integrity: sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==}
+ '@rollup/rollup-win32-ia32-msvc@4.26.0':
+ resolution: {integrity: sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==}
cpu: [ia32]
os: [win32]
@@ -2727,13 +2727,13 @@ packages:
cpu: [x64]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.25.0':
- resolution: {integrity: sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==}
+ '@rollup/rollup-win32-x64-msvc@4.26.0':
+ resolution: {integrity: sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==}
cpu: [x64]
os: [win32]
- '@rollup/wasm-node@4.25.0':
- resolution: {integrity: sha512-Brhz6gK/43E9lpMkbcfg06hRHctpMkbmy1JzOU2JWub3teujTNqou1xWTQgt9CRu15WGTt78t7p7rNxGIBZv+g==}
+ '@rollup/wasm-node@4.26.0':
+ resolution: {integrity: sha512-Jp8J0pSP6AFePI0ijz9flUwU6/ZACZ8DTWkNE6mJHuZF0GCjRYRgq7b+76Kq2nTbYgPXLcBCyhy9xTTUaTWDoQ==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -3789,8 +3789,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- electron-to-chromium@1.5.56:
- resolution: {integrity: sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==}
+ electron-to-chromium@1.5.57:
+ resolution: {integrity: sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==}
emoji-regex@10.4.0:
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
@@ -3854,8 +3854,8 @@ packages:
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
- es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ es-abstract@1.23.4:
+ resolution: {integrity: sha512-HR1gxH5OaiN7XH7uiWH0RLw0RcFySiSoW1ctxmD1ahTw3uGBtkmm/ng0tDU1OtYx5OK6EOL5Y6O21cDflG3Jcg==}
engines: {node: '>= 0.4'}
es-define-property@1.0.0:
@@ -4453,6 +4453,9 @@ packages:
immutable@4.3.7:
resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
+ immutable@5.0.2:
+ resolution: {integrity: sha512-1NU7hWZDkV7hJ4PJ9dur9gTNQ4ePNPN4k9/0YhwjzykTi/+3Q5pF93YU5QoVj8BuOnhLgaY8gs0U2pj4kSYVcw==}
+
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -5859,8 +5862,8 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- rollup@4.25.0:
- resolution: {integrity: sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==}
+ rollup@4.26.0:
+ resolution: {integrity: sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
@@ -5917,8 +5920,8 @@ packages:
engines: {node: '>=14.0.0'}
hasBin: true
- sass@1.80.6:
- resolution: {integrity: sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==}
+ sass@1.80.7:
+ resolution: {integrity: sha512-MVWvN0u5meytrSjsU7AWsbhoXi1sc58zADXFllfZzbsBT1GHjjar6JwBINYPRrkx/zqnQ6uqbQuHgE95O+C+eQ==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -6799,30 +6802,30 @@ packages:
snapshots:
- '@algolia/autocomplete-core@1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)':
+ '@algolia/autocomplete-core@1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)':
dependencies:
- '@algolia/autocomplete-plugin-algolia-insights': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)
- '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
+ '@algolia/autocomplete-plugin-algolia-insights': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- search-insights
- '@algolia/autocomplete-plugin-algolia-insights@1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)':
+ '@algolia/autocomplete-plugin-algolia-insights@1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)':
dependencies:
- '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
search-insights: 2.17.2
transitivePeerDependencies:
- '@algolia/client-search'
- algoliasearch
- '@algolia/autocomplete-preset-algolia@1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)':
+ '@algolia/autocomplete-preset-algolia@1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)':
dependencies:
- '@algolia/autocomplete-shared': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
+ '@algolia/autocomplete-shared': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
'@algolia/client-search': 4.24.0
algoliasearch: 5.13.0
- '@algolia/autocomplete-shared@1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)':
+ '@algolia/autocomplete-shared@1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)':
dependencies:
'@algolia/client-search': 4.24.0
algoliasearch: 5.13.0
@@ -8089,11 +8092,11 @@ snapshots:
'@discoveryjs/json-ext@0.6.1': {}
- '@docsearch/css@3.7.0': {}
+ '@docsearch/css@3.8.0': {}
- '@docsearch/js@3.7.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)':
+ '@docsearch/js@3.8.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)':
dependencies:
- '@docsearch/react': 3.7.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)
+ '@docsearch/react': 3.8.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)
preact: 10.24.3
transitivePeerDependencies:
- '@algolia/client-search'
@@ -8102,11 +8105,11 @@ snapshots:
- react-dom
- search-insights
- '@docsearch/react@3.7.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)':
+ '@docsearch/react@3.8.0(@algolia/client-search@4.24.0)(@types/react@18.3.12)(search-insights@2.17.2)':
dependencies:
- '@algolia/autocomplete-core': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)
- '@algolia/autocomplete-preset-algolia': 1.17.6(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
- '@docsearch/css': 3.7.0
+ '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)(search-insights@2.17.2)
+ '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@4.24.0)(algoliasearch@5.13.0)
+ '@docsearch/css': 3.8.0
algoliasearch: 5.13.0
optionalDependencies:
'@types/react': 18.3.12
@@ -8970,133 +8973,133 @@ snapshots:
'@primeuix/utils@0.3.0': {}
- '@rollup/plugin-json@6.1.0(rollup@4.25.0)':
+ '@rollup/plugin-json@6.1.0(rollup@4.26.0)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.25.0)
+ '@rollup/pluginutils': 5.1.3(rollup@4.26.0)
optionalDependencies:
- rollup: 4.25.0
+ rollup: 4.26.0
- '@rollup/plugin-node-resolve@15.3.0(rollup@4.25.0)':
+ '@rollup/plugin-node-resolve@15.3.0(rollup@4.26.0)':
dependencies:
- '@rollup/pluginutils': 5.1.3(rollup@4.25.0)
+ '@rollup/pluginutils': 5.1.3(rollup@4.26.0)
'@types/resolve': 1.20.2
deepmerge: 4.3.1
is-module: 1.0.0
resolve: 1.22.8
optionalDependencies:
- rollup: 4.25.0
+ rollup: 4.26.0
- '@rollup/pluginutils@5.1.3(rollup@4.25.0)':
+ '@rollup/pluginutils@5.1.3(rollup@4.26.0)':
dependencies:
'@types/estree': 1.0.6
estree-walker: 2.0.2
picomatch: 4.0.2
optionalDependencies:
- rollup: 4.25.0
+ rollup: 4.26.0
'@rollup/rollup-android-arm-eabi@4.22.4':
optional: true
- '@rollup/rollup-android-arm-eabi@4.25.0':
+ '@rollup/rollup-android-arm-eabi@4.26.0':
optional: true
'@rollup/rollup-android-arm64@4.22.4':
optional: true
- '@rollup/rollup-android-arm64@4.25.0':
+ '@rollup/rollup-android-arm64@4.26.0':
optional: true
'@rollup/rollup-darwin-arm64@4.22.4':
optional: true
- '@rollup/rollup-darwin-arm64@4.25.0':
+ '@rollup/rollup-darwin-arm64@4.26.0':
optional: true
'@rollup/rollup-darwin-x64@4.22.4':
optional: true
- '@rollup/rollup-darwin-x64@4.25.0':
+ '@rollup/rollup-darwin-x64@4.26.0':
optional: true
- '@rollup/rollup-freebsd-arm64@4.25.0':
+ '@rollup/rollup-freebsd-arm64@4.26.0':
optional: true
- '@rollup/rollup-freebsd-x64@4.25.0':
+ '@rollup/rollup-freebsd-x64@4.26.0':
optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.22.4':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.25.0':
+ '@rollup/rollup-linux-arm-gnueabihf@4.26.0':
optional: true
'@rollup/rollup-linux-arm-musleabihf@4.22.4':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.25.0':
+ '@rollup/rollup-linux-arm-musleabihf@4.26.0':
optional: true
'@rollup/rollup-linux-arm64-gnu@4.22.4':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.25.0':
+ '@rollup/rollup-linux-arm64-gnu@4.26.0':
optional: true
'@rollup/rollup-linux-arm64-musl@4.22.4':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.25.0':
+ '@rollup/rollup-linux-arm64-musl@4.26.0':
optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.22.4':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.25.0':
+ '@rollup/rollup-linux-powerpc64le-gnu@4.26.0':
optional: true
'@rollup/rollup-linux-riscv64-gnu@4.22.4':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.25.0':
+ '@rollup/rollup-linux-riscv64-gnu@4.26.0':
optional: true
'@rollup/rollup-linux-s390x-gnu@4.22.4':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.25.0':
+ '@rollup/rollup-linux-s390x-gnu@4.26.0':
optional: true
'@rollup/rollup-linux-x64-gnu@4.22.4':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.25.0':
+ '@rollup/rollup-linux-x64-gnu@4.26.0':
optional: true
'@rollup/rollup-linux-x64-musl@4.22.4':
optional: true
- '@rollup/rollup-linux-x64-musl@4.25.0':
+ '@rollup/rollup-linux-x64-musl@4.26.0':
optional: true
'@rollup/rollup-win32-arm64-msvc@4.22.4':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.25.0':
+ '@rollup/rollup-win32-arm64-msvc@4.26.0':
optional: true
'@rollup/rollup-win32-ia32-msvc@4.22.4':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.25.0':
+ '@rollup/rollup-win32-ia32-msvc@4.26.0':
optional: true
'@rollup/rollup-win32-x64-msvc@4.22.4':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.25.0':
+ '@rollup/rollup-win32-x64-msvc@4.26.0':
optional: true
- '@rollup/wasm-node@4.25.0':
+ '@rollup/wasm-node@4.26.0':
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
@@ -9620,7 +9623,7 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-object-atoms: 1.0.0
get-intrinsic: 1.2.4
is-string: 1.0.7
@@ -9629,7 +9632,7 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-errors: 1.3.0
es-object-atoms: 1.0.0
es-shim-unscopables: 1.0.2
@@ -9638,14 +9641,14 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-shim-unscopables: 1.0.2
array.prototype.flatmap@1.3.2:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-shim-unscopables: 1.0.2
arraybuffer.prototype.slice@1.0.3:
@@ -9653,7 +9656,7 @@ snapshots:
array-buffer-byte-length: 1.0.1
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-errors: 1.3.0
get-intrinsic: 1.2.4
is-array-buffer: 3.0.4
@@ -9781,7 +9784,7 @@ snapshots:
browserslist@4.24.2:
dependencies:
caniuse-lite: 1.0.30001680
- electron-to-chromium: 1.5.56
+ electron-to-chromium: 1.5.57
node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2)
@@ -10065,7 +10068,7 @@ snapshots:
dom-serializer: 2.0.0
domhandler: 5.0.3
htmlparser2: 8.0.2
- postcss: 8.4.41
+ postcss: 8.4.49
postcss-media-query-parser: 0.2.3
cross-spawn@7.0.5:
@@ -10257,7 +10260,7 @@ snapshots:
ee-first@1.1.1: {}
- electron-to-chromium@1.5.56: {}
+ electron-to-chromium@1.5.57: {}
emoji-regex@10.4.0: {}
@@ -10321,7 +10324,7 @@ snapshots:
dependencies:
is-arrayish: 0.2.1
- es-abstract@1.23.3:
+ es-abstract@1.23.4:
dependencies:
array-buffer-byte-length: 1.0.1
arraybuffer.prototype.slice: 1.0.3
@@ -10932,7 +10935,7 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
functions-have-names: 1.2.3
functions-have-names@1.2.3: {}
@@ -11176,6 +11179,8 @@ snapshots:
immutable@4.3.7: {}
+ immutable@5.0.2: {}
+
import-fresh@3.3.0:
dependencies:
parent-module: 1.0.1
@@ -11940,9 +11945,9 @@ snapshots:
ng-packagr@18.2.1(@angular/compiler-cli@18.2.11(@angular/compiler@18.2.11(@angular/core@18.2.11(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5))(tailwindcss@3.4.14)(tslib@2.6.3)(typescript@5.4.5):
dependencies:
'@angular/compiler-cli': 18.2.11(@angular/compiler@18.2.11(@angular/core@18.2.11(rxjs@7.8.1)(zone.js@0.14.10)))(typescript@5.4.5)
- '@rollup/plugin-json': 6.1.0(rollup@4.25.0)
- '@rollup/plugin-node-resolve': 15.3.0(rollup@4.25.0)
- '@rollup/wasm-node': 4.25.0
+ '@rollup/plugin-json': 6.1.0(rollup@4.26.0)
+ '@rollup/plugin-node-resolve': 15.3.0(rollup@4.26.0)
+ '@rollup/wasm-node': 4.26.0
ajv: 8.17.1
ansi-colors: 4.1.3
browserslist: 4.24.2
@@ -11961,11 +11966,11 @@ snapshots:
piscina: 4.7.0
postcss: 8.4.49
rxjs: 7.8.1
- sass: 1.80.6
+ sass: 1.80.7
tslib: 2.6.3
typescript: 5.4.5
optionalDependencies:
- rollup: 4.25.0
+ rollup: 4.26.0
tailwindcss: 3.4.14(ts-node@10.9.2(@types/node@22.9.0)(typescript@5.4.5))
nice-napi@1.0.2:
@@ -12090,14 +12095,14 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-object-atoms: 1.0.0
object.groupby@1.0.3:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
object.values@1.2.0:
dependencies:
@@ -12643,28 +12648,28 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.22.4
fsevents: 2.3.3
- rollup@4.25.0:
+ rollup@4.26.0:
dependencies:
'@types/estree': 1.0.6
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.25.0
- '@rollup/rollup-android-arm64': 4.25.0
- '@rollup/rollup-darwin-arm64': 4.25.0
- '@rollup/rollup-darwin-x64': 4.25.0
- '@rollup/rollup-freebsd-arm64': 4.25.0
- '@rollup/rollup-freebsd-x64': 4.25.0
- '@rollup/rollup-linux-arm-gnueabihf': 4.25.0
- '@rollup/rollup-linux-arm-musleabihf': 4.25.0
- '@rollup/rollup-linux-arm64-gnu': 4.25.0
- '@rollup/rollup-linux-arm64-musl': 4.25.0
- '@rollup/rollup-linux-powerpc64le-gnu': 4.25.0
- '@rollup/rollup-linux-riscv64-gnu': 4.25.0
- '@rollup/rollup-linux-s390x-gnu': 4.25.0
- '@rollup/rollup-linux-x64-gnu': 4.25.0
- '@rollup/rollup-linux-x64-musl': 4.25.0
- '@rollup/rollup-win32-arm64-msvc': 4.25.0
- '@rollup/rollup-win32-ia32-msvc': 4.25.0
- '@rollup/rollup-win32-x64-msvc': 4.25.0
+ '@rollup/rollup-android-arm-eabi': 4.26.0
+ '@rollup/rollup-android-arm64': 4.26.0
+ '@rollup/rollup-darwin-arm64': 4.26.0
+ '@rollup/rollup-darwin-x64': 4.26.0
+ '@rollup/rollup-freebsd-arm64': 4.26.0
+ '@rollup/rollup-freebsd-x64': 4.26.0
+ '@rollup/rollup-linux-arm-gnueabihf': 4.26.0
+ '@rollup/rollup-linux-arm-musleabihf': 4.26.0
+ '@rollup/rollup-linux-arm64-gnu': 4.26.0
+ '@rollup/rollup-linux-arm64-musl': 4.26.0
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.26.0
+ '@rollup/rollup-linux-riscv64-gnu': 4.26.0
+ '@rollup/rollup-linux-s390x-gnu': 4.26.0
+ '@rollup/rollup-linux-x64-gnu': 4.26.0
+ '@rollup/rollup-linux-x64-musl': 4.26.0
+ '@rollup/rollup-win32-arm64-msvc': 4.26.0
+ '@rollup/rollup-win32-ia32-msvc': 4.26.0
+ '@rollup/rollup-win32-x64-msvc': 4.26.0
fsevents: 2.3.3
run-applescript@7.0.0: {}
@@ -12709,10 +12714,10 @@ snapshots:
immutable: 4.3.7
source-map-js: 1.2.1
- sass@1.80.6:
+ sass@1.80.7:
dependencies:
chokidar: 4.0.1
- immutable: 4.3.7
+ immutable: 5.0.2
source-map-js: 1.2.1
optionalDependencies:
'@parcel/watcher': 2.5.0
@@ -13048,7 +13053,7 @@ snapshots:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.23.3
+ es-abstract: 1.23.4
es-object-atoms: 1.0.0
string.prototype.trimend@1.0.8:
@@ -13287,7 +13292,7 @@ snapshots:
picocolors: 1.1.1
postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.41)(yaml@2.6.0)
resolve-from: 5.0.0
- rollup: 4.25.0
+ rollup: 4.26.0
source-map: 0.8.0-beta.0
sucrase: 3.35.0
tinyexec: 0.3.1
@@ -13444,7 +13449,7 @@ snapshots:
dependencies:
esbuild: 0.21.5
postcss: 8.4.49
- rollup: 4.25.0
+ rollup: 4.26.0
optionalDependencies:
'@types/node': 22.9.0
fsevents: 2.3.3
diff --git a/tsconfig.json b/tsconfig.json
index d05144168fe..cd4f05a9fd4 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -105,5 +105,5 @@
"skipLibCheck": true /* Skip type checking all .d.ts files. */
},
"include": ["**/src/**/*", "**/dist/**/*", "**/types/**/*"],
- "exclude": ["**/node_modules"]
+ "exclude": ["**/node_modules", "**/**/*.spec.ts"]
}