mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-23 12:45:47 +00:00
* feat: init * fix * fix * fix * feat * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: implement icons * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: update init command * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: dialog * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add registry:base item type * feat: rename frame to canva * fix * feat * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fi * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add all colors * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * feat: add outfit font * fix * fix * fix * fix * fix * chore: changeset * fix * fix * fix * fix * fix * fix * fix * fix
37 lines
869 B
TypeScript
37 lines
869 B
TypeScript
import va from "@vercel/analytics"
|
|
import { z } from "zod"
|
|
|
|
const eventSchema = z.object({
|
|
name: z.enum([
|
|
"copy_npm_command",
|
|
"copy_usage_import_code",
|
|
"copy_usage_code",
|
|
"copy_primitive_code",
|
|
"copy_theme_code",
|
|
"copy_block_code",
|
|
"copy_chunk_code",
|
|
"enable_lift_mode",
|
|
"copy_chart_code",
|
|
"copy_chart_theme",
|
|
"copy_chart_data",
|
|
"copy_color",
|
|
"set_layout",
|
|
"search_query",
|
|
"create_app",
|
|
"copy_create_share_url",
|
|
]),
|
|
// declare type AllowedPropertyValues = string | number | boolean | null
|
|
properties: z
|
|
.record(z.union([z.string(), z.number(), z.boolean(), z.null()]))
|
|
.optional(),
|
|
})
|
|
|
|
export type Event = z.infer<typeof eventSchema>
|
|
|
|
export function trackEvent(input: Event): void {
|
|
const event = eventSchema.parse(input)
|
|
if (event) {
|
|
va.track(event.name, event.properties)
|
|
}
|
|
}
|