shirkasoft-ui-components 1.0.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/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "shirkasoft-ui-components",
3
+ "version": "1.0.0",
4
+ "description": "Angular UI Components Library — themeable via CSS custom properties",
5
+ "keywords": [
6
+ "angular",
7
+ "ui",
8
+ "components",
9
+ "tailwind",
10
+ "shirkasoft",
11
+ "theming"
12
+ ],
13
+ "license": "MIT",
14
+ "author": "Shirkasoft",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/Ansem13/shirkasoft-ui-components.git"
18
+ },
19
+ "bugs": {
20
+ "url": "https://github.com/Ansem13/shirkasoft-ui-components/issues"
21
+ },
22
+ "homepage": "https://github.com/Ansem13/shirkasoft-ui-components#readme",
23
+ "peerDependencies": {
24
+ "@angular/common": "^21.2.0",
25
+ "@angular/core": "^21.2.0",
26
+ "@angular/forms": "^21.2.0",
27
+ "rxjs": "^7.8.0",
28
+ "@jsverse/transloco": ">= 8.0.0",
29
+ "@lucide/angular": "^1.17.0"
30
+ },
31
+ "dependencies": {
32
+ "tslib": "^2.3.0"
33
+ },
34
+ "sideEffects": false,
35
+ "module": "fesm2022/shirkasoft-ui-components.mjs",
36
+ "typings": "types/shirkasoft-ui-components.d.ts",
37
+ "exports": {
38
+ "./package.json": {
39
+ "default": "./package.json"
40
+ },
41
+ ".": {
42
+ "types": "./types/shirkasoft-ui-components.d.ts",
43
+ "default": "./fesm2022/shirkasoft-ui-components.mjs"
44
+ }
45
+ },
46
+ "type": "module"
47
+ }
package/src/theme.css ADDED
@@ -0,0 +1,216 @@
1
+ /* ============================================================
2
+ Shirkasoft UI Components — Theme Tokens & Utility Classes
3
+ ============================================================
4
+ Import in your global styles.css:
5
+ @import '@shirkasoft/ui-components/theme.css';
6
+
7
+ Override any variable at :root or .dark to customize.
8
+ Default palette is Zinc (neutral gray).
9
+
10
+ Pseudo-class variants (hover:, focus:, dark:) are handled
11
+ via Tailwind arbitrary values in component templates, e.g.:
12
+ hover:[background-color:var(--shk-surface-100)]
13
+ dark:[background-color:var(--shk-surface-800)]
14
+ focus:[--tw-ring-color:var(--shk-primary-500)]
15
+ ============================================================ */
16
+
17
+ :root {
18
+ --shk-primary-50: #fafafa;
19
+ --shk-primary-100: #f4f4f5;
20
+ --shk-primary-200: #e4e4e7;
21
+ --shk-primary-300: #d4d4d8;
22
+ --shk-primary-400: #a1a1aa;
23
+ --shk-primary-500: #71717a;
24
+ --shk-primary-600: #52525b;
25
+ --shk-primary-700: #3f3f46;
26
+ --shk-primary-800: #27272a;
27
+ --shk-primary-900: #18181b;
28
+
29
+ --shk-surface-50: #fafafa;
30
+ --shk-surface-100: #f4f4f5;
31
+ --shk-surface-200: #e4e4e7;
32
+ --shk-surface-300: #d4d4d8;
33
+ --shk-surface-400: #a1a1aa;
34
+ --shk-surface-500: #71717a;
35
+ --shk-surface-600: #52525b;
36
+ --shk-surface-700: #3f3f46;
37
+ --shk-surface-800: #27272a;
38
+ --shk-surface-900: #18181b;
39
+
40
+ --shk-success-50: #f0fdf4;
41
+ --shk-success-600: #16a34a;
42
+ --shk-success-800: #166534;
43
+
44
+ --shk-error-50: #fef2f2;
45
+ --shk-error-500: #ef4444;
46
+ --shk-error-600: #dc2626;
47
+ --shk-error-800: #991b1b;
48
+
49
+ --shk-warning-50: #fffbeb;
50
+ --shk-warning-600: #ca8a04;
51
+ --shk-warning-800: #854d0e;
52
+
53
+ --shk-info-50: #eff6ff;
54
+ --shk-info-600: #2563eb;
55
+ --shk-info-800: #1e40af;
56
+
57
+ --shk-amber-50: #fffbeb;
58
+ --shk-amber-400: #fbbf24;
59
+ --shk-amber-600: #d97706;
60
+ --shk-amber-700: #b45309;
61
+ --shk-amber-900: #78350f;
62
+
63
+ --shk-emerald-400: #34d399;
64
+ --shk-emerald-600: #059669;
65
+
66
+ --shk-bg-overlay: rgba(0, 0, 0, 0.4);
67
+ --shk-bg-overlay-light: rgba(0, 0, 0, 0.3);
68
+ --shk-tooltip-bg: var(--shk-surface-800);
69
+ --shk-tooltip-text: #fff;
70
+ --shk-scrollbar-thumb: #cbd5e1;
71
+ --shk-scrollbar-thumb-hover: #94a3b8;
72
+ }
73
+
74
+ .dark {
75
+ --shk-surface-50: #18181b;
76
+ --shk-surface-100: #27272a;
77
+ --shk-surface-200: #3f3f46;
78
+ --shk-surface-300: #52525b;
79
+ --shk-surface-400: #71717a;
80
+ --shk-surface-500: #a1a1aa;
81
+ --shk-surface-600: #d4d4d8;
82
+ --shk-surface-700: #e4e4e7;
83
+ --shk-surface-800: #f4f4f5;
84
+ --shk-surface-900: #fafafa;
85
+
86
+ --shk-primary-50: #27272a;
87
+ --shk-primary-100: #3f3f46;
88
+ --shk-primary-200: #52525b;
89
+ --shk-primary-300: #71717a;
90
+ --shk-primary-400: #a1a1aa;
91
+ --shk-primary-500: #d4d4d8;
92
+ --shk-primary-600: #e4e4e7;
93
+ --shk-primary-700: #f4f4f5;
94
+ --shk-primary-800: #fafafa;
95
+ --shk-primary-900: #fcfcfc;
96
+
97
+ --shk-success-600: #22c55e;
98
+ --shk-success-800: #bbf7d0;
99
+
100
+ --shk-error-50: #450a0a;
101
+ --shk-error-500: #f87171;
102
+ --shk-error-600: #fca5a5;
103
+ --shk-error-800: #fecaca;
104
+
105
+ --shk-warning-50: #422006;
106
+ --shk-warning-600: #facc15;
107
+ --shk-warning-800: #fde68a;
108
+
109
+ --shk-info-50: #172554;
110
+ --shk-info-600: #60a5fa;
111
+ --shk-info-800: #bfdbfe;
112
+
113
+ --shk-amber-50: #451a03;
114
+ --shk-amber-400: #fbbf24;
115
+ --shk-amber-600: #f59e0b;
116
+ --shk-amber-700: #d97706;
117
+ --shk-amber-900: #78350f;
118
+
119
+ --shk-tooltip-bg: #e4e4e7;
120
+ --shk-tooltip-text: #18181b;
121
+ --shk-scrollbar-thumb: #475569;
122
+ --shk-scrollbar-thumb-hover: #64748b;
123
+ }
124
+
125
+ /* ============================================================
126
+ Background
127
+ ============================================================ */
128
+ ._shk-bg-white { background-color: #fff; }
129
+ ._shk-bg-overlay { background-color: var(--shk-bg-overlay); }
130
+
131
+ ._shk-bg-primary { background-color: var(--shk-primary-600); }
132
+ ._shk-bg-primary-soft { background-color: var(--shk-primary-50); }
133
+ ._shk-bg-primary-border { background-color: var(--shk-primary-200); }
134
+
135
+ ._shk-bg-surface-50 { background-color: var(--shk-surface-50); }
136
+ ._shk-bg-surface-100 { background-color: var(--shk-surface-100); }
137
+ ._shk-bg-surface-200 { background-color: var(--shk-surface-200); }
138
+ ._shk-bg-surface-300 { background-color: var(--shk-surface-300); }
139
+ ._shk-bg-surface-700 { background-color: var(--shk-surface-700); }
140
+ ._shk-bg-surface-800 { background-color: var(--shk-surface-800); }
141
+
142
+ ._shk-bg-red-soft { background-color: var(--shk-error-50); }
143
+ ._shk-bg-green-soft { background-color: var(--shk-success-50); }
144
+ ._shk-bg-blue-soft { background-color: var(--shk-info-50); }
145
+ ._shk-bg-yellow-soft { background-color: var(--shk-warning-50); }
146
+ ._shk-bg-amber-soft { background-color: var(--shk-amber-50); }
147
+
148
+ ._shk-bg-red-600 { background-color: var(--shk-error-600); }
149
+ ._shk-bg-amber-600 { background-color: var(--shk-amber-600); }
150
+
151
+ ._shk-bg-tooltip { background-color: var(--shk-tooltip-bg); }
152
+
153
+ /* ============================================================
154
+ Text
155
+ ============================================================ */
156
+ ._shk-text-white { color: #fff; }
157
+ ._shk-text-tooltip { color: var(--shk-tooltip-text); }
158
+
159
+ ._shk-text-surface-200 { color: var(--shk-surface-200); }
160
+ ._shk-text-surface-300 { color: var(--shk-surface-300); }
161
+ ._shk-text-surface-400 { color: var(--shk-surface-400); }
162
+ ._shk-text-surface-500 { color: var(--shk-surface-500); }
163
+ ._shk-text-surface-600 { color: var(--shk-surface-600); }
164
+ ._shk-text-surface-700 { color: var(--shk-surface-700); }
165
+ ._shk-text-surface-800 { color: var(--shk-surface-800); }
166
+ ._shk-text-surface-900 { color: var(--shk-surface-900); }
167
+
168
+ ._shk-text-primary { color: var(--shk-primary-600); }
169
+ ._shk-text-primary-700 { color: var(--shk-primary-700); }
170
+
171
+ ._shk-text-red-500 { color: var(--shk-error-500); }
172
+ ._shk-text-red-600 { color: var(--shk-error-600); }
173
+ ._shk-text-red-800 { color: var(--shk-error-800); }
174
+ ._shk-text-green-600 { color: var(--shk-success-600); }
175
+ ._shk-text-green-800 { color: var(--shk-success-800); }
176
+ ._shk-text-blue-600 { color: var(--shk-info-600); }
177
+ ._shk-text-blue-800 { color: var(--shk-info-800); }
178
+ ._shk-text-yellow-600 { color: var(--shk-warning-600); }
179
+ ._shk-text-yellow-800 { color: var(--shk-warning-800); }
180
+ ._shk-text-amber-600 { color: var(--shk-amber-600); }
181
+
182
+ /* ============================================================
183
+ Border
184
+ ============================================================ */
185
+ ._shk-border { border-color: var(--shk-surface-200); }
186
+ ._shk-border-surface-300 { border-color: var(--shk-surface-300); }
187
+ ._shk-border-surface-700 { border-color: var(--shk-surface-700); }
188
+
189
+ ._shk-border-primary { border-color: var(--shk-primary-600); }
190
+ ._shk-border-primary-200 { border-color: var(--shk-primary-200); }
191
+ ._shk-border-primary-500 { border-color: var(--shk-primary-500); }
192
+
193
+ ._shk-border-red { border-color: var(--shk-error-500); }
194
+ ._shk-border-red-400 { border-color: var(--shk-error-400); }
195
+
196
+ /* ============================================================
197
+ Icon colors
198
+ ============================================================ */
199
+ ._shk-icon-muted { color: var(--shk-surface-400); }
200
+ ._shk-icon-subtle { color: var(--shk-surface-300); }
201
+
202
+ /* ============================================================
203
+ Gradients (top accent bar)
204
+ ============================================================ */
205
+ ._shk-gradient-emerald { background-image: linear-gradient(to right, var(--shk-emerald-400), var(--shk-emerald-600)); }
206
+ ._shk-gradient-red { background-image: linear-gradient(to right, var(--shk-error-400), var(--shk-error-600)); }
207
+ ._shk-gradient-blue { background-image: linear-gradient(to right, var(--shk-info-400), var(--shk-info-600)); }
208
+ ._shk-gradient-amber { background-image: linear-gradient(to right, var(--shk-amber-400), var(--shk-amber-600)); }
209
+
210
+ /* ============================================================
211
+ Scrollbar (table)
212
+ ============================================================ */
213
+ ._shk-scrollbar::-webkit-scrollbar { height: 6px; }
214
+ ._shk-scrollbar::-webkit-scrollbar-track { background: transparent; }
215
+ ._shk-scrollbar::-webkit-scrollbar-thumb { background: var(--shk-scrollbar-thumb); border-radius: 9999px; }
216
+ ._shk-scrollbar::-webkit-scrollbar-thumb:hover { background: var(--shk-scrollbar-thumb-hover); }