From 8286f217959707f21926a17142122789ade6d2f5 Mon Sep 17 00:00:00 2001 From: Vladyslav Dalechyn Date: Sat, 8 Jun 2024 01:51:59 +0300 Subject: [PATCH] fix: `margin*` and `letterSpacing` accepting only negative values (#348) * fix: `margin*` and `letterSpacing` accepting only negative values * chore: changesets --- .changeset/rare-rabbits-retire.md | 5 +++++ src/ui/Box.tsx | 16 ++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/rare-rabbits-retire.md diff --git a/.changeset/rare-rabbits-retire.md b/.changeset/rare-rabbits-retire.md new file mode 100644 index 00000000..b3697837 --- /dev/null +++ b/.changeset/rare-rabbits-retire.md @@ -0,0 +1,5 @@ +--- +"frog": patch +--- + +Fixed a type issue where `margin*` and `letterSpacing` props in `Box` accepted only negative values. diff --git a/src/ui/Box.tsx b/src/ui/Box.tsx index 8ba835fc..ad3e36fe 100644 --- a/src/ui/Box.tsx +++ b/src/ui/Box.tsx @@ -10,8 +10,8 @@ export type VariableValue = | token | { custom: SatoriStyleProperties[property] } -type NegateValues = ValueOf<{ - [key in keyof obj]: key extends `${number}` ? `-${key}` : key +type WithNegatedValues = ValueOf<{ + [key in keyof obj]: key extends `${number}` ? `-${key}` | key : key }> export type BoxProps = Omit< @@ -106,14 +106,14 @@ export type BoxProps = Omit< left?: VariableValue<'left', keyof vars['units']> letterSpacing?: VariableValue< 'letterSpacing', - keyof vars['units'] | NegateValues + keyof vars['units'] | WithNegatedValues > lineHeight?: VariableValue<'lineHeight', keyof vars['units']> - margin?: VariableValue<'margin', NegateValues> - marginTop?: VariableValue<'marginTop', NegateValues> - marginBottom?: VariableValue<'marginBottom', NegateValues> - marginLeft?: VariableValue<'marginLeft', NegateValues> - marginRight?: VariableValue<'marginRight', NegateValues> + margin?: VariableValue<'margin', WithNegatedValues> + marginTop?: VariableValue<'marginTop', WithNegatedValues> + marginBottom?: VariableValue<'marginBottom', WithNegatedValues> + marginLeft?: VariableValue<'marginLeft', WithNegatedValues> + marginRight?: VariableValue<'marginRight', WithNegatedValues> maxHeight?: VariableValue<'maxHeight', keyof vars['units'] | '100%'> minHeight?: VariableValue<'minHeight', keyof vars['units'] | '100%'> maxWidth?: VariableValue<'maxWidth', keyof vars['units'] | '100%'>