diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index cede4d5..33556af 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,32 +1,4 @@
-# Displaying a sponsor button in your repository
-# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
-
-# LFX Mentorship (formerly CommunityBridge)
-# https://lfx.linuxfoundation.org/tools/mentorship
-community_bridge:
-# GitHub Sponsors
-# https://github.com/sponsors
-github: [ProAngular, CodyTolene]
-# IssueHunt
-# https://issuehunt.io/
-issuehunt:
-# Ko-fi
-# https://ko-fi.com/
-ko_fi:
-# Liberapay
-# https://en.liberapay.com/
-liberapay:
-# Open Collective
-# https://opencollective.com/
-open_collective:
-# Otechie
-# https://otechie.com/
-otechie:
-# Patreon
-# https://www.patreon.com/
-patreon:
-# Tidelift
-# https://tidelift.com/
-tidelift:
-# Custom URL
+github: [CodyTolene, ProAngular]
+buy_me_a_coffee: CodyTolene
+patreon: CodyTolene
custom: ['https://www.paypal.me/CodyTolene']
diff --git a/.github/images/screenshots/.gitkeep b/.github/images/screenshots/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/.github/images/screenshots/screenshot.png b/.github/images/screenshots/screenshot.png
new file mode 100644
index 0000000..208a3e1
Binary files /dev/null and b/.github/images/screenshots/screenshot.png differ
diff --git a/.github/workflows/on-merge-main-deploy-gpr.yml b/.github/workflows/on-merge-main-deploy-gpr.yml
index e81b35c..5d6ee89 100644
--- a/.github/workflows/on-merge-main-deploy-gpr.yml
+++ b/.github/workflows/on-merge-main-deploy-gpr.yml
@@ -1,12 +1,10 @@
-# Github Package Deployment
-# https://docs.github.com/en/packages
-# https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
-
name: Verify and Deploy to GitHub Packages
+
on:
push:
- branches:
- - main
+ tags:
+ - 'v*'
+
jobs:
deploy_gpr_package:
runs-on: ubuntu-latest
@@ -20,7 +18,7 @@ jobs:
node-version: '20.x'
registry-url: 'https://npm.pkg.github.com'
- run: npm ci
- - run: npm run build:package
+ - run: npm run npm-build-package
- run: cd dist/npm && npm publish --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/on-merge-main-deploy-npmjs.yml b/.github/workflows/on-merge-main-deploy-npmjs.yml
index d96f9d0..3dad5ef 100644
--- a/.github/workflows/on-merge-main-deploy-npmjs.yml
+++ b/.github/workflows/on-merge-main-deploy-npmjs.yml
@@ -1,11 +1,14 @@
-# npmjs Package Deployment
-# https://docs.npmjs.com/about-packages-and-modules
-
name: Verify and Deploy to npmjs
+
+permissions:
+ id-token: write
+ contents: read
+
on:
push:
- branches:
- - main
+ tags:
+ - 'v*'
+
jobs:
deploy_npmjs_package:
runs-on: ubuntu-latest
@@ -15,8 +18,8 @@ jobs:
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
+ - name: Update npm to latest
+ run: npm install -g npm@latest
- run: npm ci
- - run: npm run build:package
- - run: cd dist/npm && npm publish --access=public
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
+ - run: npm run npm-build-package
+ - run: cd dist/npm && npm publish
diff --git a/.github/workflows/verify-pull-request.yml b/.github/workflows/verify-pull-request.yml
index e0de760..7f2e145 100644
--- a/.github/workflows/verify-pull-request.yml
+++ b/.github/workflows/verify-pull-request.yml
@@ -16,4 +16,4 @@ jobs:
- name: Build π§
run: |
npm run build:prod
- npm run build:package
+ npm run npm-build-package
diff --git a/.prettierignore b/.prettierignore
index 8b1e811..ec71f36 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -11,8 +11,8 @@ public/
!eslint.config.js
!package.json
!src/
-!src/app/
-!src/app/public/
+!src/**
+!src/**/*
# Re-ignore sub-directories from the above exempt directories:
.github/CODEOWNERS
diff --git a/README.md b/README.md
index fb7ad5f..8a070ab 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,30 @@
-
+
- Pro Angular: Table Component
+ @proangular/pro-table
-
- View Github Repository
-
- An abstraction of Angular Materialβs table that speeds up development time and gives you quick access to features such as type safe columns, row selection, copy on click, expandable rows, intent based sorting, and more!
+
+ ProAngular
+ |
+
+ GitHub Repo
+ |
+
+ NPM Package
+ |
+
+ Demo Page
+
+
+
+ An abstraction of Angular Materialβs table that speeds up development time
+ and gives you quick access to features such as type safe columns, row
+ selection, copy on click, expandable rows, intent based sorting, and more!
@@ -17,57 +32,72 @@
-[](https://www.npmjs.com/@proangular/pro-table)
-[](https://github.com/ProAngular/pro-table)
-[](https://github.com/ProAngular/pro-table/search?l=typescript)
-[](https://www.npmjs.com/@proangular/pro-table)
-[](https://www.npmjs.com/@proangular/pro-table)
-[](https://www.npmjs.com/@proangular/pro-table)
-[](https://bundlephobia.com/result?p=ProAngular/pro-table)
-[](https://www.ProAngular.com/demos/pro-table)
-[](https://www.proangular.com)
-[](https://github.com/sponsors/ProAngular)
-[](/LICENSE)
-[](https://github.com/ProAngular/pro-table/actions/workflows/on-merge-main-deploy-gpr.yml)
-[](https://github.com/ProAngular/pro-table/actions/workflows/on-merge-main-deploy-npmjs.yml)
+
+
+
+
+
+
+
+
+
+
+
+
+
-## Index
-
-- [Preview](#preview)
-- [Description](#description)
-- [Installation](#installation)
- - [Prerequisites](#prerequisites)
- - [Install Pro Table Components](#install-pro-table-components)
-- [Usage](#usage)
- - [Importing](#importing)
- - [Expandable Rows](#expandable-rows)
- - [API](#api)
-- [Compatibility](#compatibility)
-- [Contributions](#contributions)
-- [Licensing](#licensing)
-- [Wrapping Up](#wrapping-up)
+
+ ng add @proangular/pro-table
+
+
+
+
+
+ Click here to preview it live!
+
-## Preview
-
-Preview the live demo below to see the Pro Table Components in action:
-
-https://www.ProAngular.com/demos/pro-table
+## Index
-[ Index ]
+- [π Description](#description)
+- [π¦ Installation](#installation)
+ - [π Prerequisites](#prerequisites)
+ - [π₯ Install Pro Table Components](#install-pro-table-components)
+- [π» Usage](#usage)
+ - [π€ Importing](#importing)
+ - [π½ Expandable Rows](#expandable-rows)
+ - [π API](#api)
+- [π Compatibility](#compatibility)
+- [π€ Contributions](#contributions)
+- [βοΈ Licensing](#licensing)
+- [π Wrapping Up](#wrapping-up)
-## Description
+## π Description
`@proangular/pro-table` is a **type-safe, Angular abstraction** over Angular
Materialβs table. Itβs designed for apps using **standalone components, signals,
@@ -131,12 +161,12 @@ data.
-## Installation
+## π¦ Installation
Using Node Package Manager ([NPM][url-node-js]) in a new terminal window run the
following commands to install the required dependencies.
-### Prerequisites
+### π Prerequisites
**Angular Material**
@@ -147,7 +177,7 @@ https://material.angular.io/guide/theming
ng add @angular/material
```
-### Install Pro Table Components
+### π₯ Install Pro Table Components
```bash
ng add @proangular/pro-table@latest
@@ -165,9 +195,9 @@ npm install @proangular/pro-table --save
-## Usage
+## π» Usage
-### Importing
+### π€ Importing
Import the table component to use in your Angular application where used:
@@ -202,7 +232,7 @@ Import the table component to use in your Angular application where used:
-### Expandable Rows
+### π½ Expandable Rows
```html
@@ -226,7 +256,7 @@ the template when expanded.
-### API
+### π API
#### Input Bindings (required):
@@ -312,7 +342,7 @@ interface TableTemplateReferenceExpandableObject<
-## Compatibility
+## π Compatibility
| Angular version | @proangular/pro-table | Install |
| --------------- | --------------------- | -------------------------------- |
@@ -327,7 +357,7 @@ interface TableTemplateReferenceExpandableObject<
-## Contributions
+## π€ Contributions
Please submit all issues, and feature requests here:
[https://github.com/ProAngular/pro-table/issues][url-new-issue]
@@ -362,7 +392,7 @@ Thank you for any and all contributions!
-## Licensing
+## βοΈ Licensing
This project is licensed under the **MIT** License. See the
[LICENSE](LICENSE.md) file for the pertaining license text.
@@ -375,7 +405,7 @@ This project is licensed under the **MIT** License. See the
-## Wrapping Up
+## π Wrapping Up
Thank you to the entire Angular team and community for such a great framework to
build upon. If you have any questions, please let me know by opening an issue
diff --git a/package-lock.json b/package-lock.json
index 28b9249..c25b5cc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,27 +1,27 @@
{
"name": "@proangular/pro-table",
- "version": "20.4.1",
+ "version": "20.5.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@proangular/pro-table",
- "version": "20.4.1",
+ "version": "20.5.0",
"hasInstallScript": true,
"license": "MIT",
"devDependencies": {
- "@angular/build": "^20.3.3",
- "@angular/cli": "^20.3.3",
- "@angular/compiler": "20.3.2",
- "@angular/compiler-cli": "^20.3.2",
- "@angular/platform-browser": "20.3.2",
- "@angular/platform-browser-dynamic": "20.3.2",
- "@angular/router": "^20.3.2",
+ "@angular/build": "^20.3.10",
+ "@angular/cli": "^20.3.10",
+ "@angular/compiler": "20.3.12",
+ "@angular/compiler-cli": "^20.3.12",
+ "@angular/platform-browser": "20.3.12",
+ "@angular/platform-browser-dynamic": "20.3.12",
+ "@angular/router": "^20.3.12",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@types/jasmine": "~5.1.8",
"@types/luxon": "^3.4.2",
"@types/node": "^24.2.1",
- "angular-eslint": "^20.1.1",
+ "angular-eslint": "^20.6.0",
"eslint": "^9.33.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
@@ -50,13 +50,13 @@
"url": "https://github.com/sponsors/proangular"
},
"peerDependencies": {
- "@angular/animations": ">=20 <21",
- "@angular/cdk": ">=20 <21",
- "@angular/common": ">=20 <21",
- "@angular/core": ">=20 <21",
- "@angular/forms": ">=20 <21",
- "@angular/material": ">=20 <21",
- "@angular/material-luxon-adapter": ">=20 <21",
+ "@angular/animations": "20.3.12",
+ "@angular/cdk": "20.2.13",
+ "@angular/common": "20.3.12",
+ "@angular/core": "20.3.12",
+ "@angular/forms": "20.3.12",
+ "@angular/material": "20.2.13",
+ "@angular/material-luxon-adapter": "20.2.13",
"@ngneat/until-destroy": ">=10 <11",
"luxon": ">=3 <4",
"rxjs": ">=7.8 <8",
@@ -287,13 +287,13 @@
}
},
"node_modules/@angular-devkit/architect": {
- "version": "0.2003.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.3.tgz",
- "integrity": "sha512-DOnGyv9g24vaDzf5koLOcVri1kYJIBD9UKiJWOWk4H5cFlcpTXQ+PilPmDq6A+X94Tt4MZHImmKsk6LLRPIwFg==",
+ "version": "0.2003.10",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.10.tgz",
+ "integrity": "sha512-2SWetxJzS8gRX6OKQstkWx37VRvZVgcEBDLsDSaeTjpnwh81A+niZQjAVRdwL0NEt1Wixk/RxfeUuCmdyyHvhQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "20.3.3",
+ "@angular-devkit/core": "20.3.10",
"rxjs": "7.8.2"
},
"engines": {
@@ -303,9 +303,9 @@
}
},
"node_modules/@angular-devkit/core": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.3.tgz",
- "integrity": "sha512-2T5mX2duLapZYPYmXUSUe9VW8Dhu10nVBVvEp31jSE6xvjbPM5mlsv6+fks1E4RjhzvaamY9bm3WgwYwNiEV5g==",
+ "version": "20.3.10",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.10.tgz",
+ "integrity": "sha512-COOT2eVebDwHhwENk12VR6m0wjL8D7p0dncEHF15zaBt1IXEnVhGESjSrs5klnPnt5T55qCBKyCTaeK7i/cS8Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -331,13 +331,13 @@
}
},
"node_modules/@angular-devkit/schematics": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.3.tgz",
- "integrity": "sha512-LDn39BjyQLAK/DaVamLElMtI0UoCZIs4jKcMEv8PJ/nnBmrYFHVavWPggeFWMycjeXsdX34Msiml88HZWlXypw==",
+ "version": "20.3.10",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.10.tgz",
+ "integrity": "sha512-2N2WF9lj+kr3uCG4+vFadYCL5hAT4dxMgzwScSdOqSd0O+GZD0CzKbDzlfvWIWC/ZealC5Sh4dFEQaRfmy72xA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "20.3.3",
+ "@angular-devkit/core": "20.3.10",
"jsonc-parser": "3.3.1",
"magic-string": "0.30.17",
"ora": "8.2.0",
@@ -350,9 +350,9 @@
}
},
"node_modules/@angular-eslint/builder": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-20.3.0.tgz",
- "integrity": "sha512-3XpWLdh+/K4+r0ChkKW00SXWyBA7ShMpE+Pt1XUmIu4srJgGRnt8e+kC4Syi+s2t5QS7PjlwRaelB1KfSMXZ5A==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-20.6.0.tgz",
+ "integrity": "sha512-bEvQxjnxXiajcPoSnFPRmc9MYLtultZX7Z/psqj6jiGVujgs5UObs91JcmT4QY56ZkdZjETw9RhztLmRTuLB3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -365,21 +365,21 @@
}
},
"node_modules/@angular-eslint/bundled-angular-compiler": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-20.3.0.tgz",
- "integrity": "sha512-QwuNnmRNr/uNj89TxknPbGcs5snX1w7RoJJPNAsfb2QGcHzUTQovS8hqm9kaDZdpUJDPP7jt7B6F0+EjrPAXRA==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-20.6.0.tgz",
+ "integrity": "sha512-axeU33lBOcfQ/kcpBc/70vR69PFX9kqgUtroENK0lq6dBeRgi6LJVbBOAHRtR2Xfxd9Lv4YbqWuJ0oQ5BwSTGQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@angular-eslint/eslint-plugin": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-20.3.0.tgz",
- "integrity": "sha512-7ghzGTiExrgTetDQ6IPP5uXSa94Xhtzp2VHCIa58EcUb7oMv06HWZ1Uss3xgFmACsLpN+vayKJIdFiboqaGVRA==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-20.6.0.tgz",
+ "integrity": "sha512-hvFtluNRjMqlkwxYGMO1RFgJ5N5/InFZZSHIOput+XXVXYwPrNjbyMY29/ndynpvNktcVq1UPpjv5JAucp0GlA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
- "@angular-eslint/utils": "20.3.0",
+ "@angular-eslint/bundled-angular-compiler": "20.6.0",
+ "@angular-eslint/utils": "20.6.0",
"ts-api-utils": "^2.1.0"
},
"peerDependencies": {
@@ -389,19 +389,19 @@
}
},
"node_modules/@angular-eslint/eslint-plugin-template": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-20.3.0.tgz",
- "integrity": "sha512-WMJDJfybOLCiN4QrOyrLl+Zt5F+A/xoDYMWTdn+LgACheLs2tguVQiwf+oCgHnHGcsTsulPYlRHldKBGZMgs4w==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-20.6.0.tgz",
+ "integrity": "sha512-HoV0QeZFP63vUyD+uBYdqGi95xNJ64Wsb9vG0/auY5sqHsed8tbmFZgNmr8/ho1AHMyQ2HhH7eLIsV2glftyEg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
- "@angular-eslint/utils": "20.3.0",
+ "@angular-eslint/bundled-angular-compiler": "20.6.0",
+ "@angular-eslint/utils": "20.6.0",
"aria-query": "5.3.2",
"axobject-query": "4.1.0"
},
"peerDependencies": {
- "@angular-eslint/template-parser": "20.3.0",
+ "@angular-eslint/template-parser": "20.6.0",
"@typescript-eslint/types": "^7.11.0 || ^8.0.0",
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
"eslint": "^8.57.0 || ^9.0.0",
@@ -409,29 +409,42 @@
}
},
"node_modules/@angular-eslint/schematics": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-20.3.0.tgz",
- "integrity": "sha512-4n92tHKIJm1PP+FjhnmO7AMpvKdRIoF+YgF38oUU7aMJqfZ3RXIhazMMxw2u3VU1MisKH766KSll++c4LgarVA==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-20.6.0.tgz",
+ "integrity": "sha512-bZ3FFyfEUqnLkNj4OzU+0LQH4NiHtWbleuoaaTeIXAG9AHZP9H5PPD9loR3CUaLoHvwY22zWBkBOEuBBDkBAtw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@angular-devkit/core": ">= 20.0.0 < 21.0.0",
"@angular-devkit/schematics": ">= 20.0.0 < 21.0.0",
- "@angular-eslint/eslint-plugin": "20.3.0",
- "@angular-eslint/eslint-plugin-template": "20.3.0",
+ "@angular-eslint/eslint-plugin": "20.6.0",
+ "@angular-eslint/eslint-plugin-template": "20.6.0",
"ignore": "7.0.5",
- "semver": "7.7.2",
+ "semver": "7.7.3",
"strip-json-comments": "3.1.1"
}
},
+ "node_modules/@angular-eslint/schematics/node_modules/semver": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@angular-eslint/template-parser": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-20.3.0.tgz",
- "integrity": "sha512-gB564h/kZ7siWvgHDETU++sk5e25qFfVaizLaa6KoBEYFP6dOCiedz15LTcA0TsXp0rGu6Z6zkl291iSM1qzDA==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-20.6.0.tgz",
+ "integrity": "sha512-dDsABCf8qoFEUmSQa2F0NBZtkxT+I4GQxKcYSpsFZdgv6zrE46lpJSuRgK8OKOq1jqMmbIEXp2h0FeHyJS/qmg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0",
+ "@angular-eslint/bundled-angular-compiler": "20.6.0",
"eslint-scope": "^8.0.2"
},
"peerDependencies": {
@@ -440,13 +453,13 @@
}
},
"node_modules/@angular-eslint/utils": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-20.3.0.tgz",
- "integrity": "sha512-7XOQeNXgyhznDwoP1TwPrCMq/uXKJHQgCVPFREkJGKbNf/jzNldB7iV1eqpBzUQIPEQFgfcDG67dexpMAq3N4g==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-20.6.0.tgz",
+ "integrity": "sha512-usjCCjbdtqy4p8I3BMPn6LrXECFLCohBa75h59PK0kV/TEb8OlnIWIWTVtZAMw/MgohtExl69GkSNmL3ElWbUQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-eslint/bundled-angular-compiler": "20.3.0"
+ "@angular-eslint/bundled-angular-compiler": "20.6.0"
},
"peerDependencies": {
"@typescript-eslint/utils": "^7.11.0 || ^8.0.0",
@@ -455,9 +468,9 @@
}
},
"node_modules/@angular/animations": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.2.tgz",
- "integrity": "sha512-za7onSElEUbaI9iS8j7nKf8FjyvVng6wFsb2ZuHxr71dMgnYkqPfMu0KMP+mkZ3yUVc//7SllXcSkGBHShyCcw==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.12.tgz",
+ "integrity": "sha512-tkzruF0pbcOrC2lwsPKjkp5btazs6vcX4At7kyVFjjuPbgI6RNG+MoFXHpN9ypenscYtTAhDcPSmjBnzoDaXhQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -467,18 +480,18 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "20.3.2"
+ "@angular/core": "20.3.12"
}
},
"node_modules/@angular/build": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.3.tgz",
- "integrity": "sha512-WhwAbovHAxDbNeR5jB2IS/SVs+yQg9NETFeJ5f7T3n/414ULkGOhXn+29i1rzwJhf1uqM9lsedcv2tKn1N24/A==",
+ "version": "20.3.10",
+ "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.10.tgz",
+ "integrity": "sha512-nQrj1nMNZygYDilThc7hPrD6/NIWF/BOSgMfE4VkXQp8d0QronP3HFJ/h77MeoughMRFRhix0pqQSlXJQ2SGTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "2.3.0",
- "@angular-devkit/architect": "0.2003.3",
+ "@angular-devkit/architect": "0.2003.10",
"@babel/core": "7.28.3",
"@babel/helper-annotate-as-pure": "7.27.3",
"@babel/helper-split-export-declaration": "7.24.7",
@@ -496,12 +509,12 @@
"parse5-html-rewriting-stream": "8.0.0",
"picomatch": "4.0.3",
"piscina": "5.1.3",
- "rolldown": "1.0.0-beta.38",
+ "rollup": "4.52.3",
"sass": "1.90.0",
"semver": "7.7.2",
"source-map-support": "0.5.21",
"tinyglobby": "0.2.14",
- "vite": "7.1.5",
+ "vite": "7.1.11",
"watchpack": "2.4.4"
},
"engines": {
@@ -520,7 +533,7 @@
"@angular/platform-browser": "^20.0.0",
"@angular/platform-server": "^20.0.0",
"@angular/service-worker": "^20.0.0",
- "@angular/ssr": "^20.3.3",
+ "@angular/ssr": "^20.3.10",
"karma": "^6.4.0",
"less": "^4.2.0",
"ng-packagr": "^20.0.0",
@@ -570,9 +583,9 @@
}
},
"node_modules/@angular/cdk": {
- "version": "20.2.7",
- "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.7.tgz",
- "integrity": "sha512-QTqxPJSMXyjaswtpUrziwdoKRhqT2P9/Ascwzjg8T/SofV1850pc3YmonoOFrurYrmd4plZzWdr7raGcBWIh/Q==",
+ "version": "20.2.13",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-20.2.13.tgz",
+ "integrity": "sha512-h1jTkCmJ/rEQQMkxgKFMCBOrMfjZEnppgdekNmSTerwdVp4vdosTDTzFH/kwiOGFeRClffmvqQ2XLG8mQOKOtA==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -586,19 +599,19 @@
}
},
"node_modules/@angular/cli": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.3.tgz",
- "integrity": "sha512-3c8xCklJ0C0T6ETSncAoXlOYNi3x7vLT3PS56rIaQ0jtlvD4Y+RQakd3+iffVAapvh/JB27WNor8pJRThLZ/jg==",
+ "version": "20.3.10",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.10.tgz",
+ "integrity": "sha512-CQzXScurBXSuMMn0jf6UYDItdggaM3bHYERKL4cUG1z5JqSozVFin1+TB1EjWYkddwdgC10R5xQurdMb+ahRNw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/architect": "0.2003.3",
- "@angular-devkit/core": "20.3.3",
- "@angular-devkit/schematics": "20.3.3",
+ "@angular-devkit/architect": "0.2003.10",
+ "@angular-devkit/core": "20.3.10",
+ "@angular-devkit/schematics": "20.3.10",
"@inquirer/prompts": "7.8.2",
"@listr2/prompt-adapter-inquirer": "3.0.1",
"@modelcontextprotocol/sdk": "1.17.3",
- "@schematics/angular": "20.3.3",
+ "@schematics/angular": "20.3.10",
"@yarnpkg/lockfile": "1.1.0",
"algoliasearch": "5.35.0",
"ini": "5.0.0",
@@ -621,9 +634,9 @@
}
},
"node_modules/@angular/common": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.2.tgz",
- "integrity": "sha512-5V9AzLhCA1dNhF+mvihmdHoZHbEhIb1jNYRA1/JMheR+G7NR8Mznu6RmWaKSWZ4AJeSJN8rizWN2wpVPWTKjSQ==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.12.tgz",
+ "integrity": "sha512-rFcDfe67ffrb435C6t2lc27WGbizeOcgce30tUhH0iezwEvU+kHHWezXXX6Ylx3TFgqGkhcxL0fliuFYrpM1Vw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -633,14 +646,14 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/core": "20.3.2",
+ "@angular/core": "20.3.12",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/compiler": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.2.tgz",
- "integrity": "sha512-5fSzkPmRomZ9H43c82FJWLwdOi7MICMimP1y1oYJZcUh3jYRhXUrQvD0jifdRVkkgKNjaZYlMr0NkrYQFgFong==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.12.tgz",
+ "integrity": "sha512-bGESKz97nWiEQ/sydTq/Lzv3zlLvDb8t0msLG5Xti7Ch1EdLddXS8d2D/zFsjiGbAUKVsT6RgPCLHYoi4ocbhA==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -651,9 +664,9 @@
}
},
"node_modules/@angular/compiler-cli": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.2.tgz",
- "integrity": "sha512-rLox2THiALVQqYGUaxZ6YD8qUoXIOGTw3s0tim9/U65GuXGRtYgG0ZQWYp3yjEBes0Ksx2/15eFPp1Ol4FdEKQ==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.12.tgz",
+ "integrity": "sha512-3SJkexqsydYjIs0iLiJr5AdwkvumpzvjJM6s76iaxXHkRll5k/vM0wqkXLlSIwieBrecO9D4J73lDLWDevXl5A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -674,7 +687,7 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/compiler": "20.3.2",
+ "@angular/compiler": "20.3.12",
"typescript": ">=5.8 <6.0"
},
"peerDependenciesMeta": {
@@ -684,9 +697,9 @@
}
},
"node_modules/@angular/core": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.2.tgz",
- "integrity": "sha512-88uPgs5LjtnywnQaZE2ShBb1wa8IuD6jWs4nc4feo32QdBc55tjebTBFJSHbi3mUVAp0eS4wI6ITo0YIb01H4g==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.12.tgz",
+ "integrity": "sha512-K7vibMr55a7+EsuDhkg4Pk+ELuMm12olllwqL/CiQUcHXZ9Zgc4KYGTUuxWB69qJCG90gdSZS7tm5Dx0wDcyjg==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -696,7 +709,7 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/compiler": "20.3.2",
+ "@angular/compiler": "20.3.12",
"rxjs": "^6.5.3 || ^7.4.0",
"zone.js": "~0.15.0"
},
@@ -710,9 +723,9 @@
}
},
"node_modules/@angular/forms": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.2.tgz",
- "integrity": "sha512-ECIbtwc7n9fPbiZXZVaoZpSiOksgcNbZ27oUN9BT7EmoXRzBw6yDL2UX6Ig7pEKhQGyBkKB+TMerRwTDVkkCWg==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.12.tgz",
+ "integrity": "sha512-O0Jy8ScaN3qVipDfR4s0SIxGrz/+MbCdmR05ZYVWf1W5P3dvETKt9WNjX9fYYV47GdgSveyFjuCR2NvWlv94zA==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -722,23 +735,23 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2",
+ "@angular/common": "20.3.12",
+ "@angular/core": "20.3.12",
+ "@angular/platform-browser": "20.3.12",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
"node_modules/@angular/material": {
- "version": "20.2.7",
- "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.2.7.tgz",
- "integrity": "sha512-VXsP5qkQQ3sCGkSHsgDku/OVlunGsqssOM057foOKJuajECsI3ZpGuLJ13nvLm9Z147UZOZfP463ixZIjd4XuQ==",
+ "version": "20.2.13",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-20.2.13.tgz",
+ "integrity": "sha512-9pjp2mULOxojYzOO7qdqt/gSVLrpYBwsIM3K0fxp+mNEcJgNjIxvmRKx46LY9+v0yrPY9puoQvP/T2C+o1+xsw==",
"license": "MIT",
"peer": true,
"dependencies": {
"tslib": "^2.3.0"
},
"peerDependencies": {
- "@angular/cdk": "20.2.7",
+ "@angular/cdk": "20.2.13",
"@angular/common": "^20.0.0 || ^21.0.0",
"@angular/core": "^20.0.0 || ^21.0.0",
"@angular/forms": "^20.0.0 || ^21.0.0",
@@ -747,9 +760,9 @@
}
},
"node_modules/@angular/material-luxon-adapter": {
- "version": "20.2.7",
- "resolved": "https://registry.npmjs.org/@angular/material-luxon-adapter/-/material-luxon-adapter-20.2.7.tgz",
- "integrity": "sha512-6L6NU1q7OWzxQ2uLQtNAGHOp4M1p/lAB2UKc5Z/F3myWx6njJMgAtxuuq7xvaCY2TyDUP7n5bFAPmGB9fmiyZQ==",
+ "version": "20.2.13",
+ "resolved": "https://registry.npmjs.org/@angular/material-luxon-adapter/-/material-luxon-adapter-20.2.13.tgz",
+ "integrity": "sha512-z/3BQHEfOnfN9sudcjvR/OZwWiwyYv0FfHmUFP6T1MMuydpEdY/rUcQzyyC/wCHOtM6oUrfURdkGkWNwc6T9zw==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -757,14 +770,14 @@
},
"peerDependencies": {
"@angular/core": "^20.0.0 || ^21.0.0",
- "@angular/material": "20.2.7",
+ "@angular/material": "20.2.13",
"luxon": "^3.0.0"
}
},
"node_modules/@angular/platform-browser": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.2.tgz",
- "integrity": "sha512-d9XcT2UuWZCc0UOtkCcPEnMcOFKNczahamT/Izg3H9jLS3IcT6l0ry23d/Xf0DRwhLYQdOZiG7l8HMZ1sWPMOg==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.12.tgz",
+ "integrity": "sha512-14KQsXZyaQhbRwFz1W58CtbXQc9L+mfuHBgwQjQo99422Yk0ye5WVMb6DHH7dH671qFVqL0XL7zdOPBebaAnJQ==",
"license": "MIT",
"dependencies": {
"tslib": "^2.3.0"
@@ -773,9 +786,9 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/animations": "20.3.2",
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2"
+ "@angular/animations": "20.3.12",
+ "@angular/common": "20.3.12",
+ "@angular/core": "20.3.12"
},
"peerDependenciesMeta": {
"@angular/animations": {
@@ -784,9 +797,9 @@
}
},
"node_modules/@angular/platform-browser-dynamic": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.2.tgz",
- "integrity": "sha512-ehoV67Vxr3ZE8BJ3g7Q4ZLHo3qJVoDUDz/4UeCqmDeOnKxcdD53HTA/pgOO4QhKStUFbzgU19OQD4e6fkP8YoQ==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.12.tgz",
+ "integrity": "sha512-VviTUCpcbwErQjWd+EZklQf1Fw1FtXui6ey4rEb9g9mCEJ/o08LkM7mWV5IoE6QNCfbgkfgNjEJSJvWe409Mow==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -796,16 +809,16 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/compiler": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2"
+ "@angular/common": "20.3.12",
+ "@angular/compiler": "20.3.12",
+ "@angular/core": "20.3.12",
+ "@angular/platform-browser": "20.3.12"
}
},
"node_modules/@angular/router": {
- "version": "20.3.2",
- "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.2.tgz",
- "integrity": "sha512-+Crx6QpK00juoNU3A1vbVf4DQ7fduLe3DUdAob6a9Uj+IoWj2Ijd8zUWF8E0cfNNFotJ4Gost0lJORDvqKcC7A==",
+ "version": "20.3.12",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.12.tgz",
+ "integrity": "sha512-hUipb9JI/Euy3bdlhzkcWlw3cTyssPTVTDwSvyGxWO4i+UKATQYmxh8EDOrDYzFp6Aexiy0Hff/H8umdsn6ZdA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -815,9 +828,9 @@
"node": "^20.19.0 || ^22.12.0 || >=24.0.0"
},
"peerDependencies": {
- "@angular/common": "20.3.2",
- "@angular/core": "20.3.2",
- "@angular/platform-browser": "20.3.2",
+ "@angular/common": "20.3.12",
+ "@angular/core": "20.3.12",
+ "@angular/platform-browser": "20.3.12",
"rxjs": "^6.5.3 || ^7.4.0"
}
},
@@ -1124,40 +1137,6 @@
"node": ">=0.1.90"
}
},
- "node_modules/@emnapi/core": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz",
- "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/wasi-threads": "1.1.0",
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/runtime": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz",
- "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
- "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@es-joy/jsdoccomment": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.56.0.tgz",
@@ -2958,19 +2937,6 @@
"node": ">= 10"
}
},
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.5.tgz",
- "integrity": "sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.5.0",
- "@emnapi/runtime": "^1.5.0",
- "@tybys/wasm-util": "^0.10.1"
- }
- },
"node_modules/@ngneat/until-destroy": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/@ngneat/until-destroy/-/until-destroy-10.0.0.tgz",
@@ -3293,16 +3259,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@oxc-project/types": {
- "version": "0.89.0",
- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.89.0.tgz",
- "integrity": "sha512-yuo+ECPIW5Q9mSeNmCDC2im33bfKuwW18mwkaHMQh8KakHYDzj4ci/q7wxf2qS3dMlVVCIyrs3kFtH5LmnlYnw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/Boshen"
- }
- },
"node_modules/@parcel/watcher": {
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz",
@@ -3646,251 +3602,6 @@
"node": ">=14"
}
},
- "node_modules/@rolldown/binding-android-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-AE3HFQrjWCKLFZD1Vpiy+qsqTRwwoil1oM5WsKPSmfQ5fif/A+ZtOZetF32erZdsR7qyvns6qHEteEsF6g6rsQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-darwin-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-RaoWOKc0rrFsVmKOjQpebMY6c6/I7GR1FBc25v7L/R7NlM0166mUotwGEv7vxu7ruXH4SJcFeVrfADFUUXUmmQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-darwin-x64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.38.tgz",
- "integrity": "sha512-Ymojqc2U35iUc8NFU2XX1WQPfBRRHN6xHcrxAf9WS8BFFBn8pDrH5QPvH1tYs3lDkw6UGGbanr1RGzARqdUp1g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-freebsd-x64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.38.tgz",
- "integrity": "sha512-0ermTQ//WzSI0nOL3z/LUWMNiE9xeM5cLGxjewPFEexqxV/0uM8/lNp9QageQ8jfc/VO1OURsGw34HYO5PaL8w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.38.tgz",
- "integrity": "sha512-GADxzVUTCTp6EWI52831A29Tt7PukFe94nhg/SUsfkI33oTiNQtPxyLIT/3oRegizGuPSZSlrdBurkjDwxyEUQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm64-gnu": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.38.tgz",
- "integrity": "sha512-SKO7Exl5Yem/OSNoA5uLHzyrptUQ8Hg70kHDxuwEaH0+GUg+SQe9/7PWmc4hFKBMrJGdQtii8WZ0uIz9Dofg5Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-arm64-musl": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.38.tgz",
- "integrity": "sha512-SOo6+WqhXPBaShLxLT0eCgH17d3Yu1lMAe4mFP0M9Bvr/kfMSOPQXuLxBcbBU9IFM9w3N6qP9xWOHO+oUJvi8Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-x64-gnu": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.38.tgz",
- "integrity": "sha512-yvsQ3CyrodOX+lcoi+lejZGCOvJZa9xTsNB8OzpMDmHeZq3QzJfpYjXSAS6vie70fOkLVJb77UqYO193Cl8XBQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-linux-x64-musl": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.38.tgz",
- "integrity": "sha512-84qzKMwUwikfYeOuJ4Kxm/3z15rt0nFGGQArHYIQQNSTiQdxGHxOkqXtzPFqrVfBJUdxBAf+jYzR1pttFJuWyg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-openharmony-arm64": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.38.tgz",
- "integrity": "sha512-QrNiWlce01DYH0rL8K3yUBu+lNzY+B0DyCbIc2Atan6/S6flxOL0ow5DLQvMamOI/oKhrJ4xG+9MkMb9dDHbLQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openharmony"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-wasm32-wasi": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.38.tgz",
- "integrity": "sha512-fnLtHyjwEsG4/aNV3Uv3Qd1ZbdH+CopwJNoV0RgBqrcQB8V6/Qdikd5JKvnO23kb3QvIpP+dAMGZMv1c2PJMzw==",
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@napi-rs/wasm-runtime": "^1.0.5"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@rolldown/binding-win32-arm64-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-19cTfnGedem+RY+znA9J6ARBOCEFD4YSjnx0p5jiTm9tR6pHafRfFIfKlTXhun+NL0WWM/M0eb2IfPPYUa8+wg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-win32-ia32-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-HcICm4YzFJZV+fI0O0bFLVVlsWvRNo/AB9EfUXvNYbtAxakCnQZ15oq22deFdz6sfi9Y4/SagH2kPU723dhCFA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/binding-win32-x64-msvc": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.38.tgz",
- "integrity": "sha512-4Qx6cgEPXLb0XsCyLoQcUgYBpfL0sjugftob+zhUH0EOk/NVCAIT+h0NJhY+jn7pFpeKxhNMqhvTNx3AesxIAQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- }
- },
- "node_modules/@rolldown/pluginutils": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.38.tgz",
- "integrity": "sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@rollup/plugin-json": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz",
@@ -4271,14 +3982,14 @@
"license": "MIT"
},
"node_modules/@schematics/angular": {
- "version": "20.3.3",
- "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.3.tgz",
- "integrity": "sha512-lqIP1pNKp8yaqd663R3graZWaTBjXH+Cl72BQl1Ghl7lFGReZJALr4GiSMiBR9r30Epklcw5TwOSi+Bs4UKmbw==",
+ "version": "20.3.10",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.10.tgz",
+ "integrity": "sha512-F9ntS2CElpoWlENf4b03nwdTcN9Ri0Nb4SAE/pfRw3In09h2UHxYyf1ex9jqQt70xltDg4wvyuc3mMs+JlSx9A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@angular-devkit/core": "20.3.3",
- "@angular-devkit/schematics": "20.3.3",
+ "@angular-devkit/core": "20.3.10",
+ "@angular-devkit/schematics": "20.3.10",
"jsonc-parser": "3.3.1"
},
"engines": {
@@ -4433,17 +4144,6 @@
"node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@tybys/wasm-util": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
- "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "tslib": "^2.4.0"
- }
- },
"node_modules/@types/cors": {
"version": "2.8.19",
"resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
@@ -4873,19 +4573,19 @@
}
},
"node_modules/angular-eslint": {
- "version": "20.3.0",
- "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-20.3.0.tgz",
- "integrity": "sha512-MvmeFuPmJHRmfL1A9IMtZJEYaU6sF++saJgpsU7aOD6YDZCGJ0J6HxlJ/q7YRbWYuI1q+gF/qALxdnuwHYadSg==",
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/angular-eslint/-/angular-eslint-20.6.0.tgz",
+ "integrity": "sha512-SOQLhUjL5ulikHIFRrDA41euGsv9z6tYhYsmb6DYRLSaSglAiyiH/wb8sbW+COzsztBkSLb6gDVBMW+kzQ+yjw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@angular-devkit/core": ">= 20.0.0 < 21.0.0",
"@angular-devkit/schematics": ">= 20.0.0 < 21.0.0",
- "@angular-eslint/builder": "20.3.0",
- "@angular-eslint/eslint-plugin": "20.3.0",
- "@angular-eslint/eslint-plugin-template": "20.3.0",
- "@angular-eslint/schematics": "20.3.0",
- "@angular-eslint/template-parser": "20.3.0",
+ "@angular-eslint/builder": "20.6.0",
+ "@angular-eslint/eslint-plugin": "20.6.0",
+ "@angular-eslint/eslint-plugin-template": "20.6.0",
+ "@angular-eslint/schematics": "20.6.0",
+ "@angular-eslint/template-parser": "20.6.0",
"@typescript-eslint/types": "^8.0.0",
"@typescript-eslint/utils": "^8.0.0"
},
@@ -4950,16 +4650,6 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/ansis": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz",
- "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- }
- },
"node_modules/anymatch": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
@@ -11743,40 +11433,6 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/rolldown": {
- "version": "1.0.0-beta.38",
- "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.38.tgz",
- "integrity": "sha512-58frPNX55Je1YsyrtPJv9rOSR3G5efUZpRqok94Efsj0EUa8dnqJV3BldShyI7A+bVPleucOtzXHwVpJRcR0kQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@oxc-project/types": "=0.89.0",
- "@rolldown/pluginutils": "1.0.0-beta.38",
- "ansis": "^4.0.0"
- },
- "bin": {
- "rolldown": "bin/cli.mjs"
- },
- "engines": {
- "node": "^20.19.0 || >=22.12.0"
- },
- "optionalDependencies": {
- "@rolldown/binding-android-arm64": "1.0.0-beta.38",
- "@rolldown/binding-darwin-arm64": "1.0.0-beta.38",
- "@rolldown/binding-darwin-x64": "1.0.0-beta.38",
- "@rolldown/binding-freebsd-x64": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.38",
- "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.38",
- "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.38",
- "@rolldown/binding-linux-x64-musl": "1.0.0-beta.38",
- "@rolldown/binding-openharmony-arm64": "1.0.0-beta.38",
- "@rolldown/binding-wasm32-wasi": "1.0.0-beta.38",
- "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.38",
- "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.38",
- "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.38"
- }
- },
"node_modules/rollup": {
"version": "4.52.3",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz",
@@ -13391,9 +13047,9 @@
}
},
"node_modules/vite": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz",
- "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==",
+ "version": "7.1.11",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.11.tgz",
+ "integrity": "sha512-uzcxnSDVjAopEUjljkWh8EIrg6tlzrjFUfMcR1EVsRDGwf/ccef0qQPRyOrROwhrTDaApueq+ja+KLPlzR/zdg==",
"dev": true,
"license": "MIT",
"dependencies": {
diff --git a/package.json b/package.json
index dd74ede..a8f1423 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@proangular/pro-table",
- "version": "20.4.1",
+ "version": "20.5.0",
"description": "A rich, dynamic, and versatile table component based on Angular Material.",
"author": "Pro Angular ",
"homepage": "https://www.proangular.com",
@@ -10,15 +10,14 @@
},
"scripts": {
"build": "ng build",
- "build:package": "ng-packagr -p ng-package.json",
"build:prod": "ng build --configuration production",
"lint": "ng lint",
"ng": "ng",
+ "npm-build-package": "ng-packagr -p ng-package.json",
"postinstall": "is-ci || husky install",
"prettier": "prettier --write . --log-level silent",
"prettier:check": "prettier --check .",
- "start": "ng serve",
- "start:open": "ng serve --open",
+ "start": "ng serve --open",
"test": "ng test",
"update": "ncu -u",
"update:check": "ncu",
@@ -38,18 +37,18 @@
"zone.js": ">=0.15 <0.16"
},
"devDependencies": {
- "@angular/build": "^20.3.3",
- "@angular/cli": "^20.3.3",
- "@angular/compiler": "20.3.2",
- "@angular/compiler-cli": "^20.3.2",
- "@angular/platform-browser": "20.3.2",
- "@angular/platform-browser-dynamic": "20.3.2",
- "@angular/router": "^20.3.2",
+ "@angular/build": "^20.3.10",
+ "@angular/cli": "^20.3.10",
+ "@angular/compiler": "20.3.12",
+ "@angular/compiler-cli": "^20.3.12",
+ "@angular/platform-browser": "20.3.12",
+ "@angular/platform-browser-dynamic": "20.3.12",
+ "@angular/router": "^20.3.12",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@types/jasmine": "~5.1.8",
"@types/luxon": "^3.4.2",
"@types/node": "^24.2.1",
- "angular-eslint": "^20.1.1",
+ "angular-eslint": "^20.6.0",
"eslint": "^9.33.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
diff --git a/public/favicon.ico b/public/favicon.ico
index 57614f9..1d6ecf1 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/src/app/layout/footer.component.html b/src/app/layout/footer.component.html
index 896f272..a95ecd1 100644
--- a/src/app/layout/footer.component.html
+++ b/src/app/layout/footer.component.html
@@ -1,9 +1,6 @@