@iamgld/ui 1.19.10 → 1.20.2

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.
@@ -1,3 +1,4 @@
1
+ import { ElementRef } from '@angular/core';
1
2
  import { Icons } from '../../../models';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class DropdownButtonComponent {
@@ -13,6 +14,7 @@ export declare class DropdownButtonComponent {
13
14
  disabled: import("@angular/core").WritableSignal<boolean>;
14
15
  error: import("@angular/core").WritableSignal<boolean>;
15
16
  selected: import("@angular/core").Signal<boolean>;
17
+ buttonChild: import("@angular/core").Signal<ElementRef<any> | undefined>;
16
18
  select(value: unknown): void;
17
19
  keyup(value: unknown): void;
18
20
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownButtonComponent, never>;
@@ -16,6 +16,7 @@ export declare class DropdownMenuComponent implements AfterContentInit {
16
16
  full: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
17
17
  direction: import("@angular/core").InputSignal<"left" | "right">;
18
18
  background: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
19
+ selected: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
19
20
  initialValue: import("@angular/core").InputSignal<unknown>;
20
21
  changeValue: import("@angular/core").OutputEmitterRef<unknown>;
21
22
  changeFocus: import("@angular/core").OutputEmitterRef<boolean>;
@@ -25,5 +26,5 @@ export declare class DropdownMenuComponent implements AfterContentInit {
25
26
  updateCurrentInChildren(value: unknown): void;
26
27
  updateErrorInChildren(error: boolean): void;
27
28
  static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenuComponent, "gld-dropdown-menu", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "moveTopToBottom": { "alias": "moveTopToBottom"; "required": false; "isSignal": true; }; "moveLeftToRight": { "alias": "moveLeftToRight"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "full": { "alias": "full"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "initialValue": { "alias": "initialValue"; "required": false; "isSignal": true; }; }, { "changeValue": "changeValue"; "changeFocus": "changeFocus"; }, ["dropdownButtonChildren"], ["*", "gld-dropdown-button"], true, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenuComponent, "gld-dropdown-menu", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "type": { "alias": "type"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "moveTopToBottom": { "alias": "moveTopToBottom"; "required": false; "isSignal": true; }; "moveLeftToRight": { "alias": "moveLeftToRight"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "full": { "alias": "full"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "initialValue": { "alias": "initialValue"; "required": false; "isSignal": true; }; }, { "changeValue": "changeValue"; "changeFocus": "changeFocus"; }, ["dropdownButtonChildren"], ["*", "gld-dropdown-button"], true, never>;
29
30
  }
@@ -1,6 +1,6 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor, FormControl } from '@angular/forms';
3
- import { InputType } from '../../../models/controls';
3
+ import { InputType } from '../../../models';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TextareaComponent implements ControlValueAccessor, OnInit {
6
6
  #private;
@@ -1,20 +1,23 @@
1
- export * from './icon/icon.component';
2
- export * from './image/image.component';
3
- export * from './loaders/loader/loader.component';
4
- export * from './buttons/button/button.component';
5
- export * from './buttons/link/link.component';
6
- export * from './buttons/icon-button/icon-button.component';
7
- export * from './buttons/dropdown-menu/dropdown-menu.component';
8
- export * from './buttons/dropdown-button/dropdown-button.component';
9
- export * from './buttons/toggle-group/toggle-group.component';
10
- export * from './buttons/toggle-button/toggle-button.component';
11
- export * from './controls/input-date/input-date.component';
12
- export * from './controls/input-error/input-error.component';
13
- export * from './controls/input-hint/input-hint.component';
14
- export * from './controls/input/input.component';
15
- export * from './controls/radio-button/radio-button.component';
16
- export * from './controls/radio-group/radio-group.component';
17
- export * from './controls/select-option/select-option.component';
18
- export * from './controls/select/select.component';
19
- export * from './controls/textarea/textarea.component';
20
- export * from './tile/tile.component';
1
+ export { IconComponent } from './icon/icon.component';
2
+ export { ButtonComponent } from './buttons/button/button.component';
3
+ export { IconButtonComponent } from './buttons/icon-button/icon-button.component';
4
+ export { LinkComponent } from './buttons/link/link.component';
5
+ export { DropdownButtonComponent } from './buttons/dropdown-button/dropdown-button.component';
6
+ export { DropdownMenuComponent } from './buttons/dropdown-menu/dropdown-menu.component';
7
+ export { ToggleButtonComponent } from './buttons/toggle-button/toggle-button.component';
8
+ export { ToggleGroupComponent } from './buttons/toggle-group/toggle-group.component';
9
+ export { InputComponent } from './controls/input/input.component';
10
+ export { InputDateComponent } from './controls/input-date/input-date.component';
11
+ export { InputHintComponent } from './controls/input-hint/input-hint.component';
12
+ export { InputErrorComponent } from './controls/input-error/input-error.component';
13
+ export { TextareaComponent } from './controls/textarea/textarea.component';
14
+ export { RadioButtonComponent } from './controls/radio-button/radio-button.component';
15
+ export { RadioGroupComponent } from './controls/radio-group/radio-group.component';
16
+ export { SelectOptionComponent } from './controls/select-option/select-option.component';
17
+ export { SelectComponent } from './controls/select/select.component';
18
+ export { ImageComponent } from './image/image.component';
19
+ export { LoaderComponent } from './loaders/loader/loader.component';
20
+ export { TablePaginationComponent } from './tables/table-pagination/table-pagination.component';
21
+ export { TableSearchComponent } from './tables/table-search/table-search.component';
22
+ export { TableComponent } from './tables/table/table.component';
23
+ export { TileComponent } from './tile/tile.component';
@@ -0,0 +1,43 @@
1
+ import { Icons, TableColumn, TableColumnAction, TableColumnActionOutput, TableColumnToTableColumns } from '../../../models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TableComponent {
4
+ #private;
5
+ readonly Icons: typeof Icons;
6
+ tableColumns: import("@angular/core").InputSignal<TableColumn[]>;
7
+ emptyMessage: import("@angular/core").InputSignal<string>;
8
+ tableHeight: import("@angular/core").InputSignal<string>;
9
+ loading: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
10
+ selects: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
11
+ selectsAll: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
12
+ search: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
13
+ pagination: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
14
+ tableColumnAction: import("@angular/core").OutputEmitterRef<TableColumnActionOutput>;
15
+ tableColumnsToShow: import("@angular/core").Signal<TableColumn[]>;
16
+ tableColumnActions: import("@angular/core").WritableSignal<TableColumnAction[]>;
17
+ constructor();
18
+ tableActionFunction({ tableColumnActionAsEvent, tableColumns, index }: TableActionFunction): void;
19
+ changeValue(event: unknown): void;
20
+ buildTableColumns<T>({ tableColumnStructures, tableColumnActions, dataStructures, }: TableColumnToTableColumns): TableColumn[];
21
+ buildDataStructure({ index }: {
22
+ index: number;
23
+ }): {
24
+ name?: string | undefined;
25
+ label?: string | undefined;
26
+ width?: string | undefined;
27
+ minWidth?: string | undefined;
28
+ maxWidth?: string | undefined;
29
+ template?: import("@angular/core").TemplateRef<unknown> | undefined;
30
+ justify?: "left" | "right" | "center" | undefined;
31
+ hide?: boolean | undefined;
32
+ transform?: ((value: unknown) => string | number) | undefined;
33
+ values?: unknown[] | undefined;
34
+ };
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "gld-table", never, { "tableColumns": { "alias": "tableColumns"; "required": true; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "tableHeight": { "alias": "tableHeight"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "selects": { "alias": "selects"; "required": false; "isSignal": true; }; "selectsAll": { "alias": "selectsAll"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "pagination": { "alias": "pagination"; "required": false; "isSignal": true; }; }, { "tableColumnAction": "tableColumnAction"; }, never, ["gld-table-search", "gld-table-pagination"], true, never>;
37
+ }
38
+ interface TableActionFunction {
39
+ tableColumnActionAsEvent: unknown;
40
+ tableColumns: TableColumn[];
41
+ index: number;
42
+ }
43
+ export {};
@@ -0,0 +1,16 @@
1
+ import { Icons, TablePagination } from '../../../models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TablePaginationComponent {
4
+ readonly Icons: typeof Icons;
5
+ pagination: import("@angular/core").InputSignal<TablePagination>;
6
+ page: import("@angular/core").OutputEmitterRef<number>;
7
+ changeToNext: import("@angular/core").OutputEmitterRef<number>;
8
+ changeToPrevious: import("@angular/core").OutputEmitterRef<number>;
9
+ currentPage: import("@angular/core").WritableSignal<number>;
10
+ maxPages: import("@angular/core").Signal<number>;
11
+ constructor();
12
+ nextPage(): void;
13
+ previousPage(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TablePaginationComponent, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<TablePaginationComponent, "gld-table-pagination", never, { "pagination": { "alias": "pagination"; "required": true; "isSignal": true; }; }, { "page": "page"; "changeToNext": "changeToNext"; "changeToPrevious": "changeToPrevious"; }, never, never, true, never>;
16
+ }
@@ -0,0 +1,14 @@
1
+ import { Icons, TableSearchOutput } from '../../../models';
2
+ import * as i0 from "@angular/core";
3
+ export declare class TableSearchComponent {
4
+ #private;
5
+ readonly Icons: typeof Icons;
6
+ placeholder: import("@angular/core").InputSignal<string>;
7
+ width: import("@angular/core").InputSignal<string>;
8
+ debounceTime: import("@angular/core").InputSignal<number>;
9
+ searching: import("@angular/core").OutputEmitterRef<TableSearchOutput>;
10
+ control: import("@angular/forms").FormControl<string | null>;
11
+ constructor();
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableSearchComponent, never>;
13
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableSearchComponent, "gld-table-search", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; }, { "searching": "searching"; }, never, never, true, never>;
14
+ }
@@ -1,2 +1,2 @@
1
- export * from './dropdown-menu-template/dropdown-menu-template.directive';
2
- export * from './input-error-message/input-error-message.directive';
1
+ export { DropdownMenuTemplateDirective } from './dropdown-menu-template/dropdown-menu-template.directive';
2
+ export { InputErrorMessageDirective } from './input-error-message/input-error-message.directive';
@@ -30,7 +30,10 @@ export declare enum Icons {
30
30
  gitRepositoryPrivateLine = "ri-git-repository-private-line",
31
31
  starLine = "ri-star-line",
32
32
  calendar2Line = "ri-calendar-2-line",
33
- macLine = "ri-mac-line"
33
+ macLine = "ri-mac-line",
34
+ more2Fill = "ri-more-2-fill",
35
+ editLine = "ri-edit-line",
36
+ deleteBinLine = "ri-delete-bin-line"
34
37
  }
35
38
  export declare enum IconsSize {
36
39
  tiny = "tiny",
@@ -1,8 +1,9 @@
1
- export * from './buttons/button.model';
2
- export * from './buttons/link.model';
3
- export * from './buttons/dropdown.model';
4
- export * from './controls/input.model';
5
- export * from './controls/radio.model';
6
- export * from './controls/select.model';
7
- export * from './icon/icon.model';
8
- export * from './tiles/tile.model';
1
+ export { ButtonColor, ButtonSize } from './buttons/button.model';
2
+ export { DropdownType, DropdownDirection } from './buttons/dropdown.model';
3
+ export { LinkType, LinkAlign } from './buttons/link.model';
4
+ export type { InputType, InputValue } from './controls/input.model';
5
+ export { RadioDirection } from './controls/radio.model';
6
+ export { SelectType } from './controls/select.model';
7
+ export { Icons, IconsSize, IconsSpace } from './icon/icon.model';
8
+ export { type TableColumn, type TableColumnStructure, type TableColumnToTableColumns, type TableColumnAction, type TableColumnActionOutput, type TableSearchOutput, type TablePagination, TableColumnActionType, TableSearchAction } from './tables/table.model';
9
+ export { TileColor, TilePaddingSize } from './tiles/tile.model';
@@ -0,0 +1,59 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { Icons } from '../icon/icon.model';
3
+ export interface TableColumn {
4
+ name: string;
5
+ label: string;
6
+ width: string;
7
+ minWidth: string;
8
+ maxWidth: string;
9
+ template: TemplateRef<unknown> | undefined;
10
+ justify: 'left' | 'center' | 'right';
11
+ hide: boolean;
12
+ transform: (value: unknown) => string | number;
13
+ values: unknown[];
14
+ }
15
+ export interface TableColumnStructure {
16
+ name: string;
17
+ label: string;
18
+ width?: string;
19
+ minWidth?: string;
20
+ maxWidth?: string;
21
+ template?: TemplateRef<unknown>;
22
+ justify?: 'left' | 'center' | 'right';
23
+ hide?: boolean;
24
+ transform?: (value: unknown) => string | number;
25
+ }
26
+ export interface TableColumnToTableColumns {
27
+ tableColumnStructures: TableColumnStructure[];
28
+ tableColumnActions: TableColumnAction[];
29
+ dataStructures: unknown[];
30
+ }
31
+ export interface TableColumnAction {
32
+ label: string;
33
+ icon: Icons;
34
+ type: TableColumnActionType;
35
+ showWhen: (dataStructure: unknown) => boolean;
36
+ }
37
+ export declare enum TableColumnActionType {
38
+ show = "show",
39
+ open = "open",
40
+ update = "update",
41
+ delete = "delete"
42
+ }
43
+ export interface TableColumnActionOutput {
44
+ tableColumnAction: TableColumnAction;
45
+ object: unknown;
46
+ }
47
+ export interface TableSearchOutput {
48
+ action: TableSearchAction;
49
+ searching: string;
50
+ }
51
+ export declare enum TableSearchAction {
52
+ searching = "searching",
53
+ cleared = "cleared"
54
+ }
55
+ export interface TablePagination {
56
+ itemsPerPage: number;
57
+ initialPage: number;
58
+ maxItems: number;
59
+ }
@@ -1,4 +1,5 @@
1
1
  export declare function formatDateToISO(outerDate: string | Date): string | null;
2
+ export declare function formatDateFromISOToDDMMYYYY(dateAsString: string): string | null;
2
3
  export declare function formatDateFromISOToYYYYMMDD(dateAsString: string | null): string | null;
3
4
  export declare function getDateWithOffsetInYears({ years }: {
4
5
  years: number;
@@ -1,2 +1,2 @@
1
- export * from './date/date.util';
2
- export * from './string/string.util';
1
+ export { formatDateToISO, formatDateFromISOToDDMMYYYY, formatDateFromISOToYYYYMMDD, getDateWithOffsetInYears } from './date/date.util';
2
+ export { capitalizeFirstLetter } from './string/string.util';
@@ -1,9 +1,9 @@
1
- export * from './is-date/is-date.validator';
2
- export * from './is-document/is-document.validator';
3
- export * from './is-email/is-email.validator';
4
- export * from './is-form-select-item/is-form-select-item.validator';
5
- export * from './is-license-plate/is-license-plate.validator';
6
- export * from './is-natural-number/is-natural-number.validator';
7
- export * from './minimum-age/minimum-age.validator';
8
- export * from './must-match/must-match.validator';
9
- export * from './must-unmatch/must-unmatch.validator';
1
+ export { isDateValidator } from './is-date/is-date.validator';
2
+ export { isDocumentValidator } from './is-document/is-document.validator';
3
+ export { isEmailValidator } from './is-email/is-email.validator';
4
+ export { isFormSelectItemValidator } from './is-form-select-item/is-form-select-item.validator';
5
+ export { isLicensePlateValidator } from './is-license-plate/is-license-plate.validator';
6
+ export { isNaturalNumberValidator } from './is-natural-number/is-natural-number.validator';
7
+ export { minimumAgeValidator } from './minimum-age/minimum-age.validator';
8
+ export { mustMatchValidator } from './must-match/must-match.validator';
9
+ export { mustUnmatchValidator } from './must-unmatch/must-unmatch.validator';
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@iamgld/ui",
3
- "version": "1.19.10",
3
+ "version": "1.20.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "peerDependencies": {
8
- "@angular/common": "19.1.5",
9
- "@angular/core": "19.1.5"
8
+ "@angular/common": "19.1.7",
9
+ "@angular/core": "19.1.7"
10
10
  },
11
11
  "dependencies": {
12
12
  "tslib": "2.8.1"
@@ -115,7 +115,7 @@
115
115
  --gld-darkblue-transparent--010: #{rgba(#101827, 0.1)};
116
116
 
117
117
  // Borders
118
- --gld-border-size: 1px;
118
+ --gld-border-size: 2px;
119
119
 
120
120
  // Animations
121
121
  --gld-animation-time--150: 150ms;
@@ -90,25 +90,38 @@
90
90
  @mixin scrollbar {
91
91
  // Chrome, Edge y Safari.
92
92
  &::-webkit-scrollbar {
93
- width: var(--spacing--xxs);
94
- height: var(--spacing--xxs);
93
+ width: var(--gld-spacing--xxs);
94
+ height: var(--gld-spacing--xxs);
95
95
  }
96
96
 
97
97
  &::-webkit-scrollbar-track {
98
- background-color: transparent; // color of the tracking area
98
+ background: transparent; // color of the tracking area
99
99
  }
100
100
 
101
101
  &::-webkit-scrollbar-thumb {
102
- background-color: var(--green); // color of the scroll thumb
103
- border-radius: var(--radius--s); // roundness of the scroll thumb
102
+ background: light-dark(
103
+ var(--gray-transparent--040),
104
+ var(--gray-transparent--020)
105
+ ); // color of the scroll thumb
106
+ will-change: background;
107
+ transition: background var(--gld-animation-time--150) ease;
108
+ border-radius: var(--gld-radius--s); // roundness of the scroll thumb
104
109
  // border: 2px solid Palette(Primary); // creates padding around scroll thumb
110
+
111
+ &:hover {
112
+ background: light-dark(
113
+ var(--gray-transparent--060),
114
+ var(--gray-transparent--040)
115
+ ); // color of the scroll thumb on hover
116
+ }
105
117
  }
106
118
 
119
+ // Firefox
107
120
  overflow: auto;
108
121
  scrollbar-width: thin;
109
-
110
122
  // color of the scroll thumb, color of the tracking area
111
- scrollbar-color: var(--green) transparent;
123
+ scrollbar-color: light-dark(var(--gray-transparent--040), var(--gray-transparent--020))
124
+ transparent;
112
125
  scroll-behavior: smooth;
113
126
  }
114
127
 
@@ -1,3 +0,0 @@
1
- export * from './select.model';
2
- export * from './radio.model';
3
- export * from './input.model';