slice-machine-ui 1.17.0 → 1.17.1-dev-next-release.1
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.
- package/components/App/index.tsx +1 -1
- package/components/ReviewModal/{index.tsx → ReviewForm.tsx} +36 -96
- package/components/ReviewModal/ReviewFormSelect.tsx +35 -0
- package/components/ReviewModal/ReviewModal.tsx +70 -0
- package/components/ReviewModal/index.ts +1 -0
- package/lib/builders/CustomTypeBuilder/SliceZone/index.tsx +3 -3
- package/out/404.html +1 -1
- package/out/_next/static/{jHU7kBgrJsOz0C26j7MEu → MSX-wke8KllW7Qt4pNFB-}/_buildManifest.js +1 -1
- package/out/_next/static/chunks/{590-b89154069f96f832.js → 590-ab38d53732035bf0.js} +1 -1
- package/out/_next/static/chunks/{933-036e3a075aa0224c.js → 933-97c3cebf5fb84a17.js} +1 -1
- package/out/_next/static/chunks/pages/{_app-9b9687856bd650bd.js → _app-81ecd630066c27f8.js} +2 -2
- package/out/changelog.html +1 -1
- package/out/changes.html +1 -1
- package/out/custom-types/[customTypeId].html +1 -1
- package/out/custom-types.html +1 -1
- package/out/index.html +1 -1
- package/out/labs.html +1 -1
- package/out/page-types/[pageTypeId].html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation]/screenshot.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
- package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
- package/out/slices.html +1 -1
- package/package.json +4 -4
- package/src/modules/useSliceMachineActions.ts +13 -3
- package/src/modules/userContext/index.ts +21 -6
- package/src/modules/userContext/types.ts +14 -1
- package/test/src/modules/userContext.test.ts +26 -10
- /package/out/_next/static/{jHU7kBgrJsOz0C26j7MEu → MSX-wke8KllW7Qt4pNFB-}/_ssgManifest.js +0 -0
package/components/App/index.tsx
CHANGED
|
@@ -4,7 +4,7 @@ import { BaseStyles } from "theme-ui";
|
|
|
4
4
|
|
|
5
5
|
import { AppLayout, AppLayoutContent } from "@components/AppLayout";
|
|
6
6
|
import LoginModal from "@components/LoginModal";
|
|
7
|
-
import ReviewModal from "@components/ReviewModal";
|
|
7
|
+
import { ReviewModal } from "@components/ReviewModal";
|
|
8
8
|
import { MissingLibraries } from "@components/MissingLibraries";
|
|
9
9
|
import useServerState from "@src/hooks/useServerState";
|
|
10
10
|
import { SliceMachineStoreType } from "@src/redux/type";
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { Field, FieldProps, Form, Formik } from "formik";
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { Field, Form, Formik } from "formik";
|
|
4
3
|
import {
|
|
5
4
|
Box,
|
|
6
5
|
Button,
|
|
@@ -11,107 +10,50 @@ import {
|
|
|
11
10
|
Text,
|
|
12
11
|
Textarea,
|
|
13
12
|
} from "theme-ui";
|
|
13
|
+
import Modal from "react-modal";
|
|
14
14
|
import { useSelector } from "react-redux";
|
|
15
|
+
|
|
16
|
+
import SliceMachineModal from "@components/SliceMachineModal";
|
|
15
17
|
import { SliceMachineStoreType } from "@src/redux/type";
|
|
16
18
|
import { isModalOpen } from "@src/modules/modal";
|
|
17
19
|
import { isLoading } from "@src/modules/loading";
|
|
18
20
|
import { LoadingKeysEnum } from "@src/modules/loading/types";
|
|
19
|
-
import {
|
|
20
|
-
getLastSyncChange,
|
|
21
|
-
userHasSendAReview,
|
|
22
|
-
} from "@src/modules/userContext";
|
|
23
21
|
import useSliceMachineActions from "@src/modules/useSliceMachineActions";
|
|
24
22
|
import { ModalKeysEnum } from "@src/modules/modal/types";
|
|
25
23
|
import { telemetry } from "@src/apiClient";
|
|
26
|
-
import {
|
|
27
|
-
import { getLibraries } from "@src/modules/slices";
|
|
28
|
-
import { hasLocal } from "@lib/models/common/ModelData";
|
|
24
|
+
import { UserReviewType } from "@src/modules/userContext/types";
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
import { ReviewFormSelect } from "./ReviewFormSelect";
|
|
31
27
|
|
|
32
|
-
|
|
28
|
+
Modal.setAppElement("#__next");
|
|
33
29
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<Box sx={{ mb: 3, display: "flex", justifyContent: "space-between" }}>
|
|
37
|
-
{ratingSelectable.map((rating, index) => (
|
|
38
|
-
<Button
|
|
39
|
-
variant="secondary"
|
|
40
|
-
type="button"
|
|
41
|
-
key={index}
|
|
42
|
-
onClick={() => void form.setFieldValue("rating", rating)}
|
|
43
|
-
className={field.value === rating ? "selected" : ""}
|
|
44
|
-
sx={{
|
|
45
|
-
"&:not(:last-of-type)": {
|
|
46
|
-
mr: 1,
|
|
47
|
-
},
|
|
48
|
-
"&.selected": {
|
|
49
|
-
backgroundColor: "code.gray",
|
|
50
|
-
color: "white",
|
|
51
|
-
},
|
|
52
|
-
}}
|
|
53
|
-
data-cy={`review-form-score-${rating}`}
|
|
54
|
-
>
|
|
55
|
-
{rating}
|
|
56
|
-
</Button>
|
|
57
|
-
))}
|
|
58
|
-
</Box>
|
|
59
|
-
);
|
|
30
|
+
type ReviewFormProps = {
|
|
31
|
+
reviewType: UserReviewType;
|
|
60
32
|
};
|
|
61
33
|
|
|
62
|
-
const
|
|
63
|
-
const {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
} = useSelector((store: SliceMachineStoreType) => ({
|
|
71
|
-
isReviewLoading: isLoading(store, LoadingKeysEnum.REVIEW),
|
|
72
|
-
isLoginModalOpen: isModalOpen(store, ModalKeysEnum.LOGIN),
|
|
73
|
-
hasSendAReview: userHasSendAReview(store),
|
|
74
|
-
customTypes: selectAllCustomTypes(store),
|
|
75
|
-
libraries: getLibraries(store),
|
|
76
|
-
lastSyncChange: getLastSyncChange(store),
|
|
77
|
-
}));
|
|
78
|
-
|
|
34
|
+
export const ReviewForm: FC<ReviewFormProps> = (props) => {
|
|
35
|
+
const { reviewType } = props;
|
|
36
|
+
const { isReviewLoading, isLoginModalOpen } = useSelector(
|
|
37
|
+
(store: SliceMachineStoreType) => ({
|
|
38
|
+
isReviewLoading: isLoading(store, LoadingKeysEnum.REVIEW),
|
|
39
|
+
isLoginModalOpen: isModalOpen(store, ModalKeysEnum.LOGIN),
|
|
40
|
+
})
|
|
41
|
+
);
|
|
79
42
|
const { skipReview, sendAReview, startLoadingReview, stopLoadingReview } =
|
|
80
43
|
useSliceMachineActions();
|
|
81
44
|
|
|
82
|
-
const sliceCount =
|
|
83
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
84
|
-
libraries && libraries.length
|
|
85
|
-
? libraries.reduce((count, lib) => {
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
87
|
-
if (!lib) return count;
|
|
88
|
-
return count + lib.components.length;
|
|
89
|
-
}, 0)
|
|
90
|
-
: 0;
|
|
91
|
-
|
|
92
|
-
const hasSliceWithinCustomType = customTypes.some(
|
|
93
|
-
(customType) =>
|
|
94
|
-
hasLocal(customType) &&
|
|
95
|
-
customType.local.tabs.some(
|
|
96
|
-
(tab) => tab.sliceZone && tab.sliceZone?.value.length > 0
|
|
97
|
-
)
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
const hasPushedAnHourAgo = Boolean(
|
|
101
|
-
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
102
|
-
lastSyncChange && Date.now() - lastSyncChange >= 3600000
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
const userHasCreatedEnoughContent =
|
|
106
|
-
sliceCount >= 1 &&
|
|
107
|
-
customTypes.length >= 1 &&
|
|
108
|
-
hasSliceWithinCustomType &&
|
|
109
|
-
hasPushedAnHourAgo;
|
|
110
|
-
|
|
111
45
|
const onSendAReview = (rating: number, comment: string): void => {
|
|
112
46
|
startLoadingReview();
|
|
113
|
-
void telemetry.track({
|
|
114
|
-
|
|
47
|
+
void telemetry.track({
|
|
48
|
+
event: "review",
|
|
49
|
+
rating,
|
|
50
|
+
comment,
|
|
51
|
+
type:
|
|
52
|
+
reviewType === "advancedRepository"
|
|
53
|
+
? "advanced repository"
|
|
54
|
+
: "onboarding",
|
|
55
|
+
});
|
|
56
|
+
sendAReview(reviewType);
|
|
115
57
|
stopLoadingReview();
|
|
116
58
|
};
|
|
117
59
|
|
|
@@ -123,9 +65,9 @@ const ReviewModal: React.FunctionComponent = () => {
|
|
|
123
65
|
|
|
124
66
|
return (
|
|
125
67
|
<SliceMachineModal
|
|
126
|
-
isOpen
|
|
68
|
+
isOpen
|
|
127
69
|
shouldCloseOnOverlayClick={false}
|
|
128
|
-
onRequestClose={() => skipReview()}
|
|
70
|
+
onRequestClose={() => skipReview(reviewType)}
|
|
129
71
|
closeTimeoutMS={500}
|
|
130
72
|
contentLabel={"Review Modal"}
|
|
131
73
|
portalClassName={"ReviewModal"}
|
|
@@ -178,9 +120,9 @@ const ReviewModal: React.FunctionComponent = () => {
|
|
|
178
120
|
}}
|
|
179
121
|
>
|
|
180
122
|
<Heading sx={{ fontSize: "20px", mr: 4 }}>
|
|
181
|
-
Share
|
|
123
|
+
Share feedback
|
|
182
124
|
</Heading>
|
|
183
|
-
<Close type="button" onClick={() => skipReview()} />
|
|
125
|
+
<Close type="button" onClick={() => skipReview(reviewType)} />
|
|
184
126
|
</Flex>
|
|
185
127
|
<Flex
|
|
186
128
|
sx={{
|
|
@@ -190,8 +132,8 @@ const ReviewModal: React.FunctionComponent = () => {
|
|
|
190
132
|
}}
|
|
191
133
|
>
|
|
192
134
|
<Text variant={"xs"} as={"p"} sx={{ maxWidth: 302, mb: 3 }}>
|
|
193
|
-
Overall, how satisfied are you with your Slice
|
|
194
|
-
experience?
|
|
135
|
+
Overall, how satisfied or dissatisfied are you with your Slice
|
|
136
|
+
Machine experience so far?
|
|
195
137
|
</Text>
|
|
196
138
|
<Box
|
|
197
139
|
mb={2}
|
|
@@ -208,11 +150,11 @@ const ReviewModal: React.FunctionComponent = () => {
|
|
|
208
150
|
Very satisfied
|
|
209
151
|
</Text>
|
|
210
152
|
</Box>
|
|
211
|
-
<Field name={"rating"} component={
|
|
153
|
+
<Field name={"rating"} component={ReviewFormSelect} />
|
|
212
154
|
<Field
|
|
213
155
|
name={"comment"}
|
|
214
156
|
type="text"
|
|
215
|
-
placeholder="
|
|
157
|
+
placeholder="Tell us more..."
|
|
216
158
|
as={Textarea}
|
|
217
159
|
autoComplete="off"
|
|
218
160
|
sx={{ height: 80, mb: 3 }}
|
|
@@ -233,5 +175,3 @@ const ReviewModal: React.FunctionComponent = () => {
|
|
|
233
175
|
</SliceMachineModal>
|
|
234
176
|
);
|
|
235
177
|
};
|
|
236
|
-
|
|
237
|
-
export default ReviewModal;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { FieldProps } from "formik";
|
|
3
|
+
import { Box, Button } from "theme-ui";
|
|
4
|
+
|
|
5
|
+
const ratingSelectable = [1, 2, 3, 4, 5];
|
|
6
|
+
|
|
7
|
+
export const ReviewFormSelect: FC<FieldProps> = (props) => {
|
|
8
|
+
const { field, form } = props;
|
|
9
|
+
|
|
10
|
+
return (
|
|
11
|
+
<Box sx={{ mb: 3, display: "flex", justifyContent: "space-between" }}>
|
|
12
|
+
{ratingSelectable.map((rating, index) => (
|
|
13
|
+
<Button
|
|
14
|
+
variant="secondary"
|
|
15
|
+
type="button"
|
|
16
|
+
key={index}
|
|
17
|
+
onClick={() => void form.setFieldValue("rating", rating)}
|
|
18
|
+
className={field.value === rating ? "selected" : ""}
|
|
19
|
+
sx={{
|
|
20
|
+
"&:not(:last-of-type)": {
|
|
21
|
+
mr: 1,
|
|
22
|
+
},
|
|
23
|
+
"&.selected": {
|
|
24
|
+
backgroundColor: "code.gray",
|
|
25
|
+
color: "white",
|
|
26
|
+
},
|
|
27
|
+
}}
|
|
28
|
+
data-cy={`review-form-score-${rating}`}
|
|
29
|
+
>
|
|
30
|
+
{rating}
|
|
31
|
+
</Button>
|
|
32
|
+
))}
|
|
33
|
+
</Box>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { FC } from "react";
|
|
2
|
+
import { useSelector } from "react-redux";
|
|
3
|
+
|
|
4
|
+
import { SliceMachineStoreType } from "@src/redux/type";
|
|
5
|
+
import { getLastSyncChange, getUserReview } from "@src/modules/userContext";
|
|
6
|
+
import { selectAllCustomTypes } from "@src/modules/availableCustomTypes";
|
|
7
|
+
import { getLibraries } from "@src/modules/slices";
|
|
8
|
+
import { hasLocal } from "@lib/models/common/ModelData";
|
|
9
|
+
|
|
10
|
+
import { ReviewForm } from "./ReviewForm";
|
|
11
|
+
|
|
12
|
+
export const ReviewModal: FC = () => {
|
|
13
|
+
const { userReview, customTypes, libraries, lastSyncChange } = useSelector(
|
|
14
|
+
(store: SliceMachineStoreType) => ({
|
|
15
|
+
userReview: getUserReview(store),
|
|
16
|
+
customTypes: selectAllCustomTypes(store),
|
|
17
|
+
libraries: getLibraries(store),
|
|
18
|
+
lastSyncChange: getLastSyncChange(store),
|
|
19
|
+
})
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const sliceCount =
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
24
|
+
libraries && libraries.length
|
|
25
|
+
? libraries.reduce((count, lib) => {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
27
|
+
if (!lib) return count;
|
|
28
|
+
return count + lib.components.length;
|
|
29
|
+
}, 0)
|
|
30
|
+
: 0;
|
|
31
|
+
|
|
32
|
+
const hasSliceWithinCustomType = customTypes.some(
|
|
33
|
+
(customType) =>
|
|
34
|
+
hasLocal(customType) &&
|
|
35
|
+
customType.local.tabs.some(
|
|
36
|
+
(tab) => tab.sliceZone && tab.sliceZone?.value.length > 0
|
|
37
|
+
)
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
const hasPushedAnHourAgo = Boolean(
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
|
|
42
|
+
lastSyncChange && Date.now() - lastSyncChange >= 3600000
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
const isAdvancedRepository =
|
|
46
|
+
sliceCount >= 6 &&
|
|
47
|
+
customTypes.length >= 6 &&
|
|
48
|
+
hasSliceWithinCustomType &&
|
|
49
|
+
hasPushedAnHourAgo;
|
|
50
|
+
|
|
51
|
+
if (!userReview.advancedRepository && isAdvancedRepository) {
|
|
52
|
+
return <ReviewForm reviewType="advancedRepository" />;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const isOnboardingDone =
|
|
56
|
+
sliceCount >= 1 &&
|
|
57
|
+
customTypes.length >= 1 &&
|
|
58
|
+
hasSliceWithinCustomType &&
|
|
59
|
+
hasPushedAnHourAgo;
|
|
60
|
+
|
|
61
|
+
if (
|
|
62
|
+
!userReview.onboarding &&
|
|
63
|
+
!userReview.advancedRepository &&
|
|
64
|
+
isOnboardingDone
|
|
65
|
+
) {
|
|
66
|
+
return <ReviewForm reviewType="onboarding" />;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ReviewModal } from "./ReviewModal";
|
|
@@ -188,17 +188,14 @@ const SliceZone: React.FC<SliceZoneProps> = ({
|
|
|
188
188
|
|
|
189
189
|
const closeUpdateSliceZoneModal = () => {
|
|
190
190
|
setIsUpdateSliceZoneModalOpen(false);
|
|
191
|
-
redirectToEditMode();
|
|
192
191
|
};
|
|
193
192
|
|
|
194
193
|
const closeCreateSliceModal = () => {
|
|
195
194
|
setIsCreateSliceModalOpen(false);
|
|
196
|
-
redirectToEditMode();
|
|
197
195
|
};
|
|
198
196
|
|
|
199
197
|
const closeSlicesTemplatesModal = () => {
|
|
200
198
|
setIsSlicesTemplatesModalOpen(false);
|
|
201
|
-
redirectToEditMode();
|
|
202
199
|
};
|
|
203
200
|
|
|
204
201
|
const onAddSlicesToSliceZone = (newCustomType: CustomTypeSM) => {
|
|
@@ -311,6 +308,7 @@ const SliceZone: React.FC<SliceZoneProps> = ({
|
|
|
311
308
|
});
|
|
312
309
|
onAddSlicesToSliceZone(newCustomType);
|
|
313
310
|
closeUpdateSliceZoneModal();
|
|
311
|
+
redirectToEditMode();
|
|
314
312
|
toast.success("Slice(s) added to slice zone");
|
|
315
313
|
}}
|
|
316
314
|
close={closeUpdateSliceZoneModal}
|
|
@@ -328,6 +326,7 @@ const SliceZone: React.FC<SliceZoneProps> = ({
|
|
|
328
326
|
});
|
|
329
327
|
onAddSlicesToSliceZone(newCustomType);
|
|
330
328
|
closeSlicesTemplatesModal();
|
|
329
|
+
redirectToEditMode();
|
|
331
330
|
toast.success(
|
|
332
331
|
<ToastMessageWithPath
|
|
333
332
|
message="Slice template(s) added to slice zone and created at: "
|
|
@@ -357,6 +356,7 @@ const SliceZone: React.FC<SliceZoneProps> = ({
|
|
|
357
356
|
});
|
|
358
357
|
onAddSlicesToSliceZone(newCustomType);
|
|
359
358
|
closeCreateSliceModal();
|
|
359
|
+
redirectToEditMode();
|
|
360
360
|
toast.success(
|
|
361
361
|
<ToastMessageWithPath
|
|
362
362
|
message="New slice added to slice zone and created at: "
|
package/out/404.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Slice Machine</title><meta name="next-head-count" content="3"/><link rel="preload" href="/_next/static/css/66b3836ab88b0c5c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/66b3836ab88b0c5c.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
|
1
|
+
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Slice Machine</title><meta name="next-head-count" content="3"/><link rel="preload" href="/_next/static/css/66b3836ab88b0c5c.css" as="style"/><link rel="stylesheet" href="/_next/static/css/66b3836ab88b0c5c.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-cdccea7a52cc6e81.js" defer=""></script><script src="/_next/static/chunks/main-5e6780279ca21cb9.js" defer=""></script><script src="/_next/static/chunks/pages/_app-81ecd630066c27f8.js" defer=""></script><script src="/_next/static/chunks/pages/_error-69b4f498bafdd188.js" defer=""></script><script src="/_next/static/MSX-wke8KllW7Qt4pNFB-/_buildManifest.js" defer=""></script><script src="/_next/static/MSX-wke8KllW7Qt4pNFB-/_ssgManifest.js" defer=""></script></head><body><div id="__next"><style data-emotion="css-global 413pep">html{--theme-ui-colors-text:#25252D;--theme-ui-colors-textClear:#6F6E77;--theme-ui-colors-grayLight:#E8E8ED;--theme-ui-colors-hoverBackground:#f2f2f2;--theme-ui-colors-background:#FFF;--theme-ui-colors-backgroundClear:#FFF;--theme-ui-colors-primary:#5D40F7;--theme-ui-colors-purpleLight:#F6F1FC;--theme-ui-colors-purpleLight01:#6548FF1A;--theme-ui-colors-purple12:#F1EEFE;--theme-ui-colors-purpleStrong:#5842C3;--theme-ui-colors-whiteButtonText:#1A1523;--theme-ui-colors-codeBlockBackground:#32275F;--theme-ui-colors-failedConnectText:#86848D;--theme-ui-colors-changesWarning-background:#FFECC7;--theme-ui-colors-changesWarning-color:#5C0C17;--theme-ui-colors-greyIcon:#6F6E77;--theme-ui-colors-greyIconDisabled:#C9D0D8;--theme-ui-colors-missingScreenshotBanner-color:#5C0C17;--theme-ui-colors-missingScreenshotBanner-bg:#FFECC7;--theme-ui-colors-badge-new-bg:#DBEDDB;--theme-ui-colors-badge-new-color:#05644D;--theme-ui-colors-badge-modified-bg:#FFECC7;--theme-ui-colors-badge-modified-color:#5C0C17;--theme-ui-colors-badge-synced-bg:purple12;--theme-ui-colors-badge-synced-color:#5842C3;--theme-ui-colors-badge-deleted-bg:rgba(203, 36, 49, 0.1);--theme-ui-colors-badge-unknown-bg:#F3F5F7;--theme-ui-colors-badge-unknown-color:#9AA4AF;--theme-ui-colors-codeBlockBorder:#545454;--theme-ui-colors-secondary:#F9FAFB;--theme-ui-colors-danger:#CB2431;--theme-ui-colors-highlight:hsl(10, 40%, 90%);--theme-ui-colors-purple:#5B3DF5;--theme-ui-colors-purple08:#5842C3;--theme-ui-colors-muted:#F9F9FB;--theme-ui-colors-icons:#8091A5;--theme-ui-colors-gray:#F8F9FA;--theme-ui-colors-grey01:#F3F5F7;--theme-ui-colors-grey02:#E6E6EA;--theme-ui-colors-grey03:#F4F2F4;--theme-ui-colors-grey04:#9AA4AF;--theme-ui-colors-grey05:#667587;--theme-ui-colors-grey07:#F9F8F9;--theme-ui-colors-grey10:#86848D;--theme-ui-colors-grey12:#1A1523;--theme-ui-colors-greyTransparent:rgba(37, 37, 45, 0.4);--theme-ui-colors-borders:#E4E2E4;--theme-ui-colors-bordersFocused:#6E56CF;--theme-ui-colors-deep:#0E2150;--theme-ui-colors-deep1:#A0ADE7;--theme-ui-colors-lightGreen:#EBF8F1;--theme-ui-colors-lightOrange:#FDF4EC;--theme-ui-colors-darkOrange:#C17C10;--theme-ui-colors-error:#E55737;--theme-ui-colors-success:#3AB97A;--theme-ui-colors-headSection:#fff;--theme-ui-colors-warning:#E67E22;--theme-ui-colors-warning02:#ED811C;--theme-ui-colors-sidebar:#F1F1F4;--theme-ui-colors-link:#6E56CF;--theme-ui-colors-choggleBox:#5163BA;--theme-ui-colors-darkBorder:#DCDBDD;--theme-ui-colors-code-border:#DFE1E5;--theme-ui-colors-code-blue:#3B41BD;--theme-ui-colors-code-gray:#667587;--theme-ui-colors-code-orange:#EA6D46;--theme-ui-colors-code-green:#3AB97A;color:var(--theme-ui-colors-text);background-color:var(--theme-ui-colors-background);}html.theme-ui-light,.theme-ui-light html{--theme-ui-colors-text:#25252D;--theme-ui-colors-textClear:#6F6E77;--theme-ui-colors-grayLight:#E8E8ED;--theme-ui-colors-hoverBackground:#f2f2f2;--theme-ui-colors-background:#FFF;--theme-ui-colors-backgroundClear:#FFF;--theme-ui-colors-primary:#5D40F7;--theme-ui-colors-purpleLight:#F6F1FC;--theme-ui-colors-purpleLight01:#6548FF1A;--theme-ui-colors-purple12:#F1EEFE;--theme-ui-colors-purpleStrong:#5842C3;--theme-ui-colors-whiteButtonText:#1A1523;--theme-ui-colors-codeBlockBackground:#32275F;--theme-ui-colors-failedConnectText:#86848D;--theme-ui-colors-changesWarning-background:#FFECC7;--theme-ui-colors-changesWarning-color:#5C0C17;--theme-ui-colors-greyIcon:#6F6E77;--theme-ui-colors-greyIconDisabled:#C9D0D8;--theme-ui-colors-missingScreenshotBanner-color:#5C0C17;--theme-ui-colors-missingScreenshotBanner-bg:#FFECC7;--theme-ui-colors-badge-new-bg:#DBEDDB;--theme-ui-colors-badge-new-color:#05644D;--theme-ui-colors-badge-modified-bg:#FFECC7;--theme-ui-colors-badge-modified-color:#5C0C17;--theme-ui-colors-badge-synced-bg:purple12;--theme-ui-colors-badge-synced-color:#5842C3;--theme-ui-colors-badge-deleted-bg:rgba(203, 36, 49, 0.1);--theme-ui-colors-badge-unknown-bg:#F3F5F7;--theme-ui-colors-badge-unknown-color:#9AA4AF;--theme-ui-colors-codeBlockBorder:#545454;--theme-ui-colors-secondary:#F9FAFB;--theme-ui-colors-danger:#CB2431;--theme-ui-colors-highlight:hsl(10, 40%, 90%);--theme-ui-colors-purple:#5B3DF5;--theme-ui-colors-purple08:#5842C3;--theme-ui-colors-muted:#F9F9FB;--theme-ui-colors-icons:#8091A5;--theme-ui-colors-gray:#F8F9FA;--theme-ui-colors-grey01:#F3F5F7;--theme-ui-colors-grey02:#E6E6EA;--theme-ui-colors-grey03:#F4F2F4;--theme-ui-colors-grey04:#9AA4AF;--theme-ui-colors-grey05:#667587;--theme-ui-colors-grey07:#F9F8F9;--theme-ui-colors-grey10:#86848D;--theme-ui-colors-grey12:#1A1523;--theme-ui-colors-greyTransparent:rgba(37, 37, 45, 0.4);--theme-ui-colors-borders:#E4E2E4;--theme-ui-colors-bordersFocused:#6E56CF;--theme-ui-colors-deep:#0E2150;--theme-ui-colors-deep1:#A0ADE7;--theme-ui-colors-lightGreen:#EBF8F1;--theme-ui-colors-lightOrange:#FDF4EC;--theme-ui-colors-darkOrange:#C17C10;--theme-ui-colors-error:#E55737;--theme-ui-colors-success:#3AB97A;--theme-ui-colors-headSection:#fff;--theme-ui-colors-warning:#E67E22;--theme-ui-colors-warning02:#ED811C;--theme-ui-colors-sidebar:#F1F1F4;--theme-ui-colors-link:#6E56CF;--theme-ui-colors-choggleBox:#5163BA;--theme-ui-colors-darkBorder:#DCDBDD;--theme-ui-colors-code-border:#DFE1E5;--theme-ui-colors-code-blue:#3B41BD;--theme-ui-colors-code-gray:#667587;--theme-ui-colors-code-orange:#EA6D46;--theme-ui-colors-code-green:#3AB97A;}html.theme-ui-dark,.theme-ui-dark html{--theme-ui-colors-text:#fff;--theme-ui-colors-textClear:#6E707B;--theme-ui-colors-hoverBackground:#202020;--theme-ui-colors-grey02:#E6E6EA;--theme-ui-colors-background:#202022;--theme-ui-colors-backgroundClear:#28282C;--theme-ui-colors-primary:#4E54D7;--theme-ui-colors-secondary:#28282C;--theme-ui-colors-icons:#5D5D71;--theme-ui-colors-gray:#1D1D1F;--theme-ui-colors-borders:#3A3A46;--theme-ui-colors-deep:#28282C;--theme-ui-colors-headSection:#28282C;--theme-ui-colors-warning:#E67E22;--theme-ui-colors-sidebar:#28282C;--theme-ui-colors-code-border:#5D5D6F;--theme-ui-colors-code-blue:#3B41BD;--theme-ui-colors-code-gray:#667587;--theme-ui-colors-code-orange:#EA6D46;--theme-ui-colors-code-green:#3AB97A;--theme-ui-colors-link:#A9A9C6;--theme-ui-colors-choggleBox:#fff;}</style><style data-emotion="css-global h19pgh">*{box-sizing:border-box;}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;line-height:1.5;font-weight:400;}body{margin:0;}</style><style data-emotion="css yvak7d">.css-yvak7d{box-sizing:border-box;margin:0;min-width:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;height:calc(100vh - 57px);width:100vw;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}</style><div class="css-yvak7d"><style data-emotion="css uqm8ih">.css-uqm8ih{box-sizing:border-box;margin:0;min-width:0;color:var(--theme-ui-colors-primary);overflow:visible;}</style><svg stroke-width="4" viewBox="0 0 32 32" width="48" height="48" fill="none" stroke="currentColor" role="img" id="spinner" class="css-uqm8ih"><title>Loading</title><circle stroke-width="4" r="12" cx="16" cy="16" fill="none" opacity="0.125"></circle><circle stroke-width="4" r="12" cx="16" cy="16" fill="none" stroke-dasharray="20 110"><animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 16 16" to="360 16 16" dur="750ms" repeatCount="indefinite"></animateTransform></circle></svg></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"MSX-wke8KllW7Qt4pNFB-","runtimeConfig":{"sentryEnvironment":"alpha"},"nextExport":true,"isFallback":false,"gip":true,"appGip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,c,e,a,t,i,b,n,l,u,
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,c,e,a,t,i,b,n,l,f,u,d){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,i,b,"static/chunks/pages/index-9955410413a4598b.js"],"/_error":["static/chunks/pages/_error-69b4f498bafdd188.js"],"/changelog":["static/chunks/870-0c7a8a9622de78b7.js","static/chunks/pages/changelog-11c9e241f5a8a4cb.js"],"/changes":[c,"static/chunks/8eec4907-b712959d9f984b68.js","static/chunks/918-38d08f1e885b222d.js",e,a,"static/css/f585032018f6024b.css","static/chunks/pages/changes-e58a6f4217ec2d9e.js"],"/custom-types":[s,i,b,"static/chunks/pages/custom-types-78e57821222c9603.js"],"/custom-types/[customTypeId]":[n,s,e,t,l,f,"static/chunks/pages/custom-types/[customTypeId]-57edaacb81e17a44.js"],"/labs":["static/chunks/pages/labs-395232bcec99d42a.js"],"/page-types/[pageTypeId]":[n,s,e,t,l,f,"static/chunks/pages/page-types/[pageTypeId]-c62f5c1608ce3af3.js"],"/slices":[c,e,a,"static/css/22d69420bda374a7.css","static/chunks/pages/slices-b686960d7d228e36.js"],"/slices/[lib]/[sliceName]/[variation]":[c,u,a,t,"static/css/d4b59834999106a5.css","static/chunks/pages/slices/[lib]/[sliceName]/[variation]-5b6c6912b66de61f.js"],"/slices/[lib]/[sliceName]/[variation]/screenshot":[d,"static/chunks/pages/slices/[lib]/[sliceName]/[variation]/screenshot-76d40513025fd76d.js"],"/slices/[lib]/[sliceName]/[variation]/simulator":[c,"static/chunks/72585f70-28b4d7d5384b3703.js","static/chunks/18539003-1bb05c8aa7db2bc2.js",d,u,"static/chunks/113-34b6cf41a62f08ce.js","static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-37ba73cd3c821e04.js"],sortedPages:["/","/_app","/_error","/changelog","/changes","/custom-types","/custom-types/[customTypeId]","/labs","/page-types/[pageTypeId]","/slices","/slices/[lib]/[sliceName]/[variation]","/slices/[lib]/[sliceName]/[variation]/screenshot","/slices/[lib]/[sliceName]/[variation]/simulator"]}}("static/chunks/799-5c13484e9f945e5d.js","static/chunks/c8eae200-966ce352f7b5d2b9.js","static/chunks/590-ab38d53732035bf0.js","static/chunks/573-8678a91b09707f5d.js","static/chunks/377-96290662f5b987a1.js","static/chunks/840-d84a2655185995ce.js","static/css/26b51745402a92af.css","static/chunks/125-84464edfe25651eb.js","static/chunks/933-97c3cebf5fb84a17.js","static/css/7aca5b80aec5d9fd.css","static/chunks/909-e4eec905c21ad8ad.js","static/chunks/746-2ca4784811bde7c1.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[590],{59469:function(e,t,n){"use strict";var c=n(62230),i=n(52322),o=n(75289);t.Z=function(e){var t=e.elems,n=e.renderElem,r=e.defineElementKey,s=e.gridTemplateMinPx,d=e.gridGap,a=e.sx;return(0,i.jsx)(o.xu,{as:"section",sx:(0,c.Z)({display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(".concat(void 0===s?"320px":s,", 1fr))"),gridGap:void 0===d?"16px":d,pt:2},a),children:t.map(function(e,t){return e?(0,i.jsx)("span",{children:n(e,t)},"".concat(r(e),"-").concat(t+1)):null})})}},24804:function(e,t,n){"use strict";n.d(t,{Zb:function(){return b},T$:function(){return f},eW:function(){return x},ZB:function(){return p},Lm:function(){return C}});var c=n(67557),i=n(62230),o=n(85244),r=n(98240),s=n(52322),d=n(50002),a=n(71651),l=n(6277),u=n(2784);n(
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[590],{59469:function(e,t,n){"use strict";var c=n(62230),i=n(52322),o=n(75289);t.Z=function(e){var t=e.elems,n=e.renderElem,r=e.defineElementKey,s=e.gridTemplateMinPx,d=e.gridGap,a=e.sx;return(0,i.jsx)(o.xu,{as:"section",sx:(0,c.Z)({display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(".concat(void 0===s?"320px":s,", 1fr))"),gridGap:void 0===d?"16px":d,pt:2},a),children:t.map(function(e,t){return e?(0,i.jsx)("span",{children:n(e,t)},"".concat(r(e),"-").concat(t+1)):null})})}},24804:function(e,t,n){"use strict";n.d(t,{Zb:function(){return b},T$:function(){return f},eW:function(){return x},ZB:function(){return p},Lm:function(){return C}});var c=n(67557),i=n(62230),o=n(85244),r=n(98240),s=n(52322),d=n(50002),a=n(71651),l=n(6277),u=n(2784);n(95201);var v={solid:"_1ecs97d3c _1ecs97dap _1ecs97d30a _1ecs97d30b _1ecs97d30g _1ecs97d30h",outlined:"_1ecs97d2i _1ecs97d9v _1ecs97dw _1ecs97d89 _1ecs97d2w _1ecs97da9 _1ecs97d2zm _1ecs97d2zn _1ecs97d2z2 _1ecs97d2z3 _1ecs97d2z8 _1ecs97d2z9"},h={div:"_1ecs97d9bi _1ecs97d9bl _1ecs97d9bv",img:"kedahr9 _1ecs97d9ji _1ecs97d9c5"},m={small:"kedahr2",medium:"kedahr3"},_={solid:"kedahr4 _1ecs97d1u _1ecs97d97",outlined:"kedahr5 _1ecs97d18 _1ecs97d8l"},b=function(e){var t,n=e.size,a=e.variant,h=void 0===a?"solid":a,b={className:(0,l.W)("_1ecs97d9bi _1ecs97d9bk _1ecs97d9bt _1ecs97d268 _1ecs97d2dl _1ecs97d9d7 _1ecs97d9ej _1ecs97d9ex _1ecs97d9bj _1ecs97d9c9 _1ecs97d9cd",m[void 0===n?"medium":n],_[h],(t={},(0,c.Z)(t,"kedahr6",e.interactive),(0,c.Z)(t,v[h],e.interactive),t))};if(!0===e.interactive&&void 0===e.href){e.size,e.variant,e.interactive;var p=e.checked,f=e.disabled,x=e.onClick,C=(0,r.Z)(e,["size","variant","interactive","checked","disabled","onClick"]);return(0,s.jsx)("div",(0,o.Z)((0,i.Z)({},C,b),{"data-disabled":!0===f?"":void 0,"data-state":!0===p?"checked":void 0,onClick:function(e){if(!0!==f&&void 0!==x){var t=e.target;(0,d.J)(t)===e.currentTarget&&x(e)}},tabIndex:!0===f?void 0:0}))}if(!0===e.interactive){e.size,e.variant,e.interactive;var g=e.component,j=(0,r.Z)(e,["size","variant","interactive","component"]);return(0,u.createElement)(void 0===g?"a":g,(0,o.Z)((0,i.Z)({},j,b),{onClick:function(e){var t=e.target;(0,d.J)(t)!==e.currentTarget&&e.preventDefault()}}))}e.size,e.variant,e.interactive;var y=(0,r.Z)(e,["size","variant","interactive"]);return(0,s.jsx)("div",(0,i.Z)({},y,b))},p=function(e){var t=e.className,n=e.component,c=void 0===n?"img":n,d=e.overlay,a=(0,r.Z)(e,["className","component","overlay"]);return(0,s.jsxs)("div",{className:"kedahr7 _1ecs97d9bi _1ecs97d9bk _1ecs97d9bt _1ecs97d9bw _1ecs97d9bv _1ecs97d9jo _1ecs97d9cd",children:[(0,u.createElement)(c,(0,o.Z)((0,i.Z)({},a),{className:(0,l.W)(h[c],t)})),Boolean(d)?(0,s.jsx)("div",{className:"kedahra _1ecs97d9bi _1ecs97d9bl _1ecs97d9ln _1ecs97d9cb _1ecs97d9cz",children:d}):void 0]})},f=function(e){return(0,s.jsx)("div",(0,o.Z)((0,i.Z)({},e),{className:"kedahrc kedahrb _1ecs97d9bi _1ecs97d9bk _1ecs97d9bq _1ecs97d9bj _1ecs97d9bu _1ecs97d9jc _1ecs97d9c0"}))},x=function(e){var t=e.action,n=e.subtitle,c=e.title,d=(0,r.Z)(e,["action","subtitle","title"]);return(0,s.jsxs)("div",(0,o.Z)((0,i.Z)({},d),{className:"kedahrd kedahrb _1ecs97d9bi _1ecs97d9bk _1ecs97d9bq _1ecs97d9bj _1ecs97d9bu _1ecs97d9ld _1ecs97d9je",children:[(0,s.jsxs)("div",{className:"kedahre _1ecs97d9bi _1ecs97d9bk _1ecs97d9bt _1ecs97d9bw _1ecs97d9bv _1ecs97d9hc",children:[(0,s.jsx)(a.xv,{component:"span",noWrap:!0,variant:"bold",children:c}),(0,s.jsx)(a.xv,{color:"grey11",component:"span",noWrap:!0,variant:"small",children:n})]}),t]}))},C=function(e){var t=e.children,n=(0,r.Z)(e,["children"]);return(0,s.jsx)("div",(0,o.Z)((0,i.Z)({},n),{className:"kedahrf _1ecs97d9bi _1ecs97d9bk _1ecs97d9bt _1ecs97d9j6 _1ecs97d9nb _1ecs97d9bz _1ecs97d9ta _1ecs97d9cb",children:(0,s.jsx)(a.xv,{align:"center",color:"inherit",component:"span",noWrap:!0,variant:"smallBold",children:t})}))}},34728:function(e,t,n){"use strict";n.d(t,{O:function(){return s}});var c=n(52322),i=n(71651),o=n(32681),r=n(79096),s=function(e){var t=function(e){var t=d[e.modelType];switch(e.modelStatus){case o.G.New:return{badgeColor:"green",badgeTitle:"New",tooltipContent:"This ".concat(t," exists only locally. Upon sync, it will be pushed to your remote repository.")};case o.G.Modified:return{badgeColor:"amber",badgeTitle:"Modified",tooltipContent:"This ".concat(t," has been modified locally. Upon sync, changes will be pushed to your remote repository.")};case o.G.Synced:return{badgeColor:"purple",badgeTitle:"Synced",tooltipContent:"This ".concat(t," is in sync with the remote repository.")};case o.G.Deleted:return{badgeColor:"tomato",badgeTitle:"Deleted",tooltipContent:"This ".concat(t," has been deleted locally.")};case o.G.Unknown:if(!e.isOnline)return{badgeColor:"grey",badgeTitle:"Unknown",tooltipContent:"Data from the remote repository could not be fetched (no internet connection)."};if(e.authStatus===r.t.UNAUTHORIZED)return{badgeColor:"grey",badgeTitle:"Unknown",tooltipContent:"Data from the remote repository could not be fetched (not connected to Prismic)."};if(e.authStatus===r.t.FORBIDDEN)return{badgeColor:"grey",badgeTitle:"Unknown",tooltipContent:"Data from the remote repository could not be fetched (you don't have access to the repository)."};default:return{badgeColor:"grey",badgeTitle:"Unknown",tooltipContent:"Data from the remote repository could not be fetched (unknown error)."}}}(e),n=t.badgeColor,s=t.badgeTitle,a=t.tooltipContent;return(0,c.jsx)(i.u,{content:a,side:"bottom",children:(0,c.jsx)(i.Ct,{color:n,title:s})})},d={CustomType:"type",Slice:"slice"}},82131:function(e,t,n){"use strict";n.d(t,{B:function(){return _}});var c=n(62230),i=n(85244),o=n(52322),r=n(71651),s=n(39097),d=n.n(s),a=n(30180),l=n(24804),u=n(5479),v=n(34728),h=n(49451),m=function(e){return(0,o.jsx)("svg",(0,i.Z)((0,c.Z)({width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e),{children:(0,o.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M4 5.5C4 4.67157 4.67157 4 5.5 4H18.5C19.3284 4 20 4.67157 20 5.5V12.4413C20 12.4512 19.9997 12.461 19.9991 12.4707C20.0072 12.6083 19.9586 12.7485 19.8536 12.8536C19.6583 13.0488 19.3417 13.0488 19.1464 12.8536L16.3536 10.0607C16.1583 9.8654 15.8417 9.8654 15.6464 10.0607L11.8536 13.8536C11.6583 14.0488 11.3417 14.0488 11.1464 13.8536L9.35355 12.0607C9.15829 11.8654 8.84171 11.8654 8.64645 12.0607L5 15.7071V18.5C5 18.7761 5.22386 19 5.5 19H12.5C12.7761 19 13 19.2239 13 19.5C13 19.7761 12.7761 20 12.5 20H5.5C4.67157 20 4 19.3284 4 18.5V15.5003V15.4997V5.5ZM11.5 12.7929L14.9393 9.35355C15.5251 8.76777 16.4749 8.76777 17.0607 9.35355L19 11.2929V5.5C19 5.22386 18.7761 5 18.5 5H5.5C5.22386 5 5 5.22386 5 5.5V14.2929L7.93934 11.3536C8.52513 10.7678 9.47487 10.7678 10.0607 11.3536L11.5 12.7929ZM16.5 13C16.7761 13 17 13.2239 17 13.5V16H19.5C19.7761 16 20 16.2239 20 16.5C20 16.7761 19.7761 17 19.5 17H17V19.5C17 19.7761 16.7761 20 16.5 20C16.2239 20 16 19.7761 16 19.5V17H13.5C13.2239 17 13 16.7761 13 16.5C13 16.2239 13.2239 16 13.5 16H16V13.5C16 13.2239 16.2239 13 16.5 13Z",fill:"currentColor"})}))},_=function(e){var t=e.action,n=e.isDeletedSlice,s=e.onUpdateScreenshot,m=e.slice,_=a.dN.variation(m);if(!_)return null;var p=h.Y.getBuilderPagePathname({libraryName:m.href,sliceName:m.model.name,variationId:_.id}),f=(0,u.d7)(m,_),x=!!s&&!n;return(0,o.jsxs)(l.Zb,(0,i.Z)((0,c.Z)({},void 0===p||n?{interactive:!1}:{component:d(),href:p,interactive:!0}),{children:[void 0!==f?(0,o.jsx)(l.ZB,{overlay:x?(0,o.jsx)(r.xu,{alignItems:"center",justifyContent:"center",children:(0,o.jsx)(b,{onClick:s})}):void 0,src:f}):(0,o.jsx)(l.ZB,{component:"div",children:(0,o.jsxs)(r.xu,{alignItems:"center",flexDirection:"column",gap:8,justifyContent:"center",children:[(0,o.jsx)(r.xv,{color:"grey11",component:"span",children:"No screenshot available"}),x?(0,o.jsx)(b,{onClick:s}):void 0]})}),(0,o.jsx)(l.eW,{action:"menu"===t.type?(0,o.jsxs)(r.h_,{modal:!0,children:[(0,o.jsx)(r.$F,{children:(0,o.jsx)(r.hU,{icon:"moreVert"})}),(0,o.jsxs)(r.AW,{align:"end",children:[(0,o.jsx)(r.Xi,{onSelect:t.onRename,startIcon:(0,o.jsx)(r.I5,{name:"edit"}),children:"Rename"}),(0,o.jsx)(r.Xi,{color:"tomato",onSelect:t.onRemove,startIcon:(0,o.jsx)(r.I5,{name:"delete"}),children:"Delete"})]})]}):"remove"===t.type?(0,o.jsx)(r.hU,{icon:"close",onClick:t.onRemove}):(0,o.jsx)(v.O,{authStatus:t.authStatus,isOnline:t.isOnline,modelStatus:t.modelStatus,modelType:"Slice"}),subtitle:"".concat(m.model.variations.length," variation").concat(m.model.variations.length>1?"s":""),title:m.model.name}),x&&(0,u.cx)(m)>0?(0,o.jsx)(l.Lm,{children:"Missing screenshot"}):void 0]}))},b=function(e){return(0,o.jsx)(r.zx,{onClick:e.onClick,renderStartIcon:function(){return(0,o.jsx)(m,{color:r.TV.color.greyLight11})},variant:"secondary",children:"Update screenshot"})}},49451:function(e,t,n){"use strict";n.d(t,{Y:function(){return c}});var c={getBuilderPagePathname:function(e){return"/slices/".concat(e.libraryName.replaceAll("/","--"),"/").concat(e.sliceName,"/").concat(e.variationId)}}},95201:function(){}}]);
|