You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current behavior:
In my Storyblok instance I declared a Button-blok which has a color option. This option is a single-choice element which gets its data from a datasource called "Colors".
This datasource containst key-value-pairs like this:
Interestingly, the fontColor prop is also the exact same constellation and this gets generated as number | string. This also happens whenever I use this Datasource anywhere else.
Expected behavior:
This should consistently result in a type like this:
Hi @TwoBee
The generate-typescript-typedefs utility does not provide union types for Datasources (yet! 😄). Every Datasource is typed as string | number by default.
In your example, you state that the color and fontColor properties share the same field type, which is Single Option with a Datasource as a source. I re-created the example and I just got two number | string types, as expected. I can assure you that Datasources are not typed by our utility.
Could it be that you initially added a self-contained source to the color property, and then you moved it to a Datasource so that you could share it with other properties? 🤔
You can easily check it in two ways:
have a look at the bloks JSON schema, locate the button component and look for the color property. My guess is that you'll find a hard-coded list of colors, alongside the usual Datasource binding, which is represented by the properties source: internal and datasource_slug: [your_slug]
locate the blok on the Storyblok blok library: what happens if you change the source of the color property from Datasource to Self? My guess is that you should see the list of colours you previously configured as a Self source
Current behavior:
In my Storyblok instance I declared a Button-blok which has a color option. This option is a single-choice element which gets its data from a datasource called "Colors".
This datasource containst key-value-pairs like this:
This now generates in a Button-blok to this:
Interestingly, the
fontColor
prop is also the exact same constellation and this gets generated asnumber | string
. This also happens whenever I use this Datasource anywhere else.Expected behavior:
This should consistently result in a type like this:
type colors = "primary" | "secondary" | "white" | "accent" | "transparent"
Steps to reproduce:
npx storyblok pull-components --space={YOUR_ID} && npx storyblok generate-typescript-typedefs --sourceFilePaths ./components.{YOUR_ID}.json --destinationFilePath ./types/storyblok-component-types.d.ts
Other information:
The text was updated successfully, but these errors were encountered: