Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
734c7f8
chore(sync): sync with branch 'main'
fbf-prog64 Mar 28, 2026
2e7d202
fix: remove animations references from amc docs
fbf-prog64 Mar 29, 2026
6297ea4
chore(release): 21.2.6-next.1 [skip ci]
semantic-release-bot Mar 29, 2026
23b65d9
ci(lint): add linting tooling
fbf-prog64 Feb 23, 2026
ab96e99
refactor: solve file-input linting errors
fbf-prog64 Mar 29, 2026
373a29c
refactor: solve most color-picker linting errors
fbf-prog64 Mar 29, 2026
ce1012c
refactor: solve a few datetime-picker linting errors
fbf-prog64 Mar 29, 2026
01425f6
chore(sync): sync with branch 'feature-lint' (PR #57)
fbf-prog64 Mar 29, 2026
400eafd
chore(release): 21.2.6-next.2 [skip ci]
semantic-release-bot Mar 29, 2026
5efb6ef
chore(deps-dev): bump angular-eslint from 21.2.0 to 21.3.1
dependabot[bot] Mar 30, 2026
a547cef
chore(update): upgrade angular-eslint from v21.2.0 to v21.3.1 (PR #60)
fbf-prog64 Mar 31, 2026
82c8a2c
chore(release): 21.2.6-next.3 [skip ci]
semantic-release-bot Mar 31, 2026
e12d64d
chore(deps-dev): bump @angular-eslint/builder from 21.2.0 to 21.3.1
dependabot[bot] Mar 31, 2026
26aa52b
chore(update): upgrade @angular-eslint/builder from v21.2.0 to v21.3.…
fbf-prog64 Mar 31, 2026
6703eac
chore(release): 21.2.6-next.4 [skip ci]
semantic-release-bot Mar 31, 2026
6de3d22
chore(deps-dev): bump typescript-eslint from 8.50.1 to 8.57.2
dependabot[bot] Mar 31, 2026
d3630de
chore(update): upgrade typescript-eslint from v8.50.1 to v8.57.2 (PR …
fbf-prog64 Mar 31, 2026
f27417a
chore(release): 21.2.6-next.5 [skip ci]
semantic-release-bot Mar 31, 2026
43ad4a5
refactor: use imject instead of constructor params in base datepicker
fbf-prog64 Apr 2, 2026
05aac33
refactor: use inject calls for datepicker input components
fbf-prog64 Apr 2, 2026
682d06c
refactor: use inject calls for datepicker input component
fbf-prog64 Apr 2, 2026
595fd12
refactor: use inject calls for month view
fbf-prog64 Apr 2, 2026
2a5e01a
refactor: use inject calls for year view
fbf-prog64 Apr 2, 2026
de53e29
refactor: use inject calls for multi-year view
fbf-prog64 Apr 2, 2026
245429a
refactor: use inject calls in other datepicker components
fbf-prog64 Apr 2, 2026
9a169b1
refactor: use inject calls in calendar base component
fbf-prog64 Apr 2, 2026
8e1ba61
refactor: comment empty functions for intention
fbf-prog64 Apr 2, 2026
b8d791e
refactor: underscore unused parameters in functions
fbf-prog64 Apr 2, 2026
9485798
refactor: correct other linter problems in datetime-picker
fbf-prog64 Apr 3, 2026
6d43592
chore(sync): sync with branch 'feature-lint' (PR #61)
fbf-prog64 Apr 3, 2026
fc832df
chore(release): 21.2.6-next.6 [skip ci]
semantic-release-bot Apr 3, 2026
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
40 changes: 40 additions & 0 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,16 @@
},
"test": {
"builder": "@angular/build:unit-test"
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"projects/amc-docs/**/*.ts",
"projects/amc-docs/**/*.html"
],
"eslintConfig": "projects/amc-docs/eslint.config.js"
}
}
}
},
Expand All @@ -98,6 +108,16 @@
"options": {
"tsConfig": "projects/color-picker/tsconfig.spec.json"
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"projects/color-picker/**/*.ts",
"projects/color-picker/**/*.html"
],
"eslintConfig": "projects/color-picker/eslint.config.js"
}
}
}
},
Expand All @@ -124,6 +144,16 @@
"options": {
"tsConfig": "projects/datetime-picker/tsconfig.spec.json"
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"projects/datetime-picker/**/*.ts",
"projects/datetime-picker/**/*.html"
],
"eslintConfig": "projects/datetime-picker/eslint.config.js"
}
}
}
},
Expand All @@ -150,6 +180,16 @@
"options": {
"tsConfig": "projects/file-input/tsconfig.spec.json"
}
},
"lint": {
"builder": "@angular-eslint/builder:lint",
"options": {
"lintFilePatterns": [
"projects/file-input/**/*.ts",
"projects/file-input/**/*.html"
],
"eslintConfig": "projects/file-input/eslint.config.js"
}
}
}
}
Expand Down
52 changes: 52 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// @ts-check
const eslint = require("@eslint/js");
const { defineConfig } = require("eslint/config");
const tseslint = require("typescript-eslint");
const angular = require("angular-eslint");

module.exports = defineConfig([
{
files: ["**/*.ts"],
extends: [
eslint.configs.recommended,
tseslint.configs.recommended,
tseslint.configs.stylistic,
angular.configs.tsRecommended,
],
processor: angular.processInlineTemplates,
rules: {
"@angular-eslint/directive-selector": [
"error",
{
type: "attribute",
prefix: "ngx",
style: "camelCase",
},
],
"@angular-eslint/component-selector": [
"error",
{
type: "element",
prefix: "ngx",
style: "kebab-case",
},
],
"@typescript-eslint/no-unused-vars": [
"error",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
caughtErrorsIgnorePattern: "^_"
}
]
},
},
{
files: ["**/*.html"],
extends: [
angular.configs.templateRecommended,
angular.configs.templateAccessibility,
],
rules: {},
}
]);
7 changes: 6 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ngx-mce/amc",
"version": "21.2.5",
"version": "21.2.6-next.6",
"description": "Angular Material Components Example Application",
"author": "Felipe B.",
"repository": {
Expand Down Expand Up @@ -57,15 +57,20 @@
},
"devDependencies": {
"@angular/build": "^21.2.5",
"@angular-eslint/builder": "21.3.1",
"@angular/cdk": "^21.1.5",
"@angular/cli": "^21.2.5",
"@angular/compiler-cli": "^21.1.5",
"@cleyrop-org/semantic-release-backmerge": "^5.2.4",
"@eslint/js": "^9.39.2",
"@types/node": "^25.5.0",
"angular-eslint": "21.3.1",
"eslint": "^9.39.2",
"jsdom": "^29.0.1",
"ng-packagr": "^21.2.2",
"ts-node": "~10.9.2",
"typescript": "~5.9.2",
"typescript-eslint": "8.58.0",
"vitest": "^4.1.2"
}
}
1,334 changes: 1,095 additions & 239 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions projects/amc-docs/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// @ts-check
const { defineConfig } = require("eslint/config");
const rootConfig = require("../../eslint.config.js");

module.exports = defineConfig([
...rootConfig,
{
files: ["**/*.ts"],
rules: {
"@angular-eslint/directive-selector": [
"error",
{
type: "attribute",
prefix: "app",
style: "camelCase",
},
],
"@angular-eslint/component-selector": [
"error",
{
type: "element",
prefix: "app",
style: "kebab-case",
},
],
},
},
{
files: ["**/*.html"],
rules: {},
}
]);
4 changes: 0 additions & 4 deletions projects/amc-docs/src/app/app.config.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZonelessChangeDetection } from '@angular/core';
import { provideNativeDateAdapter } from '@angular/material/core';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
import { provideRouter } from '@angular/router';

import { routes } from './app.routes';

export const appConfig: ApplicationConfig = {
providers: [
provideNativeDateAdapter(),
provideAnimations(),
provideAnimationsAsync(),
provideZonelessChangeDetection(),
provideBrowserGlobalErrorListeners(),
provideRouter(routes)
Expand Down
7 changes: 7 additions & 0 deletions projects/color-picker/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// @ts-check
const { defineConfig } = require("eslint/config");
const rootConfig = require("../../eslint.config.js");

module.exports = defineConfig([
...rootConfig
]);
5 changes: 3 additions & 2 deletions projects/color-picker/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@ngx-mce/color-picker",
"version": "21.2.5",
"version": "21.2.6-next.6",
"description": "Angular Material Color Picker",
"author": "Felipe B.",
"repository": {
Expand All @@ -25,7 +25,8 @@
"scripts": {
"ng": "ng",
"build": "ng build -c=production",
"build-dev": "ng build -c=development"
"build-dev": "ng build -c=development",
"lint": "ng lint"
},
"publishConfig": {
"directory": "../../dist/color-picker",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,19 @@ export abstract class NgxMatBaseColorCanvas implements OnDestroy, AfterViewInit
elementId: string;

ctx: CanvasRenderingContext2D | null = null;
width: number = 0;
height: number = 0;
width = 0;
height = 0;

x: number = 0;
y: number = 0;
x = 0;
y = 0;

drag = false;

protected _destroyed: Subject<void> = new Subject<void>();

protected zone: NgZone | null = null;

constructor(
protected zone: NgZone,
elementId: string,
) {
this.elementId = elementId;
Expand All @@ -53,7 +54,7 @@ export abstract class NgxMatBaseColorCanvas implements OnDestroy, AfterViewInit
}

ngAfterViewInit(): void {
this.canvas = <HTMLCanvasElement>document.getElementById(this.elementId);
this.canvas = document.getElementById(this.elementId) as HTMLCanvasElement;
this.ctx = this.canvas.getContext('2d');
this.width = this.canvas.width;
this.height = this.canvas.height;
Expand All @@ -73,20 +74,20 @@ export abstract class NgxMatBaseColorCanvas implements OnDestroy, AfterViewInit
this.drag = true;
this.changeColor(e);

this.zone.runOutsideAngular(() => {
this.zone?.runOutsideAngular(() => {
this.canvas?.addEventListener('mousemove', this.onMousemove.bind(this));
});
}

public onMousemove(e: MouseEvent) {
if (this.drag) {
this.zone.run(() => {
this.zone?.run(() => {
this.changeColor(e);
});
}
}

public onMouseup(e: MouseEvent) {
public onMouseup(_: MouseEvent) {
this.drag = false;
this.canvas?.removeEventListener('mousemove', this.onMousemove);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import {
AfterViewInit,
Component,
inject,
NgZone,
OnChanges,
OnDestroy,
Expand Down Expand Up @@ -66,10 +67,12 @@ export class NgxMatColorCanvasComponent

formGroup: FormGroup;

rgba: string = "";
rgba = "";

constructor(override zone: NgZone) {
super(zone, 'color-block');
protected override zone = inject(NgZone);

constructor() {
super('color-block');
this.formGroup = new FormGroup({
r: new FormControl(null, [Validators.required]),
g: new FormControl(null, [Validators.required]),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Component, NgZone } from '@angular/core';
import { Component, inject, NgZone } from '@angular/core';
import { getColorAtPosition } from '../../../helpers';
import { Color } from '../../../models';
import { NgxMatBaseColorCanvas } from '../base-color-canvas';
Expand All @@ -9,8 +9,10 @@ import { NgxMatBaseColorCanvas } from '../base-color-canvas';
styleUrls: ['./color-slider.component.scss'],
})
export class NgxMatColorSliderComponent extends NgxMatBaseColorCanvas {
constructor(override zone: NgZone) {
super(zone, 'color-strip');
protected override zone = inject(NgZone);

constructor() {
super('color-strip');
}

override ngAfterViewInit(): void {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export class NgxMatColorCollectionComponent {

select(hex: string) {
this.selectedColor.set(hex);
let rgba = stringInputToObject(hex);
const rgba = stringInputToObject(hex);
if (rgba != null) {
this.colorChanged.emit(new Color(rgba.r, rgba.g, rgba.b, rgba.a));
}
Expand Down
Loading