@foxeltech/angular-ui 0.0.14 → 0.3.0
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/BeVietnamPro/BeVietnamPro-Bold.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-ExtraLight.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-Light.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-Medium.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-Regular.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-SemiBold.woff2 +0 -0
- package/BeVietnamPro/BeVietnamPro-Thin.woff2 +0 -0
- package/SpaceMono-Regular.woff2 +0 -0
- package/components.css +7 -17
- package/dm-sans/DMSans-Bold.woff2 +0 -0
- package/dm-sans/DMSans-Light.woff2 +0 -0
- package/dm-sans/DMSans-Medium.woff2 +0 -0
- package/dm-sans/DMSans-Regular.woff2 +0 -0
- package/dm-sans/DMSans-SemiBold.woff2 +0 -0
- package/dm-sans/DMSans-Thin.woff2 +0 -0
- package/fesm2022/foxeltech-angular-ui.mjs +1349 -285
- package/fesm2022/foxeltech-angular-ui.mjs.map +1 -1
- package/fonts.css +68 -34
- package/index.d.ts +624 -139
- package/orbitron/Orbitron-Bold.woff2 +0 -0
- package/orbitron/Orbitron-Medium.woff2 +0 -0
- package/orbitron/Orbitron-Regular.woff2 +0 -0
- package/orbitron/Orbitron-SemiBold.woff2 +0 -0
- package/package.json +9 -10
- package/roboto/Roboto-Black.woff2 +0 -0
- package/roboto/Roboto-BlackItalic.woff2 +0 -0
- package/roboto/Roboto-Bold.woff2 +0 -0
- package/roboto/Roboto-BoldCondensed.woff2 +0 -0
- package/roboto/Roboto-BoldCondensedItalic.woff2 +0 -0
- package/roboto/Roboto-BoldItalic.woff2 +0 -0
- package/roboto/Roboto-Condensed.woff2 +0 -0
- package/roboto/Roboto-CondensedItalic.woff2 +0 -0
- package/roboto/Roboto-Italic.woff2 +0 -0
- package/roboto/Roboto-Light.woff2 +0 -0
- package/roboto/Roboto-LightItalic.woff2 +0 -0
- package/roboto/Roboto-Medium.woff2 +0 -0
- package/roboto/Roboto-MediumItalic.woff2 +0 -0
- package/roboto/Roboto-Regular.woff2 +0 -0
- package/roboto/Roboto-Thin.woff2 +0 -0
- package/roboto/Roboto-ThinItalic.woff2 +0 -0
- package/src/lib/styles/components.css +7 -17
- package/src/lib/styles/fonts.css +68 -34
- package/src/lib/styles/tailwind.css +11 -8
- package/src/lib/styles/tokens.css +131 -0
- package/src/lib/styles/utilities.css +24 -0
- package/src/lib/ui/components/button/button.component.html +4 -1
- package/src/lib/ui/components/button/button.component.scss +0 -0
- package/src/lib/ui/components/chart/chart.component.scss +49 -0
- package/src/lib/ui/components/checkbox/checkbox.component.html +3 -2
- package/src/lib/ui/components/checkbox/checkbox.component.scss +0 -0
- package/src/lib/ui/components/circle-progress-bar/circle-progress-bar.component.scss +0 -0
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.html +3 -2
- package/src/lib/ui/components/datetime-picker/datetime-picker.component.scss +147 -0
- package/src/lib/ui/components/dnd-upload/dnd-upload.component.scss +87 -0
- package/src/lib/ui/components/drawer/drawer.component.html +3 -0
- package/src/lib/ui/components/drawer/drawer.component.scss +134 -0
- package/src/lib/ui/components/empty-state/empty-state.component.html +9 -0
- package/src/lib/ui/components/filter-chips/filter-chips.component.html +12 -0
- package/src/lib/ui/components/flow-connection/flow-connection.component.scss +0 -0
- package/src/lib/ui/components/hero-icon/hero-icon.component.scss +0 -0
- package/src/lib/ui/components/info-field/info-field.component.html +4 -0
- package/src/lib/ui/components/input/input.component.html +15 -3
- package/src/lib/ui/components/kanban-board/kanban-board.component.scss +70 -0
- package/src/lib/ui/components/loading-panel/loading-panel.component.scss +0 -0
- package/src/lib/ui/components/master-detail/master-detail.component.css +11 -0
- package/src/lib/ui/components/master-detail/master-detail.component.html +70 -0
- package/src/lib/ui/components/meter/meter.component.html +22 -0
- package/src/lib/ui/components/radio-button/radio-button.component.html +10 -4
- package/src/lib/ui/components/radio-button-toggle/radio-button-toggle.component.html +8 -3
- package/src/lib/ui/components/radio-button-toggle/radio-button-toggle.component.scss +0 -0
- package/src/lib/ui/components/rich-text-area/rich-text-area.component.scss +18 -0
- package/src/lib/ui/components/search-bar/search-bar.component.scss +0 -0
- package/src/lib/ui/components/section-card/section-card.component.html +9 -0
- package/src/lib/ui/components/select/select.component.html +9 -4
- package/src/lib/ui/components/severity-badges/severity-badges.component.html +11 -0
- package/src/lib/ui/components/skeleton-detail/skeleton-detail.component.html +22 -0
- package/src/lib/ui/components/skeleton-list/skeleton-list.component.html +12 -0
- package/src/lib/ui/components/skeleton-table-loading/skeleton-table-loading.component.scss +0 -0
- package/src/lib/ui/components/slider/slider.component.html +3 -0
- package/src/lib/ui/components/slider/slider.component.scss +0 -0
- package/src/lib/ui/components/stat-cards/stat-cards.component.html +18 -0
- package/src/lib/ui/components/switch/switch.component.html +11 -6
- package/src/lib/ui/components/switch/switch.component.scss +0 -0
- package/src/lib/ui/components/tab-component/tab.component.scss +0 -0
- package/src/lib/ui/components/tab-group/tab-group.component.html +15 -1
- package/src/lib/ui/components/tab-group/tab-group.component.scss +51 -0
- package/src/lib/ui/components/table-cell/table-cell.component.scss +0 -0
- package/src/lib/ui/components/tag/tag.component.html +6 -1
- package/src/lib/ui/components/tag/tag.component.scss +0 -0
- package/src/lib/ui/components/toast/toast.component.html +2 -1
- package/src/lib/ui/components/toast/toast.component.scss +0 -0
- package/src/lib/ui/components/toast-container/toast-container.component.scss +0 -0
- package/src/lib/ui/components/tree-diagram/tree-diagram.component.scss +0 -0
- package/src/lib/ui/dialogs/confirmation/confirmation.component.html +1 -1
- package/src/lib/ui/dialogs/confirmation/confirmation.component.scss +0 -0
- package/tailwind.css +11 -8
- package/tokens.css +131 -0
- package/utilities.css +24 -0
- package/BeVietnamPro/BeVietnamPro-Bold.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-ExtraLight.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-Light.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-Medium.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-Regular.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-SemiBold.ttf +0 -0
- package/BeVietnamPro/BeVietnamPro-Thin.ttf +0 -0
- package/SpaceMono-Regular.ttf +0 -0
- package/dm-sans/DMSans-Bold.ttf +0 -0
- package/dm-sans/DMSans-Light.ttf +0 -0
- package/dm-sans/DMSans-Medium.ttf +0 -0
- package/dm-sans/DMSans-Regular.ttf +0 -0
- package/dm-sans/DMSans-SemiBold.ttf +0 -0
- package/dm-sans/DMSans-Thin.ttf +0 -0
- package/orbitron/Orbitron-Bold.ttf +0 -0
- package/orbitron/Orbitron-Medium.ttf +0 -0
- package/orbitron/Orbitron-Regular.ttf +0 -0
- package/orbitron/Orbitron-SemiBold.ttf +0 -0
- package/roboto/Roboto-Black.ttf +0 -0
- package/roboto/Roboto-BlackItalic.ttf +0 -0
- package/roboto/Roboto-Bold.ttf +0 -0
- package/roboto/Roboto-BoldCondensed.ttf +0 -0
- package/roboto/Roboto-BoldCondensedItalic.ttf +0 -0
- package/roboto/Roboto-BoldItalic.ttf +0 -0
- package/roboto/Roboto-Condensed.ttf +0 -0
- package/roboto/Roboto-CondensedItalic.ttf +0 -0
- package/roboto/Roboto-Italic.ttf +0 -0
- package/roboto/Roboto-Light.ttf +0 -0
- package/roboto/Roboto-LightItalic.ttf +0 -0
- package/roboto/Roboto-Medium.ttf +0 -0
- package/roboto/Roboto-MediumItalic.ttf +0 -0
- package/roboto/Roboto-Regular.ttf +0 -0
- package/roboto/Roboto-Thin.ttf +0 -0
- package/roboto/Roboto-ThinItalic.ttf +0 -0
- package/tailwind-config.d.ts +0 -4
- package/tailwind.config.js +0 -95
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foxeltech/angular-ui",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"main": "bundles/ui.umd.js",
|
|
6
|
-
"module": "fesm2022/foxeltech-angular-ui.mjs",
|
|
7
|
-
"es2020": "fesm2020/ui.mjs",
|
|
8
|
-
"typings": "index.d.ts",
|
|
9
5
|
"publishConfig": {
|
|
10
6
|
"access": "public"
|
|
11
7
|
},
|
|
12
8
|
"peerDependencies": {
|
|
13
|
-
"tailwindcss": "^
|
|
14
|
-
"autoprefixer": "^10.0.0",
|
|
15
|
-
"postcss": "^8.0.0",
|
|
9
|
+
"tailwindcss": "^4.0.0",
|
|
16
10
|
"@angular/common": "^20.3.0",
|
|
17
11
|
"@angular/animations": "^20.3.0",
|
|
18
12
|
"@angular/core": "^20.3.0",
|
|
@@ -37,13 +31,14 @@
|
|
|
37
31
|
"@microsoft/signalr": "^10.0.0"
|
|
38
32
|
},
|
|
39
33
|
"exports": {
|
|
40
|
-
"./tailwind-config": "./tailwind.config.js",
|
|
41
34
|
"./tailwind.css": "./tailwind.css",
|
|
42
35
|
"./theme.css": "./theme.css",
|
|
43
36
|
"./components.css": "./components.css",
|
|
44
37
|
"./dialogs.css": "./dialogs.css",
|
|
45
38
|
"./fonts.css": "./fonts.css",
|
|
46
39
|
"./animations.css": "./animations.css",
|
|
40
|
+
"./tokens.css": "./tokens.css",
|
|
41
|
+
"./utilities.css": "./utilities.css",
|
|
47
42
|
"./package.json": {
|
|
48
43
|
"default": "./package.json"
|
|
49
44
|
},
|
|
@@ -52,5 +47,9 @@
|
|
|
52
47
|
"default": "./fesm2022/foxeltech-angular-ui.mjs"
|
|
53
48
|
}
|
|
54
49
|
},
|
|
55
|
-
"sideEffects":
|
|
50
|
+
"sideEffects": [
|
|
51
|
+
"*.css"
|
|
52
|
+
],
|
|
53
|
+
"module": "fesm2022/foxeltech-angular-ui.mjs",
|
|
54
|
+
"typings": "index.d.ts"
|
|
56
55
|
}
|
|
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
|
|
Binary file
|
|
Binary file
|
|
@@ -79,6 +79,11 @@
|
|
|
79
79
|
.mat-mdc-tooltip {
|
|
80
80
|
border-radius: 6px !important;
|
|
81
81
|
background-color: rgb(var(--bg-primary)) !important;
|
|
82
|
+
--mdc-plain-tooltip-container-color: rgb(var(--bg-primary));
|
|
83
|
+
--mdc-plain-tooltip-supporting-text-color: rgb(var(--text-primary));
|
|
84
|
+
}
|
|
85
|
+
.mat-mdc-tooltip .mdc-tooltip__surface {
|
|
86
|
+
color: rgb(var(--text-primary)) !important;
|
|
82
87
|
}
|
|
83
88
|
|
|
84
89
|
.mat-mdc-table {
|
|
@@ -291,9 +296,6 @@ input[type='password'] {
|
|
|
291
296
|
.txt-card-info-description {
|
|
292
297
|
@apply text-xs font-light text-text-secondary tracking-normal;
|
|
293
298
|
}
|
|
294
|
-
.txt-tag-common {
|
|
295
|
-
@apply font-semibold text-xs;
|
|
296
|
-
}
|
|
297
299
|
.txt-tag-default {
|
|
298
300
|
@apply txt-tag-common text-text-secondary;
|
|
299
301
|
}
|
|
@@ -325,9 +327,6 @@ input[type='password'] {
|
|
|
325
327
|
@apply font-mono text-sm text-text-primary tracking-normal;
|
|
326
328
|
}
|
|
327
329
|
|
|
328
|
-
.btn-common {
|
|
329
|
-
@apply flex text-sm h-10 font-semibold px-xl py-normal items-center justify-center rounded-lg shadow-sm transition-all duration-200 disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed;
|
|
330
|
-
}
|
|
331
330
|
.btn-default {
|
|
332
331
|
@apply btn-common bg-button-default hover:opacity-75 text-text-inverse;
|
|
333
332
|
}
|
|
@@ -340,9 +339,6 @@ input[type='password'] {
|
|
|
340
339
|
.btn-alternative {
|
|
341
340
|
@apply btn-common hover:bg-bg-hover text-text-primary border border-border-default;
|
|
342
341
|
}
|
|
343
|
-
.btn-menu-common {
|
|
344
|
-
@apply flex flex-row items-center px-semi;
|
|
345
|
-
}
|
|
346
342
|
.btn-menu-top {
|
|
347
343
|
@apply btn-menu-common border-b border-border-default pt-small pb-semi;
|
|
348
344
|
}
|
|
@@ -354,7 +350,7 @@ input[type='password'] {
|
|
|
354
350
|
}
|
|
355
351
|
|
|
356
352
|
.input-default {
|
|
357
|
-
@apply block h-[36px] text-text-primary placeholder:text-text-placeholder bg-bg-primary w-full rounded-md border px-semi py-normal border-border-default focus:outline-none focus:border-2 focus:border-gradient-primary-start text-sm text-text-primary tracking-normal ring-0 transition-colors duration-500 ease-in-out;
|
|
353
|
+
@apply block h-[36px] text-text-primary placeholder:text-text-placeholder bg-bg-primary w-full rounded-md border px-semi py-normal border-border-default focus:outline-none focus:border-2 focus:border-gradient-primary-start focus-visible:ring-2 focus-visible:ring-primary/50 text-sm text-text-primary tracking-normal ring-0 transition-colors duration-500 ease-in-out;
|
|
358
354
|
}
|
|
359
355
|
.input-invalid {
|
|
360
356
|
@apply border-bg-error focus:ring-bg-error focus:border-bg-error;
|
|
@@ -363,12 +359,9 @@ input[type='password'] {
|
|
|
363
359
|
@apply focus:border-2 focus:border-border-hover2 focus:bg-bg-hover2;
|
|
364
360
|
}
|
|
365
361
|
.input-otp {
|
|
366
|
-
@apply bg-bg-primary w-full rounded-md border px-semi py-normal border-border-default focus:outline-none focus:border-2 focus:border-gradient-primary-start text-text-primary ring-0 transition-colors duration-500 ease-in-out;
|
|
362
|
+
@apply bg-bg-primary w-full rounded-md border px-semi py-normal border-border-default focus:outline-none focus:border-2 focus:border-gradient-primary-start focus-visible:ring-2 focus-visible:ring-primary/50 text-text-primary ring-0 transition-colors duration-500 ease-in-out;
|
|
367
363
|
}
|
|
368
364
|
|
|
369
|
-
.card-common {
|
|
370
|
-
@apply text-left px-xl py-large border border-border-default rounded-lg shadow-sm transition-colors duration-500 ease-in-out;
|
|
371
|
-
}
|
|
372
365
|
.card-information {
|
|
373
366
|
@apply card-common hover:opacity-70 hover:shadow-md hover:border-border-selected;
|
|
374
367
|
}
|
|
@@ -379,9 +372,6 @@ input[type='password'] {
|
|
|
379
372
|
@apply flex items-center justify-between rounded-md px-semi py-normal bg-bg-primary mb-normal last:mb-0;
|
|
380
373
|
}
|
|
381
374
|
|
|
382
|
-
.tag-common {
|
|
383
|
-
@apply flex min-w-7 px-[10px] py-[2px] leading-5 hover:opacity-70 items-center justify-center;
|
|
384
|
-
}
|
|
385
375
|
.tag-default {
|
|
386
376
|
@apply tag-common bg-bg-hover;
|
|
387
377
|
}
|
package/src/lib/styles/fonts.css
CHANGED
|
@@ -1,237 +1,271 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: 'BeVietnamPro';
|
|
3
|
-
|
|
3
|
+
font-display: swap;
|
|
4
|
+
src: url('./BeVietnamPro/BeVietnamPro-Thin.woff2') format('woff2');
|
|
4
5
|
font-weight: 100;
|
|
5
6
|
font-style: normal;
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
@font-face {
|
|
9
10
|
font-family: 'BeVietnamPro';
|
|
10
|
-
|
|
11
|
+
font-display: swap;
|
|
12
|
+
src: url('./BeVietnamPro/BeVietnamPro-ExtraLight.woff2') format('woff2');
|
|
11
13
|
font-weight: 200;
|
|
12
14
|
font-style: normal;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
@font-face {
|
|
16
18
|
font-family: 'BeVietnamPro';
|
|
17
|
-
|
|
19
|
+
font-display: swap;
|
|
20
|
+
src: url('./BeVietnamPro/BeVietnamPro-Light.woff2') format('woff2');
|
|
18
21
|
font-weight: 300;
|
|
19
22
|
font-style: normal;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
@font-face {
|
|
23
26
|
font-family: 'BeVietnamPro';
|
|
24
|
-
|
|
27
|
+
font-display: swap;
|
|
28
|
+
src: url('./BeVietnamPro/BeVietnamPro-Regular.woff2') format('woff2');
|
|
25
29
|
font-weight: 400;
|
|
26
30
|
font-style: normal;
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
@font-face {
|
|
30
34
|
font-family: 'BeVietnamPro';
|
|
31
|
-
|
|
35
|
+
font-display: swap;
|
|
36
|
+
src: url('./BeVietnamPro/BeVietnamPro-Medium.woff2') format('woff2');
|
|
32
37
|
font-weight: 500;
|
|
33
38
|
font-style: normal;
|
|
34
39
|
}
|
|
35
40
|
|
|
36
41
|
@font-face {
|
|
37
42
|
font-family: 'BeVietnamPro';
|
|
38
|
-
|
|
43
|
+
font-display: swap;
|
|
44
|
+
src: url('./BeVietnamPro/BeVietnamPro-SemiBold.woff2') format('woff2');
|
|
39
45
|
font-weight: 600;
|
|
40
46
|
font-style: normal;
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
@font-face {
|
|
44
50
|
font-family: 'BeVietnamPro';
|
|
45
|
-
|
|
51
|
+
font-display: swap;
|
|
52
|
+
src: url('./BeVietnamPro/BeVietnamPro-Bold.woff2') format('woff2');
|
|
46
53
|
font-weight: 700;
|
|
47
54
|
font-style: normal;
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
@font-face {
|
|
51
58
|
font-family: 'DMSans';
|
|
52
|
-
|
|
59
|
+
font-display: swap;
|
|
60
|
+
src: url('./dm-sans/DMSans-Thin.woff2') format('woff2');
|
|
53
61
|
font-weight: 200;
|
|
54
62
|
font-style: normal;
|
|
55
63
|
}
|
|
56
64
|
|
|
57
65
|
@font-face {
|
|
58
66
|
font-family: 'DMSans';
|
|
59
|
-
|
|
67
|
+
font-display: swap;
|
|
68
|
+
src: url('./dm-sans/DMSans-Light.woff2') format('woff2');
|
|
60
69
|
font-weight: 300;
|
|
61
70
|
font-style: normal;
|
|
62
71
|
}
|
|
63
72
|
|
|
64
73
|
@font-face {
|
|
65
74
|
font-family: 'DMSans';
|
|
66
|
-
|
|
75
|
+
font-display: swap;
|
|
76
|
+
src: url('./dm-sans/DMSans-Regular.woff2') format('woff2');
|
|
67
77
|
font-weight: 400;
|
|
68
78
|
font-style: normal;
|
|
69
79
|
}
|
|
70
80
|
|
|
71
81
|
@font-face {
|
|
72
82
|
font-family: 'DMSans';
|
|
73
|
-
|
|
83
|
+
font-display: swap;
|
|
84
|
+
src: url('./dm-sans/DMSans-Medium.woff2') format('woff2');
|
|
74
85
|
font-weight: 500;
|
|
75
86
|
font-style: normal;
|
|
76
87
|
}
|
|
77
88
|
|
|
78
89
|
@font-face {
|
|
79
90
|
font-family: 'DMSans';
|
|
80
|
-
|
|
91
|
+
font-display: swap;
|
|
92
|
+
src: url('./dm-sans/DMSans-SemiBold.woff2') format('woff2');
|
|
81
93
|
font-weight: 600;
|
|
82
94
|
font-style: normal;
|
|
83
95
|
}
|
|
84
96
|
|
|
85
97
|
@font-face {
|
|
86
98
|
font-family: 'DMSans';
|
|
87
|
-
|
|
99
|
+
font-display: swap;
|
|
100
|
+
src: url('./dm-sans/DMSans-Bold.woff2') format('woff2');
|
|
88
101
|
font-weight: 700;
|
|
89
102
|
font-style: normal;
|
|
90
103
|
}
|
|
91
104
|
|
|
92
105
|
@font-face {
|
|
93
106
|
font-family: 'Orbitron';
|
|
94
|
-
|
|
107
|
+
font-display: swap;
|
|
108
|
+
src: url('./orbitron/Orbitron-Regular.woff2') format('woff2');
|
|
95
109
|
font-weight: 400;
|
|
96
110
|
font-style: normal;
|
|
97
111
|
}
|
|
98
112
|
|
|
99
113
|
@font-face {
|
|
100
114
|
font-family: 'Orbitron';
|
|
101
|
-
|
|
115
|
+
font-display: swap;
|
|
116
|
+
src: url('./orbitron/Orbitron-Medium.woff2') format('woff2');
|
|
102
117
|
font-weight: 500;
|
|
103
118
|
font-style: normal;
|
|
104
119
|
}
|
|
105
120
|
|
|
106
121
|
@font-face {
|
|
107
122
|
font-family: 'Orbitron';
|
|
108
|
-
|
|
123
|
+
font-display: swap;
|
|
124
|
+
src: url('./orbitron/Orbitron-SemiBold.woff2') format('woff2');
|
|
109
125
|
font-weight: 600;
|
|
110
126
|
font-style: normal;
|
|
111
127
|
}
|
|
112
128
|
|
|
113
129
|
@font-face {
|
|
114
130
|
font-family: 'Orbitron';
|
|
115
|
-
|
|
131
|
+
font-display: swap;
|
|
132
|
+
src: url('./orbitron/Orbitron-Bold.woff2') format('woff2');
|
|
116
133
|
font-weight: 700;
|
|
117
134
|
font-style: normal;
|
|
118
135
|
}
|
|
119
136
|
|
|
120
137
|
@font-face {
|
|
121
138
|
font-family: 'SpaceMonoRegular';
|
|
122
|
-
|
|
139
|
+
font-display: swap;
|
|
140
|
+
src: url('./SpaceMono-Regular.woff2') format('woff2');
|
|
123
141
|
font-weight: normal;
|
|
124
142
|
font-style: normal;
|
|
125
143
|
}
|
|
126
144
|
|
|
127
145
|
@font-face {
|
|
128
146
|
font-family: 'Roboto';
|
|
129
|
-
|
|
147
|
+
font-display: swap;
|
|
148
|
+
src: url('./roboto/Roboto-Thin.woff2') format('woff2');
|
|
130
149
|
font-weight: 100;
|
|
131
150
|
font-style: normal;
|
|
132
151
|
}
|
|
133
152
|
|
|
134
153
|
@font-face {
|
|
135
154
|
font-family: 'Roboto';
|
|
136
|
-
|
|
155
|
+
font-display: swap;
|
|
156
|
+
src: url('./roboto/Roboto-ThinItalic.woff2') format('woff2');
|
|
137
157
|
font-weight: 100;
|
|
138
158
|
font-style: italic;
|
|
139
159
|
}
|
|
140
160
|
|
|
141
161
|
@font-face {
|
|
142
162
|
font-family: 'Roboto';
|
|
143
|
-
|
|
163
|
+
font-display: swap;
|
|
164
|
+
src: url('./roboto/Roboto-Light.woff2') format('woff2');
|
|
144
165
|
font-weight: 300;
|
|
145
166
|
font-style: normal;
|
|
146
167
|
}
|
|
147
168
|
|
|
148
169
|
@font-face {
|
|
149
170
|
font-family: 'Roboto';
|
|
150
|
-
|
|
171
|
+
font-display: swap;
|
|
172
|
+
src: url('./roboto/Roboto-LightItalic.woff2') format('woff2');
|
|
151
173
|
font-weight: 300;
|
|
152
174
|
font-style: italic;
|
|
153
175
|
}
|
|
154
176
|
|
|
155
177
|
@font-face {
|
|
156
178
|
font-family: 'Roboto';
|
|
157
|
-
|
|
179
|
+
font-display: swap;
|
|
180
|
+
src: url('./roboto/Roboto-Regular.woff2') format('woff2');
|
|
158
181
|
font-weight: 400;
|
|
159
182
|
font-style: normal;
|
|
160
183
|
}
|
|
161
184
|
|
|
162
185
|
@font-face {
|
|
163
186
|
font-family: 'Roboto';
|
|
164
|
-
|
|
187
|
+
font-display: swap;
|
|
188
|
+
src: url('./roboto/Roboto-Italic.woff2') format('woff2');
|
|
165
189
|
font-weight: 400;
|
|
166
190
|
font-style: italic;
|
|
167
191
|
}
|
|
168
192
|
|
|
169
193
|
@font-face {
|
|
170
194
|
font-family: 'Roboto';
|
|
171
|
-
|
|
195
|
+
font-display: swap;
|
|
196
|
+
src: url('./roboto/Roboto-Medium.woff2') format('woff2');
|
|
172
197
|
font-weight: 500;
|
|
173
198
|
font-style: normal;
|
|
174
199
|
}
|
|
175
200
|
|
|
176
201
|
@font-face {
|
|
177
202
|
font-family: 'Roboto';
|
|
178
|
-
|
|
203
|
+
font-display: swap;
|
|
204
|
+
src: url('./roboto/Roboto-MediumItalic.woff2') format('woff2');
|
|
179
205
|
font-weight: 500;
|
|
180
206
|
font-style: italic;
|
|
181
207
|
}
|
|
182
208
|
|
|
183
209
|
@font-face {
|
|
184
210
|
font-family: 'Roboto';
|
|
185
|
-
|
|
211
|
+
font-display: swap;
|
|
212
|
+
src: url('./roboto/Roboto-Bold.woff2') format('woff2');
|
|
186
213
|
font-weight: 700;
|
|
187
214
|
font-style: normal;
|
|
188
215
|
}
|
|
189
216
|
|
|
190
217
|
@font-face {
|
|
191
218
|
font-family: 'Roboto';
|
|
192
|
-
|
|
219
|
+
font-display: swap;
|
|
220
|
+
src: url('./roboto/Roboto-BoldItalic.woff2') format('woff2');
|
|
193
221
|
font-weight: 700;
|
|
194
222
|
font-style: italic;
|
|
195
223
|
}
|
|
196
224
|
|
|
197
225
|
@font-face {
|
|
198
226
|
font-family: 'Roboto';
|
|
199
|
-
|
|
227
|
+
font-display: swap;
|
|
228
|
+
src: url('./roboto/Roboto-Black.woff2') format('woff2');
|
|
200
229
|
font-weight: 900;
|
|
201
230
|
font-style: normal;
|
|
202
231
|
}
|
|
203
232
|
|
|
204
233
|
@font-face {
|
|
205
234
|
font-family: 'Roboto';
|
|
206
|
-
|
|
235
|
+
font-display: swap;
|
|
236
|
+
src: url('./roboto/Roboto-BlackItalic.woff2') format('woff2');
|
|
207
237
|
font-weight: 900;
|
|
208
238
|
font-style: italic;
|
|
209
239
|
}
|
|
210
240
|
|
|
211
241
|
@font-face {
|
|
212
242
|
font-family: 'Roboto Condensed';
|
|
213
|
-
|
|
243
|
+
font-display: swap;
|
|
244
|
+
src: url('./roboto/Roboto-Condensed.woff2') format('woff2');
|
|
214
245
|
font-weight: 400;
|
|
215
246
|
font-style: normal;
|
|
216
247
|
}
|
|
217
248
|
|
|
218
249
|
@font-face {
|
|
219
250
|
font-family: 'Roboto Condensed';
|
|
220
|
-
|
|
251
|
+
font-display: swap;
|
|
252
|
+
src: url('./roboto/Roboto-CondensedItalic.woff2') format('woff2');
|
|
221
253
|
font-weight: 400;
|
|
222
254
|
font-style: italic;
|
|
223
255
|
}
|
|
224
256
|
|
|
225
257
|
@font-face {
|
|
226
258
|
font-family: 'Roboto Condensed';
|
|
227
|
-
|
|
259
|
+
font-display: swap;
|
|
260
|
+
src: url('./roboto/Roboto-BoldCondensed.woff2') format('woff2');
|
|
228
261
|
font-weight: 700;
|
|
229
262
|
font-style: normal;
|
|
230
263
|
}
|
|
231
264
|
|
|
232
265
|
@font-face {
|
|
233
266
|
font-family: 'Roboto Condensed';
|
|
234
|
-
|
|
267
|
+
font-display: swap;
|
|
268
|
+
src: url('./roboto/Roboto-BoldCondensedItalic.woff2') format('woff2');
|
|
235
269
|
font-weight: 700;
|
|
236
270
|
font-style: italic;
|
|
237
271
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
+
/* fonts.css is NOT imported here: Tailwind v4 inlines imports and rebases
|
|
2
|
+
font url()s against the entry file, which breaks webpack resolution.
|
|
3
|
+
Consumers add '@foxeltech/angular-ui/fonts.css' to their styles array. */
|
|
4
|
+
@import 'tailwindcss';
|
|
5
|
+
@import './tokens.css';
|
|
6
|
+
@import './utilities.css';
|
|
1
7
|
@import './theme.css';
|
|
2
|
-
@import './components.css';
|
|
3
|
-
@import './dialogs.css';
|
|
4
|
-
@import './fonts.css';
|
|
8
|
+
@import './components.css' layer(components);
|
|
9
|
+
@import './dialogs.css' layer(components);
|
|
5
10
|
@import './animations.css';
|
|
6
11
|
@import '@danielmoncada/angular-datetime-picker/assets/style/picker.min.css';
|
|
7
|
-
@tailwind base;
|
|
8
|
-
@tailwind component;
|
|
9
|
-
@tailwind utilities;
|
|
10
12
|
|
|
11
|
-
html,
|
|
13
|
+
html,
|
|
14
|
+
body {
|
|
12
15
|
font-family: 'Roboto';
|
|
13
16
|
margin: 0;
|
|
14
17
|
padding: 0;
|
|
15
18
|
height: 100%;
|
|
16
19
|
width: 100%;
|
|
17
20
|
background: rgb(var(--bg-primary));
|
|
18
|
-
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Tailwind v4 CSS-first theme for @foxeltech/angular-ui.
|
|
3
|
+
* Replaces the old JS preset (tailwind.config.js / lodash.merge sharing).
|
|
4
|
+
*
|
|
5
|
+
* Colour tokens point at the runtime RGB-triplet variables from theme.css
|
|
6
|
+
* (dark default on :root, light via .light_theme) so theme switching keeps
|
|
7
|
+
* working; opacity modifiers like bg-critical/10 are handled by v4's
|
|
8
|
+
* color-mix() and need no <alpha-value> plumbing.
|
|
9
|
+
*/
|
|
10
|
+
/* `inline` is load-bearing: without it the rgb(var(--x)) values are baked
|
|
11
|
+
into :root once, so .light_theme's runtime triplet overrides never reach
|
|
12
|
+
the utilities. inline makes every utility carry rgb(var(--x)) itself and
|
|
13
|
+
resolve at the element that uses it — same behavior as v3. */
|
|
14
|
+
@theme inline {
|
|
15
|
+
/* Colours (names match the v3 preset so every existing class keeps working) */
|
|
16
|
+
--color-gradient-primary-start: rgb(var(--gradient-primary-start));
|
|
17
|
+
--color-gradient-primary-end: rgb(var(--gradient-primary-end));
|
|
18
|
+
--color-gradient-success-start: rgb(var(--gradient-success-start));
|
|
19
|
+
--color-gradient-success-end: rgb(var(--gradient-success-end));
|
|
20
|
+
--color-primary: rgb(var(--primary));
|
|
21
|
+
--color-success: rgb(var(--success));
|
|
22
|
+
--color-danger: rgb(var(--danger));
|
|
23
|
+
--color-warning: rgb(var(--warning));
|
|
24
|
+
--color-critical: rgb(var(--critical));
|
|
25
|
+
--color-discovery: rgb(var(--discovery));
|
|
26
|
+
--color-information: rgb(var(--information));
|
|
27
|
+
--color-bg-primary: rgb(var(--bg-primary));
|
|
28
|
+
--color-bg-canvas: rgb(var(--bg-canvas));
|
|
29
|
+
--color-bg-hover: rgb(var(--bg-primary-hover));
|
|
30
|
+
--color-bg-error: rgb(var(--bg-error-bold));
|
|
31
|
+
--color-bg-hover2: rgb(var(--bg-secondary-hover));
|
|
32
|
+
--color-text-primary: rgb(var(--text-primary));
|
|
33
|
+
--color-text-secondary: rgb(var(--text-secondary));
|
|
34
|
+
--color-text-placeholder: rgb(var(--text-placeholder));
|
|
35
|
+
--color-text-selected: rgb(var(--text-selected-primary));
|
|
36
|
+
--color-text-focus: rgb(var(--text-focus));
|
|
37
|
+
--color-text-inverse: rgb(var(--text-inverse));
|
|
38
|
+
--color-text-error: rgb(var(--text-error));
|
|
39
|
+
--color-text-link: rgb(var(--text-link-primary));
|
|
40
|
+
--color-border-default: rgb(var(--border-default));
|
|
41
|
+
--color-border-interactive: rgb(var(--border-interactive));
|
|
42
|
+
--color-border-selected: rgb(var(--border-selected));
|
|
43
|
+
--color-border-strong: rgb(var(--border-strong));
|
|
44
|
+
--color-border-hover2: rgb(var(--border-secondary-hover));
|
|
45
|
+
--color-button-default: rgb(var(--button-default));
|
|
46
|
+
--color-button-primary: rgb(var(--button-primary));
|
|
47
|
+
|
|
48
|
+
/* Breakpoints (v3 custom screens) */
|
|
49
|
+
--breakpoint-sm: 480px;
|
|
50
|
+
--breakpoint-md: 720px;
|
|
51
|
+
--breakpoint-lg: 1080px;
|
|
52
|
+
--breakpoint-xl: 1920px;
|
|
53
|
+
|
|
54
|
+
/* Shadows — same scale as the v3 preset, incl. the DEFAULT key so the bare
|
|
55
|
+
`shadow` utility keeps its v3 meaning (no shadow→shadow-sm rename sweep). */
|
|
56
|
+
--shadow-sm: 0 1px 2px 0 rgb(var(--shadow-color) / 0.05);
|
|
57
|
+
--shadow: 0 1px 3px 0 rgb(var(--shadow-color) / 0.1), 0 1px 2px -1px rgb(var(--shadow-color) / 0.1);
|
|
58
|
+
--shadow-md: 0 4px 6px -1px rgb(var(--shadow-color) / 0.1), 0 2px 4px -2px rgb(var(--shadow-color) / 0.1);
|
|
59
|
+
--shadow-lg: 0 10px 15px -3px rgb(var(--shadow-color) / 0.1), 0 4px 6px -4px rgb(var(--shadow-color) / 0.1);
|
|
60
|
+
--shadow-xl: 0 20px 25px -5px rgb(var(--shadow-color) / 0.1), 0 10px 10px -5px rgb(var(--shadow-color) / 0.1);
|
|
61
|
+
--shadow-2xl: 0 25px 50px -12px rgb(var(--shadow-color) / 0.25);
|
|
62
|
+
--inset-shadow-sm: inset 0 2px 4px 0 rgb(var(--shadow-color) / 0.05);
|
|
63
|
+
|
|
64
|
+
/* v3 default border radii, incl. DEFAULT so bare `rounded` keeps working */
|
|
65
|
+
--radius-sm: 0.125rem;
|
|
66
|
+
--radius: 0.25rem;
|
|
67
|
+
--radius-md: 0.375rem;
|
|
68
|
+
--radius-lg: 0.5rem;
|
|
69
|
+
--radius-xl: 0.75rem;
|
|
70
|
+
--radius-2xl: 1rem;
|
|
71
|
+
--radius-3xl: 1.5rem;
|
|
72
|
+
|
|
73
|
+
/* Named spacing scale (gap-small, p-semi, mb-large, …) */
|
|
74
|
+
--spacing-xs: 0.125rem;
|
|
75
|
+
--spacing-small: 0.25rem;
|
|
76
|
+
--spacing-normal: 0.5rem;
|
|
77
|
+
--spacing-semi: 0.75rem;
|
|
78
|
+
--spacing-large: 1rem;
|
|
79
|
+
--spacing-xl: 1.25rem;
|
|
80
|
+
--spacing-2xl: 1.5rem;
|
|
81
|
+
|
|
82
|
+
/* Font families */
|
|
83
|
+
--font-spmono: 'SpaceMonoRegular', monospace;
|
|
84
|
+
--font-dmsans: 'DMSans', sans-serif;
|
|
85
|
+
--font-orbitron: 'Orbitron', sans-serif;
|
|
86
|
+
--font-bevn: 'BeVietnamPro', sans-serif;
|
|
87
|
+
--font-roboto: 'Roboto', sans-serif;
|
|
88
|
+
|
|
89
|
+
/* Font-size overrides (v3 preset values) */
|
|
90
|
+
--text-xs: 0.75rem;
|
|
91
|
+
--text-sm: 0.875rem;
|
|
92
|
+
--text-base: 1rem;
|
|
93
|
+
--text-xl: 1.25rem;
|
|
94
|
+
--text-2xl: 1.625rem;
|
|
95
|
+
--text-3xl: 2rem;
|
|
96
|
+
--text-4xl: 2.25rem;
|
|
97
|
+
--text-5xl: 3rem;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* v3 backgroundImage entries — v4 has no background-image theme namespace */
|
|
101
|
+
@utility bg-gradient-primary {
|
|
102
|
+
background-image: linear-gradient(
|
|
103
|
+
135deg,
|
|
104
|
+
rgb(var(--gradient-primary-start)) 0%,
|
|
105
|
+
rgb(var(--gradient-primary-end)) 100%
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
@utility bg-gradient-success {
|
|
109
|
+
background-image: linear-gradient(
|
|
110
|
+
135deg,
|
|
111
|
+
rgb(var(--gradient-success-start)) 0%,
|
|
112
|
+
rgb(var(--gradient-success-end)) 100%
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* v3 behavior compat (per the official upgrade guide) */
|
|
117
|
+
@layer base {
|
|
118
|
+
/* v4 defaults borders to currentColor; restore the theme default */
|
|
119
|
+
*,
|
|
120
|
+
::after,
|
|
121
|
+
::before,
|
|
122
|
+
::backdrop,
|
|
123
|
+
::file-selector-button {
|
|
124
|
+
border-color: rgb(var(--border-default));
|
|
125
|
+
}
|
|
126
|
+
/* v4 preflight switched buttons to cursor: default */
|
|
127
|
+
button:not(:disabled),
|
|
128
|
+
[role='button']:not(:disabled) {
|
|
129
|
+
cursor: pointer;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Shared composable utilities (v4 @utility) — kept OUT of components.css
|
|
3
|
+
* because that file is imported inside layer(components) and @utility must
|
|
4
|
+
* be top-level/unlayered. Usable both in markup and via @apply.
|
|
5
|
+
*/
|
|
6
|
+
@utility txt-tag-common {
|
|
7
|
+
@apply font-semibold text-xs;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@utility btn-common {
|
|
11
|
+
@apply flex text-sm h-10 font-semibold px-xl py-normal items-center justify-center rounded-lg shadow-sm transition-all duration-200 disabled:opacity-50 disabled:pointer-events-none disabled:cursor-not-allowed;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@utility btn-menu-common {
|
|
15
|
+
@apply flex flex-row items-center px-semi;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@utility card-common {
|
|
19
|
+
@apply text-left px-xl py-large border border-border-default rounded-lg shadow-sm transition-colors duration-500 ease-in-out;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@utility tag-common {
|
|
23
|
+
@apply flex min-w-7 px-[10px] py-[2px] leading-5 hover:opacity-70 items-center justify-center;
|
|
24
|
+
}
|