@adarsh.nishad/activityual-ui 0.0.0-stage → 0.1.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/README.md +105 -2
- package/dist/activity-card.d.ts +43 -0
- package/dist/activity-card.js +302 -0
- package/dist/button.d.ts +32 -0
- package/dist/button.js +184 -0
- package/dist/card.d.ts +16 -0
- package/dist/card.js +99 -0
- package/dist/chart-panel.d.ts +26 -0
- package/dist/chart-panel.js +247 -0
- package/dist/confirm-dialog.d.ts +35 -0
- package/dist/confirm-dialog.js +140 -0
- package/dist/empty-state.d.ts +25 -0
- package/dist/empty-state.js +95 -0
- package/dist/form-field.d.ts +40 -0
- package/dist/form-field.js +144 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +13 -0
- package/dist/progress-ring.d.ts +23 -0
- package/dist/progress-ring.js +124 -0
- package/dist/recommendation-banner.d.ts +31 -0
- package/dist/recommendation-banner.js +192 -0
- package/dist/stat-card.d.ts +27 -0
- package/dist/stat-card.js +137 -0
- package/dist/status-pill.d.ts +16 -0
- package/dist/status-pill.js +96 -0
- package/dist/streak-badge.d.ts +19 -0
- package/dist/streak-badge.js +89 -0
- package/dist/tokens.d.ts +174 -0
- package/dist/tokens.js +125 -0
- package/package.json +35 -4
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export type OccurrenceStatus = 'done' | 'missed' | 'pending';
|
|
3
|
+
export declare class ActivityualStatusPill extends LitElement {
|
|
4
|
+
static properties: {
|
|
5
|
+
status: {
|
|
6
|
+
type: StringConstructor;
|
|
7
|
+
};
|
|
8
|
+
size: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
status: OccurrenceStatus;
|
|
13
|
+
size: 'sm' | 'md';
|
|
14
|
+
static styles: import("lit").CSSResult;
|
|
15
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { LitElement, html, css } from 'lit';
|
|
2
|
+
export class ActivityualStatusPill extends LitElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.status = 'pending';
|
|
6
|
+
this.size = 'md';
|
|
7
|
+
}
|
|
8
|
+
static { this.properties = {
|
|
9
|
+
status: { type: String },
|
|
10
|
+
size: { type: String }
|
|
11
|
+
}; }
|
|
12
|
+
static { this.styles = css `
|
|
13
|
+
:host {
|
|
14
|
+
display: inline-block;
|
|
15
|
+
vertical-align: middle;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.pill {
|
|
19
|
+
display: inline-flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
gap: 0.35rem;
|
|
22
|
+
font-family: Inter, 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
23
|
+
font-weight: 700;
|
|
24
|
+
text-transform: uppercase;
|
|
25
|
+
letter-spacing: 0.04em;
|
|
26
|
+
border-radius: 9999px;
|
|
27
|
+
user-select: none;
|
|
28
|
+
transition: all 0.2s ease;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.sm {
|
|
32
|
+
height: 22px;
|
|
33
|
+
padding: 0 8px;
|
|
34
|
+
font-size: 9.5px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.md {
|
|
38
|
+
height: 26px;
|
|
39
|
+
padding: 0 10px;
|
|
40
|
+
font-size: 10.5px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* DONE: Vaulto Financial Positive Emerald */
|
|
44
|
+
.done {
|
|
45
|
+
background: rgba(37, 211, 102, 0.12);
|
|
46
|
+
color: #25d366;
|
|
47
|
+
border: 1px solid rgba(37, 211, 102, 0.25);
|
|
48
|
+
box-shadow: 0 0 8px rgba(37, 211, 102, 0.15);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* MISSED: Vaulto Financial Negative Red */
|
|
52
|
+
.missed {
|
|
53
|
+
background: rgba(255, 52, 52, 0.12);
|
|
54
|
+
color: #ff3434;
|
|
55
|
+
border: 1px solid rgba(255, 52, 52, 0.25);
|
|
56
|
+
box-shadow: 0 0 8px rgba(255, 52, 52, 0.15);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* PENDING: Warm Amber */
|
|
60
|
+
.pending {
|
|
61
|
+
background: rgba(245, 158, 11, 0.12);
|
|
62
|
+
color: #f59e0b;
|
|
63
|
+
border: 1px solid rgba(245, 158, 11, 0.2);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.icon {
|
|
67
|
+
display: inline-flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
font-size: 11px;
|
|
71
|
+
line-height: 1;
|
|
72
|
+
font-weight: 800;
|
|
73
|
+
}
|
|
74
|
+
`; }
|
|
75
|
+
render() {
|
|
76
|
+
let iconMarkup = html `<span class="icon" aria-hidden="true">○</span>`;
|
|
77
|
+
let label = 'PENDING';
|
|
78
|
+
if (this.status === 'done') {
|
|
79
|
+
iconMarkup = html `<span class="icon" aria-hidden="true">✓</span>`;
|
|
80
|
+
label = 'DONE';
|
|
81
|
+
}
|
|
82
|
+
else if (this.status === 'missed') {
|
|
83
|
+
iconMarkup = html `<span class="icon" aria-hidden="true">✕</span>`;
|
|
84
|
+
label = 'MISSED';
|
|
85
|
+
}
|
|
86
|
+
return html `
|
|
87
|
+
<span class="pill ${this.status} ${this.size}" role="status" aria-label="Status: ${label}">
|
|
88
|
+
${iconMarkup}
|
|
89
|
+
<span>${label}</span>
|
|
90
|
+
</span>
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (!customElements.get('activityual-status-pill')) {
|
|
95
|
+
customElements.define('activityual-status-pill', ActivityualStatusPill);
|
|
96
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
export declare class ActivityualStreakBadge extends LitElement {
|
|
3
|
+
static properties: {
|
|
4
|
+
count: {
|
|
5
|
+
type: NumberConstructor;
|
|
6
|
+
};
|
|
7
|
+
label: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
};
|
|
10
|
+
highlight: {
|
|
11
|
+
type: BooleanConstructor;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
count: number;
|
|
15
|
+
label: string;
|
|
16
|
+
highlight: boolean;
|
|
17
|
+
static styles: import("lit").CSSResult;
|
|
18
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { LitElement, html, css } from 'lit';
|
|
2
|
+
export class ActivityualStreakBadge extends LitElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
this.count = 0;
|
|
6
|
+
this.label = 'Days';
|
|
7
|
+
this.highlight = false;
|
|
8
|
+
}
|
|
9
|
+
static { this.properties = {
|
|
10
|
+
count: { type: Number },
|
|
11
|
+
label: { type: String },
|
|
12
|
+
highlight: { type: Boolean }
|
|
13
|
+
}; }
|
|
14
|
+
static { this.styles = css `
|
|
15
|
+
:host {
|
|
16
|
+
display: inline-block;
|
|
17
|
+
vertical-align: middle;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.badge {
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
align-items: center;
|
|
23
|
+
gap: 0.6rem;
|
|
24
|
+
padding: 0.45rem 0.8rem;
|
|
25
|
+
border-radius: 12px;
|
|
26
|
+
background: linear-gradient(145deg, rgba(42, 42, 42, 0.65) 0%, rgba(24, 24, 24, 0.8) 100%);
|
|
27
|
+
backdrop-filter: blur(16px);
|
|
28
|
+
-webkit-backdrop-filter: blur(16px);
|
|
29
|
+
border: 1px solid rgba(255, 255, 255, 0.05);
|
|
30
|
+
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
|
|
31
|
+
font-family: Inter, 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
32
|
+
user-select: none;
|
|
33
|
+
transition: all 0.2s ease;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.icon-frame {
|
|
37
|
+
width: 28px;
|
|
38
|
+
height: 28px;
|
|
39
|
+
border-radius: 50%;
|
|
40
|
+
background: rgba(255, 67, 5, 0.12);
|
|
41
|
+
border: 1px solid rgba(255, 67, 5, 0.25);
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
justify-content: center;
|
|
45
|
+
color: #ff4305;
|
|
46
|
+
font-size: 14px;
|
|
47
|
+
box-shadow: 0 0 10px rgba(255, 67, 5, 0.2);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.text-group {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.count {
|
|
56
|
+
font-size: 13px;
|
|
57
|
+
font-weight: 700;
|
|
58
|
+
color: #f5f5f5;
|
|
59
|
+
line-height: 1;
|
|
60
|
+
font-variant-numeric: tabular-nums;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.label {
|
|
64
|
+
font-size: 10px;
|
|
65
|
+
font-weight: 500;
|
|
66
|
+
color: #a5a5a5;
|
|
67
|
+
margin-top: 2px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.highlight {
|
|
71
|
+
border-color: rgba(255, 67, 5, 0.35);
|
|
72
|
+
box-shadow: 0 0 14px rgba(255, 67, 5, 0.2);
|
|
73
|
+
}
|
|
74
|
+
`; }
|
|
75
|
+
render() {
|
|
76
|
+
return html `
|
|
77
|
+
<div class="badge ${this.highlight ? 'highlight' : ''}" role="status" aria-label="${this.count} ${this.label} Streak">
|
|
78
|
+
<div class="icon-frame" aria-hidden="true">🔥</div>
|
|
79
|
+
<div class="text-group">
|
|
80
|
+
<span class="count">${this.count} ${this.label}</span>
|
|
81
|
+
<span class="label">Active Flow Streak</span>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (!customElements.get('activityual-streak-badge')) {
|
|
88
|
+
customElements.define('activityual-streak-badge', ActivityualStreakBadge);
|
|
89
|
+
}
|
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
export declare const tokens: {
|
|
2
|
+
readonly name: "Vaulto Obsidian";
|
|
3
|
+
readonly version: "3.0.0";
|
|
4
|
+
readonly colors: {
|
|
5
|
+
readonly canvasBase: "#080808";
|
|
6
|
+
readonly background: "#080808";
|
|
7
|
+
readonly surface: "#272727";
|
|
8
|
+
readonly surfaceDim: "#111111";
|
|
9
|
+
readonly surfaceSubtle: "#1B1B1B";
|
|
10
|
+
readonly surfaceCard: "#202020";
|
|
11
|
+
readonly surfaceElevated: "#2C2C2C";
|
|
12
|
+
readonly surfaceBright: "#353535";
|
|
13
|
+
readonly surfaceContainer: "#1D1D1D";
|
|
14
|
+
readonly surfaceContainerLow: "#151515";
|
|
15
|
+
readonly surfaceContainerLowest: "#080808";
|
|
16
|
+
readonly surfaceContainerHigh: "#272727";
|
|
17
|
+
readonly surfaceContainerHighest: "#333333";
|
|
18
|
+
readonly surfaceHover: "#353535";
|
|
19
|
+
readonly surfaceActive: "#414141";
|
|
20
|
+
readonly surfaceInset: "#121212";
|
|
21
|
+
readonly bgCanvas: "#080808";
|
|
22
|
+
readonly textPrimary: "#F5F5F5";
|
|
23
|
+
readonly textSecondary: "#A5A5A5";
|
|
24
|
+
readonly textTertiary: "#707070";
|
|
25
|
+
readonly textMuted: "#707070";
|
|
26
|
+
readonly textInverse: "#101010";
|
|
27
|
+
readonly onSurface: "#F5F5F5";
|
|
28
|
+
readonly onSurfaceVariant: "#A5A5A5";
|
|
29
|
+
readonly inverseSurface: "#F5F5F5";
|
|
30
|
+
readonly inverseOnSurface: "#181818";
|
|
31
|
+
readonly primary: "#FF4305";
|
|
32
|
+
readonly primaryHover: "#E93B00";
|
|
33
|
+
readonly primaryContainer: "#FF4305";
|
|
34
|
+
readonly primarySoft: "rgba(255, 67, 5, 0.12)";
|
|
35
|
+
readonly primaryFixed: "#FFDAD3";
|
|
36
|
+
readonly primaryFixedDim: "#FFB4A4";
|
|
37
|
+
readonly onPrimary: "#FFFFFF";
|
|
38
|
+
readonly onPrimaryContainer: "#FFFFFF";
|
|
39
|
+
readonly accentGlow: "rgba(255, 67, 5, 0.25)";
|
|
40
|
+
readonly statusDone: "#25D366";
|
|
41
|
+
readonly statusDoneBg: "rgba(37, 211, 102, 0.12)";
|
|
42
|
+
readonly statusDoneBorder: "rgba(37, 211, 102, 0.25)";
|
|
43
|
+
readonly secondary: "#25D366";
|
|
44
|
+
readonly secondaryContainer: "#1EA852";
|
|
45
|
+
readonly statusMissed: "#FF3434";
|
|
46
|
+
readonly statusMissedBg: "rgba(255, 52, 52, 0.12)";
|
|
47
|
+
readonly statusMissedBorder: "rgba(255, 52, 52, 0.25)";
|
|
48
|
+
readonly error: "#FF3434";
|
|
49
|
+
readonly errorContainer: "#D32F2F";
|
|
50
|
+
readonly statusPending: "#F59E0B";
|
|
51
|
+
readonly statusPendingBg: "rgba(245, 158, 11, 0.12)";
|
|
52
|
+
readonly statusPendingBorder: "rgba(245, 158, 11, 0.25)";
|
|
53
|
+
readonly neutral: "#929292";
|
|
54
|
+
readonly tertiary: "#A5A5A5";
|
|
55
|
+
readonly borderSubtle: "rgba(255, 255, 255, 0.05)";
|
|
56
|
+
readonly borderStrong: "rgba(255, 255, 255, 0.12)";
|
|
57
|
+
readonly borderHighlight: "rgba(255, 255, 255, 0.1)";
|
|
58
|
+
readonly outline: "#383838";
|
|
59
|
+
readonly outlineVariant: "#555555";
|
|
60
|
+
};
|
|
61
|
+
readonly typography: {
|
|
62
|
+
readonly fontFamilySans: "Inter, 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif";
|
|
63
|
+
readonly fontFamilyMono: "'JetBrains Mono', monospace";
|
|
64
|
+
readonly sizes: {
|
|
65
|
+
readonly displayLg: {
|
|
66
|
+
readonly fontSize: "2rem";
|
|
67
|
+
readonly lineHeight: "2.25rem";
|
|
68
|
+
readonly fontWeight: "700";
|
|
69
|
+
readonly letterSpacing: "-0.03em";
|
|
70
|
+
};
|
|
71
|
+
readonly displayLgMobile: {
|
|
72
|
+
readonly fontSize: "1.75rem";
|
|
73
|
+
readonly lineHeight: "2rem";
|
|
74
|
+
readonly fontWeight: "700";
|
|
75
|
+
readonly letterSpacing: "-0.02em";
|
|
76
|
+
};
|
|
77
|
+
readonly headlineLg: {
|
|
78
|
+
readonly fontSize: "1.5rem";
|
|
79
|
+
readonly lineHeight: "1.875rem";
|
|
80
|
+
readonly fontWeight: "600";
|
|
81
|
+
readonly letterSpacing: "-0.02em";
|
|
82
|
+
};
|
|
83
|
+
readonly headlineMd: {
|
|
84
|
+
readonly fontSize: "1.125rem";
|
|
85
|
+
readonly lineHeight: "1.5rem";
|
|
86
|
+
readonly fontWeight: "600";
|
|
87
|
+
readonly letterSpacing: "-0.015em";
|
|
88
|
+
};
|
|
89
|
+
readonly headlineSm: {
|
|
90
|
+
readonly fontSize: "1rem";
|
|
91
|
+
readonly lineHeight: "1.375rem";
|
|
92
|
+
readonly fontWeight: "600";
|
|
93
|
+
readonly letterSpacing: "-0.01em";
|
|
94
|
+
};
|
|
95
|
+
readonly statCounter: {
|
|
96
|
+
readonly fontSize: "1.875rem";
|
|
97
|
+
readonly lineHeight: "2.125rem";
|
|
98
|
+
readonly fontWeight: "700";
|
|
99
|
+
readonly letterSpacing: "-0.03em";
|
|
100
|
+
};
|
|
101
|
+
readonly bodyLg: {
|
|
102
|
+
readonly fontSize: "0.9375rem";
|
|
103
|
+
readonly lineHeight: "1.375rem";
|
|
104
|
+
readonly fontWeight: "400";
|
|
105
|
+
readonly letterSpacing: "0em";
|
|
106
|
+
};
|
|
107
|
+
readonly bodyMd: {
|
|
108
|
+
readonly fontSize: "0.8125rem";
|
|
109
|
+
readonly lineHeight: "1.25rem";
|
|
110
|
+
readonly fontWeight: "400";
|
|
111
|
+
readonly letterSpacing: "0em";
|
|
112
|
+
};
|
|
113
|
+
readonly bodySm: {
|
|
114
|
+
readonly fontSize: "0.6875rem";
|
|
115
|
+
readonly lineHeight: "1rem";
|
|
116
|
+
readonly fontWeight: "400";
|
|
117
|
+
readonly letterSpacing: "0.01em";
|
|
118
|
+
};
|
|
119
|
+
readonly labelMd: {
|
|
120
|
+
readonly fontSize: "0.8125rem";
|
|
121
|
+
readonly lineHeight: "1.125rem";
|
|
122
|
+
readonly fontWeight: "500";
|
|
123
|
+
readonly letterSpacing: "0.01em";
|
|
124
|
+
};
|
|
125
|
+
readonly labelSm: {
|
|
126
|
+
readonly fontSize: "0.6875rem";
|
|
127
|
+
readonly lineHeight: "0.9375rem";
|
|
128
|
+
readonly fontWeight: "600";
|
|
129
|
+
readonly letterSpacing: "0.04em";
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
readonly spacing: {
|
|
134
|
+
readonly spaceXs: "0.25rem";
|
|
135
|
+
readonly spaceSm: "0.5rem";
|
|
136
|
+
readonly spaceMd: "0.75rem";
|
|
137
|
+
readonly spaceLg: "1.25rem";
|
|
138
|
+
readonly spaceXl: "1.5rem";
|
|
139
|
+
readonly space2xl: "2.5rem";
|
|
140
|
+
readonly gutter: "0.75rem";
|
|
141
|
+
readonly gutterDesktop: "1rem";
|
|
142
|
+
readonly margin: "1rem";
|
|
143
|
+
readonly marginTablet: "1.25rem";
|
|
144
|
+
readonly marginDesktop: "1.5rem";
|
|
145
|
+
};
|
|
146
|
+
readonly radii: {
|
|
147
|
+
readonly sm: "0.5rem";
|
|
148
|
+
readonly DEFAULT: "0.6875rem";
|
|
149
|
+
readonly md: "0.6875rem";
|
|
150
|
+
readonly lg: "0.9375rem";
|
|
151
|
+
readonly xl: "1.125rem";
|
|
152
|
+
readonly full: "9999px";
|
|
153
|
+
};
|
|
154
|
+
readonly elevation: {
|
|
155
|
+
readonly glassLow: {
|
|
156
|
+
readonly background: "rgba(32, 32, 32, 0.7)";
|
|
157
|
+
readonly backdropFilter: "blur(12px)";
|
|
158
|
+
readonly border: "1px solid rgba(255, 255, 255, 0.04)";
|
|
159
|
+
};
|
|
160
|
+
readonly glassCard: {
|
|
161
|
+
readonly background: "linear-gradient(145deg, rgba(42, 42, 42, 0.65) 0%, rgba(24, 24, 24, 0.8) 100%)";
|
|
162
|
+
readonly backdropFilter: "blur(20px)";
|
|
163
|
+
readonly border: "1px solid rgba(255, 255, 255, 0.05)";
|
|
164
|
+
readonly boxShadow: "0 10px 28px -4px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08)";
|
|
165
|
+
};
|
|
166
|
+
readonly glassElevated: {
|
|
167
|
+
readonly background: "linear-gradient(145deg, rgba(50, 50, 50, 0.75) 0%, rgba(30, 30, 30, 0.88) 100%)";
|
|
168
|
+
readonly backdropFilter: "blur(24px)";
|
|
169
|
+
readonly border: "1px solid rgba(255, 255, 255, 0.08)";
|
|
170
|
+
readonly boxShadow: "0 16px 36px -6px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.12)";
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export type ThemeTokens = typeof tokens;
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export const tokens = {
|
|
2
|
+
name: 'Vaulto Obsidian',
|
|
3
|
+
version: '3.0.0',
|
|
4
|
+
colors: {
|
|
5
|
+
// Canvas and surfaces (Vaulto pure charcoal & near-black foundation)
|
|
6
|
+
canvasBase: '#080808',
|
|
7
|
+
background: '#080808',
|
|
8
|
+
surface: '#272727',
|
|
9
|
+
surfaceDim: '#111111',
|
|
10
|
+
surfaceSubtle: '#1B1B1B',
|
|
11
|
+
surfaceCard: '#202020',
|
|
12
|
+
surfaceElevated: '#2C2C2C',
|
|
13
|
+
surfaceBright: '#353535',
|
|
14
|
+
surfaceContainer: '#1D1D1D',
|
|
15
|
+
surfaceContainerLow: '#151515',
|
|
16
|
+
surfaceContainerLowest: '#080808',
|
|
17
|
+
surfaceContainerHigh: '#272727',
|
|
18
|
+
surfaceContainerHighest: '#333333',
|
|
19
|
+
surfaceHover: '#353535',
|
|
20
|
+
surfaceActive: '#414141',
|
|
21
|
+
surfaceInset: '#121212',
|
|
22
|
+
bgCanvas: '#080808',
|
|
23
|
+
// Text and typography
|
|
24
|
+
textPrimary: '#F5F5F5',
|
|
25
|
+
textSecondary: '#A5A5A5',
|
|
26
|
+
textTertiary: '#707070',
|
|
27
|
+
textMuted: '#707070',
|
|
28
|
+
textInverse: '#101010',
|
|
29
|
+
onSurface: '#F5F5F5',
|
|
30
|
+
onSurfaceVariant: '#A5A5A5',
|
|
31
|
+
inverseSurface: '#F5F5F5',
|
|
32
|
+
inverseOnSurface: '#181818',
|
|
33
|
+
// Primary accent (Vaulto Signature Orange)
|
|
34
|
+
primary: '#FF4305',
|
|
35
|
+
primaryHover: '#E93B00',
|
|
36
|
+
primaryContainer: '#FF4305',
|
|
37
|
+
primarySoft: 'rgba(255, 67, 5, 0.12)',
|
|
38
|
+
primaryFixed: '#FFDAD3',
|
|
39
|
+
primaryFixedDim: '#FFB4A4',
|
|
40
|
+
onPrimary: '#FFFFFF',
|
|
41
|
+
onPrimaryContainer: '#FFFFFF',
|
|
42
|
+
accentGlow: 'rgba(255, 67, 5, 0.25)',
|
|
43
|
+
// Success & Completion (Vaulto Financial Positive)
|
|
44
|
+
statusDone: '#25D366',
|
|
45
|
+
statusDoneBg: 'rgba(37, 211, 102, 0.12)',
|
|
46
|
+
statusDoneBorder: 'rgba(37, 211, 102, 0.25)',
|
|
47
|
+
secondary: '#25D366',
|
|
48
|
+
secondaryContainer: '#1EA852',
|
|
49
|
+
// Warning & Missed (Vaulto Financial Negative)
|
|
50
|
+
statusMissed: '#FF3434',
|
|
51
|
+
statusMissedBg: 'rgba(255, 52, 52, 0.12)',
|
|
52
|
+
statusMissedBorder: 'rgba(255, 52, 52, 0.25)',
|
|
53
|
+
error: '#FF3434',
|
|
54
|
+
errorContainer: '#D32F2F',
|
|
55
|
+
// Pending & Neutral Status
|
|
56
|
+
statusPending: '#F59E0B',
|
|
57
|
+
statusPendingBg: 'rgba(245, 158, 11, 0.12)',
|
|
58
|
+
statusPendingBorder: 'rgba(245, 158, 11, 0.25)',
|
|
59
|
+
neutral: '#929292',
|
|
60
|
+
tertiary: '#A5A5A5',
|
|
61
|
+
// Borders & Lines
|
|
62
|
+
borderSubtle: 'rgba(255, 255, 255, 0.05)',
|
|
63
|
+
borderStrong: 'rgba(255, 255, 255, 0.12)',
|
|
64
|
+
borderHighlight: 'rgba(255, 255, 255, 0.1)',
|
|
65
|
+
outline: '#383838',
|
|
66
|
+
outlineVariant: '#555555'
|
|
67
|
+
},
|
|
68
|
+
typography: {
|
|
69
|
+
fontFamilySans: "Inter, 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
|
|
70
|
+
fontFamilyMono: "'JetBrains Mono', monospace",
|
|
71
|
+
sizes: {
|
|
72
|
+
displayLg: { fontSize: '2rem', lineHeight: '2.25rem', fontWeight: '700', letterSpacing: '-0.03em' },
|
|
73
|
+
displayLgMobile: { fontSize: '1.75rem', lineHeight: '2rem', fontWeight: '700', letterSpacing: '-0.02em' },
|
|
74
|
+
headlineLg: { fontSize: '1.5rem', lineHeight: '1.875rem', fontWeight: '600', letterSpacing: '-0.02em' },
|
|
75
|
+
headlineMd: { fontSize: '1.125rem', lineHeight: '1.5rem', fontWeight: '600', letterSpacing: '-0.015em' },
|
|
76
|
+
headlineSm: { fontSize: '1rem', lineHeight: '1.375rem', fontWeight: '600', letterSpacing: '-0.01em' },
|
|
77
|
+
statCounter: { fontSize: '1.875rem', lineHeight: '2.125rem', fontWeight: '700', letterSpacing: '-0.03em' },
|
|
78
|
+
bodyLg: { fontSize: '0.9375rem', lineHeight: '1.375rem', fontWeight: '400', letterSpacing: '0em' },
|
|
79
|
+
bodyMd: { fontSize: '0.8125rem', lineHeight: '1.25rem', fontWeight: '400', letterSpacing: '0em' },
|
|
80
|
+
bodySm: { fontSize: '0.6875rem', lineHeight: '1rem', fontWeight: '400', letterSpacing: '0.01em' },
|
|
81
|
+
labelMd: { fontSize: '0.8125rem', lineHeight: '1.125rem', fontWeight: '500', letterSpacing: '0.01em' },
|
|
82
|
+
labelSm: { fontSize: '0.6875rem', lineHeight: '0.9375rem', fontWeight: '600', letterSpacing: '0.04em' }
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
spacing: {
|
|
86
|
+
spaceXs: '0.25rem',
|
|
87
|
+
spaceSm: '0.5rem',
|
|
88
|
+
spaceMd: '0.75rem',
|
|
89
|
+
spaceLg: '1.25rem',
|
|
90
|
+
spaceXl: '1.5rem',
|
|
91
|
+
space2xl: '2.5rem',
|
|
92
|
+
gutter: '0.75rem',
|
|
93
|
+
gutterDesktop: '1rem',
|
|
94
|
+
margin: '1rem',
|
|
95
|
+
marginTablet: '1.25rem',
|
|
96
|
+
marginDesktop: '1.5rem'
|
|
97
|
+
},
|
|
98
|
+
radii: {
|
|
99
|
+
sm: '0.5rem',
|
|
100
|
+
DEFAULT: '0.6875rem',
|
|
101
|
+
md: '0.6875rem',
|
|
102
|
+
lg: '0.9375rem',
|
|
103
|
+
xl: '1.125rem',
|
|
104
|
+
full: '9999px'
|
|
105
|
+
},
|
|
106
|
+
elevation: {
|
|
107
|
+
glassLow: {
|
|
108
|
+
background: 'rgba(32, 32, 32, 0.7)',
|
|
109
|
+
backdropFilter: 'blur(12px)',
|
|
110
|
+
border: '1px solid rgba(255, 255, 255, 0.04)'
|
|
111
|
+
},
|
|
112
|
+
glassCard: {
|
|
113
|
+
background: 'linear-gradient(145deg, rgba(42, 42, 42, 0.65) 0%, rgba(24, 24, 24, 0.8) 100%)',
|
|
114
|
+
backdropFilter: 'blur(20px)',
|
|
115
|
+
border: '1px solid rgba(255, 255, 255, 0.05)',
|
|
116
|
+
boxShadow: '0 10px 28px -4px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.08)'
|
|
117
|
+
},
|
|
118
|
+
glassElevated: {
|
|
119
|
+
background: 'linear-gradient(145deg, rgba(50, 50, 50, 0.75) 0%, rgba(30, 30, 30, 0.88) 100%)',
|
|
120
|
+
backdropFilter: 'blur(24px)',
|
|
121
|
+
border: '1px solid rgba(255, 255, 255, 0.08)',
|
|
122
|
+
boxShadow: '0 16px 36px -6px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.12)'
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adarsh.nishad/activityual-ui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./*": {
|
|
14
|
+
"types": "./dist/*.d.ts",
|
|
15
|
+
"import": "./dist/*.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist",
|
|
20
|
+
"README.md"
|
|
21
|
+
],
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"access": "public"
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"clean": "rm -rf dist",
|
|
27
|
+
"check": "tsc --noEmit",
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"prepublishOnly": "npm run build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"lit": "3.3.3"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"typescript": "6.0.3"
|
|
36
|
+
}
|
|
37
|
+
}
|