tecnualng 21.0.26 → 21.0.28

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.26",
3
+ "version": "21.0.28",
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
+ }
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ElementRef, TemplateRef, AfterViewInit, OnDestroy, NgZone, ApplicationRef, EnvironmentInjector, AfterContentInit, QueryList } from '@angular/core';
3
3
  import { ControlValueAccessor, NgControl } from '@angular/forms';
4
+ import * as tecnualng from 'tecnualng';
4
5
 
5
6
  type TngButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';
6
7
  declare class TngButton {
@@ -253,7 +254,7 @@ declare class TngTabsComponent implements AfterViewInit, OnDestroy {
253
254
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngTabsComponent, "tng-tabs", never, {}, {}, ["tabs"], never, true, never>;
254
255
  }
255
256
 
256
- type ThemeName = 'light' | 'dark' | 'ocean' | 'forest' | 'sunset' | 'royal' | 'monochrome' | 'aurora' | 'aurora-dark' | 'futuristic';
257
+ type ThemeName = 'light' | 'dark' | 'ocean' | 'forest' | 'sunset' | 'royal' | 'monochrome' | 'aurora' | 'aurora-dark' | 'futuristic' | 'futuristic-light';
257
258
  interface Theme {
258
259
  name: ThemeName;
259
260
  displayName: string;
@@ -493,5 +494,118 @@ declare class TngSelectComponent implements ControlValueAccessor {
493
494
  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>;
494
495
  }
495
496
 
496
- export { TecnualDatepickerComponent, TecnualInputComponent, TecnualTableComponent, ThemeService, TngButton, TngCardComponent, TngExpansionPanelComponent, TngFormFieldComponent, TngInputDirective, TngMenuComponent, TngMenuGroupComponent, TngMenuItemComponent, TngSelectComponent, TngSelectDirective, TngSelectPanelComponent, TngSidebarComponent, TngTabComponent, TngTabsComponent, TngTextareaComponent, TngTextareaDirective, TngToolbarComponent, TngTooltipComponent, TngTooltipDirective };
497
- export type { DateRange, SelectOption, TableColumn, Theme, ThemeName, TngButtonAppearance, TngCardVariant, TngToolbarColor, TngToolbarPosition, TngToolbarPositionType };
497
+ declare class TngSliderComponent implements ControlValueAccessor {
498
+ min: _angular_core.InputSignal<number>;
499
+ max: _angular_core.InputSignal<number>;
500
+ step: _angular_core.InputSignal<number>;
501
+ label: _angular_core.InputSignal<string>;
502
+ disabled: _angular_core.InputSignal<boolean>;
503
+ orientation: _angular_core.InputSignal<"vertical" | "horizontal">;
504
+ value: _angular_core.ModelSignal<number>;
505
+ isDragging: _angular_core.WritableSignal<boolean>;
506
+ track: _angular_core.Signal<ElementRef<HTMLElement>>;
507
+ percentage: _angular_core.Signal<number>;
508
+ private onChange;
509
+ private onTouched;
510
+ constructor();
511
+ writeValue(value: number): void;
512
+ registerOnChange(fn: (value: number) => void): void;
513
+ registerOnTouched(fn: () => void): void;
514
+ setDisabledState(isDisabled: boolean): void;
515
+ onStart(event: MouseEvent | TouchEvent): void;
516
+ onMove(event: MouseEvent | TouchEvent): void;
517
+ onEnd(): void;
518
+ private updateValueFromEvent;
519
+ private getClientX;
520
+ private getClientY;
521
+ private clampAndStep;
522
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngSliderComponent, never>;
523
+ 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>;
524
+ }
525
+
526
+ type TngLoaderType = 'spinner' | 'bar' | 'dots' | 'pulse';
527
+ type TngLoaderSize = 'sm' | 'md' | 'lg' | 'xl';
528
+ type TngLoaderColor = 'primary' | 'secondary' | 'accent' | 'warn';
529
+ declare class TngLoaderComponent {
530
+ type: _angular_core.InputSignal<TngLoaderType>;
531
+ size: _angular_core.InputSignal<TngLoaderSize>;
532
+ duration: _angular_core.InputSignal<string | null>;
533
+ label: _angular_core.InputSignal<string>;
534
+ progress: _angular_core.InputSignal<number | null>;
535
+ fullscreen: _angular_core.InputSignal<boolean>;
536
+ inline: _angular_core.InputSignal<boolean>;
537
+ hidden: _angular_core.InputSignal<boolean>;
538
+ color: _angular_core.InputSignal<TngLoaderColor | null>;
539
+ hostClasses: _angular_core.Signal<string>;
540
+ containerStyles: _angular_core.Signal<Record<string, string>>;
541
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngLoaderComponent, never>;
542
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngLoaderComponent, "tng-loader", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "duration": { "alias": "duration"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "fullscreen": { "alias": "fullscreen"; "required": false; "isSignal": true; }; "inline": { "alias": "inline"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
543
+ }
544
+
545
+ type TngNotificationType = 'success' | 'error' | 'warning' | 'info' | 'default';
546
+ type TngNotificationPosition = 'top-left' | 'top-right' | 'top-center' | 'bottom-left' | 'bottom-right' | 'bottom-center';
547
+ interface TngNotificationConfig {
548
+ id: string;
549
+ message: string;
550
+ type: TngNotificationType;
551
+ duration?: number;
552
+ position?: TngNotificationPosition;
553
+ clipboard?: string;
554
+ closable?: boolean;
555
+ icon?: string;
556
+ pauseOnHover?: boolean;
557
+ }
558
+ type TngNotificationOptions = Omit<TngNotificationConfig, 'id' | 'message' | 'type'> & {
559
+ type?: TngNotificationType;
560
+ };
561
+
562
+ declare class TngNotificationService {
563
+ private notifications;
564
+ private timers;
565
+ private remainingTimes;
566
+ private startTimes;
567
+ readonly activeNotifications: _angular_core.Signal<TngNotificationConfig[]>;
568
+ show(message: string, options?: Partial<TngNotificationConfig>): string;
569
+ success(message: string, options?: TngNotificationOptions): string;
570
+ error(message: string, options?: TngNotificationOptions): string;
571
+ warning(message: string, options?: TngNotificationOptions): string;
572
+ info(message: string, options?: TngNotificationOptions): string;
573
+ remove(id: string): void;
574
+ clear(): void;
575
+ pauseTimer(id: string): void;
576
+ resumeTimer(id: string): void;
577
+ private startTimer;
578
+ private clearTimer;
579
+ private generateId;
580
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngNotificationService, never>;
581
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TngNotificationService>;
582
+ }
583
+
584
+ declare class TngNotificationContainerComponent {
585
+ private service;
586
+ notifications: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
587
+ topLeft: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
588
+ topRight: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
589
+ topCenter: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
590
+ bottomLeft: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
591
+ bottomRight: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
592
+ bottomCenter: _angular_core.Signal<tecnualng.TngNotificationConfig[]>;
593
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngNotificationContainerComponent, never>;
594
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngNotificationContainerComponent, "tng-notification-container", never, {}, {}, never, never, true, never>;
595
+ }
596
+
597
+ declare class TngToastComponent {
598
+ config: _angular_core.InputSignal<TngNotificationConfig>;
599
+ private service;
600
+ onMouseEnter(): void;
601
+ onMouseLeave(): void;
602
+ close(): void;
603
+ showCopiedTooltip: _angular_core.WritableSignal<boolean>;
604
+ copyToClipboard(): void;
605
+ get iconClass(): string;
606
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TngToastComponent, never>;
607
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TngToastComponent, "tng-toast", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
608
+ }
609
+
610
+ export { TecnualDatepickerComponent, TecnualInputComponent, TecnualTableComponent, ThemeService, TngButton, TngCardComponent, TngExpansionPanelComponent, TngFormFieldComponent, TngInputDirective, TngLoaderComponent, TngMenuComponent, TngMenuGroupComponent, TngMenuItemComponent, TngNotificationContainerComponent, TngNotificationService, TngSelectComponent, TngSelectDirective, TngSelectPanelComponent, TngSidebarComponent, TngSliderComponent, TngTabComponent, TngTabsComponent, TngTextareaComponent, TngTextareaDirective, TngToastComponent, TngToolbarComponent, TngTooltipComponent, TngTooltipDirective };
611
+ export type { DateRange, SelectOption, TableColumn, Theme, ThemeName, TngButtonAppearance, TngCardVariant, TngLoaderColor, TngLoaderSize, TngLoaderType, TngNotificationConfig, TngNotificationOptions, TngNotificationPosition, TngNotificationType, TngToolbarColor, TngToolbarPosition, TngToolbarPositionType };