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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
A split button component for Angular Material.
Split buttons (also known as "split button dropdowns" in Bootstrap) have a primary action button with a conjoined dropdown toggle that opens a menu for secondary actions.

Compatible with both **Material 2** and **Material 3** theming.

---

**What if your day job was contributing to open-source projects and custom AI solutions &mdash; and you got paid for it?**<br />
Expand All @@ -14,8 +16,11 @@ We're hiring remote engineers to contribute to cutting-edge AI and custom softwa

See the [README](projects/ngx-mat-split-button/README.md) in the ngx-mat-split-button project to get started.

## Running the demo
## Running the demos

Install dependencies with `npm ci` from the repo root.

Start the demo with `npm start` and ctrl/cmd+click the URL to open it in your browser.
There are two demo projects to verify compatibility with both Material 2 and Material 3 themes:

- **Material 3 demo**: `ng serve ngx-mat-split-button-demo` — uses M3 theming with `mat.theme()` and `--mat-sys-*` design tokens.
- **Material 2 demo**: `ng serve ngx-mat-split-button-demo-m2` — uses M2 theming with `mat.m2-define-light-theme()` and classic palettes (indigo/pink/red).
95 changes: 95 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,101 @@
}
}
}
},
"ngx-mat-split-button-demo-m2": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "projects/ngx-mat-split-button-demo-m2",
"sourceRoot": "projects/ngx-mat-split-button-demo-m2/src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/ngx-mat-split-button-demo-m2",
"index": "projects/ngx-mat-split-button-demo-m2/src/index.html",
"browser": "projects/ngx-mat-split-button-demo-m2/src/main.ts",
"polyfills": [
"zone.js"
],
"tsConfig": "projects/ngx-mat-split-button-demo-m2/tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
{
"glob": "**/*",
"input": "projects/ngx-mat-split-button-demo-m2/public"
}
],
"styles": [
"projects/ngx-mat-split-button-demo-m2/src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kB",
"maximumError": "1MB"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kB",
"maximumError": "4kB"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "ngx-mat-split-button-demo-m2:build:production"
},
"development": {
"buildTarget": "ngx-mat-split-button-demo-m2:build:development"
}
},
"defaultConfiguration": "development"
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n"
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"zone.js",
"zone.js/testing"
],
"tsConfig": "projects/ngx-mat-split-button-demo-m2/tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
{
"glob": "**/*",
"input": "projects/ngx-mat-split-button-demo-m2/public"
}
],
"styles": [
"projects/ngx-mat-split-button-demo-m2/src/styles.scss"
],
"scripts": []
}
}
}
}
}
}
Loading
Loading