@fiction/types 1.0.3 → 1.0.5

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.
@@ -0,0 +1,278 @@
1
+ import { z } from 'zod';
2
+ export declare const ButtonThemeSchema: z.ZodEnum<{
3
+ default: "default";
4
+ primary: "primary";
5
+ overlay: "overlay";
6
+ red: "red";
7
+ green: "green";
8
+ indigo: "indigo";
9
+ orange: "orange";
10
+ }>;
11
+ export type ButtonTheme = z.infer<typeof ButtonThemeSchema>;
12
+ export declare const ButtonDesignSchema: z.ZodEnum<{
13
+ ghost: "ghost";
14
+ link: "link";
15
+ outline: "outline";
16
+ solid: "solid";
17
+ }>;
18
+ export type ButtonDesign = z.infer<typeof ButtonDesignSchema>;
19
+ export declare const ActionButtonSchema: z.ZodObject<{
20
+ key: z.ZodOptional<z.ZodString>;
21
+ label: z.ZodOptional<z.ZodString>;
22
+ href: z.ZodOptional<z.ZodString>;
23
+ size: z.ZodOptional<z.ZodEnum<{
24
+ xxs: "xxs";
25
+ xs: "xs";
26
+ sm: "sm";
27
+ md: "md";
28
+ lg: "lg";
29
+ xl: "xl";
30
+ }>>;
31
+ theme: z.ZodOptional<z.ZodEnum<{
32
+ default: "default";
33
+ primary: "primary";
34
+ overlay: "overlay";
35
+ red: "red";
36
+ green: "green";
37
+ indigo: "indigo";
38
+ orange: "orange";
39
+ }>>;
40
+ design: z.ZodOptional<z.ZodEnum<{
41
+ ghost: "ghost";
42
+ link: "link";
43
+ outline: "outline";
44
+ solid: "solid";
45
+ }>>;
46
+ icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
47
+ mediaId: z.ZodOptional<z.ZodString>;
48
+ userId: z.ZodOptional<z.ZodString>;
49
+ orgId: z.ZodOptional<z.ZodString>;
50
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
51
+ filename: z.ZodOptional<z.ZodString>;
52
+ mimeType: z.ZodOptional<z.ZodString>;
53
+ size: z.ZodOptional<z.ZodNumber>;
54
+ src: z.ZodOptional<z.ZodString>;
55
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
56
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
57
+ avatar: "avatar";
58
+ cover: "cover";
59
+ voice: "voice";
60
+ general: "general";
61
+ }>>>;
62
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
63
+ processing: "processing";
64
+ active: "active";
65
+ failed: "failed";
66
+ deleted: "deleted";
67
+ }>>>;
68
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
69
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
70
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
71
+ image: "image";
72
+ video: "video";
73
+ audio: "audio";
74
+ }>>>;
75
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
76
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
77
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
78
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
79
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
80
+ }, z.core.$strip>]>>;
81
+ iconAfter: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
82
+ mediaId: z.ZodOptional<z.ZodString>;
83
+ userId: z.ZodOptional<z.ZodString>;
84
+ orgId: z.ZodOptional<z.ZodString>;
85
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
86
+ filename: z.ZodOptional<z.ZodString>;
87
+ mimeType: z.ZodOptional<z.ZodString>;
88
+ size: z.ZodOptional<z.ZodNumber>;
89
+ src: z.ZodOptional<z.ZodString>;
90
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
91
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
92
+ avatar: "avatar";
93
+ cover: "cover";
94
+ voice: "voice";
95
+ general: "general";
96
+ }>>>;
97
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
98
+ processing: "processing";
99
+ active: "active";
100
+ failed: "failed";
101
+ deleted: "deleted";
102
+ }>>>;
103
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
104
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
105
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
106
+ image: "image";
107
+ video: "video";
108
+ audio: "audio";
109
+ }>>>;
110
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
111
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
112
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
113
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
114
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
115
+ }, z.core.$strip>]>>;
116
+ rounding: z.ZodOptional<z.ZodEnum<{
117
+ md: "md";
118
+ lg: "lg";
119
+ full: "full";
120
+ }>>;
121
+ loading: z.ZodOptional<z.ZodBoolean>;
122
+ disabled: z.ZodOptional<z.ZodBoolean>;
123
+ onClick: z.ZodOptional<z.ZodAny>;
124
+ testId: z.ZodOptional<z.ZodString>;
125
+ target: z.ZodOptional<z.ZodEnum<{
126
+ _blank: "_blank";
127
+ _self: "_self";
128
+ }>>;
129
+ type: z.ZodOptional<z.ZodEnum<{
130
+ button: "button";
131
+ submit: "submit";
132
+ reset: "reset";
133
+ }>>;
134
+ }, z.core.$strip>;
135
+ export declare const ActionAreaSchema: z.ZodObject<{
136
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
137
+ key: z.ZodOptional<z.ZodString>;
138
+ label: z.ZodOptional<z.ZodString>;
139
+ href: z.ZodOptional<z.ZodString>;
140
+ size: z.ZodOptional<z.ZodEnum<{
141
+ xxs: "xxs";
142
+ xs: "xs";
143
+ sm: "sm";
144
+ md: "md";
145
+ lg: "lg";
146
+ xl: "xl";
147
+ }>>;
148
+ theme: z.ZodOptional<z.ZodEnum<{
149
+ default: "default";
150
+ primary: "primary";
151
+ overlay: "overlay";
152
+ red: "red";
153
+ green: "green";
154
+ indigo: "indigo";
155
+ orange: "orange";
156
+ }>>;
157
+ design: z.ZodOptional<z.ZodEnum<{
158
+ ghost: "ghost";
159
+ link: "link";
160
+ outline: "outline";
161
+ solid: "solid";
162
+ }>>;
163
+ icon: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
164
+ mediaId: z.ZodOptional<z.ZodString>;
165
+ userId: z.ZodOptional<z.ZodString>;
166
+ orgId: z.ZodOptional<z.ZodString>;
167
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
168
+ filename: z.ZodOptional<z.ZodString>;
169
+ mimeType: z.ZodOptional<z.ZodString>;
170
+ size: z.ZodOptional<z.ZodNumber>;
171
+ src: z.ZodOptional<z.ZodString>;
172
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
173
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
174
+ avatar: "avatar";
175
+ cover: "cover";
176
+ voice: "voice";
177
+ general: "general";
178
+ }>>>;
179
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
180
+ processing: "processing";
181
+ active: "active";
182
+ failed: "failed";
183
+ deleted: "deleted";
184
+ }>>>;
185
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
186
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
187
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
188
+ image: "image";
189
+ video: "video";
190
+ audio: "audio";
191
+ }>>>;
192
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
193
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
194
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
195
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
196
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
197
+ }, z.core.$strip>]>>;
198
+ iconAfter: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
199
+ mediaId: z.ZodOptional<z.ZodString>;
200
+ userId: z.ZodOptional<z.ZodString>;
201
+ orgId: z.ZodOptional<z.ZodString>;
202
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
203
+ filename: z.ZodOptional<z.ZodString>;
204
+ mimeType: z.ZodOptional<z.ZodString>;
205
+ size: z.ZodOptional<z.ZodNumber>;
206
+ src: z.ZodOptional<z.ZodString>;
207
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
208
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
209
+ avatar: "avatar";
210
+ cover: "cover";
211
+ voice: "voice";
212
+ general: "general";
213
+ }>>>;
214
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
215
+ processing: "processing";
216
+ active: "active";
217
+ failed: "failed";
218
+ deleted: "deleted";
219
+ }>>>;
220
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
221
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
222
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
223
+ image: "image";
224
+ video: "video";
225
+ audio: "audio";
226
+ }>>>;
227
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
228
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
229
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
230
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
231
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
232
+ }, z.core.$strip>]>>;
233
+ rounding: z.ZodOptional<z.ZodEnum<{
234
+ md: "md";
235
+ lg: "lg";
236
+ full: "full";
237
+ }>>;
238
+ loading: z.ZodOptional<z.ZodBoolean>;
239
+ disabled: z.ZodOptional<z.ZodBoolean>;
240
+ onClick: z.ZodOptional<z.ZodAny>;
241
+ testId: z.ZodOptional<z.ZodString>;
242
+ target: z.ZodOptional<z.ZodEnum<{
243
+ _blank: "_blank";
244
+ _self: "_self";
245
+ }>>;
246
+ type: z.ZodOptional<z.ZodEnum<{
247
+ button: "button";
248
+ submit: "submit";
249
+ reset: "reset";
250
+ }>>;
251
+ }, z.core.$strip>>>;
252
+ size: z.ZodOptional<z.ZodEnum<{
253
+ xxs: "xxs";
254
+ xs: "xs";
255
+ sm: "sm";
256
+ md: "md";
257
+ lg: "lg";
258
+ xl: "xl";
259
+ }>>;
260
+ theme: z.ZodOptional<z.ZodEnum<{
261
+ default: "default";
262
+ primary: "primary";
263
+ overlay: "overlay";
264
+ red: "red";
265
+ green: "green";
266
+ indigo: "indigo";
267
+ orange: "orange";
268
+ }>>;
269
+ design: z.ZodOptional<z.ZodEnum<{
270
+ ghost: "ghost";
271
+ link: "link";
272
+ outline: "outline";
273
+ solid: "solid";
274
+ }>>;
275
+ }, z.core.$strip>;
276
+ export type ActionButton = z.infer<typeof ActionButtonSchema>;
277
+ export type ActionArea = z.infer<typeof ActionAreaSchema>;
278
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,iBAAiB;;;;;;;;EAAgF,CAAA;AAC9G,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAG3D,eAAO,MAAM,kBAAkB;;;;;EAAgD,CAAA;AAC/E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAG7D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB7B,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3B,CAAA;AAGF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { MediaSchema } from './media';
3
+ import { SizeSchema } from './size';
4
+ // Button themes
5
+ export const ButtonThemeSchema = z.enum(['primary', 'default', 'overlay', 'red', 'green', 'indigo', 'orange']);
6
+ // Button designs
7
+ export const ButtonDesignSchema = z.enum(['ghost', 'link', 'outline', 'solid']);
8
+ // Basic action button schema
9
+ export const ActionButtonSchema = z.object({
10
+ key: z.string().optional(),
11
+ label: z.string().optional(),
12
+ href: z.string().optional(),
13
+ size: SizeSchema.optional(),
14
+ theme: ButtonThemeSchema.optional(),
15
+ design: ButtonDesignSchema.optional(),
16
+ icon: z.union([z.string(), MediaSchema]).optional(),
17
+ iconAfter: z.union([z.string(), MediaSchema]).optional(),
18
+ rounding: z.enum(['full', 'md', 'lg']).optional(),
19
+ loading: z.boolean().optional(),
20
+ disabled: z.boolean().optional(),
21
+ onClick: z.any().optional(), // Function type
22
+ testId: z.string().optional(),
23
+ target: z.enum(['_blank', '_self']).optional(),
24
+ type: z.enum(['button', 'submit', 'reset']).optional(),
25
+ });
26
+ // Action area schema
27
+ export const ActionAreaSchema = z.object({
28
+ buttons: z.array(ActionButtonSchema).optional(),
29
+ size: SizeSchema.optional(),
30
+ theme: ButtonThemeSchema.optional(),
31
+ design: ButtonDesignSchema.optional(),
32
+ });
33
+ //# sourceMappingURL=actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,gBAAgB;AAChB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAG9G,iBAAiB;AACjB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAA;AAG/E,6BAA6B;AAC7B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,gBAAgB;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAA;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IAC/C,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAA"}
@@ -0,0 +1,135 @@
1
+ export type NumberFormat = 'number' | 'currency' | 'percent' | 'duration' | 'bytes';
2
+ export type StandardPeriod = 'hour' | 'today' | 'yesterday' | 'week' | 'month' | 'quarter' | 'year';
3
+ export type TimeLineInterval = 'hour' | 'day' | 'week' | 'month';
4
+ export type ComparePeriod = 'previous' | 'week' | 'month' | 'year' | 'none';
5
+ export type UsageDataPoint = {
6
+ date: string;
7
+ voiceCredits: number;
8
+ chatCredits: number;
9
+ voiceSeconds: number;
10
+ chatCharacters: number;
11
+ sessions: number;
12
+ tense?: 'past' | 'present' | 'future';
13
+ };
14
+ export type UsageMetric = {
15
+ key: 'voiceTime' | 'chatMessages' | 'totalCredits' | 'sessions';
16
+ title: string;
17
+ value: number;
18
+ change: number;
19
+ format: NumberFormat;
20
+ displayFormat: 'primary' | 'secondary' | 'detailed';
21
+ icon?: string;
22
+ suffix?: string;
23
+ changeLabel?: string;
24
+ };
25
+ export type UsageMetricWithData = UsageMetric & {
26
+ data: UsageDataPoint[];
27
+ trend: 'up' | 'down' | 'flat';
28
+ velocity: number;
29
+ };
30
+ export type UsageTrend = {
31
+ direction: 'increasing' | 'decreasing' | 'stable';
32
+ velocity: number;
33
+ prediction: {
34
+ daysToLimit: number | null;
35
+ confidence: 'high' | 'medium' | 'low';
36
+ };
37
+ insights: string[];
38
+ };
39
+ export type UsagePattern = {
40
+ peakHours: number[];
41
+ peakDays: string[];
42
+ efficiency: {
43
+ voiceVsChatRatio: number;
44
+ averageSessionDuration: number;
45
+ creditsPerSession: number;
46
+ };
47
+ recommendations: string[];
48
+ };
49
+ export type UsageAnalytics = {
50
+ orgId: string;
51
+ period: {
52
+ start: string;
53
+ end: string;
54
+ type: StandardPeriod;
55
+ };
56
+ metrics: UsageMetricWithData[];
57
+ trend: UsageTrend;
58
+ pattern: UsagePattern;
59
+ totals: {
60
+ totalCredits: number;
61
+ totalSessions: number;
62
+ totalVoiceMinutes: number;
63
+ totalChatCharacters: number;
64
+ };
65
+ daily: UsageDataPoint[];
66
+ };
67
+ export type ChartEngine = {
68
+ key: string;
69
+ type: 'sparkline' | 'donut' | 'bar' | 'line';
70
+ title: string;
71
+ dataKey: string | string[];
72
+ color: string | string[];
73
+ showGrid?: boolean;
74
+ showAxes?: boolean;
75
+ annotations?: ('trend' | 'threshold' | 'peak')[];
76
+ insight?: 'velocity' | 'efficiency' | 'pattern';
77
+ };
78
+ export type UsageInsight = {
79
+ type: 'efficiency' | 'pattern' | 'trend' | 'upgrade';
80
+ urgency: 'low' | 'medium' | 'high';
81
+ message: string;
82
+ action?: {
83
+ label: string;
84
+ type: 'optimize' | 'upgrade' | 'learn';
85
+ };
86
+ };
87
+ export interface UsageAnalyticsRequest {
88
+ orgId: string;
89
+ period?: StandardPeriod;
90
+ interval?: TimeLineInterval;
91
+ compare?: ComparePeriod;
92
+ startDate?: string;
93
+ endDate?: string;
94
+ }
95
+ export interface UsageAnalyticsResponse {
96
+ ok: boolean;
97
+ data?: UsageAnalytics;
98
+ error?: string;
99
+ }
100
+ export type UsageDisplayFormat = {
101
+ primaryMetric: {
102
+ value: string;
103
+ label: string;
104
+ trend: '↗️' | '↘️' | '➡️';
105
+ color: 'primary' | 'warning' | 'danger';
106
+ };
107
+ secondaryMetrics: Array<{
108
+ label: string;
109
+ value: string;
110
+ change?: string;
111
+ }>;
112
+ insights: UsageInsight[];
113
+ chartData: UsageDataPoint[];
114
+ };
115
+ export declare const CHART_THEME: {
116
+ readonly colors: {
117
+ readonly primary: "#3b82f6";
118
+ readonly secondary: "#93c5fd";
119
+ readonly accent: "#60a5fa";
120
+ readonly muted: "#9ca3af";
121
+ readonly background: "#f8fafc";
122
+ readonly text: "#374151";
123
+ };
124
+ readonly typography: {
125
+ readonly primary: "text-theme-900";
126
+ readonly secondary: "text-theme-600";
127
+ readonly muted: "text-theme-400";
128
+ };
129
+ readonly spacing: {
130
+ readonly minimal: 2;
131
+ readonly compact: 4;
132
+ readonly comfortable: 6;
133
+ };
134
+ };
135
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ // Standardized analytics types for Fiction App
2
+ // Based on proven patterns from @fiction/analytics
3
+ // Chart theme following Tailwind color system
4
+ export const CHART_THEME = {
5
+ colors: {
6
+ primary: '#3b82f6', // primary-500
7
+ secondary: '#93c5fd', // primary-300
8
+ accent: '#60a5fa', // primary-400
9
+ muted: '#9ca3af', // theme-300
10
+ background: '#f8fafc', // theme-25
11
+ text: '#374151', // theme-600
12
+ },
13
+ typography: {
14
+ primary: 'text-theme-900',
15
+ secondary: 'text-theme-600',
16
+ muted: 'text-theme-400',
17
+ },
18
+ spacing: {
19
+ minimal: 2,
20
+ compact: 4,
21
+ comfortable: 6,
22
+ },
23
+ };
24
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,+CAA+C;AAC/C,mDAAmD;AAoJnD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE;QACN,OAAO,EAAE,SAAS,EAAE,cAAc;QAClC,SAAS,EAAE,SAAS,EAAE,cAAc;QACpC,MAAM,EAAE,SAAS,EAAE,cAAc;QACjC,KAAK,EAAE,SAAS,EAAE,YAAY;QAC9B,UAAU,EAAE,SAAS,EAAE,WAAW;QAClC,IAAI,EAAE,SAAS,EAAE,YAAY;KAC9B;IACD,UAAU,EAAE;QACV,OAAO,EAAE,gBAAgB;QACzB,SAAS,EAAE,gBAAgB;QAC3B,KAAK,EAAE,gBAAgB;KACxB;IACD,OAAO,EAAE;QACP,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;KACf;CACO,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,15 @@
1
1
  export type { ApiResponse } from './api';
2
- export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaFormatSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
3
- export type { AudioFormat, AudioMedia, ImageFormat, ImageMedia, MediaContext, MediaFormat, MediaObject, MediaStatus, MediaUnion, VideoFormat, VideoMedia, } from './media';
2
+ export { ActionAreaSchema, ActionButtonSchema, ButtonDesignSchema, ButtonThemeSchema } from './actions';
3
+ export type { ActionArea, ActionButton, ButtonDesign, ButtonTheme } from './actions';
4
+ export { NavItemSchema, NavListSchema } from './navItem';
5
+ export type { NavItem, NavList } from './navItem';
6
+ export { SizeSchema } from './size';
7
+ export type { StandardSize } from './size';
8
+ export type { AttentionScope, NotificationMeta, NotifyType, UserNotification } from './notification';
9
+ export type { ChartEngine, ComparePeriod, NumberFormat, StandardPeriod, TimeLineInterval, UsageAnalytics, UsageAnalyticsRequest, UsageAnalyticsResponse, UsageDataPoint, UsageDisplayFormat, UsageInsight, UsageMetric, UsageMetricWithData, UsagePattern, UsageTrend, } from './analytics';
10
+ export { CHART_THEME } from './analytics';
11
+ export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaTypeSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
12
+ export type { AudioFormat, AudioMedia, ImageFormat, ImageMedia, MediaContext, MediaType, MediaObject, MediaStatus, MediaUnion, VideoFormat, VideoMedia, } from './media';
4
13
  export { EnrichedSelfSchema, selfSchema } from './self';
5
14
  export type { CreateSelf, Self, UpdateSelf } from './self';
6
15
  export { changeEmailSchema, changePasswordSchema, emailSchema, enrichedUserSchema, googleAuthSchema, loginSchema, orgInfoSchema, orgSchema, registerSchema, resetPasswordSchema, updateUserSchema, userSchema, verifyCodeSchema, } from './user';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAExC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE1D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,GAAG,EACH,OAAO,EACP,UAAU,EACV,IAAI,GACL,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACvG,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEpF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACxD,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAGpG,YAAY,EACV,WAAW,EACX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,UAAU,GACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAEhB,YAAY,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEvD,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAE1D,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,GAAG,EACH,OAAO,EACP,UAAU,EACV,IAAI,GACL,MAAM,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -1,5 +1,10 @@
1
+ // UI types
2
+ export { ActionAreaSchema, ActionButtonSchema, ButtonDesignSchema, ButtonThemeSchema } from './actions';
3
+ export { NavItemSchema, NavListSchema } from './navItem';
4
+ export { SizeSchema } from './size';
5
+ export { CHART_THEME } from './analytics';
1
6
  // Media types
2
- export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaFormatSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
7
+ export { AudioFormatSchema, AudioMediaSchema, AudioPropertiesSchema, ImageFormatSchema, ImageMediaSchema, MediaContextSchema, MediaTypeSchema, MediaSchema, MediaStatusSchema, MediaUnionSchema, VideoFormatSchema, VideoMediaSchema, VideoPropertiesSchema, } from './media';
3
8
  // Self types
4
9
  export { EnrichedSelfSchema, selfSchema } from './self';
5
10
  // User types
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAehB,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGvD,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAGvG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGxD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAuBnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,cAAc;AACd,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAehB,aAAa;AACb,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGvD,aAAa;AACb,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,QAAQ,CAAA"}
package/dist/media.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { z } from 'zod';
2
- export declare const MediaFormatSchema: z.ZodEnum<{
2
+ export declare const MediaTypeSchema: z.ZodEnum<{
3
3
  image: "image";
4
4
  video: "video";
5
5
  audio: "audio";
6
6
  }>;
7
- export type MediaFormat = z.infer<typeof MediaFormatSchema>;
7
+ export type MediaType = z.infer<typeof MediaTypeSchema>;
8
8
  export declare const MediaContextSchema: z.ZodEnum<{
9
9
  avatar: "avatar";
10
10
  cover: "cover";
@@ -68,7 +68,7 @@ export declare const MediaSchema: z.ZodObject<{
68
68
  }>>>;
69
69
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
70
70
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
71
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
72
72
  image: "image";
73
73
  video: "video";
74
74
  audio: "audio";
@@ -123,7 +123,7 @@ export declare const ImageMediaSchema: z.ZodObject<{
123
123
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
124
124
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
125
125
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
126
- format: z.ZodLiteral<"image">;
126
+ mediaType: z.ZodLiteral<"image">;
127
127
  imageFormat: z.ZodEnum<{
128
128
  jpg: "jpg";
129
129
  jpeg: "jpeg";
@@ -162,7 +162,7 @@ export declare const VideoMediaSchema: z.ZodObject<{
162
162
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
163
163
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
164
164
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
165
- format: z.ZodLiteral<"video">;
165
+ mediaType: z.ZodLiteral<"video">;
166
166
  videoFormat: z.ZodEnum<{
167
167
  mp4: "mp4";
168
168
  webm: "webm";
@@ -208,7 +208,7 @@ export declare const AudioMediaSchema: z.ZodObject<{
208
208
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
209
209
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
210
210
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
211
- format: z.ZodLiteral<"audio">;
211
+ mediaType: z.ZodLiteral<"audio">;
212
212
  audioFormat: z.ZodEnum<{
213
213
  ogg: "ogg";
214
214
  mp3: "mp3";
@@ -253,7 +253,7 @@ export declare const MediaUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
253
253
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
254
254
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
255
255
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
256
- format: z.ZodLiteral<"image">;
256
+ mediaType: z.ZodLiteral<"image">;
257
257
  imageFormat: z.ZodEnum<{
258
258
  jpg: "jpg";
259
259
  jpeg: "jpeg";
@@ -291,7 +291,7 @@ export declare const MediaUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
291
291
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
292
292
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
293
293
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
294
- format: z.ZodLiteral<"video">;
294
+ mediaType: z.ZodLiteral<"video">;
295
295
  videoFormat: z.ZodEnum<{
296
296
  mp4: "mp4";
297
297
  webm: "webm";
@@ -336,7 +336,7 @@ export declare const MediaUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
336
336
  height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
337
337
  duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
338
338
  blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
339
- format: z.ZodLiteral<"audio">;
339
+ mediaType: z.ZodLiteral<"audio">;
340
340
  audioFormat: z.ZodEnum<{
341
341
  ogg: "ogg";
342
342
  mp3: "mp3";
@@ -351,7 +351,7 @@ export declare const MediaUnionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
351
351
  muted: z.ZodOptional<z.ZodBoolean>;
352
352
  controls: z.ZodOptional<z.ZodBoolean>;
353
353
  }, z.core.$strip>>;
354
- }, z.core.$strip>], "format">;
354
+ }, z.core.$strip>], "mediaType">;
355
355
  export type MediaObject = z.infer<typeof MediaSchema>;
356
356
  export type ImageMedia = z.infer<typeof ImageMediaSchema>;
357
357
  export type VideoMedia = z.infer<typeof VideoMediaSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,iBAAiB;;;;EAAsC,CAAA;AACpE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB;;;;;EAAkD,CAAA;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,iBAAiB;;;;;EAAwD,CAAA;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAG3D,eAAO,MAAM,iBAAiB;;;;;;;EAAuD,CAAA;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAoB3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcZ,CAAA;AAGZ,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAI3B,CAAA;AAGF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,eAAe;;;;EAAsC,CAAA;AAClE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,eAAO,MAAM,kBAAkB;;;;;EAAkD,CAAA;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,iBAAiB;;;;;EAAwD,CAAA;AACtF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAG3D,eAAO,MAAM,iBAAiB;;;;;;;EAAuD,CAAA;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,iBAAiB;;;;;;EAA+C,CAAA;AAC7E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAoB3D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAcZ,CAAA;AAGZ,eAAO,MAAM,qBAAqB;;;;;;;iBAOhC,CAAA;AAGF,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI3B,CAAA;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAI3B,CAAA;AAGF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AACzD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
package/dist/media.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  // Core media enums - defined here as single source of truth
3
- export const MediaFormatSchema = z.enum(['image', 'video', 'audio']);
3
+ export const MediaTypeSchema = z.enum(['image', 'video', 'audio']);
4
4
  export const MediaContextSchema = z.enum(['avatar', 'cover', 'voice', 'general']);
5
5
  export const MediaStatusSchema = z.enum(['processing', 'active', 'failed', 'deleted']);
6
6
  // Format-specific enums for file extensions
@@ -26,7 +26,7 @@ const baseMediaSchema = z.object({
26
26
  // Extended MediaObject for UI use - with UI-friendly field names
27
27
  export const MediaSchema = baseMediaSchema.extend({
28
28
  // Additional UI fields not in database
29
- format: MediaFormatSchema.optional(), // Derived from mimeType
29
+ mediaType: MediaTypeSchema.optional(), // 'image' | 'video' | 'audio' - stored in DB
30
30
  className: z.string().optional(), // CSS classes for rendering
31
31
  // Image/video dimensions
32
32
  width: z.number().optional(),
@@ -53,23 +53,23 @@ export const AudioPropertiesSchema = z.object({
53
53
  muted: z.boolean().optional(),
54
54
  controls: z.boolean().optional(),
55
55
  });
56
- // Extended media schemas with format-specific properties
56
+ // Extended media schemas with mediaType-specific properties
57
57
  export const ImageMediaSchema = MediaSchema.extend({
58
- format: z.literal('image'),
58
+ mediaType: z.literal('image'),
59
59
  imageFormat: ImageFormatSchema,
60
60
  });
61
61
  export const VideoMediaSchema = MediaSchema.extend({
62
- format: z.literal('video'),
62
+ mediaType: z.literal('video'),
63
63
  videoFormat: VideoFormatSchema,
64
64
  video: VideoPropertiesSchema.optional(),
65
65
  });
66
66
  export const AudioMediaSchema = MediaSchema.extend({
67
- format: z.literal('audio'),
67
+ mediaType: z.literal('audio'),
68
68
  audioFormat: AudioFormatSchema,
69
69
  audio: AudioPropertiesSchema.optional(),
70
70
  });
71
71
  // Union type for all media
72
- export const MediaUnionSchema = z.discriminatedUnion('format', [
72
+ export const MediaUnionSchema = z.discriminatedUnion('mediaType', [
73
73
  ImageMediaSchema,
74
74
  VideoMediaSchema,
75
75
  AudioMediaSchema,
package/dist/media.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../src/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,274 @@
1
+ import { z } from 'zod';
2
+ export declare const NavItemSchema: z.ZodObject<{
3
+ key: z.ZodOptional<z.ZodString>;
4
+ id: z.ZodOptional<z.ZodString>;
5
+ label: z.ZodOptional<z.ZodString>;
6
+ srLabel: z.ZodOptional<z.ZodString>;
7
+ subLabel: z.ZodOptional<z.ZodString>;
8
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
9
+ description: z.ZodOptional<z.ZodString>;
10
+ info: z.ZodOptional<z.ZodString>;
11
+ count: z.ZodOptional<z.ZodNumber>;
12
+ className: z.ZodOptional<z.ZodString>;
13
+ media: z.ZodOptional<z.ZodObject<{
14
+ mediaId: z.ZodOptional<z.ZodString>;
15
+ userId: z.ZodOptional<z.ZodString>;
16
+ orgId: z.ZodOptional<z.ZodString>;
17
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
18
+ filename: z.ZodOptional<z.ZodString>;
19
+ mimeType: z.ZodOptional<z.ZodString>;
20
+ size: z.ZodOptional<z.ZodNumber>;
21
+ src: z.ZodOptional<z.ZodString>;
22
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
23
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
24
+ avatar: "avatar";
25
+ cover: "cover";
26
+ voice: "voice";
27
+ general: "general";
28
+ }>>>;
29
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
30
+ processing: "processing";
31
+ active: "active";
32
+ failed: "failed";
33
+ deleted: "deleted";
34
+ }>>>;
35
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
36
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
37
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
38
+ image: "image";
39
+ video: "video";
40
+ audio: "audio";
41
+ }>>>;
42
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
43
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
44
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
45
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
46
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
47
+ }, z.core.$strip>>;
48
+ icon: z.ZodOptional<z.ZodObject<{
49
+ mediaId: z.ZodOptional<z.ZodString>;
50
+ userId: z.ZodOptional<z.ZodString>;
51
+ orgId: z.ZodOptional<z.ZodString>;
52
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
53
+ filename: z.ZodOptional<z.ZodString>;
54
+ mimeType: z.ZodOptional<z.ZodString>;
55
+ size: z.ZodOptional<z.ZodNumber>;
56
+ src: z.ZodOptional<z.ZodString>;
57
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
58
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
59
+ avatar: "avatar";
60
+ cover: "cover";
61
+ voice: "voice";
62
+ general: "general";
63
+ }>>>;
64
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
65
+ processing: "processing";
66
+ active: "active";
67
+ failed: "failed";
68
+ deleted: "deleted";
69
+ }>>>;
70
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
72
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
73
+ image: "image";
74
+ video: "video";
75
+ audio: "audio";
76
+ }>>>;
77
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
78
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
79
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
80
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
81
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
82
+ }, z.core.$strip>>;
83
+ iconAfter: z.ZodOptional<z.ZodObject<{
84
+ mediaId: z.ZodOptional<z.ZodString>;
85
+ userId: z.ZodOptional<z.ZodString>;
86
+ orgId: z.ZodOptional<z.ZodString>;
87
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
88
+ filename: z.ZodOptional<z.ZodString>;
89
+ mimeType: z.ZodOptional<z.ZodString>;
90
+ size: z.ZodOptional<z.ZodNumber>;
91
+ src: z.ZodOptional<z.ZodString>;
92
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
93
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
94
+ avatar: "avatar";
95
+ cover: "cover";
96
+ voice: "voice";
97
+ general: "general";
98
+ }>>>;
99
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
100
+ processing: "processing";
101
+ active: "active";
102
+ failed: "failed";
103
+ deleted: "deleted";
104
+ }>>>;
105
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
106
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
107
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
108
+ image: "image";
109
+ video: "video";
110
+ audio: "audio";
111
+ }>>>;
112
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
113
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
114
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
115
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
116
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
117
+ }, z.core.$strip>>;
118
+ href: z.ZodOptional<z.ZodString>;
119
+ target: z.ZodOptional<z.ZodEnum<{
120
+ _blank: "_blank";
121
+ _self: "_self";
122
+ }>>;
123
+ onClick: z.ZodOptional<z.ZodAny>;
124
+ theme: z.ZodOptional<z.ZodEnum<{
125
+ default: "default";
126
+ primary: "primary";
127
+ }>>;
128
+ isActive: z.ZodOptional<z.ZodBoolean>;
129
+ isDisabled: z.ZodOptional<z.ZodBoolean>;
130
+ isHidden: z.ZodOptional<z.ZodBoolean>;
131
+ priority: z.ZodOptional<z.ZodNumber>;
132
+ testId: z.ZodOptional<z.ZodString>;
133
+ items: z.ZodOptional<z.ZodArray<z.ZodAny>>;
134
+ }, z.core.$strip>;
135
+ export declare const NavListSchema: z.ZodObject<{
136
+ title: z.ZodOptional<z.ZodString>;
137
+ description: z.ZodOptional<z.ZodString>;
138
+ items: z.ZodOptional<z.ZodArray<z.ZodObject<{
139
+ key: z.ZodOptional<z.ZodString>;
140
+ id: z.ZodOptional<z.ZodString>;
141
+ label: z.ZodOptional<z.ZodString>;
142
+ srLabel: z.ZodOptional<z.ZodString>;
143
+ subLabel: z.ZodOptional<z.ZodString>;
144
+ value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
145
+ description: z.ZodOptional<z.ZodString>;
146
+ info: z.ZodOptional<z.ZodString>;
147
+ count: z.ZodOptional<z.ZodNumber>;
148
+ className: z.ZodOptional<z.ZodString>;
149
+ media: z.ZodOptional<z.ZodObject<{
150
+ mediaId: z.ZodOptional<z.ZodString>;
151
+ userId: z.ZodOptional<z.ZodString>;
152
+ orgId: z.ZodOptional<z.ZodString>;
153
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
154
+ filename: z.ZodOptional<z.ZodString>;
155
+ mimeType: z.ZodOptional<z.ZodString>;
156
+ size: z.ZodOptional<z.ZodNumber>;
157
+ src: z.ZodOptional<z.ZodString>;
158
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
159
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
160
+ avatar: "avatar";
161
+ cover: "cover";
162
+ voice: "voice";
163
+ general: "general";
164
+ }>>>;
165
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
166
+ processing: "processing";
167
+ active: "active";
168
+ failed: "failed";
169
+ deleted: "deleted";
170
+ }>>>;
171
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
172
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
173
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
174
+ image: "image";
175
+ video: "video";
176
+ audio: "audio";
177
+ }>>>;
178
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
179
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
180
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
181
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
182
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
183
+ }, z.core.$strip>>;
184
+ icon: z.ZodOptional<z.ZodObject<{
185
+ mediaId: z.ZodOptional<z.ZodString>;
186
+ userId: z.ZodOptional<z.ZodString>;
187
+ orgId: z.ZodOptional<z.ZodString>;
188
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
189
+ filename: z.ZodOptional<z.ZodString>;
190
+ mimeType: z.ZodOptional<z.ZodString>;
191
+ size: z.ZodOptional<z.ZodNumber>;
192
+ src: z.ZodOptional<z.ZodString>;
193
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
194
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
195
+ avatar: "avatar";
196
+ cover: "cover";
197
+ voice: "voice";
198
+ general: "general";
199
+ }>>>;
200
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
201
+ processing: "processing";
202
+ active: "active";
203
+ failed: "failed";
204
+ deleted: "deleted";
205
+ }>>>;
206
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
207
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
208
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
209
+ image: "image";
210
+ video: "video";
211
+ audio: "audio";
212
+ }>>>;
213
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
214
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
215
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
216
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
217
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
218
+ }, z.core.$strip>>;
219
+ iconAfter: z.ZodOptional<z.ZodObject<{
220
+ mediaId: z.ZodOptional<z.ZodString>;
221
+ userId: z.ZodOptional<z.ZodString>;
222
+ orgId: z.ZodOptional<z.ZodString>;
223
+ selfId: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
224
+ filename: z.ZodOptional<z.ZodString>;
225
+ mimeType: z.ZodOptional<z.ZodString>;
226
+ size: z.ZodOptional<z.ZodNumber>;
227
+ src: z.ZodOptional<z.ZodString>;
228
+ alt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
229
+ context: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
230
+ avatar: "avatar";
231
+ cover: "cover";
232
+ voice: "voice";
233
+ general: "general";
234
+ }>>>;
235
+ status: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
236
+ processing: "processing";
237
+ active: "active";
238
+ failed: "failed";
239
+ deleted: "deleted";
240
+ }>>>;
241
+ createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
242
+ updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
243
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
244
+ image: "image";
245
+ video: "video";
246
+ audio: "audio";
247
+ }>>>;
248
+ className: z.ZodOptional<z.ZodOptional<z.ZodString>>;
249
+ width: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
250
+ height: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
251
+ duration: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
252
+ blurhash: z.ZodOptional<z.ZodOptional<z.ZodString>>;
253
+ }, z.core.$strip>>;
254
+ href: z.ZodOptional<z.ZodString>;
255
+ target: z.ZodOptional<z.ZodEnum<{
256
+ _blank: "_blank";
257
+ _self: "_self";
258
+ }>>;
259
+ onClick: z.ZodOptional<z.ZodAny>;
260
+ theme: z.ZodOptional<z.ZodEnum<{
261
+ default: "default";
262
+ primary: "primary";
263
+ }>>;
264
+ isActive: z.ZodOptional<z.ZodBoolean>;
265
+ isDisabled: z.ZodOptional<z.ZodBoolean>;
266
+ isHidden: z.ZodOptional<z.ZodBoolean>;
267
+ priority: z.ZodOptional<z.ZodNumber>;
268
+ testId: z.ZodOptional<z.ZodString>;
269
+ items: z.ZodOptional<z.ZodArray<z.ZodAny>>;
270
+ }, z.core.$strip>>>;
271
+ }, z.core.$strip>;
272
+ export type NavItem = z.infer<typeof NavItemSchema>;
273
+ export type NavList = z.infer<typeof NavListSchema>;
274
+ //# sourceMappingURL=navItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navItem.d.ts","sourceRoot":"","sources":["../src/navItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqCxB,CAAA;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIxB,CAAA;AAGF,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AACnD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA"}
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ import { MediaSchema } from './media';
3
+ // Basic navigation item schema
4
+ export const NavItemSchema = z.object({
5
+ // Core content
6
+ key: z.string().optional(),
7
+ id: z.string().optional(),
8
+ label: z.string().optional(),
9
+ srLabel: z.string().optional(), // Screen reader label
10
+ subLabel: z.string().optional(), // Secondary text
11
+ value: z.union([z.string(), z.number()]).optional(),
12
+ description: z.string().optional(),
13
+ info: z.string().optional(),
14
+ count: z.number().optional(),
15
+ className: z.string().optional(),
16
+ // Visual elements
17
+ media: MediaSchema.optional(),
18
+ icon: MediaSchema.optional(),
19
+ iconAfter: MediaSchema.optional(),
20
+ // Navigation
21
+ href: z.string().optional(),
22
+ target: z.enum(['_self', '_blank']).optional(),
23
+ onClick: z.any().optional(), // Function type
24
+ // Styling
25
+ theme: z.enum(['primary', 'default']).optional(),
26
+ // State
27
+ isActive: z.boolean().optional(),
28
+ isDisabled: z.boolean().optional(),
29
+ isHidden: z.boolean().optional(),
30
+ // Organization
31
+ priority: z.number().optional(),
32
+ testId: z.string().optional(),
33
+ // Simple nested items (one level only)
34
+ items: z.array(z.any()).optional(), // Avoid recursive schema issues
35
+ });
36
+ // Navigation list schema
37
+ export const NavListSchema = z.object({
38
+ title: z.string().optional(),
39
+ description: z.string().optional(),
40
+ items: z.array(NavItemSchema).optional(),
41
+ });
42
+ //# sourceMappingURL=navItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navItem.js","sourceRoot":"","sources":["../src/navItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,eAAe;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,sBAAsB;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,iBAAiB;IAClD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEhC,kBAAkB;IAClB,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,WAAW,CAAC,QAAQ,EAAE;IAEjC,aAAa;IACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,gBAAgB;IAE7C,UAAU;IACV,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEhD,QAAQ;IACR,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEhC,eAAe;IACf,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7B,uCAAuC;IACvC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,gCAAgC;CACrE,CAAC,CAAA;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA"}
@@ -0,0 +1,16 @@
1
+ export type NotifyType = 'success' | 'info' | 'warn' | 'error';
2
+ export type AttentionScope = 'modal' | 'subtle';
3
+ export interface NotificationMeta {
4
+ more?: string;
5
+ attention?: AttentionScope;
6
+ shownAt?: number;
7
+ duration?: number;
8
+ data?: unknown;
9
+ key?: string;
10
+ icon?: string;
11
+ }
12
+ export type UserNotification = {
13
+ type?: NotifyType;
14
+ message: string;
15
+ } & NotificationMeta;
16
+ //# sourceMappingURL=notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;AAE9D,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,gBAAgB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":""}
package/dist/self.d.ts CHANGED
@@ -34,7 +34,7 @@ export declare const selfSchema: z.ZodObject<{
34
34
  }>>>;
35
35
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
36
36
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
37
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
37
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
38
38
  image: "image";
39
39
  video: "video";
40
40
  audio: "audio";
@@ -69,7 +69,7 @@ export declare const selfSchema: z.ZodObject<{
69
69
  }>>>;
70
70
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
71
71
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
72
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
72
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
73
73
  image: "image";
74
74
  video: "video";
75
75
  audio: "audio";
@@ -104,7 +104,7 @@ export declare const selfSchema: z.ZodObject<{
104
104
  }>>>;
105
105
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
106
106
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
107
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
107
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
108
108
  image: "image";
109
109
  video: "video";
110
110
  audio: "audio";
@@ -231,7 +231,7 @@ export declare const EnrichedSelfSchema: z.ZodObject<{
231
231
  }>>>;
232
232
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
233
233
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
234
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
234
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
235
235
  image: "image";
236
236
  video: "video";
237
237
  audio: "audio";
@@ -266,7 +266,7 @@ export declare const EnrichedSelfSchema: z.ZodObject<{
266
266
  }>>>;
267
267
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
268
268
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
269
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
269
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
270
270
  image: "image";
271
271
  video: "video";
272
272
  audio: "audio";
@@ -301,7 +301,7 @@ export declare const EnrichedSelfSchema: z.ZodObject<{
301
301
  }>>>;
302
302
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
303
303
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
304
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
304
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
305
305
  image: "image";
306
306
  video: "video";
307
307
  audio: "audio";
package/dist/size.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const SizeSchema: z.ZodEnum<{
3
+ xxs: "xxs";
4
+ xs: "xs";
5
+ sm: "sm";
6
+ md: "md";
7
+ lg: "lg";
8
+ xl: "xl";
9
+ }>;
10
+ export type StandardSize = z.infer<typeof SizeSchema>;
11
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../src/size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,UAAU;;;;;;;EAAgD,CAAA;AACvE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA"}
package/dist/size.js ADDED
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ export const SizeSchema = z.enum(['xxs', 'xs', 'sm', 'md', 'lg', 'xl']);
3
+ //# sourceMappingURL=size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.js","sourceRoot":"","sources":["../src/size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA"}
package/dist/user.d.ts CHANGED
@@ -84,7 +84,7 @@ export declare const orgSchema: z.ZodObject<{
84
84
  }>>>;
85
85
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
86
86
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
87
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
87
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
88
88
  image: "image";
89
89
  video: "video";
90
90
  audio: "audio";
@@ -120,7 +120,7 @@ export declare const orgSchema: z.ZodObject<{
120
120
  }>>>;
121
121
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
122
122
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
123
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
123
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
124
124
  image: "image";
125
125
  video: "video";
126
126
  audio: "audio";
@@ -183,7 +183,7 @@ export declare const orgInfoSchema: z.ZodObject<{
183
183
  }>>>;
184
184
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
185
185
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
186
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
186
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
187
187
  image: "image";
188
188
  video: "video";
189
189
  audio: "audio";
@@ -219,7 +219,7 @@ export declare const orgInfoSchema: z.ZodObject<{
219
219
  }>>>;
220
220
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
221
221
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
222
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
222
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
223
223
  image: "image";
224
224
  video: "video";
225
225
  audio: "audio";
@@ -283,7 +283,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
283
283
  }>>>;
284
284
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
285
285
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
286
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
286
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
287
287
  image: "image";
288
288
  video: "video";
289
289
  audio: "audio";
@@ -319,7 +319,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
319
319
  }>>>;
320
320
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
321
321
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
322
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
322
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
323
323
  image: "image";
324
324
  video: "video";
325
325
  audio: "audio";
@@ -368,7 +368,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
368
368
  }>>>;
369
369
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
370
370
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
371
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
371
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
372
372
  image: "image";
373
373
  video: "video";
374
374
  audio: "audio";
@@ -404,7 +404,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
404
404
  }>>>;
405
405
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
406
406
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
407
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
407
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
408
408
  image: "image";
409
409
  video: "video";
410
410
  audio: "audio";
@@ -458,7 +458,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
458
458
  }>>>;
459
459
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
460
460
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
461
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
461
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
462
462
  image: "image";
463
463
  video: "video";
464
464
  audio: "audio";
@@ -493,7 +493,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
493
493
  }>>>;
494
494
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
495
495
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
496
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
496
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
497
497
  image: "image";
498
498
  video: "video";
499
499
  audio: "audio";
@@ -528,7 +528,7 @@ export declare const enrichedUserSchema: z.ZodObject<{
528
528
  }>>>;
529
529
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
530
530
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodString>>;
531
- format: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
531
+ mediaType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
532
532
  image: "image";
533
533
  video: "video";
534
534
  audio: "audio";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiction/types",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Shared TypeScript types and Zod schemas for Fiction monorepo",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",