⚡ (rating) Add start number option in Rating block
This commit is contained in:
@@ -252,6 +252,25 @@ export const parseInput =
|
||||
case InputBlockType.DATE: {
|
||||
return parseDateInput(state)(block)
|
||||
}
|
||||
case InputBlockType.RATING: {
|
||||
const parsedBlock = deepParseVariables(
|
||||
state.typebotsQueue[0].typebot.variables
|
||||
)({
|
||||
...block,
|
||||
prefilledValue: getPrefilledInputValue(
|
||||
state.typebotsQueue[0].typebot.variables
|
||||
)(block),
|
||||
})
|
||||
return {
|
||||
...parsedBlock,
|
||||
options: {
|
||||
...parsedBlock.options,
|
||||
startsAt: isNotEmpty(parsedBlock.options?.startsAt as string)
|
||||
? Number(parsedBlock.options?.startsAt)
|
||||
: undefined,
|
||||
},
|
||||
}
|
||||
}
|
||||
default: {
|
||||
return deepParseVariables(state.typebotsQueue[0].typebot.variables)({
|
||||
...block,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@typebot.io/js",
|
||||
"version": "0.2.40",
|
||||
"version": "0.2.41",
|
||||
"description": "Javascript library to display typebots on your website",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
|
||||
@@ -45,7 +45,10 @@ export const RatingForm = (props: Props) => {
|
||||
defaultRatingInputOptions.length) +
|
||||
((props.block.options?.buttonType ??
|
||||
defaultRatingInputOptions.buttonType) === 'Numbers'
|
||||
? 1
|
||||
? -(
|
||||
((props.block.options?.startsAt as number | undefined) ??
|
||||
defaultRatingInputOptions.startsAt) - 1
|
||||
)
|
||||
: 0)
|
||||
)
|
||||
)}
|
||||
@@ -58,7 +61,8 @@ export const RatingForm = (props: Props) => {
|
||||
idx() +
|
||||
((props.block.options?.buttonType ??
|
||||
defaultRatingInputOptions.buttonType) === 'Numbers'
|
||||
? 0
|
||||
? (props.block.options?.startsAt as number | undefined) ??
|
||||
defaultRatingInputOptions.startsAt
|
||||
: 1)
|
||||
}
|
||||
onClick={handleClick}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@typebot.io/nextjs",
|
||||
"version": "0.2.40",
|
||||
"version": "0.2.41",
|
||||
"description": "Convenient library to display typebots on your Next.js website",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@typebot.io/react",
|
||||
"version": "0.2.40",
|
||||
"version": "0.2.41",
|
||||
"description": "Convenient library to display typebots on your React app",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -7,6 +7,7 @@ export const defaultRatingInputOptions = {
|
||||
labels: {
|
||||
button: defaultButtonLabel,
|
||||
},
|
||||
startsAt: 0,
|
||||
customIcon: { isEnabled: false },
|
||||
isOneClickSubmitEnabled: false,
|
||||
} as const satisfies RatingInputBlock['options']
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { z } from '../../../../zod'
|
||||
import { variableStringSchema } from '../../../utils'
|
||||
import { optionBaseSchema, blockBaseSchema } from '../../shared'
|
||||
import { InputBlockType } from '../constants'
|
||||
|
||||
@@ -6,6 +7,7 @@ export const ratingInputOptionsSchema = optionBaseSchema.merge(
|
||||
z.object({
|
||||
buttonType: z.literal('Icons').or(z.literal('Numbers')).optional(),
|
||||
length: z.number().optional(),
|
||||
startsAt: z.number().or(variableStringSchema).optional(),
|
||||
labels: z
|
||||
.object({
|
||||
left: z.string().optional(),
|
||||
|
||||
Reference in New Issue
Block a user