@ngstarter-ui/components 21.0.11 → 21.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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.11",
4
+ "version": "21.0.13",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"
@@ -210,6 +210,10 @@
210
210
  "types": "./types/ngstarter-ui-components-dialog.d.ts",
211
211
  "default": "./fesm2022/ngstarter-ui-components-dialog.mjs"
212
212
  },
213
+ "./digit-roller": {
214
+ "types": "./types/ngstarter-ui-components-digit-roller.d.ts",
215
+ "default": "./fesm2022/ngstarter-ui-components-digit-roller.mjs"
216
+ },
213
217
  "./divider": {
214
218
  "types": "./types/ngstarter-ui-components-divider.d.ts",
215
219
  "default": "./fesm2022/ngstarter-ui-components-divider.mjs"
@@ -2,6 +2,27 @@ import * as _angular_core from '@angular/core';
2
2
  import { OnInit, AfterContentInit } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
4
 
5
+ declare class ButtonToggle implements OnInit {
6
+ id: _angular_core.InputSignal<string>;
7
+ value: _angular_core.InputSignal<any>;
8
+ name: _angular_core.InputSignal<string | undefined>;
9
+ checked: _angular_core.InputSignalWithTransform<boolean, unknown>;
10
+ disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
11
+ onlyIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
12
+ private _internalChecked;
13
+ get isChecked(): boolean;
14
+ _setChecked(value: boolean): void;
15
+ readonly change: _angular_core.OutputEmitterRef<any>;
16
+ buttonToggleGroup: any;
17
+ private _changeDetectorRef;
18
+ get isDisabled(): boolean;
19
+ get _shouldShowSelectionIndicator(): boolean;
20
+ ngOnInit(): void;
21
+ _onButtonClick(): void;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonToggle, never>;
23
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggle, "ngs-button-toggle", ["ngsButtonToggle"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "onlyIcon": { "alias": "onlyIcon"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
24
+ }
25
+
5
26
  type ButtonToggleAppearance = 'standard' | 'legacy';
6
27
  declare class ButtonToggleGroup implements ControlValueAccessor, AfterContentInit {
7
28
  readonly _buttonToggles: _angular_core.Signal<readonly any[]>;
@@ -11,6 +32,7 @@ declare class ButtonToggleGroup implements ControlValueAccessor, AfterContentIni
11
32
  hideSelectionIndicator: _angular_core.InputSignalWithTransform<boolean, unknown>;
12
33
  vertical: _angular_core.InputSignalWithTransform<boolean, unknown>;
13
34
  value: _angular_core.ModelSignal<any>;
35
+ onlyIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
14
36
  readonly change: _angular_core.OutputEmitterRef<any>;
15
37
  _onChange: (value: any) => void;
16
38
  _onTouched: () => void;
@@ -26,28 +48,7 @@ declare class ButtonToggleGroup implements ControlValueAccessor, AfterContentIni
26
48
  _onButtonClick(toggle: ButtonToggle): void;
27
49
  private _updateValue;
28
50
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonToggleGroup, never>;
29
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggleGroup, "ngs-button-toggle-group", ["ngsButtonToggleGroup"], { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideSelectionIndicator": { "alias": "hideSelectionIndicator"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "change": "change"; }, ["_buttonToggles"], ["*"], true, never>;
30
- }
31
- declare class ButtonToggle implements OnInit {
32
- private _id;
33
- id: _angular_core.InputSignal<string>;
34
- value: _angular_core.InputSignal<any>;
35
- name: _angular_core.InputSignal<string | undefined>;
36
- checked: _angular_core.InputSignalWithTransform<boolean, unknown>;
37
- disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
38
- private _internalChecked;
39
- get isChecked(): boolean;
40
- _setChecked(value: boolean): void;
41
- readonly change: _angular_core.OutputEmitterRef<any>;
42
- buttonToggleGroup: any;
43
- private _changeDetectorRef;
44
- get isDisabled(): boolean;
45
- get _shouldShowSelectionIndicator(): boolean;
46
- ngOnInit(): void;
47
- _onButtonClick(): void;
48
- _markForCheck(): void;
49
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonToggle, never>;
50
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggle, "ngs-button-toggle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "change": "change"; }, never, ["*"], true, never>;
51
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonToggleGroup, "ngs-button-toggle-group", ["ngsButtonToggleGroup"], { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideSelectionIndicator": { "alias": "hideSelectionIndicator"; "required": false; "isSignal": true; }; "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "onlyIcon": { "alias": "onlyIcon"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "change": "change"; }, ["_buttonToggles"], ["*"], true, never>;
51
52
  }
52
53
 
53
54
  export { ButtonToggle, ButtonToggleGroup };
@@ -0,0 +1,143 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ interface DigitRollerNumberPart {
4
+ type: string;
5
+ value: string;
6
+ key: string;
7
+ numericValue?: number;
8
+ }
9
+ interface DigitRollerFormattedNumber {
10
+ pre: DigitRollerNumberPart[];
11
+ integer: DigitRollerNumberPart[];
12
+ fraction: DigitRollerNumberPart[];
13
+ post: DigitRollerNumberPart[];
14
+ }
15
+ declare const DIGIT_ROLLER_EMPTY_FORMATTED: DigitRollerFormattedNumber;
16
+ type DigitRollerTrend = number | ((oldValue: number, value: number) => number);
17
+ type DigitRollerTiming = Omit<KeyframeAnimationOptions, 'composite'>;
18
+ type DigitRollerEasing = 'default' | 'spring' | 'overshoot' | (string & {});
19
+ interface DigitRollerDigitConfig {
20
+ max?: number;
21
+ }
22
+ type DigitRollerDigits = Record<number, DigitRollerDigitConfig>;
23
+
24
+ interface DigitRollerGlyph {
25
+ value: number;
26
+ glyph: string;
27
+ }
28
+
29
+ declare class DigitRoller {
30
+ value: _angular_core.InputSignal<number>;
31
+ format: _angular_core.InputSignal<Intl.NumberFormatOptions>;
32
+ locales: _angular_core.InputSignal<string | string[] | undefined>;
33
+ prefix: _angular_core.InputSignal<string>;
34
+ suffix: _angular_core.InputSignal<string>;
35
+ animated: _angular_core.InputSignal<boolean>;
36
+ duration: _angular_core.InputSignal<number | undefined>;
37
+ opacityDuration: _angular_core.InputSignal<number | undefined>;
38
+ transformTiming: _angular_core.InputSignal<DigitRollerTiming | undefined>;
39
+ spinTiming: _angular_core.InputSignal<DigitRollerTiming | undefined>;
40
+ opacityTiming: _angular_core.InputSignal<DigitRollerTiming | undefined>;
41
+ spinEasing: _angular_core.InputSignal<DigitRollerEasing | undefined>;
42
+ flipEasing: _angular_core.InputSignal<DigitRollerEasing | undefined>;
43
+ trend: _angular_core.InputSignal<DigitRollerTrend | undefined>;
44
+ continuous: _angular_core.InputSignal<boolean>;
45
+ digits: _angular_core.InputSignal<DigitRollerDigits>;
46
+ respectMotionPreference: _angular_core.InputSignal<boolean>;
47
+ stagger: _angular_core.InputSignal<number>;
48
+ colorOnIncrease: _angular_core.InputSignal<string | undefined>;
49
+ colorOnDecrease: _angular_core.InputSignal<string | undefined>;
50
+ animationsStart: _angular_core.OutputEmitterRef<void>;
51
+ animationsFinish: _angular_core.OutputEmitterRef<void>;
52
+ protected data: _angular_core.WritableSignal<DigitRollerFormattedNumber>;
53
+ protected digitGlyphs: _angular_core.Signal<DigitRollerGlyph[]>;
54
+ protected formattedPlainText: _angular_core.Signal<string>;
55
+ protected effectiveSettings: _angular_core.Signal<{
56
+ duration: number;
57
+ opacityDuration: number;
58
+ spinEasing: string;
59
+ flipEasing: string;
60
+ transformTiming: DigitRollerTiming | undefined;
61
+ spinTiming: DigitRollerTiming | undefined;
62
+ opacityTiming: DigitRollerTiming | undefined;
63
+ }>;
64
+ private platformId;
65
+ private elementRef;
66
+ private destroyRef;
67
+ private group;
68
+ private prevRects;
69
+ private prevInnerHTML;
70
+ private prevDigitD;
71
+ private prevDigitCurrent;
72
+ private prevDigitValues;
73
+ private prevDigitOrder;
74
+ private prevNumberLeft;
75
+ private prevNumberWidth;
76
+ private prevNumericValue;
77
+ private animCount;
78
+ private pending;
79
+ private destroyed;
80
+ private hasRenderedValue;
81
+ private liveAnimations;
82
+ private spinCount;
83
+ private animationsFinishAbort?;
84
+ private pendingCanAnimate;
85
+ private pendingHostFont;
86
+ private pendingHostColor;
87
+ private pendingKeyedEls;
88
+ private pendingNumberRect;
89
+ private pendingNumberOffsetWidth;
90
+ private isNearViewport;
91
+ private viewportObserver?;
92
+ constructor();
93
+ canGroupAnimateNow(): boolean;
94
+ prepareGroupedUpdate(): void;
95
+ queueGroupedAnimation(): void;
96
+ private snapshot;
97
+ private readAnimationState;
98
+ private fireAnimations;
99
+ private animatePositionOrFade;
100
+ private getDigitValue;
101
+ private getPartDigitValue;
102
+ private resolveTrend;
103
+ private canAnimateNow;
104
+ private isHostNearViewport;
105
+ private resolveEasing;
106
+ private getContinuousStartPosition;
107
+ private getDigitPosition;
108
+ private getDigitLength;
109
+ protected digitLengthForKey(key: string): number;
110
+ protected digitGlyphsForKey(key: string): {
111
+ value: number;
112
+ glyph: string;
113
+ }[];
114
+ private addStaggerDelay;
115
+ private getTrendDelta;
116
+ private incrementSpin;
117
+ private decrementSpin;
118
+ private buildGhost;
119
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DigitRoller, never>;
120
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DigitRoller, "ngs-digit-roller", ["ngsDigitRoller"], { "value": { "alias": "value"; "required": true; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "locales": { "alias": "locales"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "opacityDuration": { "alias": "opacityDuration"; "required": false; "isSignal": true; }; "transformTiming": { "alias": "transformTiming"; "required": false; "isSignal": true; }; "spinTiming": { "alias": "spinTiming"; "required": false; "isSignal": true; }; "opacityTiming": { "alias": "opacityTiming"; "required": false; "isSignal": true; }; "spinEasing": { "alias": "spinEasing"; "required": false; "isSignal": true; }; "flipEasing": { "alias": "flipEasing"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "continuous": { "alias": "continuous"; "required": false; "isSignal": true; }; "digits": { "alias": "digits"; "required": false; "isSignal": true; }; "respectMotionPreference": { "alias": "respectMotionPreference"; "required": false; "isSignal": true; }; "stagger": { "alias": "stagger"; "required": false; "isSignal": true; }; "colorOnIncrease": { "alias": "colorOnIncrease"; "required": false; "isSignal": true; }; "colorOnDecrease": { "alias": "colorOnDecrease"; "required": false; "isSignal": true; }; }, { "animationsStart": "animationsStart"; "animationsFinish": "animationsFinish"; }, never, never, true, never>;
121
+ }
122
+
123
+ interface DigitRollerGroupMember {
124
+ canGroupAnimateNow(): boolean;
125
+ prepareGroupedUpdate(): void;
126
+ queueGroupedAnimation(): void;
127
+ }
128
+ interface DigitRollerGroupCoordinator {
129
+ requestGroupedUpdate(member: DigitRollerGroupMember, applyUpdate: () => void): boolean;
130
+ }
131
+
132
+ declare class DigitRollerGroupDirective implements DigitRollerGroupCoordinator {
133
+ private children;
134
+ private pendingUpdates;
135
+ private flushQueued;
136
+ requestGroupedUpdate(member: DigitRollerGroupMember, applyUpdate: () => void): boolean;
137
+ private flushGroupedUpdates;
138
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DigitRollerGroupDirective, never>;
139
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DigitRollerGroupDirective, "[ngsDigitRollerGroup]", never, {}, {}, ["children"], never, true, never>;
140
+ }
141
+
142
+ export { DIGIT_ROLLER_EMPTY_FORMATTED, DigitRoller, DigitRollerGroupDirective };
143
+ export type { DigitRollerDigitConfig, DigitRollerDigits, DigitRollerEasing, DigitRollerFormattedNumber, DigitRollerNumberPart, DigitRollerTiming, DigitRollerTrend };