@usefui/components 1.6.0 → 1.7.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 (69) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/index.d.mts +380 -52
  3. package/dist/index.d.ts +380 -52
  4. package/dist/index.js +2534 -511
  5. package/dist/index.mjs +2520 -508
  6. package/package.json +3 -3
  7. package/src/__tests__/Avatar.test.tsx +55 -55
  8. package/src/accordion/Accordion.stories.tsx +6 -4
  9. package/src/accordion/index.tsx +1 -2
  10. package/src/avatar/Avatar.stories.tsx +37 -7
  11. package/src/avatar/index.tsx +90 -19
  12. package/src/avatar/styles/index.ts +58 -12
  13. package/src/badge/Badge.stories.tsx +27 -5
  14. package/src/badge/index.tsx +21 -13
  15. package/src/badge/styles/index.ts +69 -40
  16. package/src/button/Button.stories.tsx +40 -27
  17. package/src/button/index.tsx +13 -9
  18. package/src/button/styles/index.ts +308 -47
  19. package/src/card/index.tsx +2 -4
  20. package/src/checkbox/Checkbox.stories.tsx +72 -33
  21. package/src/checkbox/index.tsx +8 -6
  22. package/src/checkbox/styles/index.ts +239 -19
  23. package/src/collapsible/Collapsible.stories.tsx +6 -4
  24. package/src/dialog/Dialog.stories.tsx +173 -31
  25. package/src/dialog/styles/index.ts +15 -8
  26. package/src/dropdown/Dropdown.stories.tsx +61 -23
  27. package/src/dropdown/index.tsx +42 -31
  28. package/src/dropdown/styles/index.ts +30 -19
  29. package/src/field/Field.stories.tsx +183 -24
  30. package/src/field/index.tsx +930 -13
  31. package/src/field/styles/index.ts +246 -14
  32. package/src/field/types/index.ts +31 -0
  33. package/src/field/utils/index.ts +201 -0
  34. package/src/index.ts +2 -1
  35. package/src/message-bubble/MessageBubble.stories.tsx +59 -12
  36. package/src/message-bubble/index.tsx +22 -4
  37. package/src/message-bubble/styles/index.ts +4 -7
  38. package/src/otp-field/OTPField.stories.tsx +22 -24
  39. package/src/otp-field/index.tsx +9 -0
  40. package/src/otp-field/styles/index.ts +114 -16
  41. package/src/otp-field/types/index.ts +9 -1
  42. package/src/overlay/styles/index.ts +1 -0
  43. package/src/ruler/Ruler.stories.tsx +43 -0
  44. package/src/ruler/constants/index.ts +3 -0
  45. package/src/ruler/hooks/index.tsx +53 -0
  46. package/src/ruler/index.tsx +239 -0
  47. package/src/ruler/styles/index.tsx +154 -0
  48. package/src/ruler/types/index.ts +17 -0
  49. package/src/select/Select.stories.tsx +91 -0
  50. package/src/select/hooks/index.tsx +71 -0
  51. package/src/select/index.tsx +331 -0
  52. package/src/select/styles/index.tsx +156 -0
  53. package/src/shimmer/Shimmer.stories.tsx +6 -4
  54. package/src/skeleton/index.tsx +7 -6
  55. package/src/spinner/Spinner.stories.tsx +29 -4
  56. package/src/spinner/index.tsx +16 -6
  57. package/src/spinner/styles/index.ts +41 -22
  58. package/src/switch/Switch.stories.tsx +46 -17
  59. package/src/switch/index.tsx +5 -8
  60. package/src/switch/styles/index.ts +45 -45
  61. package/src/tabs/Tabs.stories.tsx +43 -15
  62. package/src/text-area/Textarea.stories.tsx +45 -8
  63. package/src/text-area/index.tsx +9 -6
  64. package/src/text-area/styles/index.ts +1 -1
  65. package/src/toggle/Toggle.stories.tsx +6 -4
  66. package/src/tree/Tree.stories.tsx +6 -4
  67. package/src/privacy-field/PrivacyField.stories.tsx +0 -29
  68. package/src/privacy-field/index.tsx +0 -56
  69. package/src/privacy-field/styles/index.ts +0 -17
@@ -8,74 +8,294 @@ const CheckboxDefaultStyles = css`
8
8
  backdrop-filter: blur(var(--measurement-small-10));
9
9
  transition: all ease-in-out 0.2s;
10
10
  `;
11
+ const CheckboxBeforeDefaultStyles = css`
12
+ content: "";
13
+ inset: 0;
14
+
15
+ border-radius: inherit;
16
+ border: var(--measurement-small-10) solid transparent;
17
+ position: absolute;
18
+ box-sizing: border-box;
19
+ margin: 0;
20
+ padding: 0;
21
+
22
+ mask-composite: intersect;
23
+
24
+ transition: all ease-in-out 0.2s;
25
+ `;
11
26
  const CheckboxVariantsStyles = css`
12
- &[data-variant="primary"] {
13
- background-color: var(--font-color-alpha-10);
14
- border: var(--measurement-small-10) solid transparent;
27
+ &[data-variant="accent"] {
28
+ background-color: var(--alpha-accent-30);
15
29
 
16
- &:hover,
17
- &:focus {
18
- border-color: var(--font-color-alpha-10);
30
+ ::before {
31
+ ${CheckboxBeforeDefaultStyles}
32
+ border-color: var(--alpha-accent-30);
33
+ mask-image: linear-gradient(var(--alpha-accent-30), transparent);
19
34
  }
20
35
 
36
+ &:hover,
37
+ &:focus,
21
38
  &:active,
22
39
  &[data-state="checked"] {
23
- background-color: var(--font-color);
40
+ color: var(--font-color);
41
+
42
+ ::before {
43
+ border-color: var(--color-accent);
44
+ }
45
+
46
+ svg {
47
+ stroke: var(--color-accent);
48
+ }
49
+ }
50
+ }
51
+ &[data-variant="primary"] {
52
+ background-color: var(--font-color);
53
+ background: linear-gradient(
54
+ 180deg,
55
+ var(--font-color) 50%,
56
+ var(--font-color-alpha-60) 100%
57
+ );
58
+ background-size: 100% 200%;
59
+ background-position: 0% 50%;
60
+
61
+ ::before {
62
+ ${CheckboxBeforeDefaultStyles}
63
+ border-color: var(--body-color-alpha-20);
64
+ mask-image: linear-gradient(var(--body-color-alpha-90), transparent);
24
65
  }
25
66
 
67
+ &:hover,
68
+ &:focus,
69
+ &:active,
26
70
  &[data-state="checked"] {
71
+ background-position: 0% 25%;
72
+
73
+ ::before {
74
+ border-color: var(--body-color-alpha-10);
75
+ }
76
+
27
77
  svg {
28
78
  stroke: var(--body-color);
29
79
  }
30
80
  }
31
81
  }
82
+ &[data-variant="secondary"] {
83
+ background-color: var(--contrast-color);
84
+
85
+ ::before {
86
+ ${CheckboxBeforeDefaultStyles}
87
+ border-color: var(--font-color-alpha-30);
88
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
89
+ }
90
+
91
+ &:hover,
92
+ &:focus,
93
+ &:active,
94
+ &[data-state="checked"] {
95
+ color: var(--font-color);
96
+
97
+ ::before {
98
+ border-color: var(--font-color-alpha-60);
99
+ }
100
+
101
+ svg {
102
+ stroke: var(--font-color);
103
+ }
104
+ }
105
+ }
106
+ &[data-variant="tertiary"] {
107
+ border-color: var(--font-color-alpha-10);
32
108
 
33
- &[data-variant="border"] {
34
109
  background-color: var(--body-color);
35
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
110
+ background: linear-gradient(
111
+ 180deg,
112
+ transparent 0%,
113
+ var(--contrast-color) 100%
114
+ );
115
+ background-size: 100% 200%;
116
+ background-position: 0% 50%;
117
+
118
+ ::before {
119
+ ${CheckboxBeforeDefaultStyles}
120
+ border-color: var(--font-color-alpha-10);
121
+ mask-image: linear-gradient(var(--font-color-alpha-30), transparent);
122
+ }
36
123
 
37
124
  &:hover,
38
125
  &:focus,
39
126
  &:active,
40
127
  &[data-state="checked"] {
41
128
  background-color: var(--font-color-alpha-10);
129
+ background-position: 0% 75%;
42
130
  border-color: transparent;
131
+
132
+ svg {
133
+ stroke: var(--font-color);
134
+ }
135
+ }
136
+ }
137
+ &[data-variant="success"] {
138
+ background-color: var(--alpha-green-30);
139
+
140
+ background: linear-gradient(
141
+ 180deg,
142
+ transparent 0%,
143
+ var(--alpha-green-30) 100%
144
+ );
145
+ background-size: 100% 200%;
146
+ background-position: 0% 50%;
147
+
148
+ ::before {
149
+ ${CheckboxBeforeDefaultStyles}
150
+ border-color: var(--alpha-green-30);
151
+ mask-image: linear-gradient(var(--alpha-green-30), transparent);
43
152
  }
44
153
 
154
+ &:hover,
155
+ &:focus,
156
+ &:active,
45
157
  &[data-state="checked"] {
158
+ color: var(--font-color);
159
+
160
+ ::before {
161
+ border-color: var(--color-green);
162
+ background-color: var(--alpha-green-60);
163
+ }
164
+
46
165
  svg {
47
- stroke: var(--font-color);
166
+ stroke: var(--color-green);
48
167
  }
49
168
  }
50
169
  }
51
- &[data-variant="mono"] {
52
- background-color: var(--font-color-alpha-10);
53
- border: var(--measurement-small-10) solid transparent;
170
+ &[data-variant="meta"] {
171
+ background-color: var(--alpha-blue-30);
172
+
173
+ background: linear-gradient(
174
+ 180deg,
175
+ transparent 0%,
176
+ var(--alpha-blue-30) 100%
177
+ );
178
+ background-size: 100% 200%;
179
+ background-position: 0% 50%;
180
+
181
+ ::before {
182
+ ${CheckboxBeforeDefaultStyles}
183
+ border-color: var(--alpha-blue-30);
184
+ mask-image: linear-gradient(var(--alpha-blue-30), transparent);
185
+ }
54
186
 
55
187
  &:hover,
56
188
  &:focus,
57
189
  &:active,
58
190
  &[data-state="checked"] {
59
- border-color: var(--font-color-alpha-10);
191
+ color: var(--font-color);
192
+
193
+ ::before {
194
+ border-color: var(--color-blue);
195
+ background-color: var(--alpha-blue-60);
196
+ }
197
+
198
+ svg {
199
+ stroke: var(--color-blue);
200
+ }
201
+ }
202
+ }
203
+ &[data-variant="hint"] {
204
+ background-color: var(--alpha-purple-30);
205
+
206
+ background: linear-gradient(
207
+ 180deg,
208
+ transparent 0%,
209
+ var(--alpha-purple-30) 100%
210
+ );
211
+ background-size: 100% 200%;
212
+ background-position: 0% 50%;
213
+
214
+ ::before {
215
+ ${CheckboxBeforeDefaultStyles}
216
+ border-color: var(--alpha-purple-30);
217
+ mask-image: linear-gradient(var(--alpha-purple-30), transparent);
218
+ }
219
+
220
+ &:hover,
221
+ &:focus,
222
+ &:active,
223
+ &[data-state="checked"] {
224
+ color: var(--font-color);
225
+
226
+ ::before {
227
+ border-color: var(--color-purple);
228
+ background-color: var(--alpha-purple-60);
229
+ }
230
+
231
+ svg {
232
+ stroke: var(--color-purple);
233
+ }
234
+ }
235
+ }
236
+ &[data-variant="danger"] {
237
+ background-color: var(--alpha-red-30);
238
+
239
+ background: linear-gradient(
240
+ 180deg,
241
+ transparent 0%,
242
+ var(--alpha-red-30) 100%
243
+ );
244
+ background-size: 100% 200%;
245
+ background-position: 0% 50%;
246
+
247
+ ::before {
248
+ ${CheckboxBeforeDefaultStyles}
249
+ border-color: var(--alpha-red-30);
250
+ mask-image: linear-gradient(var(--alpha-red-30), transparent);
60
251
  }
61
252
 
253
+ &:hover,
254
+ &:focus,
255
+ &:active,
62
256
  &[data-state="checked"] {
257
+ color: var(--font-color);
258
+
259
+ ::before {
260
+ border-color: var(--color-red);
261
+ background-color: var(--alpha-red-60);
262
+ }
263
+
63
264
  svg {
64
- stroke: var(--font-color);
265
+ stroke: var(--color-red);
65
266
  }
66
267
  }
67
268
  }
68
- &[data-variant="ghost"] {
69
- border: var(--measurement-small-10) solid transparent;
269
+ &[data-variant="warning"] {
270
+ background-color: var(--alpha-orange-30);
271
+
272
+ background: linear-gradient(
273
+ 180deg,
274
+ transparent 0%,
275
+ var(--alpha-orange-30) 100%
276
+ );
277
+ background-size: 100% 200%;
278
+ background-position: 0% 50%;
279
+
280
+ ::before {
281
+ ${CheckboxBeforeDefaultStyles}
282
+ border-color: var(--alpha-orange-30);
283
+ mask-image: linear-gradient(var(--alpha-orange-30), transparent);
284
+ }
70
285
 
71
286
  &:hover,
72
287
  &:focus,
73
288
  &:active,
74
289
  &[data-state="checked"] {
75
- border-color: var(--font-color-alpha-10);
290
+ color: var(--font-color);
291
+
292
+ ::before {
293
+ border-color: var(--color-orange);
294
+ background-color: var(--alpha-orange-60);
295
+ }
76
296
 
77
297
  svg {
78
- stroke: var(--font-color);
298
+ stroke: var(--color-orange);
79
299
  }
80
300
  }
81
301
  }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { Meta, StoryObj } from "@storybook/react";
3
3
 
4
- import { Collapsible } from "..";
4
+ import { Collapsible, Page } from "..";
5
5
  import { ComponentVariantEnum, ComponentSizeEnum } from "../../../../types";
6
6
 
7
7
  const meta = {
@@ -10,9 +10,11 @@ const meta = {
10
10
  tags: ["autodocs"],
11
11
  decorators: [
12
12
  (Story) => (
13
- <div className="m-medium-30">
14
- <Story />
15
- </div>
13
+ <Page>
14
+ <Page.Content className="p-medium-30">
15
+ <Story />
16
+ </Page.Content>
17
+ </Page>
16
18
  ),
17
19
  ],
18
20
  } satisfies Meta<typeof Collapsible>;
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import styled from "styled-components";
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
4
 
5
- import { Dialog } from "..";
5
+ import { Badge, Dialog, Divider, DropdownMenu, Field, Page, Tooltip } from "..";
6
6
  import { ComponentSizeEnum } from "../../../../types";
7
7
 
8
8
  const Wrapper = styled.div``;
@@ -14,6 +14,43 @@ const meta = {
14
14
  export default meta;
15
15
 
16
16
  type Story = StoryObj<typeof meta>;
17
+
18
+ const DialogContent = () => {
19
+ return (
20
+ <React.Fragment>
21
+ <Dialog.Menu className="align-center ">
22
+ <Field.Root>
23
+ <Field variant="ghost" sizing="medium" placeholder="Search" />
24
+ </Field.Root>
25
+ <Tooltip content="Close">
26
+ <Dialog.Control variant="ghost">⏎</Dialog.Control>
27
+ </Tooltip>
28
+ </Dialog.Menu>
29
+ <Divider className="opacity-default-50" />
30
+ <DropdownMenu.Item className="flex justify-between align-center">
31
+ Cut
32
+ <Badge variant="border">
33
+ <span className="fs-small-50">⌘X</span>
34
+ </Badge>
35
+ </DropdownMenu.Item>
36
+
37
+ <DropdownMenu.Item className="flex justify-between align-center">
38
+ Copy
39
+ <Badge variant="border">
40
+ <span className="fs-small-50">⌘C</span>
41
+ </Badge>
42
+ </DropdownMenu.Item>
43
+
44
+ <DropdownMenu.Item className="flex justify-between align-center">
45
+ Paste
46
+ <Badge variant="border">
47
+ <span className="fs-small-50">⌘V</span>
48
+ </Badge>
49
+ </DropdownMenu.Item>
50
+ </React.Fragment>
51
+ );
52
+ };
53
+
17
54
  export const Default: Story = {
18
55
  args: {
19
56
  closeOnInteract: false,
@@ -31,43 +68,148 @@ export const Default: Story = {
31
68
  },
32
69
  },
33
70
  render: ({ ...args }) => (
34
- <Dialog.Root>
35
- <Dialog.Trigger>🐻‍❄️</Dialog.Trigger>
36
- <Dialog>
37
- 🐻🐻‍❄️🦊🐱🐶
38
- <Dialog.Menu>
39
- <Dialog.Control>🐻</Dialog.Control>
40
- </Dialog.Menu>
41
- </Dialog>
42
- <Dialog.Overlay />
43
- </Dialog.Root>
71
+ <Page>
72
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
73
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
74
+ <Dialog.Root>
75
+ <Dialog.Trigger>Open Command Menu</Dialog.Trigger>
76
+ <Dialog>
77
+ <DialogContent />
78
+ </Dialog>
79
+ <Dialog.Overlay />
80
+ </Dialog.Root>
81
+ </div>
82
+ </Page.Content>
83
+ </Page>
84
+ ),
85
+ };
86
+
87
+ export const Small: Story = {
88
+ args: {
89
+ closeOnInteract: false,
90
+ open: false,
91
+ raw: false,
92
+ },
93
+ argTypes: {
94
+ sizing: {
95
+ options: [
96
+ ComponentSizeEnum.Small,
97
+ ComponentSizeEnum.Medium,
98
+ ComponentSizeEnum.Large,
99
+ ],
100
+ control: { type: "radio" },
101
+ },
102
+ },
103
+ render: ({ ...args }) => (
104
+ <Page>
105
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
106
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
107
+ <Dialog.Root>
108
+ <Dialog.Trigger>Open Command Menu</Dialog.Trigger>
109
+ <Dialog sizing="small" open>
110
+ <DialogContent />
111
+ </Dialog>
112
+ <Dialog.Overlay />
113
+ </Dialog.Root>
114
+ </div>
115
+ </Page.Content>
116
+ </Page>
117
+ ),
118
+ };
119
+ export const Medium: Story = {
120
+ args: {
121
+ closeOnInteract: false,
122
+ open: false,
123
+ raw: false,
124
+ },
125
+ argTypes: {
126
+ sizing: {
127
+ options: [
128
+ ComponentSizeEnum.Small,
129
+ ComponentSizeEnum.Medium,
130
+ ComponentSizeEnum.Large,
131
+ ],
132
+ control: { type: "radio" },
133
+ },
134
+ },
135
+ render: ({ ...args }) => (
136
+ <Page>
137
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
138
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
139
+ <Dialog.Root>
140
+ <Dialog.Trigger>Open Command Menu</Dialog.Trigger>
141
+ <Dialog sizing="medium" open>
142
+ <DialogContent />
143
+ </Dialog>
144
+ <Dialog.Overlay />
145
+ </Dialog.Root>
146
+ </div>
147
+ </Page.Content>
148
+ </Page>
149
+ ),
150
+ };
151
+ export const Large: Story = {
152
+ args: {
153
+ closeOnInteract: false,
154
+ open: false,
155
+ raw: false,
156
+ },
157
+ argTypes: {
158
+ sizing: {
159
+ options: [
160
+ ComponentSizeEnum.Small,
161
+ ComponentSizeEnum.Medium,
162
+ ComponentSizeEnum.Large,
163
+ ],
164
+ control: { type: "radio" },
165
+ },
166
+ },
167
+ render: ({ ...args }) => (
168
+ <Page>
169
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
170
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
171
+ <Dialog.Root>
172
+ <Dialog.Trigger>Open Command Menu</Dialog.Trigger>
173
+ <Dialog sizing="large" open>
174
+ <DialogContent />
175
+ </Dialog>
176
+ <Dialog.Overlay />
177
+ </Dialog.Root>
178
+ </div>
179
+ </Page.Content>
180
+ </Page>
44
181
  ),
45
182
  };
46
183
  export const DefaultOpen = {
47
184
  render: ({ ...args }) => (
48
- <Dialog.Root>
49
- <Dialog.Trigger>🐻‍❄️</Dialog.Trigger>
50
-
51
- <Dialog open>
52
- 🐻🐻‍❄️🦊🐱🐶
53
- <Dialog.Menu>
54
- <Dialog.Control>🐻</Dialog.Control>
55
- </Dialog.Menu>
56
- </Dialog>
57
- <Dialog.Overlay />
58
- </Dialog.Root>
185
+ <Page>
186
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
187
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
188
+ <Dialog.Root>
189
+ <Dialog.Trigger>Open Command Menu</Dialog.Trigger>
190
+ <Dialog open>
191
+ <DialogContent />
192
+ </Dialog>
193
+ <Dialog.Overlay closeOnInteract />
194
+ </Dialog.Root>
195
+ </div>
196
+ </Page.Content>
197
+ </Page>
59
198
  ),
60
199
  };
61
200
  export const NoOverlay = {
62
201
  render: ({ ...args }) => (
63
- <Dialog.Root>
64
- <Dialog.Trigger>🐻‍❄️</Dialog.Trigger>
65
- <Dialog open>
66
- 🐻🐻‍❄️🦊🐱🐶
67
- <Dialog.Menu>
68
- <Dialog.Control>🐻</Dialog.Control>
69
- </Dialog.Menu>
70
- </Dialog>
71
- </Dialog.Root>
202
+ <Page>
203
+ <Page.Content className="flex flex-column g-medium-30 align-center justify-center">
204
+ <div className="flex align-center justify-center g-medium-30 flex-wrap">
205
+ <Dialog.Root>
206
+ <Dialog.Trigger>🐻‍❄️</Dialog.Trigger>
207
+ <Dialog open>
208
+ <DialogContent />
209
+ </Dialog>
210
+ </Dialog.Root>
211
+ </div>
212
+ </Page.Content>
213
+ </Page>
72
214
  ),
73
215
  };
@@ -3,12 +3,19 @@ import styled, { css } from "styled-components";
3
3
  const DialogDefaultStyles = css`
4
4
  position: fixed;
5
5
  top: 15dvh;
6
- padding: var(--measurement-medium-60);
6
+ bottom: auto;
7
+ left: auto;
8
+ right: auto;
9
+
10
+ padding: var(--measurement-medium-30);
7
11
  width: 100%;
8
12
 
9
- border: var(--measurement-small-10) solid var(--font-color-alpha-10);
10
- background-color: var(--body-color);
11
13
  border-radius: var(--measurement-medium-30);
14
+ background: var(--body-color);
15
+
16
+ border: var(--measurement-small-10) solid var(--contrast-color);
17
+ box-shadow: 0 var(--measurement-medium-40) var(--measurement-medium-60)
18
+ calc(var(--measurement-medium-60) * -1) rgba(0, 0, 0, 0.3);
12
19
 
13
20
  transition: all ease-in-out 0.2s;
14
21
  z-index: var(--depth-default-100);
@@ -23,7 +30,7 @@ const DialogSizeStyles = css`
23
30
  max-height: var(--max-height);
24
31
  }
25
32
  &[data-size="medium"] {
26
- max-width: calc(var(--measurement-large-90) * 2.66);
33
+ max-width: calc(var(--measurement-large-90) * 2);
27
34
  max-height: var(--max-height);
28
35
  }
29
36
 
@@ -46,14 +53,14 @@ export const Menu = styled.menu<any>`
46
53
  }
47
54
  `;
48
55
  export const DialogWrapper = styled.dialog<any>`
49
- @keyframes slide-in {
56
+ @keyframes scale-in {
50
57
  0% {
51
58
  opacity: 0;
52
- transform: translateY(var(--measurement-medium-30));
59
+ transform: scale(0.95);
53
60
  }
54
61
  100% {
55
62
  opacity: 1;
56
- transform: translateY(0);
63
+ transform: Scale(1);
57
64
  }
58
65
  }
59
66
 
@@ -66,7 +73,7 @@ export const DialogWrapper = styled.dialog<any>`
66
73
  ${DialogSizeStyles}
67
74
 
68
75
  animation-duration: 0.2s;
69
- animation-name: slide-in;
76
+ animation-name: scale-in;
70
77
  animation-fill-mode: backwards;
71
78
  }
72
79
  `;