@kalink-ui/seedly 0.9.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +14 -6
  3. package/src/components/box/box.css.ts +2 -2
  4. package/src/components/button/button.css.ts +52 -50
  5. package/src/components/button/button.tsx +15 -12
  6. package/src/components/button/index.ts +1 -1
  7. package/src/components/button-icon/button-icon.css.ts +90 -0
  8. package/src/components/button-icon/button-icon.tsx +23 -0
  9. package/src/components/button-icon/index.ts +1 -0
  10. package/src/components/card/card.tsx +7 -4
  11. package/src/components/card/index.ts +1 -1
  12. package/src/components/center/center.tsx +2 -2
  13. package/src/components/center/index.ts +1 -1
  14. package/src/components/cluster/cluster.css.ts +17 -0
  15. package/src/components/command/command-empty.tsx +14 -0
  16. package/src/components/command/command-group.css.ts +34 -0
  17. package/src/components/command/command-group.tsx +19 -0
  18. package/src/components/command/command-input.css.ts +31 -0
  19. package/src/components/command/command-input.tsx +44 -0
  20. package/src/components/command/command-item.css.ts +27 -0
  21. package/src/components/command/command-item.tsx +35 -0
  22. package/src/components/command/command-list.css.ts +14 -0
  23. package/src/components/command/command-list.tsx +19 -0
  24. package/src/components/command/command-separator.tsx +29 -0
  25. package/src/components/command/command.tsx +24 -0
  26. package/src/components/command/index.ts +7 -0
  27. package/src/components/cover/index.ts +1 -1
  28. package/src/components/divider/divider.css.ts +11 -0
  29. package/src/components/divider/divider.tsx +11 -0
  30. package/src/components/divider/index.ts +1 -0
  31. package/src/components/form-field/form-field-context.ts +18 -0
  32. package/src/components/form-field/form-field-control.tsx +34 -0
  33. package/src/components/form-field/form-field-description.tsx +16 -0
  34. package/src/components/form-field/form-field-error.tsx +22 -0
  35. package/src/components/form-field/form-field-item-context.ts +6 -0
  36. package/src/components/form-field/form-field-item.tsx +28 -0
  37. package/src/components/form-field/form-field-label.tsx +27 -0
  38. package/src/components/form-field/form-field-message.tsx +33 -0
  39. package/src/components/form-field/form-field.css.ts +97 -0
  40. package/src/components/form-field/form-field.tsx +56 -0
  41. package/src/components/form-field/index.ts +9 -0
  42. package/src/components/frame/frame.css.ts +8 -8
  43. package/src/components/frame/frame.tsx +2 -6
  44. package/src/components/frame/index.ts +1 -1
  45. package/src/components/heading/heading.tsx +43 -8
  46. package/src/components/index.ts +29 -15
  47. package/src/components/input/index.ts +2 -0
  48. package/src/components/input/input-wrapper.tsx +58 -0
  49. package/src/components/input/input.css.ts +250 -0
  50. package/src/components/input/input.tsx +56 -0
  51. package/src/components/label/index.ts +1 -0
  52. package/src/components/label/label.css.ts +37 -0
  53. package/src/components/label/label.tsx +23 -0
  54. package/src/components/loader/index.ts +1 -0
  55. package/src/components/loader/loader.css.ts +109 -0
  56. package/src/components/loader/moon-loader.tsx +43 -0
  57. package/src/components/loader-overlay/index.ts +1 -0
  58. package/src/components/loader-overlay/loader-overlay.css.ts +35 -0
  59. package/src/components/loader-overlay/loader-overlay.tsx +28 -0
  60. package/src/components/menu/index.ts +2 -0
  61. package/src/components/menu/menu-item.css.ts +79 -0
  62. package/src/components/menu/menu-separator.css.ts +53 -0
  63. package/src/components/popover/index.ts +3 -0
  64. package/src/components/popover/popover-content.css.ts +107 -0
  65. package/src/components/popover/popover-content.tsx +82 -0
  66. package/src/components/popover/popover.tsx +6 -0
  67. package/src/components/scroll-area/index.ts +1 -0
  68. package/src/components/scroll-area/scroll-area.css.ts +72 -0
  69. package/src/components/scroll-area/scroll-area.tsx +39 -0
  70. package/src/components/scroll-area/scroll-bar.tsx +37 -0
  71. package/src/components/seed/seed.tsx +4 -4
  72. package/src/components/select/index.ts +5 -0
  73. package/src/components/select/select-content.css.ts +22 -0
  74. package/src/components/select/select-content.tsx +51 -0
  75. package/src/components/select/select-item.css.ts +24 -0
  76. package/src/components/select/select-item.tsx +24 -0
  77. package/src/components/select/select-root.tsx +14 -0
  78. package/src/components/select/select-trigger.css.ts +75 -0
  79. package/src/components/select/select-trigger.tsx +47 -0
  80. package/src/components/select/select.tsx +85 -0
  81. package/src/components/sheet/index.ts +5 -0
  82. package/src/components/sheet/sheet-content.css.ts +143 -0
  83. package/src/components/sheet/sheet-content.tsx +43 -0
  84. package/src/components/sheet/sheet-description.tsx +21 -0
  85. package/src/components/sheet/sheet-footer.tsx +15 -0
  86. package/src/components/sheet/sheet-header.css.ts +35 -0
  87. package/src/components/sheet/sheet-header.tsx +32 -0
  88. package/src/components/sheet/sheet-overlay.css.ts +43 -0
  89. package/src/components/sheet/sheet-overlay.tsx +14 -0
  90. package/src/components/sheet/sheet-title.tsx +31 -0
  91. package/src/components/sheet/sheet.tsx +8 -0
  92. package/src/components/stack/index.ts +1 -1
  93. package/src/components/stack/stack.css.ts +5 -1
  94. package/src/components/stack/stack.tsx +2 -2
  95. package/src/components/text/index.ts +6 -0
  96. package/src/components/text/text.css.ts +31 -4
  97. package/src/components/text-field/index.ts +1 -0
  98. package/src/components/text-field/text-field.css.ts +3 -0
  99. package/src/components/text-field/text-field.tsx +64 -0
  100. package/src/components/textarea/index.ts +1 -0
  101. package/src/components/textarea/textarea-input.tsx +20 -0
  102. package/src/components/textarea/textarea.css.ts +10 -0
  103. package/src/components/textarea/textarea.tsx +69 -0
  104. package/src/styles/define-responsive-properties.ts +242 -0
  105. package/src/styles/extract-sprinkles-props.ts +29 -35
  106. package/src/styles/index.ts +9 -0
  107. package/src/styles/reset.css.ts +1 -0
  108. package/src/styles/visually-hidden.css.ts +21 -0
@@ -0,0 +1,32 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+
3
+ import { Stack, StackProps } from '../stack';
4
+
5
+ import { SheetClose } from './sheet';
6
+ import { SheetContentVariants } from './sheet-content.css';
7
+ import { sheetHeader, sheetHeaderCloseBtn } from './sheet-header.css';
8
+
9
+ type SheetHeaderProps<TUse extends ElementType> = StackProps<TUse> & {
10
+ side: SheetContentVariants['side'];
11
+ closeBtn: ReactNode;
12
+ };
13
+
14
+ export function SheetHeader<TUse extends ElementType>({
15
+ ref,
16
+ spacing = 2,
17
+ children,
18
+ side,
19
+ closeBtn,
20
+ ...props
21
+ }: SheetHeaderProps<TUse>) {
22
+ return (
23
+ <div ref={ref} className={sheetHeader({ side })}>
24
+ <Stack spacing={spacing} {...props}>
25
+ {children}
26
+ </Stack>
27
+ <SheetClose asChild className={sheetHeaderCloseBtn}>
28
+ {closeBtn}
29
+ </SheetClose>
30
+ </div>
31
+ );
32
+ }
@@ -0,0 +1,43 @@
1
+ import { keyframes, style } from '@vanilla-extract/css';
2
+
3
+ import { sys } from '../../styles';
4
+
5
+ const enterAnimation = keyframes({
6
+ '0%': {
7
+ opacity: 0,
8
+ },
9
+ '100%': {
10
+ opacity: 1,
11
+ },
12
+ });
13
+
14
+ const exitAnimation = keyframes({
15
+ '0%': {
16
+ opacity: 1,
17
+ },
18
+ '100%': {
19
+ opacity: 0,
20
+ },
21
+ });
22
+
23
+ export const sheetOverlay = style({
24
+ zIndex: 50,
25
+
26
+ position: 'fixed',
27
+ inset: 0,
28
+
29
+ backgroundColor: `color(from ${sys.color.background} srgb r g b / 0.5)`,
30
+
31
+ animationDuration: sys.motion.duration.medium[2],
32
+ animationTimingFunction: sys.motion.easing.standard,
33
+ backdropFilter: 'blur(4px)',
34
+
35
+ selectors: {
36
+ '&[data-state="open"]': {
37
+ animationName: enterAnimation,
38
+ },
39
+ '&[data-state="closed"]': {
40
+ animationName: exitAnimation,
41
+ },
42
+ },
43
+ });
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+
3
+ import { Overlay } from '@radix-ui/react-dialog';
4
+ import { clsx } from 'clsx';
5
+ import { ComponentPropsWithoutRef } from 'react';
6
+
7
+ import { sheetOverlay } from './sheet-overlay.css';
8
+
9
+ export function SheetOverlay({
10
+ className,
11
+ ...props
12
+ }: ComponentPropsWithoutRef<typeof Overlay>) {
13
+ return <Overlay className={clsx(sheetOverlay, className)} {...props} />;
14
+ }
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+
3
+ import { Title } from '@radix-ui/react-dialog';
4
+ import { ComponentPropsWithRef } from 'react';
5
+
6
+ import { Heading, HeadingProps, HeadingTypes } from '../heading';
7
+
8
+ type SheetTitleProps<TUse extends HeadingTypes> = ComponentPropsWithRef<
9
+ typeof Title
10
+ > &
11
+ HeadingProps<TUse>;
12
+
13
+ export function SheetTitle<TUse extends HeadingTypes>(
14
+ props: SheetTitleProps<TUse>,
15
+ ) {
16
+ const { use = 'h2', className, children, variant, size, ...rest } = props;
17
+
18
+ return (
19
+ <Title asChild>
20
+ <Heading
21
+ use={use as HeadingProps<TUse>['use']}
22
+ variant={variant}
23
+ size={size}
24
+ className={className}
25
+ {...rest}
26
+ >
27
+ {children}
28
+ </Heading>
29
+ </Title>
30
+ );
31
+ }
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+
3
+ import { Root, Trigger, Close, Portal } from '@radix-ui/react-dialog';
4
+
5
+ export const Sheet = Root;
6
+ export const SheetTrigger = Trigger;
7
+ export const SheetClose = Close;
8
+ export const SheetPortal = Portal;
@@ -1,2 +1,2 @@
1
- export { Stack } from './stack';
1
+ export { Stack, type StackProps } from './stack';
2
2
  export { stackRecipe, type StackVariants } from './stack.css';
@@ -4,7 +4,11 @@ import { recipe, type RecipeVariants } from '@vanilla-extract/recipes';
4
4
  import { sys, mapContractVars } from '../../styles';
5
5
  import { components } from '../../styles/layers.css';
6
6
 
7
- const spacing = createVar();
7
+ const spacing = createVar({
8
+ syntax: '<length>',
9
+ initialValue: sys.spacing['0'],
10
+ inherits: false,
11
+ });
8
12
 
9
13
  export const stackRecipe = recipe({
10
14
  base: {
@@ -4,8 +4,8 @@ import { ElementType } from 'react';
4
4
 
5
5
  import { stackRecipe, StackVariants } from './stack.css';
6
6
 
7
- type StackProps<TUse extends ElementType> = PolymorphicComponentProps<TUse> &
8
- StackVariants;
7
+ export type StackProps<TUse extends ElementType> =
8
+ PolymorphicComponentProps<TUse> & StackVariants;
9
9
 
10
10
  /**
11
11
  * A custom element for injecting white space (margin) between flow
@@ -1 +1,7 @@
1
1
  export { Text, type TextProps } from './text';
2
+ export {
3
+ textRecipe,
4
+ textAlign,
5
+ lineClampNumber,
6
+ type TextVariants,
7
+ } from './text.css';
@@ -3,7 +3,8 @@ import { recipe, type RecipeVariants } from '@vanilla-extract/recipes';
3
3
 
4
4
  import { components } from '../../styles/layers.css';
5
5
 
6
- const lineClampNumber = createVar();
6
+ export const lineClampNumber = createVar();
7
+ export const textAlign = createVar();
7
8
 
8
9
  const lineClamp = style({
9
10
  '@layer': {
@@ -17,6 +18,17 @@ const lineClamp = style({
17
18
  });
18
19
 
19
20
  export const textRecipe = recipe({
21
+ base: {
22
+ '@layer': {
23
+ [components]: {
24
+ textAlign,
25
+
26
+ vars: {
27
+ [textAlign]: 'inherit',
28
+ },
29
+ },
30
+ },
31
+ },
20
32
  variants: {
21
33
  /**
22
34
  * Controls the wrapping of the text.
@@ -131,21 +143,36 @@ export const textRecipe = recipe({
131
143
  start: {
132
144
  '@layer': {
133
145
  [components]: {
134
- textAlign: 'start',
146
+ vars: {
147
+ [textAlign]: 'start',
148
+ },
135
149
  },
136
150
  },
137
151
  },
138
152
  center: {
139
153
  '@layer': {
140
154
  [components]: {
141
- textAlign: 'center',
155
+ vars: {
156
+ [textAlign]: 'center',
157
+ },
142
158
  },
143
159
  },
144
160
  },
145
161
  end: {
146
162
  '@layer': {
147
163
  [components]: {
148
- textAlign: 'end',
164
+ vars: {
165
+ [textAlign]: 'end',
166
+ },
167
+ },
168
+ },
169
+ },
170
+ justify: {
171
+ '@layer': {
172
+ [components]: {
173
+ vars: {
174
+ [textAlign]: 'justify',
175
+ },
149
176
  },
150
177
  },
151
178
  },
@@ -0,0 +1 @@
1
+ export { TextField } from './text-field';
@@ -0,0 +1,3 @@
1
+ import { style } from '@vanilla-extract/css';
2
+
3
+ export const textFieldStyle = style({});
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+
3
+ import {
4
+ FormField,
5
+ FormFieldControl,
6
+ FormFieldDescription,
7
+ FormFieldError,
8
+ FormFieldItem,
9
+ FormFieldLabel,
10
+ } from '../form-field';
11
+ import { Input, InputProps } from '../input';
12
+
13
+ export type TextFieldProps = InputProps & {
14
+ name: string;
15
+ label: string;
16
+ description?: string;
17
+ wrapperClassName?: string;
18
+ hideLabel?: boolean;
19
+ errors?: string | null;
20
+ hideErrorMessage?: boolean;
21
+ };
22
+
23
+ export function TextField({
24
+ description,
25
+ disabled,
26
+ label,
27
+ name,
28
+ hideLabel = false,
29
+ errors,
30
+ required,
31
+ hideErrorMessage = false,
32
+ size = 'md',
33
+ ...rest
34
+ }: TextFieldProps) {
35
+ return (
36
+ <FormField
37
+ name={name}
38
+ label={label}
39
+ errors={errors}
40
+ hideErrorMessage={hideErrorMessage}
41
+ disabled={disabled}
42
+ hideLabel={hideLabel}
43
+ >
44
+ <FormFieldItem>
45
+ <FormFieldLabel required={required} disabled={disabled} size={size}>
46
+ {label}
47
+ </FormFieldLabel>
48
+
49
+ <FormFieldControl>
50
+ <Input
51
+ name={name}
52
+ disabled={disabled}
53
+ required={required}
54
+ size={size}
55
+ {...rest}
56
+ />
57
+ </FormFieldControl>
58
+
59
+ <FormFieldDescription>{description}</FormFieldDescription>
60
+ <FormFieldError />
61
+ </FormFieldItem>
62
+ </FormField>
63
+ );
64
+ }
@@ -0,0 +1 @@
1
+ export { Textarea } from './textarea';
@@ -0,0 +1,20 @@
1
+ import { clsx } from 'clsx';
2
+ import { TextareaHTMLAttributes } from 'react';
3
+
4
+ import { useFormFieldContext } from '../form-field/form-field-context';
5
+ import { textarea } from '../textarea/textarea.css';
6
+
7
+ export function TextareaInput({
8
+ className,
9
+ ...props
10
+ }: TextareaHTMLAttributes<HTMLTextAreaElement>) {
11
+ const { errors } = useFormFieldContext();
12
+
13
+ return (
14
+ <textarea
15
+ className={clsx(textarea, className)}
16
+ aria-invalid={errors ? 'true' : undefined}
17
+ {...props}
18
+ />
19
+ );
20
+ }
@@ -0,0 +1,10 @@
1
+ import { style } from '@vanilla-extract/css';
2
+
3
+ import { inputAppearance } from '../input';
4
+
5
+ export const textarea = style([
6
+ inputAppearance(),
7
+ {
8
+ lineHeight: 'auto',
9
+ },
10
+ ]);
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+
3
+ import { TextareaHTMLAttributes } from 'react';
4
+
5
+ import {
6
+ FormField,
7
+ FormFieldControl,
8
+ FormFieldDescription,
9
+ FormFieldError,
10
+ FormFieldItem,
11
+ FormFieldLabel,
12
+ } from '../form-field';
13
+ import { InputProps } from '../input';
14
+
15
+ import { TextareaInput } from './textarea-input';
16
+
17
+ export type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> &
18
+ InputProps & {
19
+ name: string;
20
+ label: string;
21
+ description?: string;
22
+ hideLabel?: boolean;
23
+ errors: string;
24
+ hideErrorMessage?: boolean;
25
+ };
26
+
27
+ export function Textarea({
28
+ className,
29
+ description,
30
+ disabled,
31
+ label,
32
+ name,
33
+ hideLabel = false,
34
+ errors,
35
+ required,
36
+ hideErrorMessage = false,
37
+ size = 'md',
38
+ ...rest
39
+ }: TextareaProps) {
40
+ return (
41
+ <FormField
42
+ name={name}
43
+ label={label}
44
+ errors={errors}
45
+ hideErrorMessage={hideErrorMessage}
46
+ disabled={disabled}
47
+ hideLabel={hideLabel}
48
+ >
49
+ <FormFieldItem>
50
+ <FormFieldLabel disabled={disabled} required={required} size={size}>
51
+ {label}
52
+ </FormFieldLabel>
53
+
54
+ <FormFieldControl>
55
+ <TextareaInput
56
+ name={name}
57
+ className={className}
58
+ disabled={disabled}
59
+ aria-label={hideLabel ? label : undefined}
60
+ {...rest}
61
+ />
62
+ </FormFieldControl>
63
+
64
+ <FormFieldDescription>{description}</FormFieldDescription>
65
+ <FormFieldError />
66
+ </FormFieldItem>
67
+ </FormField>
68
+ );
69
+ }
@@ -0,0 +1,242 @@
1
+ import {
2
+ type ConditionalValue,
3
+ defineProperties,
4
+ } from '@vanilla-extract/sprinkles';
5
+
6
+ import { utilities } from './layers.css';
7
+ import { sys } from './system-contract.css';
8
+
9
+ interface ScreenMediaQueries {
10
+ sm: `screen and (min-width: ${string}px)`;
11
+ md: `screen and (min-width: ${string}px)`;
12
+ lg: `screen and (min-width: ${string}px)`;
13
+ xl: `screen and (min-width: ${string}px)`;
14
+ }
15
+
16
+ interface DefineResponsivePropertiesArgs {
17
+ screen: ScreenMediaQueries;
18
+ }
19
+
20
+ export const defineResponsiveProperties = ({
21
+ screen,
22
+ }: DefineResponsivePropertiesArgs) =>
23
+ defineProperties({
24
+ '@layer': utilities,
25
+
26
+ conditions: {
27
+ xs: {},
28
+ sm: { '@media': screen.sm },
29
+ md: { '@media': screen.md },
30
+ lg: { '@media': screen.lg },
31
+ xl: { '@media': screen.xl },
32
+ },
33
+
34
+ defaultCondition: 'xs',
35
+ responsiveArray: ['xs', 'sm', 'md', 'lg', 'xl'],
36
+
37
+ properties: {
38
+ display: [
39
+ 'none',
40
+ 'block',
41
+ 'inline',
42
+ 'inline-block',
43
+ 'flex',
44
+ 'inline-flex',
45
+ 'grid',
46
+ 'list-item',
47
+ ],
48
+ paddingBlockStart: sys.spacing,
49
+ paddingBlockEnd: sys.spacing,
50
+ paddingInlineStart: sys.spacing,
51
+ paddingInlineEnd: sys.spacing,
52
+
53
+ marginBlockStart: sys.spacing,
54
+ marginBlockEnd: sys.spacing,
55
+ marginInlineStart: sys.spacing,
56
+ marginInlineEnd: sys.spacing,
57
+
58
+ columnGap: sys.spacing,
59
+ rowGap: sys.spacing,
60
+
61
+ flexDirection: ['row', 'row-reverse', 'column', 'column-reverse'],
62
+
63
+ justifyContent: [
64
+ 'flex-start',
65
+ 'flex-end',
66
+ 'center',
67
+ 'space-between',
68
+ 'space-around',
69
+ ],
70
+ alignItems: ['flex-start', 'flex-end', 'center', 'baseline', 'stretch'],
71
+ alignSelf: ['flex-start', 'flex-end', 'center', 'baseline', 'stretch'],
72
+
73
+ position: [
74
+ 'absolute',
75
+ 'relative',
76
+ 'fixed',
77
+ 'sticky',
78
+ 'static',
79
+ 'inherit',
80
+ ],
81
+ insetBlockStart: sys.spacing,
82
+ insetBlockEnd: sys.spacing,
83
+ insetInlineStart: sys.spacing,
84
+ insetInlineEnd: sys.spacing,
85
+
86
+ textAlign: ['start', 'end', 'center', 'justify'],
87
+ },
88
+
89
+ shorthands: {
90
+ padding: [
91
+ 'paddingBlockStart',
92
+ 'paddingInlineEnd',
93
+ 'paddingBlockEnd',
94
+ 'paddingInlineStart',
95
+ ],
96
+ paddingBlock: ['paddingBlockStart', 'paddingBlockEnd'],
97
+ paddingInline: ['paddingInlineEnd', 'paddingInlineStart'],
98
+
99
+ margin: [
100
+ 'marginBlockStart',
101
+ 'marginInlineEnd',
102
+ 'marginBlockEnd',
103
+ 'marginInlineStart',
104
+ ],
105
+ marginBlock: ['marginBlockStart', 'marginBlockEnd'],
106
+ marginInline: ['marginInlineEnd', 'marginInlineStart'],
107
+
108
+ gap: ['rowGap', 'columnGap'],
109
+
110
+ inset: [
111
+ 'insetBlockStart',
112
+ 'insetInlineEnd',
113
+ 'insetBlockEnd',
114
+ 'insetInlineStart',
115
+ ],
116
+ insetBlock: ['insetBlockStart', 'insetBlockEnd'],
117
+ insetInline: ['insetInlineEnd', 'insetInlineStart'],
118
+ },
119
+ });
120
+
121
+ type DefineResponsiveProperties = ReturnType<typeof defineResponsiveProperties>;
122
+
123
+ export type ResponsiveValue<Value extends string | number> = ConditionalValue<
124
+ DefineResponsiveProperties,
125
+ Value
126
+ >;
127
+
128
+ export type DisplayValues =
129
+ keyof DefineResponsiveProperties['styles']['display']['values'];
130
+ export type JustifyContentValues =
131
+ keyof DefineResponsiveProperties['styles']['justifyContent']['values'];
132
+ export type AlignItemsValues =
133
+ keyof DefineResponsiveProperties['styles']['alignItems']['values'];
134
+ export type AlignSelfValues =
135
+ keyof DefineResponsiveProperties['styles']['alignSelf']['values'];
136
+ export type FlexDirectionValues =
137
+ keyof DefineResponsiveProperties['styles']['flexDirection']['values'];
138
+ export type ColumnGapValues =
139
+ keyof DefineResponsiveProperties['styles']['columnGap']['values'];
140
+ export type RowGapValues =
141
+ keyof DefineResponsiveProperties['styles']['rowGap']['values'];
142
+
143
+ export type PaddingBlockStartValues =
144
+ keyof DefineResponsiveProperties['styles']['paddingBlockStart']['values'];
145
+ export type PaddingBlockEndValues =
146
+ keyof DefineResponsiveProperties['styles']['paddingBlockEnd']['values'];
147
+ export type PaddingInlineStartValues =
148
+ keyof DefineResponsiveProperties['styles']['paddingInlineStart']['values'];
149
+ export type PaddingInlineEndValues =
150
+ keyof DefineResponsiveProperties['styles']['paddingInlineEnd']['values'];
151
+ export type MarginBlockStartValues =
152
+ keyof DefineResponsiveProperties['styles']['marginBlockStart']['values'];
153
+ export type MarginBlockEndValues =
154
+ keyof DefineResponsiveProperties['styles']['marginBlockEnd']['values'];
155
+ export type MarginInlineStartValues =
156
+ keyof DefineResponsiveProperties['styles']['marginInlineStart']['values'];
157
+ export type MarginInlineEndValues =
158
+ keyof DefineResponsiveProperties['styles']['marginInlineEnd']['values'];
159
+
160
+ export type PositionValues =
161
+ keyof DefineResponsiveProperties['styles']['position']['values'];
162
+ export type InsetBlockStartValues =
163
+ keyof DefineResponsiveProperties['styles']['insetBlockStart']['values'];
164
+ export type InsetBlockEndValues =
165
+ keyof DefineResponsiveProperties['styles']['insetBlockEnd']['values'];
166
+ export type InsetInlineStartValues =
167
+ keyof DefineResponsiveProperties['styles']['insetInlineStart']['values'];
168
+ export type InsetInlineEndValues =
169
+ keyof DefineResponsiveProperties['styles']['insetInlineEnd']['values'];
170
+
171
+ export type TextAlignValues =
172
+ keyof DefineResponsiveProperties['styles']['textAlign']['values'];
173
+
174
+ export interface ResponsiveProperties {
175
+ /** Mapped to `display` css property */
176
+ display?: ResponsiveValue<DisplayValues>;
177
+ /** Mapped to `flex-direction` css property */
178
+ flexDirection?: ResponsiveValue<FlexDirectionValues>;
179
+ /** Mapped to `justify-content` css property */
180
+ justifyContent?: ResponsiveValue<JustifyContentValues>;
181
+ /** Mapped to `align-items` css property */
182
+ alignItems?: ResponsiveValue<AlignItemsValues>;
183
+ /** Mapped to `align-self` css property */
184
+ alignSelf?: ResponsiveValue<AlignSelfValues>;
185
+ /** Mapped to `column-gap` css property */
186
+ columnGap?: ResponsiveValue<ColumnGapValues>;
187
+ /** Mapped to `row-gap` css property */
188
+ rowGap?: ResponsiveValue<RowGapValues>;
189
+ /** Mapped to `gap` css property */
190
+ gap?: ResponsiveValue<ColumnGapValues | RowGapValues>;
191
+
192
+ /** Mapped to `padding-block-start` css property */
193
+ paddingBlockStart?: ResponsiveValue<PaddingBlockStartValues>;
194
+ /** Mapped to `padding-block-end` css property */
195
+ paddingBlockEnd?: ResponsiveValue<PaddingBlockEndValues>;
196
+ /** Mapped to `padding-inline-start` css property */
197
+ paddingInlineStart?: ResponsiveValue<PaddingInlineStartValues>;
198
+ /** Mapped to `padding-inline-end` css property */
199
+ paddingInlineEnd?: ResponsiveValue<PaddingInlineEndValues>;
200
+ /** Mapped to `padding` css property */
201
+ padding?: ResponsiveValue<PaddingBlockStartValues | PaddingInlineStartValues>;
202
+ /** Mapped to `padding-block` css property */
203
+ paddingBlock?: ResponsiveValue<
204
+ PaddingBlockStartValues | PaddingBlockEndValues
205
+ >;
206
+ /** Mapped to `padding-inline` css property */
207
+ paddingInline?: ResponsiveValue<
208
+ PaddingInlineStartValues | PaddingInlineEndValues
209
+ >;
210
+
211
+ /** Mapped to `margin-block-start` css property */
212
+ marginBlockStart?: ResponsiveValue<MarginBlockStartValues>;
213
+ /** Mapped to `margin-block-end` css property */
214
+ marginBlockEnd?: ResponsiveValue<MarginBlockEndValues>;
215
+ /** Mapped to `margin-inline-start` css property */
216
+ marginInlineStart?: ResponsiveValue<MarginInlineStartValues>;
217
+ /** Mapped to `margin-inline-end` css property */
218
+ marginInlineEnd?: ResponsiveValue<MarginInlineEndValues>;
219
+ /** Mapped to `margin` css property */
220
+ margin?: ResponsiveValue<MarginBlockStartValues | MarginInlineStartValues>;
221
+ /** Mapped to `margin-block` css property */
222
+ marginBlock?: ResponsiveValue<MarginBlockStartValues | MarginBlockEndValues>;
223
+ /** Mapped to `margin-inline` css property */
224
+ marginInline?: ResponsiveValue<
225
+ MarginInlineStartValues | MarginInlineEndValues
226
+ >;
227
+
228
+ /** Mapped to `position` css property */
229
+ position?: ResponsiveValue<PositionValues>;
230
+
231
+ /** Mapped to `inset-block-start` css property */
232
+ insetBlockStart?: ResponsiveValue<InsetBlockStartValues>;
233
+ /** Mapped to `inset-block-end` css property */
234
+ insetBlockEnd?: ResponsiveValue<InsetBlockEndValues>;
235
+ /** Mapped to `inset-inline-start` css property */
236
+ insetInlineStart?: ResponsiveValue<InsetInlineStartValues>;
237
+ /** Mapped to `inset-inline-end` css property */
238
+ insetInlineEnd?: ResponsiveValue<InsetInlineEndValues>;
239
+
240
+ /** Mapped to `text-align` css property */
241
+ textAlign?: ResponsiveValue<TextAlignValues>;
242
+ }