@atom-learning/components 2.20.0 → 2.22.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.
@@ -1,2 +1,269 @@
1
1
  import React from 'react';
2
- export declare const SidedrawerContent: React.FC;
2
+ declare const StyledContent: import("@stitches/react/types/styled-component").StyledComponent<React.ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogContentProps & React.RefAttributes<HTMLDivElement>>, {}, {
3
+ sm: string;
4
+ md: string;
5
+ lg: string;
6
+ xl: string;
7
+ reducedMotion: string;
8
+ allowMotion: string;
9
+ hover: string;
10
+ }, import("@stitches/react/types/css-util").CSS<{
11
+ sm: string;
12
+ md: string;
13
+ lg: string;
14
+ xl: string;
15
+ reducedMotion: string;
16
+ allowMotion: string;
17
+ hover: string;
18
+ }, {
19
+ colors: {
20
+ textForeground: any;
21
+ textSubtle: any;
22
+ textPlaceholder: any;
23
+ background: any;
24
+ backgroundAccent: any;
25
+ tonal50: any;
26
+ tonal100: any;
27
+ tonal200: any;
28
+ tonal300: any;
29
+ tonal400: any;
30
+ tonal500: any;
31
+ tonal600: any;
32
+ alpha100: any;
33
+ alpha150: any;
34
+ alpha200: any;
35
+ alpha250: any;
36
+ alpha600: any;
37
+ primaryLight: any;
38
+ primary: any;
39
+ primaryMid: any;
40
+ primaryDark: any;
41
+ secondary: any;
42
+ brandRed: any;
43
+ brandRedAccent: any;
44
+ brandGreen: any;
45
+ brandGreenAccent: any;
46
+ brandPurple: any;
47
+ brandPurpleAccent: any;
48
+ brandYellow: any;
49
+ brandYellowAccent: any;
50
+ successLight: any;
51
+ success: any;
52
+ successMid: any;
53
+ successDark: any;
54
+ dangerLight: any;
55
+ danger: any;
56
+ dangerMid: any;
57
+ dangerDark: any;
58
+ warningLight: any;
59
+ warning: any;
60
+ warningMid: any;
61
+ warningDark: any;
62
+ warningText: any;
63
+ subjectEnglish: any;
64
+ subjectMaths: any;
65
+ subjectScience: any;
66
+ subjectVerbalReasoning: any;
67
+ subjectNonVerbalReasoning: any;
68
+ subjectCreativeWriting: any;
69
+ subjectExamSkills: any;
70
+ };
71
+ space: {
72
+ "0": any;
73
+ "1": any;
74
+ "2": any;
75
+ "3": any;
76
+ "4": any;
77
+ "5": any;
78
+ "6": any;
79
+ "7": any;
80
+ "8": any;
81
+ "9": any;
82
+ };
83
+ fontSizes: {
84
+ xs: any;
85
+ sm: any;
86
+ md: any;
87
+ lg: any;
88
+ xl: any;
89
+ "2xl": any;
90
+ "3xl": any;
91
+ "4xl": any;
92
+ };
93
+ fonts: {
94
+ sans: any;
95
+ mono: any;
96
+ display: any;
97
+ body: any;
98
+ };
99
+ sizes: {
100
+ "0": any;
101
+ "1": any;
102
+ "2": any;
103
+ "3": any;
104
+ "4": any;
105
+ "5": any;
106
+ "6": any;
107
+ "7": any;
108
+ "8": any;
109
+ };
110
+ radii: {
111
+ "0": any;
112
+ "1": any;
113
+ "2": any;
114
+ "3": any;
115
+ round: any;
116
+ };
117
+ shadows: {
118
+ "0": any;
119
+ "1": any;
120
+ "2": any;
121
+ "3": any;
122
+ };
123
+ }, import("@stitches/react/types/config").DefaultThemeMap, {
124
+ bg: (value: {
125
+ readonly [$$PropertyValue]: "background";
126
+ }) => {
127
+ background: {
128
+ readonly [$$PropertyValue]: "background";
129
+ };
130
+ };
131
+ inset: (value: string | number | {
132
+ readonly [$$ScaleValue]: "space";
133
+ }) => {
134
+ top: string | number | {
135
+ readonly [$$ScaleValue]: "space";
136
+ };
137
+ right: string | number | {
138
+ readonly [$$ScaleValue]: "space";
139
+ };
140
+ bottom: string | number | {
141
+ readonly [$$ScaleValue]: "space";
142
+ };
143
+ left: string | number | {
144
+ readonly [$$ScaleValue]: "space";
145
+ };
146
+ };
147
+ size: (value: string | number | {
148
+ readonly [$$ScaleValue]: "size";
149
+ }) => {
150
+ height: string | number | {
151
+ readonly [$$ScaleValue]: "size";
152
+ };
153
+ width: string | number | {
154
+ readonly [$$ScaleValue]: "size";
155
+ };
156
+ };
157
+ p: (value: string | number | {
158
+ readonly [$$ScaleValue]: "space";
159
+ }) => {
160
+ padding: string | number | {
161
+ readonly [$$ScaleValue]: "space";
162
+ };
163
+ };
164
+ pt: (value: string | number | {
165
+ readonly [$$ScaleValue]: "space";
166
+ }) => {
167
+ paddingTop: string | number | {
168
+ readonly [$$ScaleValue]: "space";
169
+ };
170
+ };
171
+ pr: (value: string | number | {
172
+ readonly [$$ScaleValue]: "space";
173
+ }) => {
174
+ paddingRight: string | number | {
175
+ readonly [$$ScaleValue]: "space";
176
+ };
177
+ };
178
+ pb: (value: string | number | {
179
+ readonly [$$ScaleValue]: "space";
180
+ }) => {
181
+ paddingBottom: string | number | {
182
+ readonly [$$ScaleValue]: "space";
183
+ };
184
+ };
185
+ pl: (value: string | number | {
186
+ readonly [$$ScaleValue]: "space";
187
+ }) => {
188
+ paddingLeft: string | number | {
189
+ readonly [$$ScaleValue]: "space";
190
+ };
191
+ };
192
+ px: (value: string | number | {
193
+ readonly [$$ScaleValue]: "space";
194
+ }) => {
195
+ paddingLeft: string | number | {
196
+ readonly [$$ScaleValue]: "space";
197
+ };
198
+ paddingRight: string | number | {
199
+ readonly [$$ScaleValue]: "space";
200
+ };
201
+ };
202
+ py: (value: string | number | {
203
+ readonly [$$ScaleValue]: "space";
204
+ }) => {
205
+ paddingTop: string | number | {
206
+ readonly [$$ScaleValue]: "space";
207
+ };
208
+ paddingBottom: string | number | {
209
+ readonly [$$ScaleValue]: "space";
210
+ };
211
+ };
212
+ m: (value: string | number | {
213
+ readonly [$$ScaleValue]: "space";
214
+ }) => {
215
+ margin: string | number | {
216
+ readonly [$$ScaleValue]: "space";
217
+ };
218
+ };
219
+ mt: (value: string | number | {
220
+ readonly [$$ScaleValue]: "space";
221
+ }) => {
222
+ marginTop: string | number | {
223
+ readonly [$$ScaleValue]: "space";
224
+ };
225
+ };
226
+ mr: (value: string | number | {
227
+ readonly [$$ScaleValue]: "space";
228
+ }) => {
229
+ marginRight: string | number | {
230
+ readonly [$$ScaleValue]: "space";
231
+ };
232
+ };
233
+ mb: (value: string | number | {
234
+ readonly [$$ScaleValue]: "space";
235
+ }) => {
236
+ marginBottom: string | number | {
237
+ readonly [$$ScaleValue]: "space";
238
+ };
239
+ };
240
+ ml: (value: string | number | {
241
+ readonly [$$ScaleValue]: "space";
242
+ }) => {
243
+ marginLeft: string | number | {
244
+ readonly [$$ScaleValue]: "space";
245
+ };
246
+ };
247
+ mx: (value: string | number | {
248
+ readonly [$$ScaleValue]: "space";
249
+ }) => {
250
+ marginLeft: string | number | {
251
+ readonly [$$ScaleValue]: "space";
252
+ };
253
+ marginRight: string | number | {
254
+ readonly [$$ScaleValue]: "space";
255
+ };
256
+ };
257
+ my: (value: string | number | {
258
+ readonly [$$ScaleValue]: "space";
259
+ }) => {
260
+ marginTop: string | number | {
261
+ readonly [$$ScaleValue]: "space";
262
+ };
263
+ marginBottom: string | number | {
264
+ readonly [$$ScaleValue]: "space";
265
+ };
266
+ };
267
+ }>>;
268
+ export declare const SidedrawerContent: React.FC<React.ComponentProps<typeof StyledContent>>;
269
+ export {};
@@ -1 +1 @@
1
- import{Content as o,Portal as a}from"@radix-ui/react-dialog";import e from"react";import{MAX_Z_INDEX as i}from"../../constants/zIndices.js";import{styled as r}from"../../stitches.js";import{SidedrawerOverlay as n}from"./SidedrawerOverlay.js";import{slideInLeft as d,slideOutLeft as l}from"../../utilities/style/keyframe-animations.js";const m=r(o,{bg:"white",boxShadow:"$2",display:"flex",flexDirection:"column",position:"fixed",top:0,left:0,height:"100vh",maxWidth:"304px",width:"100%",zIndex:i,"@allowMotion":{'&[data-state="open"]':{animation:`${d} 250ms ease-out`},'&[data-state="closed"]':{animation:`${l} 250ms ease-out`}}}),s=({children:t})=>e.createElement(a,null,e.createElement(n,{"data-testid":"sidedrawer_overlay"}),e.createElement(m,{role:"navigation"},t));export{s as SidedrawerContent};
1
+ import{Content as a,Portal as i}from"@radix-ui/react-dialog";import e from"react";import{MAX_Z_INDEX as r}from"../../constants/zIndices.js";import{styled as n}from"../../stitches.js";import{SidedrawerOverlay as d}from"./SidedrawerOverlay.js";import{slideInLeft as l,slideOutLeft as m}from"../../utilities/style/keyframe-animations.js";const s=n(a,{bg:"white",boxShadow:"$2",display:"flex",flexDirection:"column",position:"fixed",top:0,left:0,height:"100%",maxWidth:"304px",width:"100%",zIndex:r,"@allowMotion":{'&[data-state="open"]':{animation:`${l} 250ms ease-out`},'&[data-state="closed"]':{animation:`${m} 250ms ease-out`}}}),f=({children:t,...o})=>e.createElement(i,null,e.createElement(d,{"data-testid":"sidedrawer_overlay"}),e.createElement(s,{role:"navigation",...o},t));export{f as SidedrawerContent};
@@ -1,2 +1,269 @@
1
1
  import React from 'react';
2
- export declare const SidedrawerHeader: React.FC;
2
+ declare const StyledHeader: import("@stitches/react/types/styled-component").StyledComponent<"header", {}, {
3
+ sm: string;
4
+ md: string;
5
+ lg: string;
6
+ xl: string;
7
+ reducedMotion: string;
8
+ allowMotion: string;
9
+ hover: string;
10
+ }, import("@stitches/react/types/css-util").CSS<{
11
+ sm: string;
12
+ md: string;
13
+ lg: string;
14
+ xl: string;
15
+ reducedMotion: string;
16
+ allowMotion: string;
17
+ hover: string;
18
+ }, {
19
+ colors: {
20
+ textForeground: any;
21
+ textSubtle: any;
22
+ textPlaceholder: any;
23
+ background: any;
24
+ backgroundAccent: any;
25
+ tonal50: any;
26
+ tonal100: any;
27
+ tonal200: any;
28
+ tonal300: any;
29
+ tonal400: any;
30
+ tonal500: any;
31
+ tonal600: any;
32
+ alpha100: any;
33
+ alpha150: any;
34
+ alpha200: any;
35
+ alpha250: any;
36
+ alpha600: any;
37
+ primaryLight: any;
38
+ primary: any;
39
+ primaryMid: any;
40
+ primaryDark: any;
41
+ secondary: any;
42
+ brandRed: any;
43
+ brandRedAccent: any;
44
+ brandGreen: any;
45
+ brandGreenAccent: any;
46
+ brandPurple: any;
47
+ brandPurpleAccent: any;
48
+ brandYellow: any;
49
+ brandYellowAccent: any;
50
+ successLight: any;
51
+ success: any;
52
+ successMid: any;
53
+ successDark: any;
54
+ dangerLight: any;
55
+ danger: any;
56
+ dangerMid: any;
57
+ dangerDark: any;
58
+ warningLight: any;
59
+ warning: any;
60
+ warningMid: any;
61
+ warningDark: any;
62
+ warningText: any;
63
+ subjectEnglish: any;
64
+ subjectMaths: any;
65
+ subjectScience: any;
66
+ subjectVerbalReasoning: any;
67
+ subjectNonVerbalReasoning: any;
68
+ subjectCreativeWriting: any;
69
+ subjectExamSkills: any;
70
+ };
71
+ space: {
72
+ "0": any;
73
+ "1": any;
74
+ "2": any;
75
+ "3": any;
76
+ "4": any;
77
+ "5": any;
78
+ "6": any;
79
+ "7": any;
80
+ "8": any;
81
+ "9": any;
82
+ };
83
+ fontSizes: {
84
+ xs: any;
85
+ sm: any;
86
+ md: any;
87
+ lg: any;
88
+ xl: any;
89
+ "2xl": any;
90
+ "3xl": any;
91
+ "4xl": any;
92
+ };
93
+ fonts: {
94
+ sans: any;
95
+ mono: any;
96
+ display: any;
97
+ body: any;
98
+ };
99
+ sizes: {
100
+ "0": any;
101
+ "1": any;
102
+ "2": any;
103
+ "3": any;
104
+ "4": any;
105
+ "5": any;
106
+ "6": any;
107
+ "7": any;
108
+ "8": any;
109
+ };
110
+ radii: {
111
+ "0": any;
112
+ "1": any;
113
+ "2": any;
114
+ "3": any;
115
+ round: any;
116
+ };
117
+ shadows: {
118
+ "0": any;
119
+ "1": any;
120
+ "2": any;
121
+ "3": any;
122
+ };
123
+ }, import("@stitches/react/types/config").DefaultThemeMap, {
124
+ bg: (value: {
125
+ readonly [$$PropertyValue]: "background";
126
+ }) => {
127
+ background: {
128
+ readonly [$$PropertyValue]: "background";
129
+ };
130
+ };
131
+ inset: (value: string | number | {
132
+ readonly [$$ScaleValue]: "space";
133
+ }) => {
134
+ top: string | number | {
135
+ readonly [$$ScaleValue]: "space";
136
+ };
137
+ right: string | number | {
138
+ readonly [$$ScaleValue]: "space";
139
+ };
140
+ bottom: string | number | {
141
+ readonly [$$ScaleValue]: "space";
142
+ };
143
+ left: string | number | {
144
+ readonly [$$ScaleValue]: "space";
145
+ };
146
+ };
147
+ size: (value: string | number | {
148
+ readonly [$$ScaleValue]: "size";
149
+ }) => {
150
+ height: string | number | {
151
+ readonly [$$ScaleValue]: "size";
152
+ };
153
+ width: string | number | {
154
+ readonly [$$ScaleValue]: "size";
155
+ };
156
+ };
157
+ p: (value: string | number | {
158
+ readonly [$$ScaleValue]: "space";
159
+ }) => {
160
+ padding: string | number | {
161
+ readonly [$$ScaleValue]: "space";
162
+ };
163
+ };
164
+ pt: (value: string | number | {
165
+ readonly [$$ScaleValue]: "space";
166
+ }) => {
167
+ paddingTop: string | number | {
168
+ readonly [$$ScaleValue]: "space";
169
+ };
170
+ };
171
+ pr: (value: string | number | {
172
+ readonly [$$ScaleValue]: "space";
173
+ }) => {
174
+ paddingRight: string | number | {
175
+ readonly [$$ScaleValue]: "space";
176
+ };
177
+ };
178
+ pb: (value: string | number | {
179
+ readonly [$$ScaleValue]: "space";
180
+ }) => {
181
+ paddingBottom: string | number | {
182
+ readonly [$$ScaleValue]: "space";
183
+ };
184
+ };
185
+ pl: (value: string | number | {
186
+ readonly [$$ScaleValue]: "space";
187
+ }) => {
188
+ paddingLeft: string | number | {
189
+ readonly [$$ScaleValue]: "space";
190
+ };
191
+ };
192
+ px: (value: string | number | {
193
+ readonly [$$ScaleValue]: "space";
194
+ }) => {
195
+ paddingLeft: string | number | {
196
+ readonly [$$ScaleValue]: "space";
197
+ };
198
+ paddingRight: string | number | {
199
+ readonly [$$ScaleValue]: "space";
200
+ };
201
+ };
202
+ py: (value: string | number | {
203
+ readonly [$$ScaleValue]: "space";
204
+ }) => {
205
+ paddingTop: string | number | {
206
+ readonly [$$ScaleValue]: "space";
207
+ };
208
+ paddingBottom: string | number | {
209
+ readonly [$$ScaleValue]: "space";
210
+ };
211
+ };
212
+ m: (value: string | number | {
213
+ readonly [$$ScaleValue]: "space";
214
+ }) => {
215
+ margin: string | number | {
216
+ readonly [$$ScaleValue]: "space";
217
+ };
218
+ };
219
+ mt: (value: string | number | {
220
+ readonly [$$ScaleValue]: "space";
221
+ }) => {
222
+ marginTop: string | number | {
223
+ readonly [$$ScaleValue]: "space";
224
+ };
225
+ };
226
+ mr: (value: string | number | {
227
+ readonly [$$ScaleValue]: "space";
228
+ }) => {
229
+ marginRight: string | number | {
230
+ readonly [$$ScaleValue]: "space";
231
+ };
232
+ };
233
+ mb: (value: string | number | {
234
+ readonly [$$ScaleValue]: "space";
235
+ }) => {
236
+ marginBottom: string | number | {
237
+ readonly [$$ScaleValue]: "space";
238
+ };
239
+ };
240
+ ml: (value: string | number | {
241
+ readonly [$$ScaleValue]: "space";
242
+ }) => {
243
+ marginLeft: string | number | {
244
+ readonly [$$ScaleValue]: "space";
245
+ };
246
+ };
247
+ mx: (value: string | number | {
248
+ readonly [$$ScaleValue]: "space";
249
+ }) => {
250
+ marginLeft: string | number | {
251
+ readonly [$$ScaleValue]: "space";
252
+ };
253
+ marginRight: string | number | {
254
+ readonly [$$ScaleValue]: "space";
255
+ };
256
+ };
257
+ my: (value: string | number | {
258
+ readonly [$$ScaleValue]: "space";
259
+ }) => {
260
+ marginTop: string | number | {
261
+ readonly [$$ScaleValue]: "space";
262
+ };
263
+ marginBottom: string | number | {
264
+ readonly [$$ScaleValue]: "space";
265
+ };
266
+ };
267
+ }>>;
268
+ export declare const SidedrawerHeader: React.FC<React.ComponentProps<typeof StyledHeader>>;
269
+ export {};
@@ -1 +1 @@
1
- import e from"react";import{styled as t}from"../../stitches.js";import{TopBar as o}from"../top-bar/TopBar.js";const d=t("header",{"> div":{width:"100%"}}),m=({children:r})=>e.createElement(d,null,e.createElement(o,{css:{mx:"$3"}},r));export{m as SidedrawerHeader};
1
+ import e from"react";import{styled as o}from"../../stitches.js";import{TopBar as d}from"../top-bar/TopBar.js";const m=o("header",{"> div":{width:"100%"}}),a=({children:r,...t})=>e.createElement(m,{...t},e.createElement(d,{css:{mx:"$3"}},r));export{a as SidedrawerHeader};
@@ -1 +1 @@
1
- import*as n from"react";import{styled as l}from"../../stitches.js";import{capsize as e}from"../../utilities/style/capsize.js";const f="md",t={size:{xs:{fontSize:"$xs",lineHeight:1.6,...e(.4364)},sm:{fontSize:"$sm",lineHeight:1.53,...e(.4056)},md:{fontSize:"$md",lineHeight:1.5,...e(.3864)},lg:{fontSize:"$lg",lineHeight:1.52,...e(.3983)},xl:{fontSize:"$xl",lineHeight:1.42,...e(.3506)}},noCapsize:{true:{"&::before, &::after":{display:"none"}}}},m=({size:i,noCapsize:o})=>({...t.size[i],...t.noCapsize[`${o}`]}),a=l("p",{color:"$tonal600",fontFamily:"$body",fontWeight:400,margin:0,"& > &":{"&:before, &:after":{display:"none"}},variants:t}),s=n.forwardRef(({size:i=f,...o},r)=>n.createElement(a,{size:i,...o,ref:r}));s.displayName="Text";export{a as StyledText,s as Text,m as getTextVariant,t as textVariants};
1
+ import*as o from"react";import{styled as f}from"../../stitches.js";import{capsize as e}from"../../utilities/style/capsize.js";const i={size:{xs:{fontSize:"$xs",lineHeight:1.6,...e(.4364)},sm:{fontSize:"$sm",lineHeight:1.53,...e(.4056)},md:{fontSize:"$md",lineHeight:1.5,...e(.3864)},lg:{fontSize:"$lg",lineHeight:1.52,...e(.3983)},xl:{fontSize:"$xl",lineHeight:1.42,...e(.3506)}},noCapsize:{true:{"&::before, &::after":{display:"none"}}}},l=({size:t,noCapsize:n})=>({...i.size[t],...i.noCapsize[`${n}`]}),a=f("p",{fontFamily:"$body",fontWeight:400,margin:0,"& > &":{"&:before, &:after":{display:"none"}},variants:i}),s=o.forwardRef(({size:t="md",...n},r)=>o.createElement(a,{size:t,...n,ref:r}));s.displayName="Text";export{a as StyledText,s as Text,l as getTextVariant,i as textVariants};
@@ -1 +1 @@
1
- import{Error as g,Close as h}from"@atom-learning/icons";import*as t from"react";import{toast as $}from"react-hot-toast";import{keyframes as i,styled as a}from"../../stitches.js";import{ActionIcon as v}from"../action-icon/ActionIcon.js";import{Icon as s}from"../icon/Icon.js";import{Loader as y}from"../loader/Loader.js";import{Text as w}from"../text/Text.js";const n=400,x=i({"0%":{transform:"translate3d(0,-100%,0)",opacity:0},"100%":{transform:"translate3d(0,0,0)",opacity:1}}),E=i({"0%":{transform:"translate3d(0,0,0)",opacity:1},"100%":{transform:"translate3d(0,-100%,0)",opacity:0}}),k=a("div",{position:"absolute",width:"100%",variants:{visible:{true:{"@allowMotion":{animation:`${x} 250ms cubic-bezier(0.22, 1, 0.36, 1)`}},false:{opacity:0,"@allowMotion":{animation:`${E} 250ms cubic-bezier(0.22, 1, 0.36, 1)`}}}}}),I=a("div",{pointerEvents:"auto",alignItems:"center",borderRadius:"$0",boxShadow:"$1",boxSizing:"border-box",color:"white",display:"flex",minHeight:"$5",pl:"$4",position:"relative",pr:"$6",py:"$4",transition:"background-color 50ms ease-out",width:"100%","@sm":{width:n},"@allowMotion":{transition:"background-color 50ms ease-out, transform 150ms ease-out"},variants:{status:{blank:{bg:"$primary"},error:{bg:"$danger"},loading:{bg:"$primary"},success:{bg:"$success"}}}}),T=t.memo(({ariaLive:l,height:m,id:e,message:c,role:p,type:o="blank",visible:d,calculateOffset:u,updateHeight:b})=>{const f=u(e,{reverseOrder:!0,margin:8});return t.createElement(k,{visible:d},t.createElement(I,{ref:r=>{r&&m===void 0&&b(e,r.getBoundingClientRect().height)},status:o,role:p,"aria-live":l,style:{transform:`translateY(${f}px)`}},o==="error"&&t.createElement(s,{size:"sm",css:{mr:"$3",flex:"0 0 auto"},is:g}),t.createElement(w,{css:{color:"inherit"}},c),o==="loading"?t.createElement(y,{css:{flex:"0 0 auto",ml:"auto"}}):t.createElement(v,{css:{position:"absolute",top:"$2",right:"$2",color:"white","&:hover,&:focus":{color:"white",opacity:.5}},label:"Close alert",onClick:()=>$.dismiss(e)},t.createElement(s,{is:h}))))});export{n as TOAST_WIDTH,T as Toast};
1
+ import{Error as g,Close as $}from"@atom-learning/icons";import*as t from"react";import{toast as h}from"react-hot-toast";import{keyframes as a,styled as i}from"../../stitches.js";import{ActionIcon as v}from"../action-icon/ActionIcon.js";import{Icon as s}from"../icon/Icon.js";import{Loader as y}from"../loader/Loader.js";import{Text as w}from"../text/Text.js";const n=400,x=a({"0%":{transform:"translate3d(0,-100%,0)",opacity:0},"100%":{transform:"translate3d(0,0,0)",opacity:1}}),E=a({"0%":{transform:"translate3d(0,0,0)",opacity:1},"100%":{transform:"translate3d(0,-100%,0)",opacity:0}}),k=i("div",{position:"absolute",width:"100%",variants:{visible:{true:{"@allowMotion":{animation:`${x} 250ms cubic-bezier(0.22, 1, 0.36, 1)`}},false:{opacity:0,"@allowMotion":{animation:`${E} 250ms cubic-bezier(0.22, 1, 0.36, 1)`}}}}}),I=i("div",{pointerEvents:"auto",alignItems:"center",borderRadius:"$0",boxShadow:"$1",boxSizing:"border-box",color:"white",display:"flex",minHeight:"$5",pl:"$4",position:"relative",pr:"$6",py:"$4",transition:"background-color 50ms ease-out",width:"100%","@sm":{width:n},"@allowMotion":{transition:"background-color 50ms ease-out, transform 150ms ease-out"},variants:{status:{blank:{bg:"$primary"},error:{bg:"$danger"},loading:{bg:"$primary"},success:{bg:"$success"}}}}),T=t.memo(({ariaLive:l,height:m,id:e,message:c,role:p,type:o="blank",visible:d,calculateOffset:u,updateHeight:b})=>{const f=u(e,{reverseOrder:!0,margin:8});return t.createElement(k,{visible:d},t.createElement(I,{ref:r=>{r&&m===void 0&&b(e,r.getBoundingClientRect().height)},status:o,role:p,"aria-live":l,style:{transform:`translateY(${f}px)`}},o==="error"&&t.createElement(s,{size:"sm",css:{mr:"$3",flex:"0 0 auto"},is:g}),t.createElement(w,null,c),o==="loading"?t.createElement(y,{css:{flex:"0 0 auto",ml:"auto"}}):t.createElement(v,{css:{position:"absolute",top:"$2",right:"$2",color:"white","&:hover,&:focus":{color:"white",opacity:.5}},label:"Close alert",onClick:()=>h.dismiss(e)},t.createElement(s,{is:$}))))});export{n as TOAST_WIDTH,T as Toast};