# BlockSpacer
BlockSpacer is used to create empty block space, typically when variable spacing is needed between multiple elements.
Note that you should favor BlockStack when spacing between all elements is the same.
```tsx
import {
reactExtension,
BlockSpacer,
View,
} from '@shopify/ui-extensions-react/checkout';
export default reactExtension(
'purchase.checkout.block.render',
() => ,
);
function Extension() {
return (
<>
View
View
>
);
}
```
```js
import {extension, BlockSpacer, View} from '@shopify/ui-extensions/checkout';
export default extension('purchase.checkout.block.render', (root) => {
const blockSpacer = root.createComponent(View, undefined, [
root.createComponent(View, {border: 'base', padding: 'base'}, 'View'),
root.createComponent(BlockSpacer, {spacing: 'loose'}),
root.createComponent(View, {border: 'base', padding: 'base'}, 'View'),
]);
root.appendChild(blockSpacer);
});
```
## BlockSpacerProps
### BlockSpacerProps
### id
value: `string`
A unique identifier for the component.
### spacing
value: `MaybeResponsiveConditionalStyle`
Adjust size of the spacer
### ConditionalStyle
### conditionals
value: `ConditionalValue[]`
An array of conditional values.
### default
value: `T`
The default value applied when none of the conditional values specified in `conditionals` are met.
### ConditionalValue
### conditions
value: `AcceptedConditions`
The conditions that must be met for the value to be applied. At least one condition must be specified.
### value
value: `T`
The value that will be applied if the conditions are met.
### ViewportSizeCondition
### viewportInlineSize
value: `{ min: T; }`
## StyleHelper
Style is a helper for authoring conditional values for prop styles.
Write complex conditional styles based on one or more conditions, such as viewport sizes and interactive states, in a concise and expressive way.
### DocsStyle
### default
value: `(defaultValue: T) => StylesConditionalStyle`
Sets an optional default value to use when no other condition is met.
### when
value: `(conditions: StylesConditions, value: T) => StylesConditionalStyle`
Adjusts the style based on different conditions. All conditions, expressed as a literal object, must be met for the associated value to be applied.
The `when` method can be chained together to build more complex styles.
### StylesConditionalStyle
### conditionals
value: `StylesConditionalValue[]`
An array of conditional values.
### default
value: `T`
The default value applied when none of the conditional values specified in `conditionals` are met.
### StylesConditionalValue
### conditions
value: `AcceptedConditions`
The conditions that must be met for the value to be applied. At least one condition must be specified.
### value
value: `T`
The value that will be applied if the conditions are met.
### StylesBaseConditions
### focus
value: `true`
### hover
value: `true`
### resolution
value: `1 | 1.3 | 1.5 | 2 | 2.6 | 3 | 3.5 | 4`
### viewportInlineSize
value: `{ min: ViewportInlineSize; }`
### StylesConditions
### focus
value: `true`
### hover
value: `true`
### viewportInlineSize
value: `{ min: ViewportInlineSize; }`