@ng-zen/cli 20.3.0-next.3 β†’ 20.4.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,44 @@
1
+ ## [20.4.0-next.1](https://github.com/kstepien3/ng-zen/compare/v20.3.0...v20.4.0-next.1) (2025-10-03)
2
+
3
+ ### πŸš€ New Features
4
+
5
+ * **alert:** add component ([#337](https://github.com/kstepien3/ng-zen/issues/337)) ([bc59953](https://github.com/kstepien3/ng-zen/commit/bc59953dc263561b0a8fb4e3fd0e753c1c14df77))
6
+
7
+ ### πŸ› Bug Fixes
8
+
9
+ * **alert:** update icon selector ([#338](https://github.com/kstepien3/ng-zen/issues/338)) ([99b9d63](https://github.com/kstepien3/ng-zen/commit/99b9d63e0bbd9ef4dc61672b2b1b393ecd26c406))
10
+
11
+ ### πŸ“š Documentation
12
+
13
+ * **seo:** add seo features ([#332](https://github.com/kstepien3/ng-zen/issues/332)) ([3afc125](https://github.com/kstepien3/ng-zen/commit/3afc12595d39ae8ffad8223e787862d143ec9b6a))
14
+
15
+ ## [20.3.0](https://github.com/kstepien3/ng-zen/compare/v20.2.1...v20.3.0) (2025-09-21)
16
+
17
+ ### πŸš€ New Features
18
+
19
+ * **switch:** add animations ([#303](https://github.com/kstepien3/ng-zen/issues/303)) ([6b48d4f](https://github.com/kstepien3/ng-zen/commit/6b48d4f39db1e5bfe22920fa749b652ac65e4432))
20
+
21
+ ### πŸ› Bug Fixes
22
+
23
+ * **avatar:** improve css variables ([#323](https://github.com/kstepien3/ng-zen/issues/323)) ([eef614a](https://github.com/kstepien3/ng-zen/commit/eef614a0e2060fe32f72e00809b66009ae24832f))
24
+ * **input:** resolve problem with wrong variables ([#322](https://github.com/kstepien3/ng-zen/issues/322)) ([30f5d10](https://github.com/kstepien3/ng-zen/commit/30f5d10c4c559f01ed3445b77e174340b4f2fb6f))
25
+
26
+ ### πŸ› οΈ Code Refactor
27
+
28
+ * **button:** improve css variables ([#321](https://github.com/kstepien3/ng-zen/issues/321)) ([4ed1310](https://github.com/kstepien3/ng-zen/commit/4ed1310450dde749164c419ec6b5da0a4fbb98bc))
29
+ * **checkbox:** improve css variables ([#317](https://github.com/kstepien3/ng-zen/issues/317)) ([bbe1437](https://github.com/kstepien3/ng-zen/commit/bbe143704163394a9c9ce446aa9d749a57f9c62c))
30
+ * **divider:** improve css variables ([#316](https://github.com/kstepien3/ng-zen/issues/316)) ([7a19ce7](https://github.com/kstepien3/ng-zen/commit/7a19ce72db58e8d23a4786aae2787db6bcfdbf6d))
31
+ * **input:** improve css variables ([#314](https://github.com/kstepien3/ng-zen/issues/314)) ([58cdbb3](https://github.com/kstepien3/ng-zen/commit/58cdbb3bafb9c10057b75d73c7234247e519c97e))
32
+ * **skeleton:** improve css variables ([#313](https://github.com/kstepien3/ng-zen/issues/313)) ([9f0c8fd](https://github.com/kstepien3/ng-zen/commit/9f0c8fd1b23172fa5bb9bf9f42b6739c7b232876))
33
+ * **switch:** improve styles, css variables ([#304](https://github.com/kstepien3/ng-zen/issues/304)) ([3c04b87](https://github.com/kstepien3/ng-zen/commit/3c04b8754cd25af8cfc0c0ffa89ac8633de33145))
34
+ * **textarea:** improve css variables ([#305](https://github.com/kstepien3/ng-zen/issues/305)) ([a9b412c](https://github.com/kstepien3/ng-zen/commit/a9b412c8ab1f77ba3d602384c963aade62308e6b))
35
+
36
+ ### πŸ“š Documentation
37
+
38
+ * **README.md:** fix links ([#302](https://github.com/kstepien3/ng-zen/issues/302)) ([089587c](https://github.com/kstepien3/ng-zen/commit/089587c2ecbb8c27492bc34abd4896e7842e7d04))
39
+ * **storybook:** add brand theme ([#325](https://github.com/kstepien3/ng-zen/issues/325)) ([97458f8](https://github.com/kstepien3/ng-zen/commit/97458f89de18896595a30f2a33ae93bb5ef75ac5))
40
+ * **textarea:** update jsdoc about css variables ([#311](https://github.com/kstepien3/ng-zen/issues/311)) ([6ceabb5](https://github.com/kstepien3/ng-zen/commit/6ceabb58e6549e87bdbbe3b3b2f6e2e0928ab49b))
41
+
1
42
  ## [20.3.0-next.3](https://github.com/kstepien3/ng-zen/compare/v20.3.0-next.2...v20.3.0-next.3) (2025-09-15)
2
43
 
3
44
  ### πŸ› Bug Fixes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  <div align="center">
2
2
  <a href="https://kstepien3.github.io/ng-zen/">
3
- <img src="https://raw.githubusercontent.com/kstepien3/ng-zen/master/images/logo.png" alt="@ng-zen/cli Logo" width="256" />
3
+ <img src="https://raw.githubusercontent.com/kstepien3/ng-zen/master/assets/logo.png" alt="@ng-zen/cli Logo" width="256" />
4
4
  </a>
5
5
 
6
6
  <h1>@ng-zen/cli</h1>
@@ -117,6 +117,7 @@ pnpm add -D @ng-zen/cli@next
117
117
  | Component | Description | Features |
118
118
  | ---------------- | -------------------------------- | -------------------------------------------------- |
119
119
  | **Avatar** | User profile images and initials | Image fallback, size variants, rounded styles |
120
+ | **Alert** | Informational messages | Customizable styles, dismissible options |
120
121
  | **Button** | Interactive buttons | Primary/secondary variants, loading states, icons |
121
122
  | **Checkbox** | Form checkboxes | Indeterminate state, custom styling, validation |
122
123
  | **Divider** | Visual separators | Horizontal/vertical, with labels, custom thickness |
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@ng-zen/cli",
3
- "version": "20.3.0-next.3",
4
- "description": "A CLI tool for generating customizable, modern Angular UI components using schematics.",
3
+ "version": "20.4.0-next.1",
4
+ "description": "Angular UI components generator – Zen UI Kit CLI for schematics-based creation of customizable components like avatar, button, checkbox, divider, form-control, icon, input, skeleton, switch, textarea with Storybook demos.",
5
5
  "license": "BSD-2-Clause",
6
6
  "private": false,
7
7
  "repository": {
8
+ "type": "git",
8
9
  "url": "git+https://github.com/kstepien3/ng-zen.git"
9
10
  },
10
11
  "bugs": {
@@ -18,16 +19,42 @@
18
19
  "homepage": "https://kstepien3.github.io/ng-zen/",
19
20
  "keywords": [
20
21
  "angular",
22
+ "angular-ui",
23
+ "ui-kit",
24
+ "angular-components",
21
25
  "schematics",
22
- "ui-components",
23
- "angular-cli",
24
- "storybook",
25
- "customizable-components",
26
+ "ng-cli",
27
+ "storybook angular",
28
+ "customizable ui",
29
+ "angular library",
26
30
  "avatar",
27
31
  "button",
28
32
  "checkbox",
29
33
  "input",
30
- "textarea"
34
+ "textarea",
35
+ "switch",
36
+ "skeleton",
37
+ "divider",
38
+ "form-control",
39
+ "icon",
40
+ "angular ui",
41
+ "angular components",
42
+ "ui library",
43
+ "zen ui",
44
+ "storybook",
45
+ "component generator",
46
+ "ng add",
47
+ "angular kit",
48
+ "open source",
49
+ "modern angular",
50
+ "angular custom elements",
51
+ "storybook angular",
52
+ "form controls",
53
+ "material alternative",
54
+ "accessibility",
55
+ "theming",
56
+ "angular schematics generator",
57
+ "ui components cli"
31
58
  ],
32
59
  "ng-add": {
33
60
  "save": "devDependencies"
@@ -39,8 +66,8 @@
39
66
  "@angular/core": ">=20.0.0"
40
67
  },
41
68
  "dependencies": {
42
- "@angular-devkit/core": "^20.1.0",
43
- "@angular-devkit/schematics": "^20.1.0",
69
+ "@angular-devkit/core": "^20.3.2",
70
+ "@angular-devkit/schematics": "^20.3.2",
44
71
  "tslib": "^2.8.1"
45
72
  }
46
73
  }
@@ -0,0 +1,39 @@
1
+ // Globals
2
+ $transition-duration: var(--zen-transition-duration, 0.4s);
3
+ $outline: var(--zen-outline, 2px solid hsl(200deg 100% 50% / 50%));
4
+
5
+ :host {
6
+ --zen-alert-padding: 1rem;
7
+ --zen-alert-bg-color: hsl(0deg 0% 100%);
8
+ --zen-alert-color: hsl(0deg 0% 0%);
9
+ --zen-alert-border: 1px solid hsl(0deg 0% 80%);
10
+ }
11
+
12
+ /* stylelint-disable-next-line no-duplicate-selectors -- separate variables and styles */
13
+ :host {
14
+ padding: var(--zen-alert-padding);
15
+ background-color: var(--zen-alert-bg-color);
16
+ color: var(--zen-alert-color);
17
+ border: var(--zen-alert-border);
18
+ border-radius: 0.625rem;
19
+ font-size: 14px;
20
+ transition-property: background-color, opacity;
21
+ transition-duration: $transition-duration;
22
+ transition-timing-function: ease;
23
+ display: flex;
24
+ align-items: flex-start;
25
+ gap: 0.25rem;
26
+ }
27
+
28
+ .content {
29
+ display: flex;
30
+ flex-direction: column;
31
+ flex: 1;
32
+ gap: 0.5rem;
33
+ }
34
+
35
+ /* Title styles */
36
+ ::ng-deep [alert-title] {
37
+ padding: 0;
38
+ margin: 0;
39
+ }
@@ -0,0 +1,22 @@
1
+ import { ComponentFixture, TestBed } from '@angular/core/testing';
2
+
3
+ import { ZenAlert } from './alert';
4
+
5
+ describe('ZenAlert', () => {
6
+ let component: ZenAlert;
7
+ let fixture: ComponentFixture<ZenAlert>;
8
+
9
+ beforeEach(async () => {
10
+ await TestBed.configureTestingModule({
11
+ imports: [ZenAlert],
12
+ }).compileComponents();
13
+
14
+ fixture = TestBed.createComponent(ZenAlert);
15
+ component = fixture.componentInstance;
16
+ fixture.detectChanges();
17
+ });
18
+
19
+ it('should create', () => {
20
+ expect(component).toBeTruthy();
21
+ });
22
+ });
@@ -0,0 +1,67 @@
1
+ import * as icons from '@hugeicons/core-free-icons';
2
+ import { Meta, moduleMetadata, StoryObj } from '@storybook/angular';
3
+
4
+ import { ZenIcon } from '../icon';
5
+ import { ZenAlert } from './alert';
6
+
7
+ interface StoryParams {
8
+ content: string;
9
+ icon: string;
10
+ title: string;
11
+ }
12
+
13
+ type Options = ZenAlert & StoryParams;
14
+
15
+ export default {
16
+ title: 'Components/Alert',
17
+ component: ZenAlert,
18
+ decorators: [moduleMetadata({ imports: [ZenIcon] })],
19
+ args: {
20
+ icon: 'Notification02Icon',
21
+ title: 'Alert Title',
22
+ content: 'This is an alert message',
23
+ },
24
+ argTypes: {
25
+ content: {
26
+ control: 'text',
27
+ table: {
28
+ category: 'story parameters',
29
+ type: {
30
+ summary: 'ng-content',
31
+ },
32
+ },
33
+ },
34
+ icon: {
35
+ control: 'select',
36
+ options: Object.keys(icons),
37
+ table: {
38
+ category: 'story parameters',
39
+ type: {
40
+ summary: 'string',
41
+ },
42
+ },
43
+ },
44
+ title: {
45
+ control: 'text',
46
+ table: {
47
+ category: 'story parameters',
48
+ type: {
49
+ summary: 'string',
50
+ },
51
+ },
52
+ },
53
+ },
54
+ render: ({ content, icon, title }) => ({
55
+ props: {},
56
+ template: `
57
+ <zen-alert>
58
+ ${icon ? '<zen-icon alert-icon icon="' + icon + '" />' : ''}
59
+ <h3 alert-title>${title}</h3>
60
+ ${content}
61
+ </zen-alert>`,
62
+ }),
63
+ } satisfies Meta<Options>;
64
+
65
+ type Story = StoryObj<Options>;
66
+
67
+ export const Default: Story = {};
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+
3
+ /**
4
+ * ZenAlert is a reusable alert component designed to provide
5
+ * a consistent and customizable alert style across the application.
6
+ * It can be used to display messages with different severity levels.
7
+ *
8
+ * @example
9
+ *
10
+ * ```html
11
+ * <zen-alert>
12
+ * <zen-icon alert-icon icon="Notification02Icon" />
13
+ * <h3 alert-title>Title</h3>
14
+ * content
15
+ * </zen-alert>
16
+ * ```
17
+ *
18
+ * ### CSS Custom Properties
19
+ *
20
+ * You can customize the component using CSS custom properties:
21
+ *
22
+ * ```css
23
+ * :root {
24
+ * --zen-alert-padding: 1rem;
25
+ * --zen-alert-bg-color: hsl(0deg 0% 100%);
26
+ * --zen-alert-color: hsl(0deg 0% 0%);
27
+ * --zen-alert-border: 1px solid hsl(0deg 0% 80%);
28
+ * }
29
+ * ```
30
+ *
31
+ * @author Konrad StΔ™pieΕ„
32
+ * @license {@link https://github.com/kstepien3/ng-zen/blob/master/LICENSE|BSD-2-Clause}
33
+ * @see [GitHub](https://github.com/kstepien3/ng-zen)
34
+ */
35
+ @Component({
36
+ selector: 'zen-alert',
37
+ template: `
38
+ <ng-content select="[alert-icon]" />
39
+ <div class="content">
40
+ <ng-content select="[alert-title]" />
41
+ <ng-content />
42
+ </div>
43
+ `,
44
+ styleUrl: './alert.scss',
45
+ changeDetection: ChangeDetectionStrategy.OnPush,
46
+ })
47
+ export class ZenAlert {}
@@ -0,0 +1 @@
1
+ export * from './alert';
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../src/schematics/components/schema.ts"],"names":[],"mappings":"","sourcesContent":["import { GeneratorSchemaBase } from '../../types';\n\nexport type ComponentType =\n | 'avatar'\n | 'button'\n | 'checkbox'\n | 'divider'\n | 'form-control'\n | 'icon'\n | 'input'\n | 'skeleton'\n | 'switch'\n | 'textarea';\n\nexport interface Schema extends GeneratorSchemaBase {\n components: ComponentType[];\n}\n"]}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../src/schematics/components/schema.ts"],"names":[],"mappings":"","sourcesContent":["import { GeneratorSchemaBase } from '../../types';\n\nexport type ComponentType =\n | 'avatar'\n | 'button'\n | 'checkbox'\n | 'divider'\n | 'form-control'\n | 'icon'\n | 'input'\n | 'skeleton'\n | 'switch'\n | 'textarea'\n | 'alert';\n\nexport interface Schema extends GeneratorSchemaBase {\n components: ComponentType[];\n}\n"]}
@@ -38,7 +38,8 @@
38
38
  "input",
39
39
  "skeleton",
40
40
  "switch",
41
- "textarea"
41
+ "textarea",
42
+ "alert"
42
43
  ]
43
44
  },
44
45
  "multiselect": true,
@@ -10,7 +10,8 @@ export type ComponentType =
10
10
  | 'input'
11
11
  | 'skeleton'
12
12
  | 'switch'
13
- | 'textarea';
13
+ | 'textarea'
14
+ | 'alert';
14
15
 
15
16
  export interface Schema extends GeneratorSchemaBase {
16
17
  components: ComponentType[];