Initial commit: notification-elements-demo app

Interactive Angular 19 demo for @sda/notification-elements-ui with
6 sections: Bell & Feed, Notification Center, Inbox, Comments &
Threads, Mention Input, and Full-Featured layout. Includes mock
data, dark mode toggle, and real-time event log.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Giuliano Silvestro
2026-02-13 21:49:19 +10:00
commit 5d0c9ec7eb
36473 changed files with 3778146 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
import { TestBed } from '@angular/core/testing';
import { <%= classify(name) %>Interceptor } from './<%= dasherize(name) %>.interceptor';
describe('<%= classify(name) %>Interceptor', () => {
beforeEach(() => TestBed.configureTestingModule({
providers: [
<%= classify(name) %>Interceptor
]
}));
it('should be created', () => {
const interceptor: <%= classify(name) %>Interceptor = TestBed.inject(<%= classify(name) %>Interceptor);
expect(interceptor).toBeTruthy();
});
});

View File

@@ -0,0 +1,18 @@
import { Injectable } from '@angular/core';
import {
HttpRequest,
HttpHandler,
HttpEvent,
HttpInterceptor
} from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class <%= classify(name) %>Interceptor implements HttpInterceptor {
constructor() {}
intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {
return next.handle(request);
}
}

View File

@@ -0,0 +1,17 @@
import { TestBed } from '@angular/core/testing';
import { HttpInterceptorFn } from '@angular/common/http';
import { <%= camelize(name) %>Interceptor } from './<%= dasherize(name) %>.interceptor';
describe('<%= camelize(name) %>Interceptor', () => {
const interceptor: HttpInterceptorFn = (req, next) =>
TestBed.runInInjectionContext(() => <%= camelize(name) %>Interceptor(req, next));
beforeEach(() => {
TestBed.configureTestingModule({});
});
it('should be created', () => {
expect(interceptor).toBeTruthy();
});
});

View File

@@ -0,0 +1,5 @@
import { HttpInterceptorFn } from '@angular/common/http';
export const <%= camelize(name) %>Interceptor: HttpInterceptorFn = (req, next) => {
return next(req);
};

10
node_modules/@schematics/angular/interceptor/index.d.ts generated vendored Executable file
View File

@@ -0,0 +1,10 @@
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { Rule } from '@angular-devkit/schematics';
import { Schema as InterceptorOptions } from './schema';
export default function (options: InterceptorOptions): Rule;

22
node_modules/@schematics/angular/interceptor/index.js generated vendored Executable file
View File

@@ -0,0 +1,22 @@
"use strict";
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = default_1;
const generate_from_files_1 = require("../utility/generate-from-files");
function default_1(options) {
// This schematic uses an older method to implement the flat option
const flat = options.flat;
options.flat = true;
const extraTemplateValues = {
'if-flat': (s) => (flat ? '' : s),
};
return options.functional
? (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './functional-files' }, extraTemplateValues)
: (0, generate_from_files_1.generateFromFiles)({ ...options, templateFilesDirectory: './class-files' }, extraTemplateValues);
}

38
node_modules/@schematics/angular/interceptor/schema.d.ts generated vendored Executable file
View File

@@ -0,0 +1,38 @@
/**
* Creates a new interceptor in your project. Interceptors are used to intercept and modify
* HTTP requests and responses before they reach their destination. This allows you to
* perform tasks like adding authentication headers, handling errors, or logging requests.
* This schematic generates the necessary files and boilerplate code for a new interceptor.
*/
export type Schema = {
/**
* Creates the new interceptor files at the top level of the current project. If set to
* false, a new folder with the interceptor's name will be created to contain the files.
*/
flat?: boolean;
/**
* Creates the interceptor as a function `HttpInterceptorFn` instead of a class. Functional
* interceptors can be simpler for basic scenarios.
*/
functional?: boolean;
/**
* The name for the new interceptor. This will be used to create the interceptor's class and
* spec files (e.g., `my-interceptor.interceptor.ts` and
* `my-interceptor.interceptor.spec.ts`).
*/
name: string;
/**
* The path where the interceptor files should be created, relative to the workspace root.
* If not provided, the interceptor will be created in the current directory.
*/
path?: string;
/**
* The name of the project where the interceptor should be created. If not specified, the
* CLI will determine the project from the current directory.
*/
project: string;
/**
* Skip the generation of a unit test file `spec.ts` for the new interceptor.
*/
skipTests?: boolean;
};

4
node_modules/@schematics/angular/interceptor/schema.js generated vendored Executable file
View File

@@ -0,0 +1,4 @@
"use strict";
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
Object.defineProperty(exports, "__esModule", { value: true });

51
node_modules/@schematics/angular/interceptor/schema.json generated vendored Executable file
View File

@@ -0,0 +1,51 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "SchematicsAngularInterceptor",
"title": "Angular Interceptor Options Schema",
"type": "object",
"additionalProperties": false,
"description": "Creates a new interceptor in your project. Interceptors are used to intercept and modify HTTP requests and responses before they reach their destination. This allows you to perform tasks like adding authentication headers, handling errors, or logging requests. This schematic generates the necessary files and boilerplate code for a new interceptor.",
"properties": {
"name": {
"type": "string",
"description": "The name for the new interceptor. This will be used to create the interceptor's class and spec files (e.g., `my-interceptor.interceptor.ts` and `my-interceptor.interceptor.spec.ts`).",
"$default": {
"$source": "argv",
"index": 0
},
"x-prompt": "What name would you like to use for the interceptor?"
},
"path": {
"type": "string",
"format": "path",
"$default": {
"$source": "workingDirectory"
},
"description": "The path where the interceptor files should be created, relative to the workspace root. If not provided, the interceptor will be created in the current directory.",
"visible": false
},
"project": {
"type": "string",
"description": "The name of the project where the interceptor should be created. If not specified, the CLI will determine the project from the current directory.",
"$default": {
"$source": "projectName"
}
},
"flat": {
"type": "boolean",
"default": true,
"description": "Creates the new interceptor files at the top level of the current project. If set to false, a new folder with the interceptor's name will be created to contain the files."
},
"skipTests": {
"type": "boolean",
"description": "Skip the generation of a unit test file `spec.ts` for the new interceptor.",
"default": false
},
"functional": {
"type": "boolean",
"description": "Creates the interceptor as a function `HttpInterceptorFn` instead of a class. Functional interceptors can be simpler for basic scenarios.",
"default": true
}
},
"required": ["name", "project"]
}