2
0

♻️ Introduce typebot v6 with events (#1013)

Closes #885
This commit is contained in:
Baptiste Arnaud
2023-11-08 15:34:16 +01:00
committed by GitHub
parent 68e4fc71fb
commit 35300eaf34
634 changed files with 58971 additions and 31449 deletions

View File

@ -0,0 +1,12 @@
import { defaultButtonLabel } from '../constants'
import { RatingInputBlock } from '../rating'
export const defaultRatingInputOptions = {
buttonType: 'Numbers',
length: 10,
labels: {
button: defaultButtonLabel,
},
customIcon: { isEnabled: false },
isOneClickSubmitEnabled: false,
} as const satisfies RatingInputBlock['options']

View File

@ -0,0 +1 @@
export * from './schema'

View File

@ -0,0 +1,33 @@
import { z } from 'zod'
import { optionBaseSchema, blockBaseSchema } from '../../shared'
import { InputBlockType } from '../constants'
export const ratingInputOptionsSchema = optionBaseSchema.merge(
z.object({
buttonType: z.literal('Icons').or(z.literal('Numbers')).optional(),
length: z.number().optional(),
labels: z
.object({
left: z.string().optional(),
right: z.string().optional(),
button: z.string().optional(),
})
.optional(),
customIcon: z
.object({
isEnabled: z.boolean().optional(),
svg: z.string().optional(),
})
.optional(),
isOneClickSubmitEnabled: z.boolean().optional(),
})
)
export const ratingInputBlockSchema = blockBaseSchema.merge(
z.object({
type: z.literal(InputBlockType.RATING),
options: ratingInputOptionsSchema.optional(),
})
)
export type RatingInputBlock = z.infer<typeof ratingInputBlockSchema>