commons-shared-web-ui 0.0.1
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/fesm2022/commons-shared-web-ui.mjs +2051 -0
- package/fesm2022/commons-shared-web-ui.mjs.map +1 -0
- package/index.d.ts +742 -0
- package/package.json +33 -0
- package/src/lib/modules/alert/alert.theme.scss +85 -0
- package/src/lib/modules/button/button.theme.scss +121 -0
- package/src/lib/modules/configurable-form/configurable-form.theme.scss +78 -0
- package/src/lib/modules/confirmation-modal/confirmation-modal.theme.scss +87 -0
- package/src/lib/modules/filter-sidebar/filter-sidebar.theme.scss +50 -0
- package/src/lib/modules/nav/nav.theme.scss +86 -0
- package/src/lib/modules/pagination/pagination.theme.scss +66 -0
- package/src/lib/modules/summary-card/summary-card.theme.scss +184 -0
- package/src/lib/styles/global.scss +115 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
// Default configuration for the summary card theme (Theme 1 - Clean & Minimal)
|
|
4
|
+
$default-summary-card-config: (
|
|
5
|
+
// Base
|
|
6
|
+
font-family: ('Inter', sans-serif),
|
|
7
|
+
bg-color: #ffffff,
|
|
8
|
+
border-radius: 8px,
|
|
9
|
+
border: 1px solid #e0e0e0,
|
|
10
|
+
padding: 20px,
|
|
11
|
+
shadow: 0 1px 3px rgba(0, 0, 0, 0.05),
|
|
12
|
+
min-height: auto,
|
|
13
|
+
transition-duration: 0.2s,
|
|
14
|
+
|
|
15
|
+
// Hover States
|
|
16
|
+
hover-transform: translateY(-2px),
|
|
17
|
+
hover-shadow: 0 4px 8px rgba(0, 0, 0, 0.1),
|
|
18
|
+
|
|
19
|
+
// Disabled State
|
|
20
|
+
disabled-opacity: 0.5,
|
|
21
|
+
|
|
22
|
+
// Icon Section
|
|
23
|
+
icon-box-size: 48px,
|
|
24
|
+
icon-size: 24px,
|
|
25
|
+
icon-radius: 8px,
|
|
26
|
+
icon-bg: rgba(0, 0, 0, 0.05),
|
|
27
|
+
icon-color: #666666,
|
|
28
|
+
icon-margin: 1rem,
|
|
29
|
+
|
|
30
|
+
// Content Section
|
|
31
|
+
content-gap: 0.5rem,
|
|
32
|
+
|
|
33
|
+
// Header
|
|
34
|
+
header-size: 0.75rem,
|
|
35
|
+
header-weight: 600,
|
|
36
|
+
header-color: #6c757d,
|
|
37
|
+
header-transform: uppercase,
|
|
38
|
+
header-letter-spacing: 0.05em,
|
|
39
|
+
header-line-height: 1.2,
|
|
40
|
+
|
|
41
|
+
// Value
|
|
42
|
+
value-size: 1.5rem,
|
|
43
|
+
value-weight: 700,
|
|
44
|
+
value-color: #333333,
|
|
45
|
+
value-line-height: 1.2,
|
|
46
|
+
|
|
47
|
+
// Description
|
|
48
|
+
desc-size: 0.75rem,
|
|
49
|
+
desc-weight: 400,
|
|
50
|
+
desc-color: #6c757d,
|
|
51
|
+
desc-line-height: 1.4,
|
|
52
|
+
value-desc-gap: 0.25rem,
|
|
53
|
+
|
|
54
|
+
// Meta Pill
|
|
55
|
+
meta-pill-bg: #f1f5f9,
|
|
56
|
+
meta-pill-color: #475569,
|
|
57
|
+
meta-pill-padding: 4px 12px,
|
|
58
|
+
meta-pill-radius: 20px,
|
|
59
|
+
meta-pill-font-size: 0.75rem,
|
|
60
|
+
meta-pill-font-weight: 600
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// Theme 2 configuration (Aesthetic & Modern)
|
|
64
|
+
$theme-2-summary-card-config: (
|
|
65
|
+
// Base
|
|
66
|
+
font-family: ('Poppins', 'Segoe UI', sans-serif),
|
|
67
|
+
bg-color: #ffffff,
|
|
68
|
+
border-radius: 16px,
|
|
69
|
+
border: none,
|
|
70
|
+
padding: 28px,
|
|
71
|
+
shadow: 0 8px 24px rgba(0, 0, 0, 0.08),
|
|
72
|
+
min-height: 120px,
|
|
73
|
+
transition-duration: 0.3s,
|
|
74
|
+
|
|
75
|
+
// Hover States
|
|
76
|
+
hover-transform: translateY(-4px),
|
|
77
|
+
hover-shadow: 0 12px 32px rgba(0, 0, 0, 0.15),
|
|
78
|
+
|
|
79
|
+
// Disabled State
|
|
80
|
+
disabled-opacity: 0.4,
|
|
81
|
+
|
|
82
|
+
// Icon Section
|
|
83
|
+
icon-box-size: 56px,
|
|
84
|
+
icon-size: 28px,
|
|
85
|
+
icon-radius: 12px,
|
|
86
|
+
icon-bg: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(168, 85, 247, 0.1) 100%),
|
|
87
|
+
icon-color: #6366f1,
|
|
88
|
+
icon-margin: 1.25rem,
|
|
89
|
+
|
|
90
|
+
// Content Section
|
|
91
|
+
content-gap: 0.75rem,
|
|
92
|
+
|
|
93
|
+
// Header
|
|
94
|
+
header-size: 0.8rem,
|
|
95
|
+
header-weight: 500,
|
|
96
|
+
header-color: #94a3b8,
|
|
97
|
+
header-transform: none,
|
|
98
|
+
header-letter-spacing: 0.02em,
|
|
99
|
+
header-line-height: 1.3,
|
|
100
|
+
|
|
101
|
+
// Value
|
|
102
|
+
value-size: 2rem,
|
|
103
|
+
value-weight: 700,
|
|
104
|
+
value-color: #1e293b,
|
|
105
|
+
value-line-height: 1.1,
|
|
106
|
+
|
|
107
|
+
// Description
|
|
108
|
+
desc-size: 0.85rem,
|
|
109
|
+
desc-weight: 400,
|
|
110
|
+
desc-color: #64748b,
|
|
111
|
+
desc-line-height: 1.5,
|
|
112
|
+
value-desc-gap: 0.5rem,
|
|
113
|
+
|
|
114
|
+
// Meta Pill
|
|
115
|
+
meta-pill-bg: #f1f5f9,
|
|
116
|
+
meta-pill-color: #475569,
|
|
117
|
+
meta-pill-padding: 4px 12px,
|
|
118
|
+
meta-pill-radius: 20px,
|
|
119
|
+
meta-pill-font-size: 0.75rem,
|
|
120
|
+
meta-pill-font-weight: 600
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
// Mixin to generate CSS variables for the summary card component
|
|
124
|
+
@mixin summary-card-theme($user-config: ()) {
|
|
125
|
+
// Merge user config with defaults
|
|
126
|
+
$config: map.merge($default-summary-card-config, $user-config);
|
|
127
|
+
|
|
128
|
+
// Generate CSS Variables
|
|
129
|
+
--cc-sc-font-family: #{map.get($config, font-family)};
|
|
130
|
+
--cc-sc-bg-color: #{map.get($config, bg-color)};
|
|
131
|
+
--cc-sc-border-radius: #{map.get($config, border-radius)};
|
|
132
|
+
--cc-sc-border: #{map.get($config, border)};
|
|
133
|
+
--cc-sc-padding: #{map.get($config, padding)};
|
|
134
|
+
--cc-sc-shadow: #{map.get($config, shadow)};
|
|
135
|
+
--cc-sc-min-height: #{map.get($config, min-height)};
|
|
136
|
+
--cc-sc-transition-duration: #{map.get($config, transition-duration)};
|
|
137
|
+
|
|
138
|
+
--cc-sc-hover-transform: #{map.get($config, hover-transform)};
|
|
139
|
+
--cc-sc-hover-shadow: #{map.get($config, hover-shadow)};
|
|
140
|
+
|
|
141
|
+
--cc-sc-disabled-opacity: #{map.get($config, disabled-opacity)};
|
|
142
|
+
|
|
143
|
+
--cc-sc-icon-box-size: #{map.get($config, icon-box-size)};
|
|
144
|
+
--cc-sc-icon-size: #{map.get($config, icon-size)};
|
|
145
|
+
--cc-sc-icon-radius: #{map.get($config, icon-radius)};
|
|
146
|
+
--cc-sc-icon-bg: #{map.get($config, icon-bg)};
|
|
147
|
+
--cc-sc-icon-color: #{map.get($config, icon-color)};
|
|
148
|
+
--cc-sc-icon-margin: #{map.get($config, icon-margin)};
|
|
149
|
+
|
|
150
|
+
--cc-sc-content-gap: #{map.get($config, content-gap)};
|
|
151
|
+
|
|
152
|
+
--cc-sc-header-size: #{map.get($config, header-size)};
|
|
153
|
+
--cc-sc-header-weight: #{map.get($config, header-weight)};
|
|
154
|
+
--cc-sc-header-color: #{map.get($config, header-color)};
|
|
155
|
+
--cc-sc-header-transform: #{map.get($config, header-transform)};
|
|
156
|
+
--cc-sc-header-letter-spacing: #{map.get($config, header-letter-spacing)};
|
|
157
|
+
--cc-sc-header-line-height: #{map.get($config, header-line-height)};
|
|
158
|
+
|
|
159
|
+
--cc-sc-value-size: #{map.get($config, value-size)};
|
|
160
|
+
--cc-sc-value-weight: #{map.get($config, value-weight)};
|
|
161
|
+
--cc-sc-value-color: #{map.get($config, value-color)};
|
|
162
|
+
--cc-sc-value-line-height: #{map.get($config, value-line-height)};
|
|
163
|
+
|
|
164
|
+
--cc-sc-desc-size: #{map.get($config, desc-size)};
|
|
165
|
+
--cc-sc-desc-weight: #{map.get($config, desc-weight)};
|
|
166
|
+
--cc-sc-desc-color: #{map.get($config, desc-color)};
|
|
167
|
+
--cc-sc-desc-line-height: #{map.get($config, desc-line-height)};
|
|
168
|
+
--cc-sc-value-desc-gap: #{map.get($config, value-desc-gap)};
|
|
169
|
+
|
|
170
|
+
--cc-sc-meta-pill-bg: #{map.get($config, meta-pill-bg)};
|
|
171
|
+
--cc-sc-meta-pill-color: #{map.get($config, meta-pill-color)};
|
|
172
|
+
--cc-sc-meta-pill-padding: #{map.get($config, meta-pill-padding)};
|
|
173
|
+
--cc-sc-meta-pill-radius: #{map.get($config, meta-pill-radius)};
|
|
174
|
+
--cc-sc-meta-pill-font-size: #{map.get($config, meta-pill-font-size)};
|
|
175
|
+
--cc-sc-meta-pill-font-weight: #{map.get($config, meta-pill-font-weight)};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.theme-1 .cc-summary-card {
|
|
179
|
+
@include summary-card-theme();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.theme-2 .cc-summary-card {
|
|
183
|
+
@include summary-card-theme($theme-2-summary-card-config);
|
|
184
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
/* Default Variables (Can be overridden) */
|
|
3
|
+
--cc-card-bg: #ffffff;
|
|
4
|
+
--cc-card-border-color: #e0e0e0;
|
|
5
|
+
--cc-card-border-radius: 8px;
|
|
6
|
+
--cc-card-padding: 16px;
|
|
7
|
+
--cc-card-shadow: none;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/* Text Colors */
|
|
12
|
+
--text-color: #333333;
|
|
13
|
+
--text-muted: #666666;
|
|
14
|
+
--text-muted-2: #888888;
|
|
15
|
+
--text-light: #6c757d;
|
|
16
|
+
--text-on-primary: #ffffff;
|
|
17
|
+
|
|
18
|
+
/* Borders & Icons */
|
|
19
|
+
--border-color: #dee2e6;
|
|
20
|
+
--icon-bg: rgba(0, 0, 0, 0.05);
|
|
21
|
+
|
|
22
|
+
/* Components */
|
|
23
|
+
--primary-color: #c21e25;
|
|
24
|
+
/* Default Base Primary */
|
|
25
|
+
--btn-primary-bg: var(--primary-color);
|
|
26
|
+
--btn-primary-text: #ffffff;
|
|
27
|
+
--card-bg: #ffffff;
|
|
28
|
+
--input-bg: #fcfcfc;
|
|
29
|
+
--sidenav-bg: #ffffff;
|
|
30
|
+
--sidenav-active-bg: #fff0f0;
|
|
31
|
+
--sidenav-active-text: #ff0000;
|
|
32
|
+
|
|
33
|
+
/* Status & Chips */
|
|
34
|
+
--status-active-bg: #f6ffed;
|
|
35
|
+
--status-active-text: #52c41a;
|
|
36
|
+
--status-inactive-bg: #fffbe6;
|
|
37
|
+
--status-inactive-text: #faad14;
|
|
38
|
+
|
|
39
|
+
--chip-blue-bg: #e6f7ff;
|
|
40
|
+
--chip-blue-text: #1890ff;
|
|
41
|
+
--chip-green-bg: #f6ffed;
|
|
42
|
+
--chip-green-text: #52c41a;
|
|
43
|
+
|
|
44
|
+
/* Form Fields */
|
|
45
|
+
--field-label-color: #202124;
|
|
46
|
+
--field-label-height: 27px;
|
|
47
|
+
--field-input-bg: #fefefe;
|
|
48
|
+
--field-input-border: #bdc1c6;
|
|
49
|
+
--field-input-height: 40px;
|
|
50
|
+
--field-input-radius: 7px;
|
|
51
|
+
--field-hint-color: #5f6368;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/* ----------------------------------------------------
|
|
55
|
+
Theme 2 - Aesthetic Midnight (Dark/Neon)
|
|
56
|
+
---------------------------------------------------- */
|
|
57
|
+
body.theme-2 {
|
|
58
|
+
--primary-color: #00d4ff;
|
|
59
|
+
/* Neon Cyan */
|
|
60
|
+
--secondary-color: #2b52ff;
|
|
61
|
+
/* Bright Blue */
|
|
62
|
+
|
|
63
|
+
/* Layout Backgrounds */
|
|
64
|
+
--header-bg: rgba(15, 28, 63, 0.95);
|
|
65
|
+
/* Deep Indigo */
|
|
66
|
+
--footer-bg-start: #0a1128;
|
|
67
|
+
--footer-bg-end: #0f1c3f;
|
|
68
|
+
--sidebar-bg: #0a1128;
|
|
69
|
+
--content-bg: #0f1c3f;
|
|
70
|
+
|
|
71
|
+
/* Text Colors */
|
|
72
|
+
--text-color: #ffffff;
|
|
73
|
+
--text-muted: rgba(255, 255, 255, 0.7);
|
|
74
|
+
--text-muted-2: rgba(255, 255, 255, 0.6);
|
|
75
|
+
--text-light: #aaaaaa;
|
|
76
|
+
--text-on-primary: #000000;
|
|
77
|
+
|
|
78
|
+
/* Borders & Icons */
|
|
79
|
+
--border-color: rgba(255, 255, 255, 0.1);
|
|
80
|
+
--icon-bg: rgba(255, 255, 255, 0.1);
|
|
81
|
+
/* Typography */
|
|
82
|
+
--cc-font-family: 'Roboto', 'Helvetica Neue', sans-serif;
|
|
83
|
+
--cc-text-color-primary: #000000;
|
|
84
|
+
--cc-text-color-secondary: #757575;
|
|
85
|
+
--cc-text-size-label: 12px;
|
|
86
|
+
--cc-text-size-value: 24px;
|
|
87
|
+
--cc-text-weight-bold: 700;
|
|
88
|
+
--cc-text-weight-medium: 500;
|
|
89
|
+
|
|
90
|
+
/* Theme 1 - Screenshot Match */
|
|
91
|
+
--cc-theme-1-padding: 20px;
|
|
92
|
+
--cc-theme-1-border-radius: 6px;
|
|
93
|
+
--cc-theme-1-border: 1px solid #eeeeee;
|
|
94
|
+
--cc-theme-1-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
95
|
+
|
|
96
|
+
/* Theme 2 - Aesthetic */
|
|
97
|
+
--cc-theme-2-padding: 32px;
|
|
98
|
+
--cc-theme-2-border-radius: 16px;
|
|
99
|
+
--cc-theme-2-border: none;
|
|
100
|
+
--cc-theme-2-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
|
|
101
|
+
--cc-theme-2-bg: #ffffff;
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* Global Reset/Base */
|
|
106
|
+
body {
|
|
107
|
+
margin: 0;
|
|
108
|
+
font-family: 'Inter', sans-serif;
|
|
109
|
+
background-color: var(--content-bg);
|
|
110
|
+
/* Use content-bg, not generic bg-color */
|
|
111
|
+
color: var(--text-color);
|
|
112
|
+
transition:
|
|
113
|
+
background-color 0.3s ease,
|
|
114
|
+
color 0.3s ease;
|
|
115
|
+
}
|