@foxeltech/angular-ui 0.0.10 → 0.0.12

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/fonts.css CHANGED
@@ -122,4 +122,116 @@
122
122
  src: url('./SpaceMono-Regular.ttf') format('truetype');
123
123
  font-weight: normal;
124
124
  font-style: normal;
125
+ }
126
+
127
+ @font-face {
128
+ font-family: 'Roboto';
129
+ src: url('./roboto/Roboto-Thin.ttf') format('truetype');
130
+ font-weight: 100;
131
+ font-style: normal;
132
+ }
133
+
134
+ @font-face {
135
+ font-family: 'Roboto';
136
+ src: url('./roboto/Roboto-ThinItalic.ttf') format('truetype');
137
+ font-weight: 100;
138
+ font-style: italic;
139
+ }
140
+
141
+ @font-face {
142
+ font-family: 'Roboto';
143
+ src: url('./roboto/Roboto-Light.ttf') format('truetype');
144
+ font-weight: 300;
145
+ font-style: normal;
146
+ }
147
+
148
+ @font-face {
149
+ font-family: 'Roboto';
150
+ src: url('./roboto/Roboto-LightItalic.ttf') format('truetype');
151
+ font-weight: 300;
152
+ font-style: italic;
153
+ }
154
+
155
+ @font-face {
156
+ font-family: 'Roboto';
157
+ src: url('./roboto/Roboto-Regular.ttf') format('truetype');
158
+ font-weight: 400;
159
+ font-style: normal;
160
+ }
161
+
162
+ @font-face {
163
+ font-family: 'Roboto';
164
+ src: url('./roboto/Roboto-Italic.ttf') format('truetype');
165
+ font-weight: 400;
166
+ font-style: italic;
167
+ }
168
+
169
+ @font-face {
170
+ font-family: 'Roboto';
171
+ src: url('./roboto/Roboto-Medium.ttf') format('truetype');
172
+ font-weight: 500;
173
+ font-style: normal;
174
+ }
175
+
176
+ @font-face {
177
+ font-family: 'Roboto';
178
+ src: url('./roboto/Roboto-MediumItalic.ttf') format('truetype');
179
+ font-weight: 500;
180
+ font-style: italic;
181
+ }
182
+
183
+ @font-face {
184
+ font-family: 'Roboto';
185
+ src: url('./roboto/Roboto-Bold.ttf') format('truetype');
186
+ font-weight: 700;
187
+ font-style: normal;
188
+ }
189
+
190
+ @font-face {
191
+ font-family: 'Roboto';
192
+ src: url('./roboto/Roboto-BoldItalic.ttf') format('truetype');
193
+ font-weight: 700;
194
+ font-style: italic;
195
+ }
196
+
197
+ @font-face {
198
+ font-family: 'Roboto';
199
+ src: url('./roboto/Roboto-Black.ttf') format('truetype');
200
+ font-weight: 900;
201
+ font-style: normal;
202
+ }
203
+
204
+ @font-face {
205
+ font-family: 'Roboto';
206
+ src: url('./roboto/Roboto-BlackItalic.ttf') format('truetype');
207
+ font-weight: 900;
208
+ font-style: italic;
209
+ }
210
+
211
+ @font-face {
212
+ font-family: 'Roboto Condensed';
213
+ src: url('./roboto/Roboto-Condensed.ttf') format('truetype');
214
+ font-weight: 400;
215
+ font-style: normal;
216
+ }
217
+
218
+ @font-face {
219
+ font-family: 'Roboto Condensed';
220
+ src: url('./roboto/Roboto-CondensedItalic.ttf') format('truetype');
221
+ font-weight: 400;
222
+ font-style: italic;
223
+ }
224
+
225
+ @font-face {
226
+ font-family: 'Roboto Condensed';
227
+ src: url('./roboto/Roboto-BoldCondensed.ttf') format('truetype');
228
+ font-weight: 700;
229
+ font-style: normal;
230
+ }
231
+
232
+ @font-face {
233
+ font-family: 'Roboto Condensed';
234
+ src: url('./roboto/Roboto-BoldCondensedItalic.ttf') format('truetype');
235
+ font-weight: 700;
236
+ font-style: italic;
125
237
  }
package/index.d.ts CHANGED
@@ -514,6 +514,7 @@ declare class FxComponent<T> implements ControlValueAccessor {
514
514
  declare class InputComponent extends FxComponent<string> implements AfterViewInit {
515
515
  private ref;
516
516
  label: string;
517
+ tooltip: string;
517
518
  type: string;
518
519
  placeholder: string;
519
520
  errorMessages: {
@@ -540,12 +541,13 @@ declare class InputComponent extends FxComponent<string> implements AfterViewIni
540
541
  onSuffixClick(): void;
541
542
  get displayType(): string;
542
543
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
543
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "fx-ui-input", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "class": { "alias": "class"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; }, { "blurred": "blurred"; "focused": "focused"; "suffixClick": "suffixClick"; }, never, never, false, never>;
544
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "fx-ui-input", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "type": { "alias": "type"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "class": { "alias": "class"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; }, { "blurred": "blurred"; "focused": "focused"; "suffixClick": "suffixClick"; }, never, never, false, never>;
544
545
  }
545
546
 
546
547
  declare class SelectComponent extends FxComponent<string | string[]> implements AfterViewInit, OnInit {
547
548
  private ref;
548
549
  label: string;
550
+ tooltip: string;
549
551
  placeholder: string;
550
552
  options: {
551
553
  label: string;
@@ -580,22 +582,25 @@ declare class SelectComponent extends FxComponent<string | string[]> implements
580
582
  onSelectionChange(value: any): void;
581
583
  isSelected(value: string): boolean;
582
584
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectComponent, never>;
583
- static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "fx-ui-select", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; }; "class": { "alias": "class"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; }, { "closed": "closed"; }, never, never, false, never>;
585
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectComponent, "fx-ui-select", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "required": { "alias": "required"; "required": false; }; "class": { "alias": "class"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; }, { "closed": "closed"; }, never, never, false, never>;
584
586
  }
585
587
 
586
588
  interface IRadioButton {
587
589
  label: string;
588
590
  value: any;
589
591
  description?: string;
592
+ tooltip?: string;
590
593
  }
591
594
  declare class RadioButtonComponent extends FxComponent<IRadioButton> implements AfterViewInit {
592
595
  private ref;
593
596
  label?: string;
597
+ tooltip: string;
594
598
  required?: boolean;
595
599
  options: {
596
600
  label: string;
597
601
  value: any;
598
602
  icon?: any;
603
+ tooltip?: string;
599
604
  }[];
600
605
  disabled: boolean;
601
606
  errorMessages: ErrorMessages;
@@ -605,7 +610,7 @@ declare class RadioButtonComponent extends FxComponent<IRadioButton> implements
605
610
  setDisabledState?(isDisabled: boolean): void;
606
611
  onSelectValue(value: any): void;
607
612
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
608
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "fx-ui-radio", never, { "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, false, never>;
613
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioButtonComponent, "fx-ui-radio", never, { "label": { "alias": "label"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "required": { "alias": "required"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "errorMessages": { "alias": "errorMessages"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, never, false, never>;
609
614
  }
610
615
 
611
616
  declare class CheckboxComponent extends FxComponent<any> implements AfterViewInit {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxeltech/angular-ui",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "license": "MIT",
5
5
  "main": "bundles/ui.umd.js",
6
6
  "module": "fesm2022/foxeltech-angular-ui.mjs",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -97,7 +97,7 @@
97
97
  padding-top: 4px !important;
98
98
  padding-bottom: 4px !important;
99
99
  line-height: 24px !important;
100
- font-family: 'DMSans';
100
+ font-family: 'Roboto';
101
101
  }
102
102
 
103
103
  .mdc-data-table__row {
@@ -108,7 +108,7 @@
108
108
  .mdc-data-table__cell {
109
109
  border-left: 1px solid rgb(var(--border-default)) !important;
110
110
  background-color: rgb(var(--bg-primary)) !important;
111
- font-family: 'DMSans';
111
+ font-family: 'Roboto';
112
112
  }
113
113
 
114
114
  .mat-mdc-cell {
@@ -185,7 +185,7 @@ input[type='password'] {
185
185
  @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
186
186
  }
187
187
  .txt-heading-table {
188
- @apply text-base font-dmsans font-semibold text-text-primary tracking-tight;
188
+ @apply text-base font-roboto font-semibold text-text-primary tracking-tight;
189
189
  }
190
190
  .txt-heading-compact-02 {
191
191
  @apply font-semibold text-sm tracking-normal leading-5 text-text-primary;
@@ -122,4 +122,116 @@
122
122
  src: url('./SpaceMono-Regular.ttf') format('truetype');
123
123
  font-weight: normal;
124
124
  font-style: normal;
125
+ }
126
+
127
+ @font-face {
128
+ font-family: 'Roboto';
129
+ src: url('./roboto/Roboto-Thin.ttf') format('truetype');
130
+ font-weight: 100;
131
+ font-style: normal;
132
+ }
133
+
134
+ @font-face {
135
+ font-family: 'Roboto';
136
+ src: url('./roboto/Roboto-ThinItalic.ttf') format('truetype');
137
+ font-weight: 100;
138
+ font-style: italic;
139
+ }
140
+
141
+ @font-face {
142
+ font-family: 'Roboto';
143
+ src: url('./roboto/Roboto-Light.ttf') format('truetype');
144
+ font-weight: 300;
145
+ font-style: normal;
146
+ }
147
+
148
+ @font-face {
149
+ font-family: 'Roboto';
150
+ src: url('./roboto/Roboto-LightItalic.ttf') format('truetype');
151
+ font-weight: 300;
152
+ font-style: italic;
153
+ }
154
+
155
+ @font-face {
156
+ font-family: 'Roboto';
157
+ src: url('./roboto/Roboto-Regular.ttf') format('truetype');
158
+ font-weight: 400;
159
+ font-style: normal;
160
+ }
161
+
162
+ @font-face {
163
+ font-family: 'Roboto';
164
+ src: url('./roboto/Roboto-Italic.ttf') format('truetype');
165
+ font-weight: 400;
166
+ font-style: italic;
167
+ }
168
+
169
+ @font-face {
170
+ font-family: 'Roboto';
171
+ src: url('./roboto/Roboto-Medium.ttf') format('truetype');
172
+ font-weight: 500;
173
+ font-style: normal;
174
+ }
175
+
176
+ @font-face {
177
+ font-family: 'Roboto';
178
+ src: url('./roboto/Roboto-MediumItalic.ttf') format('truetype');
179
+ font-weight: 500;
180
+ font-style: italic;
181
+ }
182
+
183
+ @font-face {
184
+ font-family: 'Roboto';
185
+ src: url('./roboto/Roboto-Bold.ttf') format('truetype');
186
+ font-weight: 700;
187
+ font-style: normal;
188
+ }
189
+
190
+ @font-face {
191
+ font-family: 'Roboto';
192
+ src: url('./roboto/Roboto-BoldItalic.ttf') format('truetype');
193
+ font-weight: 700;
194
+ font-style: italic;
195
+ }
196
+
197
+ @font-face {
198
+ font-family: 'Roboto';
199
+ src: url('./roboto/Roboto-Black.ttf') format('truetype');
200
+ font-weight: 900;
201
+ font-style: normal;
202
+ }
203
+
204
+ @font-face {
205
+ font-family: 'Roboto';
206
+ src: url('./roboto/Roboto-BlackItalic.ttf') format('truetype');
207
+ font-weight: 900;
208
+ font-style: italic;
209
+ }
210
+
211
+ @font-face {
212
+ font-family: 'Roboto Condensed';
213
+ src: url('./roboto/Roboto-Condensed.ttf') format('truetype');
214
+ font-weight: 400;
215
+ font-style: normal;
216
+ }
217
+
218
+ @font-face {
219
+ font-family: 'Roboto Condensed';
220
+ src: url('./roboto/Roboto-CondensedItalic.ttf') format('truetype');
221
+ font-weight: 400;
222
+ font-style: italic;
223
+ }
224
+
225
+ @font-face {
226
+ font-family: 'Roboto Condensed';
227
+ src: url('./roboto/Roboto-BoldCondensed.ttf') format('truetype');
228
+ font-weight: 700;
229
+ font-style: normal;
230
+ }
231
+
232
+ @font-face {
233
+ font-family: 'Roboto Condensed';
234
+ src: url('./roboto/Roboto-BoldCondensedItalic.ttf') format('truetype');
235
+ font-weight: 700;
236
+ font-style: italic;
125
237
  }
@@ -9,7 +9,7 @@
9
9
  @tailwind utilities;
10
10
 
11
11
  html, body {
12
- font-family: 'DMSans';
12
+ font-family: 'Roboto';
13
13
  margin: 0;
14
14
  padding: 0;
15
15
  height: 100%;
@@ -5,6 +5,16 @@
5
5
  @if (required) {
6
6
  <span class="txt-required">*</span>
7
7
  }
8
+ @if (tooltip) {
9
+ <fx-ui-hero-icon
10
+ icon="information-circle"
11
+ [size]="16"
12
+ class="inline-block align-middle ml-0.5 text-text-secondary cursor-help relative -top-px"
13
+ [matTooltip]="tooltip"
14
+ matTooltipPosition="above"
15
+ matTooltipClass="text-text-primary text-xs font-semibold"
16
+ ></fx-ui-hero-icon>
17
+ }
8
18
  </label>
9
19
  }
10
20
 
@@ -1,9 +1,22 @@
1
1
  <div class="w-full rounded-lg overflow-hidden" [class]="class" role="radiogroup">
2
- @if (label){
3
- <label class="txt-field-label">
4
- {{ label }}
5
- @if(required){<span class="txt-required">*</span>} </label
6
- >}
2
+ @if (label) {
3
+ <label class="txt-field-label">
4
+ {{ label }}
5
+ @if (required) {
6
+ <span class="txt-required">*</span>
7
+ }
8
+ @if (tooltip) {
9
+ <fx-ui-hero-icon
10
+ icon="information-circle"
11
+ [size]="16"
12
+ class="inline-block align-middle ml-0.5 text-text-secondary cursor-help relative -top-px"
13
+ [matTooltip]="tooltip"
14
+ matTooltipPosition="above"
15
+ matTooltipClass="text-text-primary text-xs font-semibold"
16
+ ></fx-ui-hero-icon>
17
+ }
18
+ </label>
19
+ }
7
20
 
8
21
  <button
9
22
  *ngFor="let opt of options"
@@ -14,22 +27,27 @@
14
27
  [disabled]="disabled"
15
28
  [class.text-gray-900]="value !== opt.value"
16
29
  class="flex-1 px-normal w-full flex items-center gap-normal h-10 rounded-md hover:bg-bg-hover transition-all duration-150 disabled:opacity-60 disabled:cursor-not-allowed"
30
+ [matTooltip]="opt.tooltip || ''"
31
+ matTooltipPosition="right"
32
+ matTooltipClass="text-text-primary text-xs font-semibold"
17
33
  >
18
34
  <span
19
35
  [ngClass]="{
20
36
  'radio-checked': value === opt.value,
21
- 'radio-uncheck': value !== opt.value
37
+ 'radio-uncheck': value !== opt.value,
22
38
  }"
23
39
  class="radio-container"
24
40
  >
25
- @if(value === opt.value) {<span class="radio-dot"></span>}
41
+ @if (value === opt.value) {
42
+ <span class="radio-dot"></span>
43
+ }
26
44
  </span>
27
45
 
28
46
  <span class="txt-default mb-0">{{ opt.label }}</span>
29
47
  </button>
30
- @if (invalid){
31
- <div class="txt-invalid">
32
- {{ getErrorMessage(label) }}
33
- </div>
48
+ @if (invalid) {
49
+ <div class="txt-invalid">
50
+ {{ getErrorMessage(label) }}
51
+ </div>
34
52
  }
35
53
  </div>
@@ -5,6 +5,16 @@
5
5
  @if (required) {
6
6
  <span class="txt-required">*</span>
7
7
  }
8
+ @if (tooltip) {
9
+ <fx-ui-hero-icon
10
+ icon="information-circle"
11
+ [size]="16"
12
+ class="inline-block align-middle ml-0.5 text-text-secondary cursor-help relative -top-px"
13
+ [matTooltip]="tooltip"
14
+ matTooltipPosition="above"
15
+ matTooltipClass="text-text-primary text-xs font-semibold"
16
+ ></fx-ui-hero-icon>
17
+ }
8
18
  </label>
9
19
  }
10
20
 
@@ -44,10 +44,10 @@ module.exports = {
44
44
  'linear-gradient(135deg, rgb(var(--gradient-primary-start)) 0%, rgb(var(--gradient-primary-end)) 100%)',
45
45
  },
46
46
  screens: {
47
- sm: '640px',
48
- md: '960px',
49
- lg: '1280px',
50
- xl: '2560px'
47
+ sm: '480px',
48
+ md: '720px',
49
+ lg: '1080px',
50
+ xl: '1920px'
51
51
  },
52
52
  boxShadow: {
53
53
  sm: '0 1px 2px 0 rgb(var(--shadow-color) / 0.05)',
@@ -72,6 +72,7 @@ module.exports = {
72
72
  dmsans: ['DMSans', 'sans-serif'],
73
73
  orbitron: ['Orbitron', 'sans-serif'],
74
74
  bevn: ['BeVietnamPro', 'sans-serif'],
75
+ roboto: ['Roboto', 'sans-serif'],
75
76
  },
76
77
  fontSize: {
77
78
  xs: '0.75rem',
package/tailwind.css CHANGED
@@ -9,7 +9,7 @@
9
9
  @tailwind utilities;
10
10
 
11
11
  html, body {
12
- font-family: 'DMSans';
12
+ font-family: 'Roboto';
13
13
  margin: 0;
14
14
  padding: 0;
15
15
  height: 100%;