tecnualng 21.0.25 → 21.0.27

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,6 +1,6 @@
1
1
  {
2
2
  "name": "tecnualng",
3
- "version": "21.0.25",
3
+ "version": "21.0.27",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -9,6 +9,7 @@
9
9
  @use 'definitions/aurora' as aurora;
10
10
  @use 'definitions/aurora-dark' as aurora-dark;
11
11
  @use 'definitions/futuristic' as futuristic;
12
+ @use 'definitions/futuristic-light' as futuristic-light;
12
13
 
13
14
  // Forward mixins for external use
14
15
  @forward 'definitions/light';
@@ -21,6 +22,7 @@
21
22
  @forward 'definitions/aurora';
22
23
  @forward 'definitions/aurora-dark';
23
24
  @forward 'definitions/futuristic';
25
+ @forward 'definitions/futuristic-light';
24
26
 
25
27
  // Apply to root if desired, or use a class
26
28
  :root {
@@ -95,5 +97,13 @@ body.futuristic-theme,
95
97
  body[data-theme='futuristic'] {
96
98
  @include futuristic.tng-theme-futuristic;
97
99
  background-color: var(--tng-background);
100
+ background-color: var(--tng-background);
101
+ color: var(--tng-text);
102
+ }
103
+
104
+ body.futuristic-light-theme,
105
+ body[data-theme='futuristic-light'] {
106
+ @include futuristic-light.tng-theme-futuristic-light;
107
+ background-color: var(--tng-background);
98
108
  color: var(--tng-text);
99
109
  }
@@ -0,0 +1,36 @@
1
+ @mixin tng-theme-futuristic-light {
2
+ // Colors - Neon accents on light background
3
+ --tng-primary: #00c2cc; // Slightly darker cyan for visibility on light
4
+ --tng-primary-contrast: #ffffff;
5
+ --tng-secondary: #9c27b0; // Purple
6
+ --tng-secondary-contrast: #ffffff;
7
+
8
+ // Glassmorphism surface
9
+ --tng-surface: #ffffffcc; // White with transparency
10
+
11
+ // Light background
12
+ --tng-background: #f0f2f5;
13
+
14
+ // Text colors
15
+ --tng-text: #1a1a2e; // Dark blue-gray
16
+ --tng-text-secondary: #606070;
17
+
18
+ // Border with glassmorphism
19
+ --tng-border: rgba(0, 0, 0, 0.1);
20
+
21
+ // Status colors with neon effect
22
+ --tng-error: #ff3366;
23
+ --tng-warning: #ffaa00;
24
+ --tng-success: #00c853; // Darker green for visibility
25
+
26
+ // Shadows with neon glow - muted for light theme
27
+ --tng-shadow-sm: 0 4px 15px rgba(0, 194, 204, 0.15);
28
+ --tng-shadow-md: 0 8px 32px 0 rgba(0, 0, 0, 0.1);
29
+
30
+ // Additional neon colors for variety
31
+ --tng-neon-cyan: #00c2cc;
32
+ --tng-neon-purple: #9c27b0;
33
+ --tng-neon-green: #00c853;
34
+ --tng-neon-pink: #e91e63;
35
+ --tng-neon-orange: #ff9800;
36
+ }
@@ -6,7 +6,7 @@
6
6
  --tng-secondary-contrast: #ffffff;
7
7
 
8
8
  // Glassmorphism surface
9
- --tng-surface: rgba(255, 255, 255, 0.03);
9
+ --tng-surface: #0a0a12ee;
10
10
 
11
11
  // Dark background
12
12
  --tng-background: #0a0a12;
@@ -16,7 +16,7 @@
16
16
  --tng-text-secondary: #a0a0b0;
17
17
 
18
18
  // Border with glassmorphism
19
- --tng-border: rgba(255, 255, 255, 0.1);
19
+ --tng-border: rgba(255, 255, 255, 0.5);
20
20
 
21
21
  // Status colors with neon effect
22
22
  --tng-error: #ff3366;
@@ -78,14 +78,61 @@ declare class TngInputDirective {
78
78
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TngInputDirective, "input[tngInput], textarea[tngInput]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
79
79
  }
80
80
 
81
+ declare class TngTextareaComponent implements ControlValueAccessor {
82
+ label: _angular_core.InputSignal<string>;
83
+ placeholder: _angular_core.InputSignal<string>;
84
+ required: _angular_core.InputSignal<boolean>;
85
+ disabled: _angular_core.ModelSignal<boolean>;
86
+ maxLength: _angular_core.InputSignal<number | undefined>;
87
+ id: _angular_core.InputSignal<string>;
88
+ value: _angular_core.WritableSignal<string>;
89
+ onChange: any;
90
+ onTouched: any;
91
+ onInput(event: Event): void;
92
+ onBlur(): void;
93
+ writeValue(value: any): void;
94
+ registerOnChange(fn: any): void;
95
+ registerOnTouched(fn: any): void;
96
+ setDisabledState(isDisabled: boolean): void;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngTextareaComponent, never>;
98
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngTextareaComponent, "tng-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; }, never, never, true, never>;
99
+ }
100
+
101
+ declare class TngTextareaDirective {
102
+ private el;
103
+ ngControl: NgControl | null;
104
+ disabled: _angular_core.InputSignal<boolean>;
105
+ placeholder: _angular_core.InputSignal<string>;
106
+ maxLength: _angular_core.InputSignal<number | undefined>;
107
+ focused: _angular_core.WritableSignal<boolean>;
108
+ private _value;
109
+ hasValue: _angular_core.Signal<boolean>;
110
+ valueLength: _angular_core.Signal<number>;
111
+ computedPlaceholder: _angular_core.Signal<string>;
112
+ constructor();
113
+ onFocus(): void;
114
+ onBlur(): void;
115
+ onInput(): void;
116
+ ngAfterViewInit(): void;
117
+ private updateValue;
118
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngTextareaDirective, never>;
119
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TngTextareaDirective, "textarea[tngTextarea]", ["tngTextarea"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
120
+ }
121
+
81
122
  declare class TngFormFieldComponent {
82
123
  label: _angular_core.InputSignal<string>;
83
124
  inputDirective: _angular_core.Signal<TngInputDirective | undefined>;
125
+ textareaDirective: _angular_core.Signal<TngTextareaDirective | undefined>;
126
+ activeDirective: _angular_core.Signal<TngInputDirective | TngTextareaDirective | undefined>;
84
127
  isFocused: _angular_core.Signal<boolean>;
85
128
  hasValue: _angular_core.Signal<boolean>;
86
129
  isDisabled: _angular_core.Signal<boolean>;
130
+ maxLength: _angular_core.Signal<number | undefined>;
131
+ currentLength: _angular_core.Signal<number>;
132
+ showCounter: _angular_core.Signal<boolean>;
133
+ hasTextarea: _angular_core.Signal<boolean>;
87
134
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngFormFieldComponent, never>;
88
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngFormFieldComponent, "tng-form-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, ["inputDirective"], ["*"], true, never>;
135
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngFormFieldComponent, "tng-form-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, ["inputDirective", "textareaDirective"], ["*"], true, never>;
89
136
  }
90
137
 
91
138
  interface DateRange {
@@ -206,7 +253,7 @@ declare class TngTabsComponent implements AfterViewInit, OnDestroy {
206
253
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngTabsComponent, "tng-tabs", never, {}, {}, ["tabs"], never, true, never>;
207
254
  }
208
255
 
209
- type ThemeName = 'light' | 'dark' | 'ocean' | 'forest' | 'sunset' | 'royal' | 'monochrome' | 'aurora' | 'aurora-dark' | 'futuristic';
256
+ type ThemeName = 'light' | 'dark' | 'ocean' | 'forest' | 'sunset' | 'royal' | 'monochrome' | 'aurora' | 'aurora-dark' | 'futuristic' | 'futuristic-light';
210
257
  interface Theme {
211
258
  name: ThemeName;
212
259
  displayName: string;
@@ -377,6 +424,8 @@ declare class TngSelectDirective implements AfterViewInit, OnDestroy {
377
424
  private _selectedIndices;
378
425
  private panelRef;
379
426
  private triggerEl;
427
+ private isDisabled;
428
+ private mutationObserver;
380
429
  isMulti: _angular_core.Signal<boolean>;
381
430
  options: _angular_core.Signal<SelectOption[]>;
382
431
  filteredOptions: _angular_core.Signal<SelectOption[]>;
@@ -444,5 +493,34 @@ declare class TngSelectComponent implements ControlValueAccessor {
444
493
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngSelectComponent, "tng-select", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": true; "isSignal": true; }; "enableMulti": { "alias": "enableMulti"; "required": false; "isSignal": true; }; "enableSearch": { "alias": "enableSearch"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
445
494
  }
446
495
 
447
- export { TecnualDatepickerComponent, TecnualInputComponent, TecnualTableComponent, ThemeService, TngButton, TngCardComponent, TngExpansionPanelComponent, TngFormFieldComponent, TngInputDirective, TngMenuComponent, TngMenuGroupComponent, TngMenuItemComponent, TngSelectComponent, TngSelectDirective, TngSelectPanelComponent, TngSidebarComponent, TngTabComponent, TngTabsComponent, TngToolbarComponent, TngTooltipComponent, TngTooltipDirective };
496
+ declare class TngSliderComponent implements ControlValueAccessor {
497
+ min: _angular_core.InputSignal<number>;
498
+ max: _angular_core.InputSignal<number>;
499
+ step: _angular_core.InputSignal<number>;
500
+ label: _angular_core.InputSignal<string>;
501
+ disabled: _angular_core.InputSignal<boolean>;
502
+ orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
503
+ value: _angular_core.ModelSignal<number>;
504
+ isDragging: _angular_core.WritableSignal<boolean>;
505
+ track: _angular_core.Signal<ElementRef<HTMLElement>>;
506
+ percentage: _angular_core.Signal<number>;
507
+ private onChange;
508
+ private onTouched;
509
+ constructor();
510
+ writeValue(value: number): void;
511
+ registerOnChange(fn: (value: number) => void): void;
512
+ registerOnTouched(fn: () => void): void;
513
+ setDisabledState(isDisabled: boolean): void;
514
+ onStart(event: MouseEvent | TouchEvent): void;
515
+ onMove(event: MouseEvent | TouchEvent): void;
516
+ onEnd(): void;
517
+ private updateValueFromEvent;
518
+ private getClientX;
519
+ private getClientY;
520
+ private clampAndStep;
521
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngSliderComponent, never>;
522
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngSliderComponent, "tng-slider", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
523
+ }
524
+
525
+ export { TecnualDatepickerComponent, TecnualInputComponent, TecnualTableComponent, ThemeService, TngButton, TngCardComponent, TngExpansionPanelComponent, TngFormFieldComponent, TngInputDirective, TngMenuComponent, TngMenuGroupComponent, TngMenuItemComponent, TngSelectComponent, TngSelectDirective, TngSelectPanelComponent, TngSidebarComponent, TngSliderComponent, TngTabComponent, TngTabsComponent, TngTextareaComponent, TngTextareaDirective, TngToolbarComponent, TngTooltipComponent, TngTooltipDirective };
448
526
  export type { DateRange, SelectOption, TableColumn, Theme, ThemeName, TngButtonAppearance, TngCardVariant, TngToolbarColor, TngToolbarPosition, TngToolbarPositionType };