@ngstarter-ui/components 21.0.51 → 21.0.52

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.
@@ -7542,7 +7542,7 @@
7542
7542
  "name": "radio-card-example",
7543
7543
  "title": "Radio card",
7544
7544
  "file": "projects/docs/src/app/forms/radio/_examples/radio-card-example/radio-card-example.html",
7545
- "source": "<form [formGroup]=\"form\">\n <ngs-radio-card-group formControlName=\"privacy\">\n <ngs-radio-card value=\"open\">\n <ngs-radio-card-title>\n <ngs-icon name=\"fluent:globe-24-regular\"/>\n Open\n </ngs-radio-card-title>\n <ngs-radio-card-content>\n Posts and community members are public and visible to search engines.\n </ngs-radio-card-content>\n </ngs-radio-card>\n <ngs-radio-card value=\"closed\">\n <ngs-radio-card-title>\n <ngs-icon name=\"fluent:lock-closed-24-regular\"/>\n Closed\n </ngs-radio-card-title>\n <ngs-radio-card-content>\n Only members can view community members and posts. Content is not visible to search engines.\n </ngs-radio-card-content>\n </ngs-radio-card>\n </ngs-radio-card-group>\n</form>\n<div class=\"mt-10\">\n <p>\n <button ngsButton=\"filled\" (click)=\"toggleDisabled()\">\n {{ form.get('privacy')?.disabled ? 'Enable' : 'Disable' }} Control\n </button>\n </p>\n <p>Control value: {{ form.get('privacy')?.value }}</p>\n</div>"
7545
+ "source": "<form [formGroup]=\"form\">\n <ngs-radio-card-group formControlName=\"privacy\" class=\"grid-cols-12\">\n <ngs-radio-card value=\"open\" class=\"col-span-6\">\n <ngs-radio-card-title>\n <ngs-icon name=\"fluent:globe-24-regular\"/>\n Open\n </ngs-radio-card-title>\n <ngs-radio-card-content>\n Posts and community members are public and visible to search engines.\n </ngs-radio-card-content>\n </ngs-radio-card>\n <ngs-radio-card value=\"closed\" class=\"col-span-6\">\n <ngs-radio-card-title>\n <ngs-icon name=\"fluent:lock-closed-24-regular\"/>\n Closed\n </ngs-radio-card-title>\n <ngs-radio-card-content>\n Only members can view community members and posts. Content is not visible to search engines.\n </ngs-radio-card-content>\n </ngs-radio-card>\n </ngs-radio-card-group>\n</form>\n<div class=\"mt-10\">\n <p>\n <button ngsButton=\"filled\" (click)=\"toggleDisabled()\">\n {{ form.get('privacy')?.disabled ? 'Enable' : 'Disable' }} Control\n </button>\n </p>\n <p>Control value: {{ form.get('privacy')?.value }}</p>\n</div>"
7546
7546
  },
7547
7547
  {
7548
7548
  "name": "radio-orientation-example",
@@ -35,7 +35,7 @@ class RadioCardGroup {
35
35
  useExisting: forwardRef(() => RadioCardGroup),
36
36
  multi: true,
37
37
  },
38
- ], exportAs: ["ngsRadioCardGroup"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{--ngs-radio-card-group-gap: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-border-radius: var(--ngs-radius-xl);--ngs-radio-card-padding: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-transition: all .2s ease-in-out;--ngs-radio-card-color-border-hover: var(--ngs-color-primary);--ngs-radio-card-color-selected-border: var(--ngs-color-primary);--ngs-radio-card-color-selected-bg: var(--ngs-color-primary-100);--ngs-radio-card-content-font-size: var(--ngs-font-size-sm);--ngs-radio-card-content-color: var(--ngs-color-neutral-600);--ngs-radio-card-title-font-size: var(--ngs-font-size-sm);--ngs-radio-card-title-gap: calc(var(--spacing, .25rem) * 1.5);display:flex;flex-wrap:wrap;gap:var(--ngs-radio-card-group-gap)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
38
+ ], exportAs: ["ngsRadioCardGroup"], ngImport: i0, template: "<ng-content/>\n", styles: [":host{--ngs-radio-card-group-gap: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-border-radius: var(--ngs-radius-xl);--ngs-radio-card-padding: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-transition: all .2s ease-in-out;--ngs-radio-card-color-border-hover: var(--ngs-color-primary);--ngs-radio-card-color-selected-border: var(--ngs-color-primary);--ngs-radio-card-color-selected-bg: var(--ngs-color-primary-100);--ngs-radio-card-content-font-size: var(--ngs-font-size-sm);--ngs-radio-card-content-color: var(--ngs-color-neutral-600);--ngs-radio-card-title-font-size: var(--ngs-font-size-sm);--ngs-radio-card-title-gap: calc(var(--spacing, .25rem) * 1.5);display:grid;gap:var(--ngs-radio-card-group-gap)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
39
39
  }
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: RadioCardGroup, decorators: [{
41
41
  type: Component,
@@ -48,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
48
48
  ], host: {
49
49
  'class': 'ngs-radio-card-group',
50
50
  '[class.is-disabled]': 'disabled()'
51
- }, template: "<ng-content/>\n", styles: [":host{--ngs-radio-card-group-gap: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-border-radius: var(--ngs-radius-xl);--ngs-radio-card-padding: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-transition: all .2s ease-in-out;--ngs-radio-card-color-border-hover: var(--ngs-color-primary);--ngs-radio-card-color-selected-border: var(--ngs-color-primary);--ngs-radio-card-color-selected-bg: var(--ngs-color-primary-100);--ngs-radio-card-content-font-size: var(--ngs-font-size-sm);--ngs-radio-card-content-color: var(--ngs-color-neutral-600);--ngs-radio-card-title-font-size: var(--ngs-font-size-sm);--ngs-radio-card-title-gap: calc(var(--spacing, .25rem) * 1.5);display:flex;flex-wrap:wrap;gap:var(--ngs-radio-card-group-gap)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
51
+ }, template: "<ng-content/>\n", styles: [":host{--ngs-radio-card-group-gap: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-border-radius: var(--ngs-radius-xl);--ngs-radio-card-padding: calc(var(--spacing, .25rem) * 5);--ngs-radio-card-transition: all .2s ease-in-out;--ngs-radio-card-color-border-hover: var(--ngs-color-primary);--ngs-radio-card-color-selected-border: var(--ngs-color-primary);--ngs-radio-card-color-selected-bg: var(--ngs-color-primary-100);--ngs-radio-card-content-font-size: var(--ngs-font-size-sm);--ngs-radio-card-content-color: var(--ngs-color-neutral-600);--ngs-radio-card-title-font-size: var(--ngs-font-size-sm);--ngs-radio-card-title-gap: calc(var(--spacing, .25rem) * 1.5);display:grid;gap:var(--ngs-radio-card-group-gap)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
52
52
  }] });
53
53
 
54
54
  class RadioCard {
@@ -59,7 +59,7 @@ class RadioCard {
59
59
  this.parentGroup.selectValue(this.value());
60
60
  }
61
61
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: RadioCard, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: RadioCard, isStandalone: true, selector: "ngs-radio-card", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "radio" }, listeners: { "click": "selectCard()" }, properties: { "class.is-selected": "isSelected()", "class.is-disabled": "parentGroup.disabled()", "attr.aria-checked": "isSelected()", "attr.tabindex": "parentGroup.disabled() ? -1 : 0" }, classAttribute: "ngs-radio-card" }, exportAs: ["ngsRadioCard"], ngImport: i0, template: "<div class=\"header\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n", styles: [":host{border:1px solid var(--ngs-color-border);border-radius:var(--ngs-radio-card-border-radius);padding:var(--ngs-radio-card-padding);cursor:pointer;transition:var(--ngs-radio-card-transition);outline:none;width:100%;flex:1 1 200px;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .header{display:flex;align-items:center}:host:not(.disabled):hover{border-color:var(--ngs-radio-card-color-border-hover)}:host.is-selected{border-color:var(--ngs-radio-card-color-selected-border);background:var(--ngs-radio-card-color-selected-bg)}:host.is-disabled{cursor:not-allowed;opacity:.65;pointer-events:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: RadioButton, selector: "ngs-radio-button", inputs: ["id", "value", "name", "checked", "disabled"], outputs: ["checkedChange", "change"] }] });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: RadioCard, isStandalone: true, selector: "ngs-radio-card", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "radio" }, listeners: { "click": "selectCard()" }, properties: { "class.is-selected": "isSelected()", "class.is-disabled": "parentGroup.disabled()", "attr.aria-checked": "isSelected()", "attr.tabindex": "parentGroup.disabled() ? -1 : 0" }, classAttribute: "ngs-radio-card" }, exportAs: ["ngsRadioCard"], ngImport: i0, template: "<div class=\"button\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n</div>\n<div class=\"header\">\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n", styles: [":host{border:1px solid var(--ngs-color-border);border-radius:var(--ngs-radio-card-border-radius);padding:var(--ngs-radio-card-padding);cursor:pointer;transition:var(--ngs-radio-card-transition);outline:none;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1);position:relative}:host .header{display:flex;align-items:center}:host:not(.disabled):hover{border-color:var(--ngs-radio-card-color-border-hover)}:host.is-selected{border-color:var(--ngs-radio-card-color-selected-border);background:var(--ngs-radio-card-color-selected-bg)}:host.is-disabled{cursor:not-allowed;opacity:.65;pointer-events:none}:host .button{position:absolute;top:calc(var(--spacing, .25rem) * 1.5);right:calc(var(--spacing, .25rem) * 1)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "component", type: RadioButton, selector: "ngs-radio-button", inputs: ["id", "value", "name", "checked", "disabled"], outputs: ["checkedChange", "change"] }] });
63
63
  }
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: RadioCard, decorators: [{
65
65
  type: Component,
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
73
73
  'role': 'radio',
74
74
  '[attr.aria-checked]': 'isSelected()',
75
75
  '[attr.tabindex]': 'parentGroup.disabled() ? -1 : 0',
76
- }, template: "<div class=\"header\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n", styles: [":host{border:1px solid var(--ngs-color-border);border-radius:var(--ngs-radio-card-border-radius);padding:var(--ngs-radio-card-padding);cursor:pointer;transition:var(--ngs-radio-card-transition);outline:none;width:100%;flex:1 1 200px;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .header{display:flex;align-items:center}:host:not(.disabled):hover{border-color:var(--ngs-radio-card-color-border-hover)}:host.is-selected{border-color:var(--ngs-radio-card-color-selected-border);background:var(--ngs-radio-card-color-selected-bg)}:host.is-disabled{cursor:not-allowed;opacity:.65;pointer-events:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
76
+ }, template: "<div class=\"button\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n</div>\n<div class=\"header\">\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n", styles: [":host{border:1px solid var(--ngs-color-border);border-radius:var(--ngs-radio-card-border-radius);padding:var(--ngs-radio-card-padding);cursor:pointer;transition:var(--ngs-radio-card-transition);outline:none;display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1);position:relative}:host .header{display:flex;align-items:center}:host:not(.disabled):hover{border-color:var(--ngs-radio-card-color-border-hover)}:host.is-selected{border-color:var(--ngs-radio-card-color-selected-border);background:var(--ngs-radio-card-color-selected-bg)}:host.is-disabled{cursor:not-allowed;opacity:.65;pointer-events:none}:host .button{position:absolute;top:calc(var(--spacing, .25rem) * 1.5);right:calc(var(--spacing, .25rem) * 1)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
77
77
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
78
78
 
79
79
  class RadioCardTitle {
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-radio-card.mjs","sources":["../../../projects/components/radio-card/src/radio-card-group/radio-card-group.ts","../../../projects/components/radio-card/src/radio-card-group/radio-card-group.html","../../../projects/components/radio-card/src/radio-card/radio-card.ts","../../../projects/components/radio-card/src/radio-card/radio-card.html","../../../projects/components/radio-card/src/radio-card-title/radio-card-title.ts","../../../projects/components/radio-card/src/radio-card-title/radio-card-title.html","../../../projects/components/radio-card/src/radio-card-content/radio-card-content.ts","../../../projects/components/radio-card/src/radio-card-content/radio-card-content.html","../../../projects/components/radio-card/ngstarter-ui-components-radio-card.ts"],"sourcesContent":["import { Component, forwardRef, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ngs-radio-card-group',\n exportAs: 'ngsRadioCardGroup',\n templateUrl: './radio-card-group.html',\n styleUrl: './radio-card-group.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioCardGroup),\n multi: true,\n },\n ],\n host: {\n 'class': 'ngs-radio-card-group',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class RadioCardGroup implements ControlValueAccessor {\n readonly value = signal<any>(null);\n readonly disabled = signal<boolean>(false);\n\n private onChange: (value: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n selectValue(value: any): void {\n if (this.disabled()) {\n return;\n }\n this.value.set(value);\n this.onChange(value);\n this.onTouched();\n }\n}\n","<ng-content/>\n","import { Component, computed, inject, input } from '@angular/core';\nimport {\n RadioCardGroup\n} from '../radio-card-group/radio-card-group';\nimport { RadioButton } from '@ngstarter-ui/components/radio';\n\n@Component({\n selector: 'ngs-radio-card',\n exportAs: 'ngsRadioCard',\n imports: [\n RadioButton\n ],\n templateUrl: './radio-card.html',\n styleUrl: './radio-card.scss',\n host: {\n 'class': 'ngs-radio-card',\n '[class.is-selected]': 'isSelected()',\n '[class.is-disabled]': 'parentGroup.disabled()',\n '(click)': 'selectCard()',\n 'role': 'radio',\n '[attr.aria-checked]': 'isSelected()',\n '[attr.tabindex]': 'parentGroup.disabled() ? -1 : 0',\n },\n})\nexport class RadioCard {\n value = input.required<any>();\n protected parentGroup = inject(RadioCardGroup);\n readonly isSelected = computed(() => this.parentGroup.value() === this.value());\n\n selectCard(): void {\n this.parentGroup.selectValue(this.value());\n }\n}\n","<div class=\"header\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-radio-card-title',\n imports: [],\n templateUrl: './radio-card-title.html',\n styleUrl: './radio-card-title.scss'\n})\nexport class RadioCardTitle {\n\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-radio-card-content',\n imports: [],\n templateUrl: './radio-card-content.html',\n styleUrl: './radio-card-content.scss'\n})\nexport class RadioCardContent {\n\n}\n","<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngstarter-ui-components-radio-card.mjs","sources":["../../../projects/components/radio-card/src/radio-card-group/radio-card-group.ts","../../../projects/components/radio-card/src/radio-card-group/radio-card-group.html","../../../projects/components/radio-card/src/radio-card/radio-card.ts","../../../projects/components/radio-card/src/radio-card/radio-card.html","../../../projects/components/radio-card/src/radio-card-title/radio-card-title.ts","../../../projects/components/radio-card/src/radio-card-title/radio-card-title.html","../../../projects/components/radio-card/src/radio-card-content/radio-card-content.ts","../../../projects/components/radio-card/src/radio-card-content/radio-card-content.html","../../../projects/components/radio-card/ngstarter-ui-components-radio-card.ts"],"sourcesContent":["import { Component, forwardRef, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'ngs-radio-card-group',\n exportAs: 'ngsRadioCardGroup',\n templateUrl: './radio-card-group.html',\n styleUrl: './radio-card-group.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => RadioCardGroup),\n multi: true,\n },\n ],\n host: {\n 'class': 'ngs-radio-card-group',\n '[class.is-disabled]': 'disabled()'\n }\n})\nexport class RadioCardGroup implements ControlValueAccessor {\n readonly value = signal<any>(null);\n readonly disabled = signal<boolean>(false);\n\n private onChange: (value: any) => void = () => {};\n private onTouched: () => void = () => {};\n\n writeValue(value: any): void {\n this.value.set(value);\n }\n\n registerOnChange(fn: (value: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled);\n }\n\n selectValue(value: any): void {\n if (this.disabled()) {\n return;\n }\n this.value.set(value);\n this.onChange(value);\n this.onTouched();\n }\n}\n","<ng-content/>\n","import { Component, computed, inject, input } from '@angular/core';\nimport {\n RadioCardGroup\n} from '../radio-card-group/radio-card-group';\nimport { RadioButton } from '@ngstarter-ui/components/radio';\n\n@Component({\n selector: 'ngs-radio-card',\n exportAs: 'ngsRadioCard',\n imports: [\n RadioButton\n ],\n templateUrl: './radio-card.html',\n styleUrl: './radio-card.scss',\n host: {\n 'class': 'ngs-radio-card',\n '[class.is-selected]': 'isSelected()',\n '[class.is-disabled]': 'parentGroup.disabled()',\n '(click)': 'selectCard()',\n 'role': 'radio',\n '[attr.aria-checked]': 'isSelected()',\n '[attr.tabindex]': 'parentGroup.disabled() ? -1 : 0',\n },\n})\nexport class RadioCard {\n value = input.required<any>();\n protected parentGroup = inject(RadioCardGroup);\n readonly isSelected = computed(() => this.parentGroup.value() === this.value());\n\n selectCard(): void {\n this.parentGroup.selectValue(this.value());\n }\n}\n","<div class=\"button\">\n <ngs-radio-button [value]=\"value()\" [checked]=\"isSelected()\"/>\n</div>\n<div class=\"header\">\n <ng-content select=\"ngs-radio-card-title\"/>\n</div>\n<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-radio-card-title',\n imports: [],\n templateUrl: './radio-card-title.html',\n styleUrl: './radio-card-title.scss'\n})\nexport class RadioCardTitle {\n\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-radio-card-content',\n imports: [],\n templateUrl: './radio-card-content.html',\n styleUrl: './radio-card-content.scss'\n})\nexport class RadioCardContent {\n\n}\n","<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ngstarter-ui/components",
3
3
  "description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
4
- "version": "21.0.51",
4
+ "version": "21.0.52",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"