@ngstarter-ui/components 21.0.3 → 21.0.5

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.
@@ -6032,6 +6032,7 @@
6032
6032
  "--ngs-color-neutral-700",
6033
6033
  "--ngs-color-surface-container",
6034
6034
  "--ngs-color-surface-container-high",
6035
+ "--ngs-icon-size",
6035
6036
  "--ngs-number-input-control-active-bg",
6036
6037
  "--ngs-number-input-control-active-color",
6037
6038
  "--ngs-number-input-control-bg",
@@ -6042,6 +6043,7 @@
6042
6043
  "--ngs-number-input-control-hover-bg",
6043
6044
  "--ngs-number-input-control-hover-color",
6044
6045
  "--ngs-number-input-control-size",
6046
+ "--ngs-number-input-controls-wdith",
6045
6047
  "--ngs-number-input-gap",
6046
6048
  "--ngs-number-input-suffix-gap",
6047
6049
  "--ngs-radius-md"
@@ -7314,6 +7316,8 @@
7314
7316
  "--ngs-field-label-color",
7315
7317
  "--ngs-field-line-height",
7316
7318
  "--ngs-select-arrow-color",
7319
+ "--ngs-select-arrow-container-width",
7320
+ "--ngs-select-arrow-size",
7317
7321
  "--ngs-select-border-color",
7318
7322
  "--ngs-select-content-padding",
7319
7323
  "--ngs-select-font-size",
@@ -56,7 +56,7 @@ class CardTitle {
56
56
  }
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: CardTitle, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]', exportAs: 'ngsCardTitle', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
59
+ args: [{ selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]', exportAs: 'ngsCardTitle', changeDetection: ChangeDetectionStrategy.OnPush, host: {
60
60
  'class': 'ngs-card-title'
61
61
  }, template: "<ng-content />\n", styles: [":host{display:block;margin-bottom:8px;font-size:var(--ngs-card-title-font-size, 20px);font-weight:var(--ngs-card-title-font-weight, 500);line-height:var(--ngs-card-title-line-height, 32px);letter-spacing:var(--ngs-card-title-letter-spacing, .0125em)}:host:last-child{margin-bottom:0}:host-context(.ngs-card-header-text){margin-bottom:0}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
62
62
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-card.mjs","sources":["../../../projects/components/card/src/card-footer/card-footer.ts","../../../projects/components/card/src/card-footer/card-footer.html","../../../projects/components/card/src/config.ts","../../../projects/components/card/src/card/card.ts","../../../projects/components/card/src/card/card.html","../../../projects/components/card/src/card-header/card-header.ts","../../../projects/components/card/src/card-header/card-header.html","../../../projects/components/card/src/card-title/card-title.ts","../../../projects/components/card/src/card-title/card-title.html","../../../projects/components/card/src/card-subtitle/card-subtitle.ts","../../../projects/components/card/src/card-subtitle/card-subtitle.html","../../../projects/components/card/src/card-content/card-content.ts","../../../projects/components/card/src/card-content/card-content.html","../../../projects/components/card/src/card-actions/card-actions.ts","../../../projects/components/card/src/card-actions/card-actions.html","../../../projects/components/card/src/card-aside/card-aside.ts","../../../projects/components/card/src/card-aside/card-aside.html","../../../projects/components/card/src/card-image/card-image.ts","../../../projects/components/card/src/card-image/card-image.html","../../../projects/components/card/src/card-avatar/card-avatar.ts","../../../projects/components/card/ngstarter-ui-components-card.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-footer, [ngs-card-footer], [ngsCardFooter]',\n templateUrl: './card-footer.html',\n styleUrl: './card-footer.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-footer'\n }\n})\nexport class CardFooter {}\n","<ng-content />\n","import { InjectionToken, makeEnvironmentProviders, EnvironmentProviders } from '@angular/core';\n\nexport type CardAppearance = 'raised' | 'outlined' | 'filled';\n\nexport interface CardConfig {\n appearance?: CardAppearance;\n}\n\nexport const CARD_CONFIG = new InjectionToken<CardConfig>('CARD_CONFIG');\n\nexport function provideCard(config: CardConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: CARD_CONFIG, useValue: config }\n ]);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n contentChild,\n} from '@angular/core';\nimport { CardFooter } from '../card-footer/card-footer';\nimport { CARD_CONFIG, CardAppearance } from '../config';\n\n@Component({\n selector: 'ngs-card',\n exportAs: 'ngsCard',\n templateUrl: './card.html',\n styleUrl: './card.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card not-prose',\n '[class.ngs-card-outlined]': 'appearance() === \"outlined\"',\n '[class.ngs-card-filled]': 'appearance() === \"filled\"',\n '[class.ngs-card-raised]': 'appearance() === \"raised\"',\n },\n})\nexport class Card {\n private _config = inject(CARD_CONFIG, { optional: true });\n\n appearance = input<CardAppearance>(this._config?.appearance || 'outlined');\n\n readonly _footer = contentChild(CardFooter);\n\n get hasFooter(): boolean {\n return !!this._footer();\n }\n}\n","<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-header',\n standalone: true,\n imports: [\n ],\n templateUrl: './card-header.html',\n styleUrl: './card-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-header'\n }\n})\nexport class CardHeader {}\n","<div class=\"flex h-full items-center gap-3\">\n <ng-content select=\"ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]\"/>\n <div class=\"ngs-card-header-text\">\n <div>\n <ng-content select=\"ngs-card-title, [ngs-card-title], [ngsCardTitle]\"/>\n <ng-content select=\"ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]\"/>\n </div>\n <ng-content/>\n </div>\n</div>\n<div class=\"aside\">\n <ng-content select=\"ngs-card-aside, [ngs-card-aside], [ngsCardAside]\"/>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]',\n exportAs: 'ngsCardTitle',\n standalone: true,\n templateUrl: './card-title.html',\n styleUrls: ['./card-title.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-title'\n }\n})\nexport class CardTitle {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]',\n exportAs: 'ngsCardSubtitle',\n standalone: true,\n templateUrl: './card-subtitle.html',\n styleUrl: './card-subtitle.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-subtitle'\n }\n})\nexport class CardSubtitle {}\n","<ng-content />\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-content, [ngs-card-content], [ngsCardContent]',\n exportAs: 'ngsCardContent',\n standalone: true,\n templateUrl: './card-content.html',\n styleUrls: ['./card-content.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-content',\n '[class.without-padding]': 'withoutPadding()',\n }\n})\nexport class CardContent {\n withoutPadding = input(false, {\n transform: booleanAttribute\n })\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type CardActionsPosition = 'start' | 'center' | 'end' | 'between';\n\n@Component({\n selector: 'ngs-card-actions, [ngs-card-actions], [ngsCardActions]',\n standalone: true,\n templateUrl: './card-actions.html',\n styleUrl: './card-actions.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-actions',\n '[class.ngs-card-actions-align-end]': 'align() === \"end\"',\n '[class.ngs-card-actions-align-center]': 'align() === \"center\"',\n '[class.ngs-card-actions-align-between]': 'align() === \"between\"',\n }\n})\nexport class CardActions {\n align = input<CardActionsPosition>('start');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-aside, [ngs-card-aside], ngsCardAside',\n imports: [],\n templateUrl: './card-aside.html',\n styleUrl: './card-aside.scss',\n})\nexport class CardAside {\n\n}\n","<ng-content/>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-image, [ngs-card-image], [ngsCardImage]',\n standalone: true,\n templateUrl: './card-image.html',\n styleUrl: './card-image.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-image'\n }\n})\nexport class CardImage {}\n\n@Directive({\n selector: '[ngs-card-sm-image], [ngsCardImageSmall]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-sm-image'\n }\n})\nexport class CardImageSmall {}\n\n@Directive({\n selector: '[ngs-card-md-image], [ngsCardImageMedium]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-md-image'\n }\n})\nexport class CardImageMedium {}\n\n@Directive({\n selector: '[ngs-card-lg-image], [ngsCardImageLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-lg-image'\n }\n})\nexport class CardImageLarge {}\n\n@Directive({\n selector: '[ngs-card-xl-image], [ngsCardImageXLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-xl-image'\n }\n})\nexport class CardImageXLarge {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]',\n standalone: true,\n host: {\n 'class': 'ngs-card-avatar'\n },\n})\nexport class CardAvatar {}\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-card.mjs","sources":["../../../projects/components/card/src/card-footer/card-footer.ts","../../../projects/components/card/src/card-footer/card-footer.html","../../../projects/components/card/src/config.ts","../../../projects/components/card/src/card/card.ts","../../../projects/components/card/src/card/card.html","../../../projects/components/card/src/card-header/card-header.ts","../../../projects/components/card/src/card-header/card-header.html","../../../projects/components/card/src/card-title/card-title.ts","../../../projects/components/card/src/card-title/card-title.html","../../../projects/components/card/src/card-subtitle/card-subtitle.ts","../../../projects/components/card/src/card-subtitle/card-subtitle.html","../../../projects/components/card/src/card-content/card-content.ts","../../../projects/components/card/src/card-content/card-content.html","../../../projects/components/card/src/card-actions/card-actions.ts","../../../projects/components/card/src/card-actions/card-actions.html","../../../projects/components/card/src/card-aside/card-aside.ts","../../../projects/components/card/src/card-aside/card-aside.html","../../../projects/components/card/src/card-image/card-image.ts","../../../projects/components/card/src/card-image/card-image.html","../../../projects/components/card/src/card-avatar/card-avatar.ts","../../../projects/components/card/ngstarter-ui-components-card.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-footer, [ngs-card-footer], [ngsCardFooter]',\n templateUrl: './card-footer.html',\n styleUrl: './card-footer.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-footer'\n }\n})\nexport class CardFooter {}\n","<ng-content />\n","import { InjectionToken, makeEnvironmentProviders, EnvironmentProviders } from '@angular/core';\n\nexport type CardAppearance = 'raised' | 'outlined' | 'filled';\n\nexport interface CardConfig {\n appearance?: CardAppearance;\n}\n\nexport const CARD_CONFIG = new InjectionToken<CardConfig>('CARD_CONFIG');\n\nexport function provideCard(config: CardConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: CARD_CONFIG, useValue: config }\n ]);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n contentChild,\n} from '@angular/core';\nimport { CardFooter } from '../card-footer/card-footer';\nimport { CARD_CONFIG, CardAppearance } from '../config';\n\n@Component({\n selector: 'ngs-card',\n exportAs: 'ngsCard',\n templateUrl: './card.html',\n styleUrl: './card.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card not-prose',\n '[class.ngs-card-outlined]': 'appearance() === \"outlined\"',\n '[class.ngs-card-filled]': 'appearance() === \"filled\"',\n '[class.ngs-card-raised]': 'appearance() === \"raised\"',\n },\n})\nexport class Card {\n private _config = inject(CARD_CONFIG, { optional: true });\n\n appearance = input<CardAppearance>(this._config?.appearance || 'outlined');\n\n readonly _footer = contentChild(CardFooter);\n\n get hasFooter(): boolean {\n return !!this._footer();\n }\n}\n","<ng-content/>\n@if (hasFooter) {\n <ng-content select=\"ngs-card-footer\"/>\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-header',\n standalone: true,\n imports: [\n ],\n templateUrl: './card-header.html',\n styleUrl: './card-header.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-header'\n }\n})\nexport class CardHeader {}\n","<div class=\"flex h-full items-center gap-3\">\n <ng-content select=\"ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]\"/>\n <div class=\"ngs-card-header-text\">\n <div>\n <ng-content select=\"ngs-card-title, [ngs-card-title], [ngsCardTitle]\"/>\n <ng-content select=\"ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]\"/>\n </div>\n <ng-content/>\n </div>\n</div>\n<div class=\"aside\">\n <ng-content select=\"ngs-card-aside, [ngs-card-aside], [ngsCardAside]\"/>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-title, [ngs-card-title], [ngsCardTitle]',\n exportAs: 'ngsCardTitle',\n templateUrl: './card-title.html',\n styleUrl: './card-title.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-title'\n }\n})\nexport class CardTitle {}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-subtitle, [ngs-card-subtitle], [ngsCardSubtitle]',\n exportAs: 'ngsCardSubtitle',\n standalone: true,\n templateUrl: './card-subtitle.html',\n styleUrl: './card-subtitle.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-subtitle'\n }\n})\nexport class CardSubtitle {}\n","<ng-content />\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-content, [ngs-card-content], [ngsCardContent]',\n exportAs: 'ngsCardContent',\n standalone: true,\n templateUrl: './card-content.html',\n styleUrls: ['./card-content.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-content',\n '[class.without-padding]': 'withoutPadding()',\n }\n})\nexport class CardContent {\n withoutPadding = input(false, {\n transform: booleanAttribute\n })\n}\n","<ng-content />\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nexport type CardActionsPosition = 'start' | 'center' | 'end' | 'between';\n\n@Component({\n selector: 'ngs-card-actions, [ngs-card-actions], [ngsCardActions]',\n standalone: true,\n templateUrl: './card-actions.html',\n styleUrl: './card-actions.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-actions',\n '[class.ngs-card-actions-align-end]': 'align() === \"end\"',\n '[class.ngs-card-actions-align-center]': 'align() === \"center\"',\n '[class.ngs-card-actions-align-between]': 'align() === \"between\"',\n }\n})\nexport class CardActions {\n align = input<CardActionsPosition>('start');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-aside, [ngs-card-aside], ngsCardAside',\n imports: [],\n templateUrl: './card-aside.html',\n styleUrl: './card-aside.scss',\n})\nexport class CardAside {\n\n}\n","<ng-content/>\n","import { ChangeDetectionStrategy, Component, Directive } from '@angular/core';\n\n@Component({\n selector: 'ngs-card-image, [ngs-card-image], [ngsCardImage]',\n standalone: true,\n templateUrl: './card-image.html',\n styleUrl: './card-image.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'ngs-card-image'\n }\n})\nexport class CardImage {}\n\n@Directive({\n selector: '[ngs-card-sm-image], [ngsCardImageSmall]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-sm-image'\n }\n})\nexport class CardImageSmall {}\n\n@Directive({\n selector: '[ngs-card-md-image], [ngsCardImageMedium]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-md-image'\n }\n})\nexport class CardImageMedium {}\n\n@Directive({\n selector: '[ngs-card-lg-image], [ngsCardImageLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-lg-image'\n }\n})\nexport class CardImageLarge {}\n\n@Directive({\n selector: '[ngs-card-xl-image], [ngsCardImageXLarge]',\n standalone: true,\n host: {\n 'class': 'ngs-card-image ngs-card-xl-image'\n }\n})\nexport class CardImageXLarge {}\n","<ng-content />\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: 'ngs-card-avatar, [ngs-card-avatar], [ngsCardAvatar]',\n standalone: true,\n host: {\n 'class': 'ngs-card-avatar'\n },\n})\nexport class CardAvatar {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@ import { Component, input } from '@angular/core';
3
3
 
4
4
  class Logo {
5
5
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Logo, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: Logo, isStandalone: true, selector: "ngs-logo,[ngs-logo]", host: { classAttribute: "ngs-logo" }, exportAs: ["ngsLogo"], ngImport: i0, template: "<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n <ng-content/>\n</div>\n", styles: [":host{--ngs-logo-text-font-size: var(--ngs-font-size-xl);--ngs-logo-text-font-weight: 800;--ngs-logo-text-color: var(--ngs-color-primary);--ngs-logo-text-hover-color: var(--ngs-color-tertiary);display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}:host:hover{filter:brightness(110%)}:host .content{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .content:empty{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: Logo, isStandalone: true, selector: "ngs-logo,[ngs-logo]", host: { classAttribute: "ngs-logo" }, exportAs: ["ngsLogo"], ngImport: i0, template: "<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content/>\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n</div>\n", styles: [":host{--ngs-logo-text-font-size: var(--ngs-font-size-xl);--ngs-logo-text-font-weight: 800;--ngs-logo-text-color: var(--ngs-color-primary);--ngs-logo-text-hover-color: var(--ngs-color-tertiary);display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}:host:hover{filter:brightness(110%)}:host .content{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .content:empty{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] });
7
7
  }
8
8
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: Logo, decorators: [{
9
9
  type: Component,
10
10
  args: [{ selector: 'ngs-logo,[ngs-logo]', exportAs: 'ngsLogo', imports: [], host: {
11
11
  'class': 'ngs-logo',
12
- }, template: "<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n <ng-content/>\n</div>\n", styles: [":host{--ngs-logo-text-font-size: var(--ngs-font-size-xl);--ngs-logo-text-font-weight: 800;--ngs-logo-text-color: var(--ngs-color-primary);--ngs-logo-text-hover-color: var(--ngs-color-tertiary);display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}:host:hover{filter:brightness(110%)}:host .content{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .content:empty{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
12
+ }, template: "<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content/>\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n</div>\n", styles: [":host{--ngs-logo-text-font-size: var(--ngs-font-size-xl);--ngs-logo-text-font-weight: 800;--ngs-logo-text-color: var(--ngs-color-primary);--ngs-logo-text-hover-color: var(--ngs-color-tertiary);display:inline-flex;align-items:center;gap:calc(var(--spacing, .25rem) * 3)}:host:hover{filter:brightness(110%)}:host .content{display:flex;flex-direction:column;gap:calc(var(--spacing, .25rem) * 1)}:host .content:empty{display:none}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
13
13
  }] });
14
14
 
15
15
  class LogoShape {
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-logo.mjs","sources":["../../../projects/components/logo/src/logo/logo.ts","../../../projects/components/logo/src/logo/logo.html","../../../projects/components/logo/src/logo-shape/logo-shape.ts","../../../projects/components/logo/src/logo-shape/logo-shape.html","../../../projects/components/logo/src/logo-text/logo-text.ts","../../../projects/components/logo/src/logo-text/logo-text.html","../../../projects/components/logo/src/logo-description/logo-description.ts","../../../projects/components/logo/src/logo-description/logo-description.html","../../../projects/components/logo/ngstarter-ui-components-logo.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo,[ngs-logo]',\n exportAs: 'ngsLogo',\n imports: [],\n templateUrl: './logo.html',\n styleUrl: './logo.scss',\n host: {\n 'class': 'ngs-logo',\n }\n})\nexport class Logo {\n\n}\n","<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n <ng-content/>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo-shape',\n imports: [],\n templateUrl: './logo-shape.html',\n styleUrl: './logo-shape.scss',\n})\nexport class LogoShape {\n\n}\n","<ng-content select=\"img\"/>\n","import { Component, input } from '@angular/core';\nimport { LogoTextSize } from '../types';\n\n@Component({\n selector: 'ngs-logo-text',\n exportAs: 'ngsLogoText',\n templateUrl: './logo-text.html',\n styleUrl: './logo-text.scss',\n host: {\n 'class': 'ngs-logo-text',\n '[attr.data-size]': 'size()',\n }\n})\nexport class LogoText {\n readonly size = input<LogoTextSize>('default');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo-description',\n imports: [],\n templateUrl: './logo-description.html',\n styleUrl: './logo-description.scss',\n})\nexport class LogoDescription {\n\n}\n","<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAYa,IAAI,CAAA;uGAAJ,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAI,4ICZjB,wLAMA,EAAA,MAAA,EAAA,CAAA,ifAAA,CAAA,EAAA,CAAA;;2FDMa,IAAI,EAAA,UAAA,EAAA,CAAA;kBAVhB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,QAAA,EACrB,SAAS,EAAA,OAAA,EACV,EAAE,EAAA,IAAA,EAGL;AACJ,wBAAA,OAAO,EAAE,UAAU;AACpB,qBAAA,EAAA,QAAA,EAAA,wLAAA,EAAA,MAAA,EAAA,CAAA,ifAAA,CAAA,EAAA;;;MEFU,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,0ECRtB,gCACA,EAAA,MAAA,EAAA,CAAA,mZAAA,CAAA,EAAA,CAAA;;2FDOa,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,EAAE,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,mZAAA,CAAA,EAAA;;;MESA,QAAQ,CAAA;AACV,IAAA,IAAI,GAAG,KAAK,CAAe,SAAS,2EAAC;uGADnC,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,4TCbrB,iBACA,EAAA,MAAA,EAAA,CAAA,ibAAA,CAAA,EAAA,CAAA;;2FDYa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,aAAa,EAAA,IAAA,EAGjB;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,kBAAkB,EAAE,QAAQ;AAC7B,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,ibAAA,CAAA,EAAA;;;MEHU,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,gFCR5B,iBACA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,CAAA;;2FDOa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,WACvB,EAAE,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA;;;AEJb;;AAEG;;;;"}
1
+ {"version":3,"file":"ngstarter-ui-components-logo.mjs","sources":["../../../projects/components/logo/src/logo/logo.ts","../../../projects/components/logo/src/logo/logo.html","../../../projects/components/logo/src/logo-shape/logo-shape.ts","../../../projects/components/logo/src/logo-shape/logo-shape.html","../../../projects/components/logo/src/logo-text/logo-text.ts","../../../projects/components/logo/src/logo-text/logo-text.html","../../../projects/components/logo/src/logo-description/logo-description.ts","../../../projects/components/logo/src/logo-description/logo-description.html","../../../projects/components/logo/ngstarter-ui-components-logo.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo,[ngs-logo]',\n exportAs: 'ngsLogo',\n imports: [],\n templateUrl: './logo.html',\n styleUrl: './logo.scss',\n host: {\n 'class': 'ngs-logo',\n }\n})\nexport class Logo {\n\n}\n","<ng-content select=\"ngs-logo-shape\"/>\n<div class=\"content\">\n <ng-content/>\n <ng-content select=\"ngs-logo-text\"/>\n <ng-content select=\"ngs-logo-description\"/>\n</div>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo-shape',\n imports: [],\n templateUrl: './logo-shape.html',\n styleUrl: './logo-shape.scss',\n})\nexport class LogoShape {\n\n}\n","<ng-content select=\"img\"/>\n","import { Component, input } from '@angular/core';\nimport { LogoTextSize } from '../types';\n\n@Component({\n selector: 'ngs-logo-text',\n exportAs: 'ngsLogoText',\n templateUrl: './logo-text.html',\n styleUrl: './logo-text.scss',\n host: {\n 'class': 'ngs-logo-text',\n '[attr.data-size]': 'size()',\n }\n})\nexport class LogoText {\n readonly size = input<LogoTextSize>('default');\n}\n","<ng-content/>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ngs-logo-description',\n imports: [],\n templateUrl: './logo-description.html',\n styleUrl: './logo-description.scss',\n})\nexport class LogoDescription {\n\n}\n","<ng-content/>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAYa,IAAI,CAAA;uGAAJ,IAAI,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAI,4ICZjB,wLAMA,EAAA,MAAA,EAAA,CAAA,ifAAA,CAAA,EAAA,CAAA;;2FDMa,IAAI,EAAA,UAAA,EAAA,CAAA;kBAVhB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,QAAA,EACrB,SAAS,EAAA,OAAA,EACV,EAAE,EAAA,IAAA,EAGL;AACJ,wBAAA,OAAO,EAAE,UAAU;AACpB,qBAAA,EAAA,QAAA,EAAA,wLAAA,EAAA,MAAA,EAAA,CAAA,ifAAA,CAAA,EAAA;;;MEFU,SAAS,CAAA;uGAAT,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAT,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,0ECRtB,gCACA,EAAA,MAAA,EAAA,CAAA,mZAAA,CAAA,EAAA,CAAA;;2FDOa,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,EAAE,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,mZAAA,CAAA,EAAA;;;MESA,QAAQ,CAAA;AACV,IAAA,IAAI,GAAG,KAAK,CAAe,SAAS,2EAAC;uGADnC,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAR,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,4TCbrB,iBACA,EAAA,MAAA,EAAA,CAAA,ibAAA,CAAA,EAAA,CAAA;;2FDYa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAVpB,SAAS;+BACE,eAAe,EAAA,QAAA,EACf,aAAa,EAAA,IAAA,EAGjB;AACJ,wBAAA,OAAO,EAAE,eAAe;AACxB,wBAAA,kBAAkB,EAAE,QAAQ;AAC7B,qBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,ibAAA,CAAA,EAAA;;;MEHU,eAAe,CAAA;uGAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,gFCR5B,iBACA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,CAAA;;2FDOa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAN3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,WACvB,EAAE,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA;;;AEJb;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, TemplateRef, Directive, ElementRef, viewChild, contentChild, input, numberAttribute, booleanAttribute, signal, output, computed, effect, forwardRef, Optional, Self, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, TemplateRef, Directive, ElementRef, viewChild, contentChild, input, numberAttribute, booleanAttribute, signal, output, computed, effect, forwardRef, HostListener, Optional, Self, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { NgForm, FormGroupDirective } from '@angular/forms';
5
5
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
@@ -117,7 +117,7 @@ class NumberInput {
117
117
  const controlElement = this._elementRef.nativeElement;
118
118
  controlElement.setAttribute('aria-describedby', ids.join(' '));
119
119
  }
120
- onFocusIn(event) {
120
+ onFocusIn() {
121
121
  if (!this._focused()) {
122
122
  this._focused.set(true);
123
123
  this.stateChanges.next();
@@ -231,12 +231,12 @@ class NumberInput {
231
231
  }
232
232
  }
233
233
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NumberInput, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
234
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: NumberInput, isStandalone: true, selector: "ngs-number-input", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: "requiredInput", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _placeholder: { classPropertyName: "_placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "id": "id" }, properties: { "class.floating": "shouldLabelFloat" }, classAttribute: "ngs-number-input" }, providers: [
234
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: NumberInput, isStandalone: true, selector: "ngs-number-input", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, requiredInput: { classPropertyName: "requiredInput", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, _placeholder: { classPropertyName: "_placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "id": "id" }, listeners: { "focusin": "onFocusIn()", "focusout": "onFocusOut($event)" }, properties: { "class.floating": "shouldLabelFloat" }, classAttribute: "ngs-number-input" }, providers: [
235
235
  {
236
236
  provide: FormFieldControl,
237
237
  useExisting: forwardRef(() => NumberInput),
238
238
  }
239
- ], queries: [{ propertyName: "_decreaseControlRef", first: true, predicate: DecreaseControlDirective, descendants: true, isSignal: true }, { propertyName: "_increaseControlRef", first: true, predicate: IncreaseControlDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["ngsNumberInput"], ngImport: i0, template: "<input #input type=\"number\" class=\"input\"\n (focusin)=\"onFocusIn($event)\"\n (focusout)=\"onFocusOut($event)\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <span>&minus;</span>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <span>&plus;</span>\n }\n </button>\n</div>\n", styles: [":host{--ngs-number-input-gap: calc(var(--spacing, .25rem) * 2);--ngs-number-input-control-bg: none;--ngs-number-input-control-color: var(--ngs-color-neutral-500);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-600);--ngs-number-input-control-active-color: var(--ngs-color-neutral-700);--ngs-number-input-control-hover-bg: var(--ngs-color-surface-container);--ngs-number-input-control-active-bg: var(--ngs-color-surface-container-high);--ngs-number-input-control-font-size: 1.5rem;--ngs-number-input-control-border-radius: var(--ngs-radius-md);--ngs-number-input-suffix-gap: calc(var(--spacing, .25rem) * 3);--ngs-number-input-control-size: calc(var(--spacing, .25rem) * 7);--ngs-number-input-control-border: none;display:flex!important;gap:var(--ngs-number-input-gap)}:host .input{width:auto;max-width:none;flex-grow:1;min-width:0}:host .input{background:none;outline:none;color:currentColor;font:inherit;border:none}:host .input::-webkit-outer-spin-button,:host .input::-webkit-inner-spin-button{appearance:none;margin:0}:host .controls{display:flex;height:100%;gap:.375rem;-webkit-user-select:none;user-select:none}:host .control{cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;width:var(--ngs-number-input-control-size);height:var(--ngs-number-input-control-size);background:var(--ngs-number-input-control-bg);color:var(--ngs-number-input-control-color);font-size:var(--ngs-number-input-control-font-size);line-height:var(--ngs-number-input-control-font-size);border-radius:var(--ngs-number-input-control-border-radius);position:relative;border:var(--ngs-number-input-control-border);top:1px}:host .control span{position:relative;top:-1px}:host .control ::ng-deep .mat-icon{line-height:24px}:host .control:hover{background:var(--ngs-number-input-control-hover-bg);color:var(--ngs-number-input-control-hover-color)}:host .control[disabled]{pointer-events:none;opacity:.65}:host-context(html.dark){--ngs-number-input-control-color: var(--ngs-color-neutral-300);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-200);--ngs-number-input-control-hover-bg: var(--ngs-color-neutral-500)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: Ripple, selector: "[ngsRipple]", inputs: ["ngsRippleColor", "ngsRippleUnbounded", "ngsRippleCentered", "ngsRippleRadius", "ngsRippleAnimation", "ngsRippleDisabled", "ngsRippleTrigger"], outputs: ["ngsRippleCenteredChange", "ngsRippleDisabledChange", "ngsRippleTriggerChange"], exportAs: ["ngsRipple"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
239
+ ], queries: [{ propertyName: "_decreaseControlRef", first: true, predicate: DecreaseControlDirective, descendants: true, isSignal: true }, { propertyName: "_increaseControlRef", first: true, predicate: IncreaseControlDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true, isSignal: true }], exportAs: ["ngsNumberInput"], ngImport: i0, template: "<input #input type=\"number\" class=\"number-input\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M3.5 8h9\"/>\n </svg>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M8 3.5v9M3.5 8h9\"/>\n </svg>\n }\n </button>\n</div>\n", styles: [":host{--ngs-number-input-gap: calc(var(--spacing, .25rem) * 2);--ngs-number-input-control-bg: none;--ngs-number-input-control-color: var(--ngs-color-neutral-500);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-600);--ngs-number-input-control-active-color: var(--ngs-color-neutral-700);--ngs-number-input-control-hover-bg: var(--ngs-color-surface-container);--ngs-number-input-control-active-bg: var(--ngs-color-surface-container-high);--ngs-number-input-control-font-size: 1.5rem;--ngs-number-input-control-border-radius: var(--ngs-radius-md);--ngs-number-input-suffix-gap: calc(var(--spacing, .25rem) * 3);--ngs-number-input-control-size: calc(var(--spacing, .25rem) * 7);--ngs-number-input-control-border: none;--ngs-number-input-controls-wdith: calc(var(--spacing, .25rem) * 16);display:flex!important;gap:var(--ngs-number-input-gap);padding-right:var(--ngs-number-input-controls-wdith)}:host .number-input{width:auto;max-width:none;flex-grow:1;min-width:0;background:none;outline:none;color:currentColor;font:inherit;border:none}:host .number-input::-webkit-outer-spin-button,:host .number-input::-webkit-inner-spin-button{appearance:none;margin:0}:host .controls{gap:.375rem;-webkit-user-select:none;user-select:none;position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center}:host .control{cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;width:var(--ngs-number-input-control-size);height:var(--ngs-number-input-control-size);background:var(--ngs-number-input-control-bg);color:var(--ngs-number-input-control-color);font-size:var(--ngs-number-input-control-font-size);line-height:var(--ngs-number-input-control-font-size);border-radius:var(--ngs-number-input-control-border-radius);position:relative;border:var(--ngs-number-input-control-border);top:1px}:host .control .control-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}:host .control ::ng-deep ngs-icon{--ngs-icon-size: calc(var(--spacing, .25rem) * 5)}:host .control:hover{background:var(--ngs-number-input-control-hover-bg);color:var(--ngs-number-input-control-hover-color)}:host .control[disabled]{pointer-events:none;opacity:.65}:host-context(html.dark){--ngs-number-input-control-color: var(--ngs-color-neutral-300);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-200);--ngs-number-input-control-hover-bg: var(--ngs-color-neutral-500)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "directive", type: Ripple, selector: "[ngsRipple]", inputs: ["ngsRippleColor", "ngsRippleUnbounded", "ngsRippleCentered", "ngsRippleRadius", "ngsRippleAnimation", "ngsRippleDisabled", "ngsRippleTrigger"], outputs: ["ngsRippleCenteredChange", "ngsRippleDisabledChange", "ngsRippleTriggerChange"], exportAs: ["ngsRipple"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
240
240
  }
241
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NumberInput, decorators: [{
242
242
  type: Component,
@@ -252,12 +252,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
252
252
  'class': 'ngs-number-input',
253
253
  '[class.floating]': 'shouldLabelFloat',
254
254
  'id': 'id'
255
- }, template: "<input #input type=\"number\" class=\"input\"\n (focusin)=\"onFocusIn($event)\"\n (focusout)=\"onFocusOut($event)\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <span>&minus;</span>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <span>&plus;</span>\n }\n </button>\n</div>\n", styles: [":host{--ngs-number-input-gap: calc(var(--spacing, .25rem) * 2);--ngs-number-input-control-bg: none;--ngs-number-input-control-color: var(--ngs-color-neutral-500);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-600);--ngs-number-input-control-active-color: var(--ngs-color-neutral-700);--ngs-number-input-control-hover-bg: var(--ngs-color-surface-container);--ngs-number-input-control-active-bg: var(--ngs-color-surface-container-high);--ngs-number-input-control-font-size: 1.5rem;--ngs-number-input-control-border-radius: var(--ngs-radius-md);--ngs-number-input-suffix-gap: calc(var(--spacing, .25rem) * 3);--ngs-number-input-control-size: calc(var(--spacing, .25rem) * 7);--ngs-number-input-control-border: none;display:flex!important;gap:var(--ngs-number-input-gap)}:host .input{width:auto;max-width:none;flex-grow:1;min-width:0}:host .input{background:none;outline:none;color:currentColor;font:inherit;border:none}:host .input::-webkit-outer-spin-button,:host .input::-webkit-inner-spin-button{appearance:none;margin:0}:host .controls{display:flex;height:100%;gap:.375rem;-webkit-user-select:none;user-select:none}:host .control{cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;width:var(--ngs-number-input-control-size);height:var(--ngs-number-input-control-size);background:var(--ngs-number-input-control-bg);color:var(--ngs-number-input-control-color);font-size:var(--ngs-number-input-control-font-size);line-height:var(--ngs-number-input-control-font-size);border-radius:var(--ngs-number-input-control-border-radius);position:relative;border:var(--ngs-number-input-control-border);top:1px}:host .control span{position:relative;top:-1px}:host .control ::ng-deep .mat-icon{line-height:24px}:host .control:hover{background:var(--ngs-number-input-control-hover-bg);color:var(--ngs-number-input-control-hover-color)}:host .control[disabled]{pointer-events:none;opacity:.65}:host-context(html.dark){--ngs-number-input-control-color: var(--ngs-color-neutral-300);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-200);--ngs-number-input-control-hover-bg: var(--ngs-color-neutral-500)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
255
+ }, template: "<input #input type=\"number\" class=\"number-input\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M3.5 8h9\"/>\n </svg>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M8 3.5v9M3.5 8h9\"/>\n </svg>\n }\n </button>\n</div>\n", styles: [":host{--ngs-number-input-gap: calc(var(--spacing, .25rem) * 2);--ngs-number-input-control-bg: none;--ngs-number-input-control-color: var(--ngs-color-neutral-500);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-600);--ngs-number-input-control-active-color: var(--ngs-color-neutral-700);--ngs-number-input-control-hover-bg: var(--ngs-color-surface-container);--ngs-number-input-control-active-bg: var(--ngs-color-surface-container-high);--ngs-number-input-control-font-size: 1.5rem;--ngs-number-input-control-border-radius: var(--ngs-radius-md);--ngs-number-input-suffix-gap: calc(var(--spacing, .25rem) * 3);--ngs-number-input-control-size: calc(var(--spacing, .25rem) * 7);--ngs-number-input-control-border: none;--ngs-number-input-controls-wdith: calc(var(--spacing, .25rem) * 16);display:flex!important;gap:var(--ngs-number-input-gap);padding-right:var(--ngs-number-input-controls-wdith)}:host .number-input{width:auto;max-width:none;flex-grow:1;min-width:0;background:none;outline:none;color:currentColor;font:inherit;border:none}:host .number-input::-webkit-outer-spin-button,:host .number-input::-webkit-inner-spin-button{appearance:none;margin:0}:host .controls{gap:.375rem;-webkit-user-select:none;user-select:none;position:absolute;top:0;bottom:0;right:0;display:flex;align-items:center;justify-content:center}:host .control{cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;width:var(--ngs-number-input-control-size);height:var(--ngs-number-input-control-size);background:var(--ngs-number-input-control-bg);color:var(--ngs-number-input-control-color);font-size:var(--ngs-number-input-control-font-size);line-height:var(--ngs-number-input-control-font-size);border-radius:var(--ngs-number-input-control-border-radius);position:relative;border:var(--ngs-number-input-control-border);top:1px}:host .control .control-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}:host .control ::ng-deep ngs-icon{--ngs-icon-size: calc(var(--spacing, .25rem) * 5)}:host .control:hover{background:var(--ngs-number-input-control-hover-bg);color:var(--ngs-number-input-control-hover-color)}:host .control[disabled]{pointer-events:none;opacity:.65}:host-context(html.dark){--ngs-number-input-control-color: var(--ngs-color-neutral-300);--ngs-number-input-control-hover-color: var(--ngs-color-neutral-200);--ngs-number-input-control-hover-bg: var(--ngs-color-neutral-500)}\n/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n"] }]
256
256
  }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
257
257
  type: Optional
258
258
  }, {
259
259
  type: Self
260
- }] }], propDecorators: { _input: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], _decreaseControlRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DecreaseControlDirective), { isSignal: true }] }], _increaseControlRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IncreaseControlDirective), { isSignal: true }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], requiredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], _placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }] } });
260
+ }] }], propDecorators: { _input: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }], _decreaseControlRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DecreaseControlDirective), { isSignal: true }] }], _increaseControlRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IncreaseControlDirective), { isSignal: true }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], requiredInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], _placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], onFocusIn: [{
261
+ type: HostListener,
262
+ args: ['focusin']
263
+ }], onFocusOut: [{
264
+ type: HostListener,
265
+ args: ['focusout', ['$event']]
266
+ }] } });
261
267
 
262
268
  class NumberInputPrefixDirective {
263
269
  templateRef = inject(TemplateRef);
@@ -1 +1 @@
1
- {"version":3,"file":"ngstarter-ui-components-number-input.mjs","sources":["../../../projects/components/number-input/src/decrease-control.directive.ts","../../../projects/components/number-input/src/increase-control.directive.ts","../../../projects/components/number-input/src/number-input/number-input.ts","../../../projects/components/number-input/src/number-input/number-input.html","../../../projects/components/number-input/src/number-input-prefix.directive.ts","../../../projects/components/number-input/src/number-input-suffix.directive.ts","../../../projects/components/number-input/ngstarter-ui-components-number-input.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsDecreaseControl]',\n exportAs: 'ngsDecreaseControl'\n})\nexport class DecreaseControlDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsIncreaseControl]',\n exportAs: 'ngsIncreaseControl'\n})\nexport class IncreaseControlDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n DoCheck,\n ElementRef, forwardRef,\n inject, Input, input,\n numberAttribute,\n OnDestroy, Optional,\n output, Self,\n TemplateRef,\n viewChild,\n signal,\n computed,\n effect,\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DecreaseControlDirective } from '../decrease-control.directive';\nimport { IncreaseControlDirective } from '../increase-control.directive';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\nimport { Subject } from 'rxjs';\nimport { Ripple } from '@ngstarter-ui/components/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ngs-number-input',\n exportAs: 'ngsNumberInput',\n imports: [\n Ripple,\n NgTemplateOutlet\n ],\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => NumberInput),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './number-input.html',\n styleUrl: './number-input.scss',\n host: {\n 'class': 'ngs-number-input',\n '[class.floating]': 'shouldLabelFloat',\n 'id': 'id'\n }\n})\nexport class NumberInput implements FormFieldControl<any>, ControlValueAccessor, OnDestroy, DoCheck {\n private _parentForm = inject(NgForm, {\n optional: true,\n });\n private _parentFormGroup = inject(FormGroupDirective, {\n optional: true,\n });\n private _elementRef = inject(ElementRef);\n readonly disableAutomaticLabeling: boolean = false;\n\n private _input = viewChild.required<ElementRef>('input');\n readonly _decreaseControlRef = contentChild<DecreaseControlDirective>(DecreaseControlDirective);\n readonly _increaseControlRef = contentChild<IncreaseControlDirective>(IncreaseControlDirective);\n\n min = input(undefined, {\n transform: numberAttribute\n });\n max = input(undefined, {\n transform: numberAttribute\n });\n step = input(1, {\n transform: numberAttribute\n });\n readonly = input(false, {\n transform: booleanAttribute\n });\n\n disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n get disabled(): boolean {\n return this.disabledInput() || this._disabled();\n }\n private _disabled = signal(false);\n\n requiredInput = input(false, {\n transform: booleanAttribute,\n alias: 'required'\n });\n get required(): boolean {\n return this.requiredInput() || this._required();\n }\n private _required = signal(false);\n\n readonly valueChange = output<number|undefined>();\n\n static nextId = 0;\n private _value = signal<number | undefined>(undefined);\n controlType?: string | undefined;\n autofilled?: boolean | undefined;\n userAriaDescribedBy?: string | undefined;\n stateChanges = new Subject<void>();\n focused = false;\n private _focused = signal(false);\n touched = false;\n errorState = false;\n private _errorState = signal(false);\n\n id = '';\n private _id = signal(`ngs-number-input${NumberInput.nextId++}`);\n\n shouldLabelFloat = false;\n private _shouldLabelFloat = computed(() => {\n return this._focused() || !this._empty();\n });\n\n empty = true;\n private _empty = computed(() => {\n const value = this._value();\n return value === undefined || value === null || value as any === '';\n });\n\n _placeholder = input<string>('', { alias: 'placeholder' });\n get placeholder(): string {\n return this._placeholder();\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n ) {\n // Replace the provider from above with this.\n if (this.ngControl != null) {\n // Setting the value accessor directly (instead of using\n // the providers) to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n effect(() => {\n this.id = this._id();\n this.focused = this._focused();\n this.errorState = this._errorState();\n this.empty = this._empty();\n this.shouldLabelFloat = this._shouldLabelFloat();\n this.stateChanges.next();\n });\n\n effect(() => {\n const value = this._value();\n\n if (this._input()) {\n this._input().nativeElement.value = (value === undefined || value === null) ? '' : value;\n }\n });\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement = this._elementRef.nativeElement;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n onFocusIn(event: FocusEvent) {\n if (!this._focused()) {\n this._focused.set(true);\n this.stateChanges.next();\n }\n }\n\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched = true;\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n set value(value: number | undefined) {\n if (value !== this._value()) {\n this._value.set(value);\n this.stateChanges.next();\n }\n }\n get value(): number | undefined {\n return this._value();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n protected get _decreaseControlTemplateRef() {\n return this._decreaseControlRef()?.templateRef as TemplateRef<any>;\n }\n\n protected get _increaseControlTemplateRef() {\n return this._increaseControlRef()?.templateRef as TemplateRef<any>;\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(coerceBooleanProperty(isDisabled));\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n decrease(event: MouseEvent, input: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n let value = this._value() ?? 0;\n value -= this.step();\n this._value.set(value);\n this._emitEvent();\n }\n\n increase(event: MouseEvent, input: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n let value = this._value() ?? 0;\n value += this.step();\n this._value.set(value);\n this._emitEvent();\n }\n\n isDecreaseDisabled() {\n const value = this._value();\n\n if (this.min() === undefined) {\n return false;\n }\n\n return (value !== undefined && value <= (this.min() as number)) || this.readonly() || this.disabled;\n }\n\n isIncreaseDisabled() {\n const value = this._value();\n\n if (this.max() === undefined) {\n return false;\n }\n\n return (value !== undefined && value >= (this.max() as number)) || this.readonly() || this.disabled;\n }\n\n inputChange(event: any) {\n const inputValue = event.target.value;\n const value = inputValue === '' ? undefined : +inputValue;\n this._value.set(value);\n this._emitEvent();\n }\n\n private _emitEvent() {\n const value = this._value();\n\n this.onChange(value);\n this.valueChange.emit(value);\n this.updateErrorState();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n focus(): void {\n this._input().nativeElement.focus();\n }\n\n onContainerClick(event: MouseEvent) {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.focus();\n }\n }\n\n private updateErrorState() {\n const parent = this._parentFormGroup || this._parentForm;\n let oldState = this._errorState();\n let newState = !!(this.ngControl?.invalid) && this.touched;\n\n if (parent) {\n newState = !!(this.ngControl?.invalid) && (this.touched || parent.submitted);\n }\n\n if (oldState !== newState) {\n this._errorState.set(newState);\n this.stateChanges.next();\n }\n }\n}\n","<input #input type=\"number\" class=\"input\"\n (focusin)=\"onFocusIn($event)\"\n (focusout)=\"onFocusOut($event)\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <span>&minus;</span>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <span>&plus;</span>\n }\n </button>\n</div>\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNumberInputPrefix]',\n exportAs: 'ngsNumberInputPrefix'\n})\nexport class NumberInputPrefixDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNumberInputSuffix]',\n exportAs: 'ngsNumberInputSuffix'\n})\nexport class NumberInputSuffixDirective {\n readonly templateRef = inject(TemplateRef);\n}\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-number-input.mjs","sources":["../../../projects/components/number-input/src/decrease-control.directive.ts","../../../projects/components/number-input/src/increase-control.directive.ts","../../../projects/components/number-input/src/number-input/number-input.ts","../../../projects/components/number-input/src/number-input/number-input.html","../../../projects/components/number-input/src/number-input-prefix.directive.ts","../../../projects/components/number-input/src/number-input-suffix.directive.ts","../../../projects/components/number-input/ngstarter-ui-components-number-input.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsDecreaseControl]',\n exportAs: 'ngsDecreaseControl'\n})\nexport class DecreaseControlDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsIncreaseControl]',\n exportAs: 'ngsIncreaseControl'\n})\nexport class IncreaseControlDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n DoCheck,\n ElementRef, forwardRef,\n inject, Input, input,\n numberAttribute,\n OnDestroy, Optional,\n output, Self,\n TemplateRef,\n viewChild,\n signal,\n computed,\n effect,\n HostListener,\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DecreaseControlDirective } from '../decrease-control.directive';\nimport { IncreaseControlDirective } from '../increase-control.directive';\nimport { FormFieldControl } from '@ngstarter-ui/components/form-field';\nimport { Subject } from 'rxjs';\nimport { Ripple } from '@ngstarter-ui/components/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'ngs-number-input',\n exportAs: 'ngsNumberInput',\n imports: [\n Ripple,\n NgTemplateOutlet\n ],\n providers: [\n {\n provide: FormFieldControl,\n useExisting: forwardRef(() => NumberInput),\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './number-input.html',\n styleUrl: './number-input.scss',\n host: {\n 'class': 'ngs-number-input',\n '[class.floating]': 'shouldLabelFloat',\n 'id': 'id'\n }\n})\nexport class NumberInput implements FormFieldControl<any>, ControlValueAccessor, OnDestroy, DoCheck {\n private _parentForm = inject(NgForm, {\n optional: true,\n });\n private _parentFormGroup = inject(FormGroupDirective, {\n optional: true,\n });\n private _elementRef = inject(ElementRef);\n readonly disableAutomaticLabeling: boolean = false;\n\n private _input = viewChild.required<ElementRef>('input');\n readonly _decreaseControlRef = contentChild<DecreaseControlDirective>(DecreaseControlDirective);\n readonly _increaseControlRef = contentChild<IncreaseControlDirective>(IncreaseControlDirective);\n\n min = input(undefined, {\n transform: numberAttribute\n });\n max = input(undefined, {\n transform: numberAttribute\n });\n step = input(1, {\n transform: numberAttribute\n });\n readonly = input(false, {\n transform: booleanAttribute\n });\n\n disabledInput = input(false, {\n transform: booleanAttribute,\n alias: 'disabled'\n });\n get disabled(): boolean {\n return this.disabledInput() || this._disabled();\n }\n private _disabled = signal(false);\n\n requiredInput = input(false, {\n transform: booleanAttribute,\n alias: 'required'\n });\n get required(): boolean {\n return this.requiredInput() || this._required();\n }\n private _required = signal(false);\n\n readonly valueChange = output<number|undefined>();\n\n static nextId = 0;\n private _value = signal<number | undefined>(undefined);\n controlType?: string | undefined;\n autofilled?: boolean | undefined;\n userAriaDescribedBy?: string | undefined;\n stateChanges = new Subject<void>();\n focused = false;\n private _focused = signal(false);\n touched = false;\n errorState = false;\n private _errorState = signal(false);\n\n id = '';\n private _id = signal(`ngs-number-input${NumberInput.nextId++}`);\n\n shouldLabelFloat = false;\n private _shouldLabelFloat = computed(() => {\n return this._focused() || !this._empty();\n });\n\n empty = true;\n private _empty = computed(() => {\n const value = this._value();\n return value === undefined || value === null || value as any === '';\n });\n\n _placeholder = input<string>('', { alias: 'placeholder' });\n get placeholder(): string {\n return this._placeholder();\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n ) {\n // Replace the provider from above with this.\n if (this.ngControl != null) {\n // Setting the value accessor directly (instead of using\n // the providers) to avoid running into a circular import.\n this.ngControl.valueAccessor = this;\n }\n\n effect(() => {\n this.id = this._id();\n this.focused = this._focused();\n this.errorState = this._errorState();\n this.empty = this._empty();\n this.shouldLabelFloat = this._shouldLabelFloat();\n this.stateChanges.next();\n });\n\n effect(() => {\n const value = this._value();\n\n if (this._input()) {\n this._input().nativeElement.value = (value === undefined || value === null) ? '' : value;\n }\n });\n }\n\n setDescribedByIds(ids: string[]) {\n const controlElement = this._elementRef.nativeElement;\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n @HostListener('focusin')\n onFocusIn() {\n if (!this._focused()) {\n this._focused.set(true);\n this.stateChanges.next();\n }\n }\n\n @HostListener('focusout', ['$event'])\n onFocusOut(event: FocusEvent) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched = true;\n this._focused.set(false);\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n set value(value: number | undefined) {\n if (value !== this._value()) {\n this._value.set(value);\n this.stateChanges.next();\n }\n }\n get value(): number | undefined {\n return this._value();\n }\n\n ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n protected get _decreaseControlTemplateRef() {\n return this._decreaseControlRef()?.templateRef as TemplateRef<any>;\n }\n\n protected get _increaseControlTemplateRef() {\n return this._increaseControlRef()?.templateRef as TemplateRef<any>;\n }\n\n onChange: any = () => {};\n onTouched: any = () => {};\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled.set(coerceBooleanProperty(isDisabled));\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n\n decrease(event: MouseEvent, input: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n let value = this._value() ?? 0;\n value -= this.step();\n this._value.set(value);\n this._emitEvent();\n }\n\n increase(event: MouseEvent, input: HTMLInputElement) {\n event.preventDefault();\n event.stopPropagation();\n let value = this._value() ?? 0;\n value += this.step();\n this._value.set(value);\n this._emitEvent();\n }\n\n isDecreaseDisabled() {\n const value = this._value();\n\n if (this.min() === undefined) {\n return false;\n }\n\n return (value !== undefined && value <= (this.min() as number)) || this.readonly() || this.disabled;\n }\n\n isIncreaseDisabled() {\n const value = this._value();\n\n if (this.max() === undefined) {\n return false;\n }\n\n return (value !== undefined && value >= (this.max() as number)) || this.readonly() || this.disabled;\n }\n\n inputChange(event: any) {\n const inputValue = event.target.value;\n const value = inputValue === '' ? undefined : +inputValue;\n this._value.set(value);\n this._emitEvent();\n }\n\n private _emitEvent() {\n const value = this._value();\n\n this.onChange(value);\n this.valueChange.emit(value);\n this.updateErrorState();\n }\n\n ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n focus(): void {\n this._input().nativeElement.focus();\n }\n\n onContainerClick(event: MouseEvent) {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.focus();\n }\n }\n\n private updateErrorState() {\n const parent = this._parentFormGroup || this._parentForm;\n let oldState = this._errorState();\n let newState = !!(this.ngControl?.invalid) && this.touched;\n\n if (parent) {\n newState = !!(this.ngControl?.invalid) && (this.touched || parent.submitted);\n }\n\n if (oldState !== newState) {\n this._errorState.set(newState);\n this.stateChanges.next();\n }\n }\n}\n","<input #input type=\"number\" class=\"number-input\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [step]=\"step()\"\n (input)=\"inputChange($event)\">\n<div class=\"controls\">\n <button class=\"control control-decrease\" ngsRipple [disabled]=\"isDecreaseDisabled()\" (click)=\"decrease($event, input)\">\n @if (_decreaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_decreaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M3.5 8h9\"/>\n </svg>\n }\n </button>\n <button class=\"control control-increase\" ngsRipple [disabled]=\"isIncreaseDisabled()\" (click)=\"increase($event, input)\">\n @if (_increaseControlRef()) {\n <ng-template [ngTemplateOutlet]=\"_increaseControlTemplateRef\"/>\n } @else {\n <svg class=\"control-icon\" viewBox=\"0 0 16 16\" aria-hidden=\"true\" focusable=\"false\">\n <path d=\"M8 3.5v9M3.5 8h9\"/>\n </svg>\n }\n </button>\n</div>\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNumberInputPrefix]',\n exportAs: 'ngsNumberInputPrefix'\n})\nexport class NumberInputPrefixDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n selector: '[ngsNumberInputSuffix]',\n exportAs: 'ngsNumberInputSuffix'\n})\nexport class NumberInputSuffixDirective {\n readonly templateRef = inject(TemplateRef);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}