slice-machine-ui 2.17.3-beta.9 → 2.18.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/out/404.html +1 -1
  2. package/out/_next/static/by9lqJyIeSCZtBP_fLO45/_buildManifest.js +1 -0
  3. package/out/_next/static/chunks/04ad993f.d7f986af0f739cc9.js +28 -0
  4. package/out/_next/static/chunks/{248-6f20227ad4764216.js → 248-bdbfde18c5a04eae.js} +1 -1
  5. package/out/_next/static/chunks/{34-6c3125e6f01c62c7.js → 34-8d9d9b2944824750.js} +1 -1
  6. package/out/_next/static/chunks/{489-a42bd4eeb1350d97.js → 489-6edb99e269996dd1.js} +1 -1
  7. package/out/_next/static/chunks/50-586dc7ab5e584e76.js +1 -0
  8. package/out/_next/static/chunks/630-bb6e3db525588f16.js +1 -0
  9. package/out/_next/static/chunks/{647-7b9b5aa9468f9e4b.js → 647-4379a741c8d85d9e.js} +1 -1
  10. package/out/_next/static/chunks/{907-a42dc5698d5dc000.js → 907-445266211c48b1a5.js} +1 -1
  11. package/out/_next/static/chunks/pages/{_app-13d39ac1e1c9aa27.js → _app-76c43bdc0320687e.js} +220 -222
  12. package/out/_next/static/chunks/pages/{changelog-98836c22c6a40c5d.js → changelog-21b960abba5abf71.js} +1 -1
  13. package/out/_next/static/chunks/pages/{changes-2bd69f3877d60b26.js → changes-bdfa50eadb1e5a42.js} +1 -1
  14. package/out/_next/static/chunks/pages/custom-types/{[customTypeId]-4024560ca59ad2be.js → [customTypeId]-7102c23f96cd1768.js} +1 -1
  15. package/out/_next/static/chunks/pages/{labs-ad7f36c6f544c1a8.js → labs-d79597003a1ff74e.js} +1 -1
  16. package/out/_next/static/chunks/pages/page-types/{[pageTypeId]-0d2416da0958eb40.js → [pageTypeId]-d4bc920a5efffa0a.js} +1 -1
  17. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/[variation]/{simulator-0ecd552897e61e29.js → simulator-b127d948a17968d3.js} +1 -1
  18. package/out/_next/static/chunks/pages/slices/[lib]/[sliceName]/{[variation]-8b6e7854cb3466d4.js → [variation]-98f85d5fb8d5c704.js} +1 -1
  19. package/out/_next/static/chunks/pages/{slices-fe1bb16ff3020762.js → slices-046e5e978ffc3a42.js} +1 -1
  20. package/out/_next/static/chunks/webpack-e0c07a2fe4908d81.js +1 -0
  21. package/out/_next/static/css/303dad78be1eb854.css +1 -0
  22. package/out/changelog.html +1 -1
  23. package/out/changes.html +1 -1
  24. package/out/custom-types/[customTypeId].html +1 -1
  25. package/out/custom-types.html +1 -1
  26. package/out/index.html +1 -1
  27. package/out/labs.html +1 -1
  28. package/out/page-types/[pageTypeId].html +1 -1
  29. package/out/slices/[lib]/[sliceName]/[variation]/simulator.html +1 -1
  30. package/out/slices/[lib]/[sliceName]/[variation].html +1 -1
  31. package/out/slices.html +1 -1
  32. package/package.json +7 -8
  33. package/src/apiClient.ts +1 -1
  34. package/src/domain/fields.ts +7 -7
  35. package/src/features/auth/LogoutButton.tsx +37 -0
  36. package/src/features/builder/AddFieldDropdown.tsx +2 -2
  37. package/src/features/environments/actions/getActiveEnvironment.ts +2 -8
  38. package/src/features/environments/useActiveEnvironment.ts +8 -1
  39. package/src/features/environments/useEnvironments.ts +8 -1
  40. package/src/legacy/components/ListItem/Header.tsx +18 -12
  41. package/src/legacy/components/ListItem/index.tsx +1 -0
  42. package/src/legacy/components/LoginModal/index.tsx +11 -3
  43. package/src/legacy/components/Navigation/SideNavEnvironmentSelector/SideNavEnvironmentSelector.tsx +3 -0
  44. package/src/legacy/lib/builders/common/EditModal/index.jsx +3 -10
  45. package/src/legacy/lib/models/common/widgets/Boolean/index.ts +3 -0
  46. package/src/legacy/lib/models/common/widgets/Color/index.ts +3 -0
  47. package/src/legacy/lib/models/common/widgets/ContentRelationship/index.ts +3 -0
  48. package/src/legacy/lib/models/common/widgets/Date/index.ts +3 -0
  49. package/src/legacy/lib/models/common/widgets/Embed/index.ts +3 -0
  50. package/src/legacy/lib/models/common/widgets/GeoPoint/index.ts +3 -0
  51. package/src/legacy/lib/models/common/widgets/Group/createGroupWidget.ts +2 -0
  52. package/src/legacy/lib/models/common/widgets/Image/index.ts +3 -0
  53. package/src/legacy/lib/models/common/widgets/Link/index.ts +3 -0
  54. package/src/legacy/lib/models/common/widgets/LinkToMedia/index.ts +2 -0
  55. package/src/legacy/lib/models/common/widgets/Number/index.ts +3 -0
  56. package/src/legacy/lib/models/common/widgets/Select/index.ts +3 -0
  57. package/src/legacy/lib/models/common/widgets/StructuredText/index.ts +3 -0
  58. package/src/legacy/lib/models/common/widgets/Table/index.ts +3 -0
  59. package/src/legacy/lib/models/common/widgets/Text/index.ts +3 -0
  60. package/src/legacy/lib/models/common/widgets/Timestamp/index.ts +3 -0
  61. package/src/legacy/lib/models/common/widgets/UID/index.ts +3 -0
  62. package/src/legacy/lib/models/common/widgets/Widget.ts +1 -0
  63. package/out/_next/static/UBLEqMkM94kXQpW0VSAQo/_buildManifest.js +0 -1
  64. package/out/_next/static/chunks/33641354.3864aefb6106ae71.js +0 -28
  65. package/out/_next/static/chunks/44-a2056f993381ad0f.js +0 -1
  66. package/out/_next/static/chunks/630-799c128fd87fa645.js +0 -1
  67. package/out/_next/static/chunks/webpack-b3522fdebabf510a.js +0 -1
  68. package/out/_next/static/css/cc9b10286400c2b9.css +0 -1
  69. /package/out/_next/static/{UBLEqMkM94kXQpW0VSAQo → by9lqJyIeSCZtBP_fLO45}/_ssgManifest.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slice-machine-ui",
3
- "version": "2.17.3-beta.9",
3
+ "version": "2.18.0",
4
4
  "license": "MIT",
5
5
  "description": "A visual builder for your Slice Models with all the tools you need to generate data models and mock CMS content locally.",
6
6
  "repository": {
@@ -35,16 +35,16 @@
35
35
  "start-slicemachine": "./bin/start-slicemachine.cjs"
36
36
  },
37
37
  "dependencies": {
38
- "@slicemachine/manager": "0.25.2-beta.13",
39
- "start-slicemachine": "0.12.60-beta.13"
38
+ "@slicemachine/manager": "0.25.2",
39
+ "start-slicemachine": "0.12.60"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@emotion/react": "11.11.1",
43
43
  "@extractus/oembed-extractor": "3.1.8",
44
44
  "@prismicio/client": "7.17.0",
45
- "@prismicio/editor-fields": "0.4.77",
46
- "@prismicio/editor-support": "0.4.77",
47
- "@prismicio/editor-ui": "0.4.77",
45
+ "@prismicio/editor-fields": "0.4.87",
46
+ "@prismicio/editor-support": "0.4.87",
47
+ "@prismicio/editor-ui": "0.4.87",
48
48
  "@prismicio/mock": "0.7.1",
49
49
  "@prismicio/mocks": "2.14.0",
50
50
  "@prismicio/simulator": "0.1.4",
@@ -136,6 +136,5 @@
136
136
  "vitest": "0.32.0",
137
137
  "yup": "0.32.11",
138
138
  "zod": "3.23.8"
139
- },
140
- "stableVersion": "2.17.2"
139
+ }
141
140
  }
package/src/apiClient.ts CHANGED
@@ -163,7 +163,7 @@ export const pushChanges: SliceMachineManagerClient["prismicRepository"]["pushCh
163
163
 
164
164
  /** Auth Routes * */
165
165
 
166
- export const startAuth = async (): Promise<void> => {
166
+ export const clearAuth = async (): Promise<void> => {
167
167
  return await managerClient.user.logout();
168
168
  };
169
169
 
@@ -92,7 +92,7 @@ export const imageField: NestableField = {
92
92
  type: "Image",
93
93
  };
94
94
 
95
- export const LinkField: NestableField = {
95
+ export const linkField: NestableField = {
96
96
  name: "Link",
97
97
  description: "A link to a website, asset, or document.",
98
98
  icon: "link",
@@ -111,8 +111,8 @@ export const contentRelationshipField: NestableField = {
111
111
  variant: "ContentRelationship",
112
112
  };
113
113
 
114
- export const LinkToMediaField: NestableField = {
115
- name: "Link To Media",
114
+ export const linkToMediaField: NestableField = {
115
+ name: "Link to Media",
116
116
  description: "A link to a media asset.",
117
117
  icon: "attachFile",
118
118
  thumbnail:
@@ -182,8 +182,8 @@ export const nestableFields: NestableField[] = [
182
182
  booleanField,
183
183
  numberField,
184
184
  selectField,
185
- LinkField,
186
- LinkToMediaField,
185
+ linkField,
186
+ linkToMediaField,
187
187
  colorField,
188
188
  dateField,
189
189
  tableField,
@@ -197,7 +197,7 @@ export const nestableFields: NestableField[] = [
197
197
  * UID
198
198
  */
199
199
 
200
- export const UIDField: UIDField = {
200
+ export const uidField: UIDField = {
201
201
  name: "UID",
202
202
  description: "Unique Identifier",
203
203
  icon: "tag",
@@ -230,4 +230,4 @@ export const groupFields: GroupField[] = [groupField, nestedGroupField];
230
230
  * All fields
231
231
  */
232
232
 
233
- export const fields = [...nestableFields, UIDField, ...groupFields];
233
+ export const fields = [...nestableFields, uidField, ...groupFields];
@@ -0,0 +1,37 @@
1
+ import { IconButton, Tooltip } from "@prismicio/editor-ui";
2
+ import * as Sentry from "@sentry/nextjs";
3
+ import { toast } from "react-toastify";
4
+
5
+ import { clearAuth as managerLogout, getState } from "@/apiClient";
6
+ import { invalidateActiveEnvironmentData } from "@/features/environments/useActiveEnvironment";
7
+ import { invalidateEnvironmentsData } from "@/features/environments/useEnvironments";
8
+ import useSliceMachineActions from "@/modules/useSliceMachineActions";
9
+
10
+ export function LogoutButton() {
11
+ const { refreshState } = useSliceMachineActions();
12
+
13
+ async function onClick() {
14
+ await managerLogout();
15
+
16
+ const serverState = await getState();
17
+ refreshState(serverState);
18
+
19
+ Sentry.setUser({ id: serverState.env.shortId });
20
+
21
+ // refresh queries to update the UI
22
+ invalidateEnvironmentsData();
23
+ invalidateActiveEnvironmentData();
24
+
25
+ toast.success("Logged out");
26
+ }
27
+
28
+ return (
29
+ <Tooltip content="Log out" side="right">
30
+ <IconButton
31
+ icon="logout"
32
+ onClick={() => void onClick()}
33
+ hiddenLabel="Log out"
34
+ />
35
+ </Tooltip>
36
+ );
37
+ }
@@ -18,7 +18,7 @@ import {
18
18
  FieldVariant,
19
19
  groupField,
20
20
  nestableFields,
21
- UIDField,
21
+ uidField,
22
22
  } from "@/domain/fields";
23
23
 
24
24
  export type AddFieldDropdownProps = {
@@ -47,7 +47,7 @@ export function AddFieldDropdown(props: AddFieldDropdownProps) {
47
47
  (field) =>
48
48
  nestableFields.some(
49
49
  (nestableField) => nestableField.name === field.name,
50
- ) || field.name === UIDField.name,
50
+ ) || field.name === uidField.name,
51
51
  );
52
52
  const groupFieldToRender = fields.find(
53
53
  (field) => field.name === groupField.name,
@@ -5,10 +5,6 @@ import {
5
5
 
6
6
  import { managerClient } from "@/managerClient";
7
7
 
8
- type GetActiveEnvironmentArgs = {
9
- retried?: boolean;
10
- };
11
-
12
8
  type GetActiveEnvironmentReturnType =
13
9
  | {
14
10
  activeEnvironment: Environment;
@@ -20,10 +16,8 @@ type GetActiveEnvironmentReturnType =
20
16
  };
21
17
 
22
18
  export async function getActiveEnvironment(
23
- args?: GetActiveEnvironmentArgs,
19
+ retried = false,
24
20
  ): Promise<GetActiveEnvironmentReturnType> {
25
- const { retried = false } = args ?? {};
26
-
27
21
  try {
28
22
  const activeEnvironmentResult =
29
23
  await managerClient.project.fetchActiveEnvironment();
@@ -41,7 +35,7 @@ export async function getActiveEnvironment(
41
35
  await managerClient.project.updateEnvironment({ environment: undefined });
42
36
 
43
37
  // Call recursively with isRetry=true to prevent infinite loop if it fails again and again.
44
- return await getActiveEnvironment({ retried: true });
38
+ return await getActiveEnvironment(true);
45
39
  }
46
40
 
47
41
  return { error };
@@ -1,7 +1,14 @@
1
- import { useRequest } from "@prismicio/editor-support/Suspense";
1
+ import {
2
+ invalidateFetcherData,
3
+ useRequest,
4
+ } from "@prismicio/editor-support/Suspense";
2
5
 
3
6
  import { getActiveEnvironment } from "./actions/getActiveEnvironment";
4
7
 
8
+ export function invalidateActiveEnvironmentData() {
9
+ invalidateFetcherData(getActiveEnvironment);
10
+ }
11
+
5
12
  export function useActiveEnvironment() {
6
13
  return useRequest(getActiveEnvironment, []);
7
14
  }
@@ -1,7 +1,14 @@
1
- import { useRequest } from "@prismicio/editor-support/Suspense";
1
+ import {
2
+ invalidateFetcherData,
3
+ useRequest,
4
+ } from "@prismicio/editor-support/Suspense";
2
5
 
3
6
  import { getEnvironments } from "./actions/getEnvironments";
4
7
 
8
+ export function invalidateEnvironmentsData() {
9
+ invalidateFetcherData(getEnvironments);
10
+ }
11
+
5
12
  export function useEnvironments() {
6
13
  return useRequest(getEnvironments, []);
7
14
  }
@@ -1,3 +1,4 @@
1
+ import { Box, Tooltip } from "@prismicio/editor-ui";
1
2
  import * as CSS from "csstype";
2
3
  import { IconType } from "react-icons";
3
4
  import { Flex, Text, Theme } from "theme-ui";
@@ -9,6 +10,7 @@ interface ItemHeaderProps {
9
10
  sliceFieldName: string | undefined;
10
11
  theme: Theme;
11
12
  WidgetIcon: IconType;
13
+ widgetIconTooltip: string;
12
14
  }
13
15
 
14
16
  const ItemHeader: React.FC<ItemHeaderProps> = ({
@@ -16,20 +18,24 @@ const ItemHeader: React.FC<ItemHeaderProps> = ({
16
18
  sliceFieldName,
17
19
  theme,
18
20
  WidgetIcon,
21
+ widgetIconTooltip,
19
22
  }) => (
20
23
  <Flex sx={{ alignItems: "center", position: "relative" }}>
21
- <WidgetIcon
22
- size={28}
23
- style={{
24
- color: theme.colors?.primary as CSS.Property.Color,
25
- marginRight: "8px",
26
- borderRadius: "4px",
27
- padding: "4px",
28
- border: "2px solid",
29
- borderColor: theme.colors?.primary as CSS.Property.Color,
30
- flexShrink: 0,
31
- }}
32
- />
24
+ <Tooltip content={widgetIconTooltip} sideOffset={2} disableHoverableContent>
25
+ <Box margin={{ right: 8 }}>
26
+ <WidgetIcon
27
+ size={28}
28
+ style={{
29
+ color: theme.colors?.primary as CSS.Property.Color,
30
+ borderRadius: "4px",
31
+ padding: "4px",
32
+ border: "2px solid",
33
+ borderColor: theme.colors?.primary as CSS.Property.Color,
34
+ flexShrink: 0,
35
+ }}
36
+ />
37
+ </Box>
38
+ </Tooltip>
33
39
  <TextWithTooltip
34
40
  text={text}
35
41
  as="p"
@@ -114,6 +114,7 @@ function ListItem<F extends TabField, S extends AnyObjectSchema>({
114
114
  renderFieldAccessor && renderFieldAccessor(key)
115
115
  }
116
116
  WidgetIcon={widget.Meta.icon}
117
+ widgetIconTooltip={widget.label}
117
118
  />
118
119
  <Flex sx={{ flex: "0 0 auto" }}>
119
120
  {shouldDisplayRepeatableBadge && (
@@ -13,8 +13,10 @@ import {
13
13
  Text,
14
14
  } from "theme-ui";
15
15
 
16
- import { checkAuthStatus, getState, startAuth } from "@/apiClient";
16
+ import { checkAuthStatus, clearAuth, getState } from "@/apiClient";
17
17
  import { getActiveEnvironment } from "@/features/environments/actions/getActiveEnvironment";
18
+ import { invalidateActiveEnvironmentData } from "@/features/environments/useActiveEnvironment";
19
+ import { invalidateEnvironmentsData } from "@/features/environments/useEnvironments";
18
20
  import { useAutoSync } from "@/features/sync/AutoSyncProvider";
19
21
  import { getUnSyncedChanges } from "@/features/sync/getUnSyncChanges";
20
22
  import SliceMachineModal from "@/legacy/components/SliceMachineModal";
@@ -50,7 +52,7 @@ const LoginModal: React.FunctionComponent = () => {
50
52
  }),
51
53
  );
52
54
  const { syncChanges } = useAutoSync();
53
- const { closeModals, startLoadingLogin, stopLoadingLogin } =
55
+ const { closeModals, startLoadingLogin, stopLoadingLogin, refreshState } =
54
56
  useSliceMachineActions();
55
57
 
56
58
  const prismicBase = preferWroomBase(env.manifest.apiEndpoint);
@@ -64,7 +66,7 @@ const LoginModal: React.FunctionComponent = () => {
64
66
 
65
67
  try {
66
68
  startLoadingLogin();
67
- await startAuth();
69
+ await clearAuth();
68
70
  window.open(loginRedirectUrl, "_blank");
69
71
  await startPolling<CheckAuthStatusResponse, ValidAuthStatus>(
70
72
  checkAuthStatus,
@@ -76,11 +78,17 @@ const LoginModal: React.FunctionComponent = () => {
76
78
  60,
77
79
  );
78
80
 
81
+ // refresh queries to update the UI
82
+ invalidateEnvironmentsData();
83
+ invalidateActiveEnvironmentData();
84
+
79
85
  toast.success("Logged in");
80
86
  stopLoadingLogin();
81
87
  closeModals();
82
88
 
83
89
  const serverState = await getState();
90
+ refreshState(serverState);
91
+
84
92
  const slices = normalizeFrontendSlices(
85
93
  serverState.libraries,
86
94
  serverState.remoteSlices,
@@ -18,6 +18,7 @@ import type { Environment } from "@slicemachine/manager/client";
18
18
  import { clsx } from "clsx";
19
19
  import type { FC, ReactNode } from "react";
20
20
 
21
+ import { LogoutButton } from "@/features/auth/LogoutButton";
21
22
  import { LoginIcon } from "@/icons/LoginIcon";
22
23
  import { LogoIcon } from "@/icons/LogoIcon";
23
24
 
@@ -138,6 +139,8 @@ export const SideNavEnvironmentSelector: FC<SideNavEnvironmentSelectorProps> = (
138
139
  }
139
140
  />
140
141
  ) : undefined}
142
+
143
+ {variant === "default" && <LogoutButton />}
141
144
  </Box>
142
145
  </>
143
146
  )}
@@ -60,6 +60,7 @@ const EditModal = ({ close, data, fields, onSave, zoneType }) => {
60
60
  FormFields,
61
61
  Form: CustomForm,
62
62
  schema: widgetSchema,
63
+ label: widgetLabel,
63
64
  } = maybeWidget;
64
65
 
65
66
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
@@ -163,15 +164,7 @@ const EditModal = ({ close, data, fields, onSave, zoneType }) => {
163
164
  >
164
165
  {(props) => {
165
166
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-assignment
166
- const {
167
- values: {
168
- id,
169
- config: { label },
170
- },
171
- isValid,
172
- isSubmitting,
173
- initialValues,
174
- } = props;
167
+ const { isValid, isSubmitting, initialValues } = props;
175
168
 
176
169
  // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
177
170
  const fieldModelTabContent = CustomForm ? (
@@ -226,7 +219,7 @@ const EditModal = ({ close, data, fields, onSave, zoneType }) => {
226
219
  <ItemHeader
227
220
  theme={theme}
228
221
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/strict-boolean-expressions
229
- text={label || id}
222
+ text={widgetLabel}
230
223
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
231
224
  WidgetIcon={WidgetIcon}
232
225
  />
@@ -2,6 +2,8 @@ import { BooleanField } from "@prismicio/types-internal/lib/customtypes/widgets/
2
2
  import { MdOutlineToggleOff } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { booleanField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { DefaultFields } from "../../../../forms/defaults";
7
9
  import { CheckBox, Input } from "../../../../forms/fields";
@@ -68,4 +70,5 @@ export const BooleanWidget: Widget<BooleanField, typeof schema> = {
68
70
  Meta,
69
71
  schema,
70
72
  FormFields,
73
+ label: booleanField.name,
71
74
  };
@@ -1,6 +1,8 @@
1
1
  import { Color } from "@prismicio/types-internal/lib/customtypes/widgets/nestable";
2
2
  import { MdOutlineColorLens } from "react-icons/md";
3
3
 
4
+ import { colorField } from "@/domain/fields";
5
+
4
6
  import { createDefaultWidgetValues } from "../../../../utils";
5
7
  import { Widget } from "../Widget";
6
8
 
@@ -31,4 +33,5 @@ export const ColorWidget: Widget<Color, typeof schema> = {
31
33
  TYPE_NAME,
32
34
  schema,
33
35
  Meta,
36
+ label: colorField.name,
34
37
  };
@@ -2,6 +2,8 @@ import { Link } from "@prismicio/types-internal/lib/customtypes/widgets/nestable
2
2
  import { MdSettingsEthernet } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { contentRelationshipField } from "@/domain/fields";
6
+
5
7
  import { linkConfigSchema } from "../Link";
6
8
  import { Widget } from "../Widget";
7
9
  import Form, { FormFields } from "./Form";
@@ -102,4 +104,5 @@ export const ContentRelationshipWidget: Widget<Link, typeof schema> = {
102
104
  ),
103
105
  };
104
106
  },
107
+ label: contentRelationshipField.name,
105
108
  };
@@ -1,6 +1,8 @@
1
1
  import { Date } from "@prismicio/types-internal/lib/customtypes/widgets/nestable";
2
2
  import { MdDateRange } from "react-icons/md";
3
3
 
4
+ import { dateField } from "@/domain/fields";
5
+
4
6
  import { createDefaultWidgetValues } from "../../../../utils";
5
7
  import { Widget } from "../Widget";
6
8
 
@@ -32,4 +34,5 @@ export const DateWidget: Widget<Date, typeof schema> = {
32
34
  TYPE_NAME: "Date",
33
35
  schema,
34
36
  Meta,
37
+ label: dateField.name,
35
38
  };
@@ -1,6 +1,8 @@
1
1
  import { Embed } from "@prismicio/types-internal/lib/customtypes/widgets/nestable";
2
2
  import { MdCode } from "react-icons/md";
3
3
 
4
+ import { embedField } from "@/domain/fields";
5
+
4
6
  import { createDefaultWidgetValues } from "../../../../utils";
5
7
  import { Widget } from "../Widget";
6
8
 
@@ -32,4 +34,5 @@ export const EmbedWidget: Widget<Embed, typeof schema> = {
32
34
  TYPE_NAME: "Embed",
33
35
  schema,
34
36
  Meta,
37
+ label: embedField.name,
35
38
  };
@@ -2,6 +2,8 @@ import { GeoPoint } from "@prismicio/types-internal/lib/customtypes/widgets/nest
2
2
  import { MdOutlinePlace } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { geoPointField } from "@/domain/fields";
6
+
5
7
  import { DefaultFields } from "../../../../forms/defaults";
6
8
  import { Widget } from "../Widget";
7
9
 
@@ -52,4 +54,5 @@ export const GeoPointWidget: Widget<GeoPoint, typeof schema> = {
52
54
  TYPE_NAME: "GeoPoint",
53
55
  schema,
54
56
  Meta,
57
+ label: geoPointField.name,
55
58
  };
@@ -1,6 +1,7 @@
1
1
  import { MdOutlineCreateNewFolder } from "react-icons/md";
2
2
  import * as yup from "yup";
3
3
 
4
+ import { groupField } from "@/domain/fields";
4
5
  import { TabField } from "@/legacy/lib/models/common/CustomType";
5
6
  import {
6
7
  type GroupSM,
@@ -76,5 +77,6 @@ export function createGroupWidget({
76
77
  TYPE_NAME: "Group",
77
78
  CUSTOM_NAME: customName,
78
79
  hintItemName,
80
+ label: groupField.name,
79
81
  };
80
82
  }
@@ -2,6 +2,8 @@ import { Image } from "@prismicio/types-internal/lib/customtypes/widgets/nestabl
2
2
  import { MdOutlineImage } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { imageField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { removeProp } from "../../../../utils";
7
9
  import { Widget } from "../Widget";
@@ -55,4 +57,5 @@ export const ImageWidget: Widget<Image, typeof schema> = {
55
57
  }),
56
58
  FormFields,
57
59
  TYPE_NAME: "Image",
60
+ label: imageField.name,
58
61
  };
@@ -2,6 +2,8 @@ import { Link } from "@prismicio/types-internal/lib/customtypes";
2
2
  import { MdLink } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { linkField } from "@/domain/fields";
6
+
5
7
  import { Widget } from "../Widget";
6
8
  import Form, { FormFields } from "./Form";
7
9
 
@@ -115,4 +117,5 @@ export const LinkWidget: Widget<Link, typeof schema> = {
115
117
  },
116
118
  }),
117
119
  TYPE_NAME: "Link",
120
+ label: linkField.name,
118
121
  };
@@ -2,6 +2,7 @@ import { Link } from "@prismicio/types-internal/lib/customtypes/widgets/nestable
2
2
  import { MdAttachFile } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { linkToMediaField } from "@/domain/fields";
5
6
  import { linkConfigSchema } from "@/legacy/lib/models/common/widgets/Link";
6
7
 
7
8
  import { Widget } from "../Widget";
@@ -45,4 +46,5 @@ export const LinkToMediaWidget: Widget<Link, typeof schema> = {
45
46
  }),
46
47
  TYPE_NAME: "Link",
47
48
  CUSTOM_NAME: "LinkToMedia",
49
+ label: linkToMediaField.name,
48
50
  };
@@ -1,6 +1,8 @@
1
1
  import { Number as PrismicNumber } from "@prismicio/types-internal/lib/customtypes/widgets/nestable";
2
2
  import { MdOutlinePin } from "react-icons/md";
3
3
 
4
+ import { numberField } from "@/domain/fields";
5
+
4
6
  import { createDefaultWidgetValues } from "../../../../utils";
5
7
  import { Widget } from "../Widget";
6
8
 
@@ -32,4 +34,5 @@ export const NumberWidget: Widget<PrismicNumber, typeof schema> = {
32
34
  TYPE_NAME: "Number",
33
35
  schema,
34
36
  Meta,
37
+ label: numberField.name,
35
38
  };
@@ -2,6 +2,8 @@ import { Select } from "@prismicio/types-internal/lib/customtypes/widgets/nestab
2
2
  import { MdOutlineArrowDropDownCircle } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { selectField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { removeProp } from "../../../../utils";
7
9
  import { Widget } from "../Widget";
@@ -45,4 +47,5 @@ export const SelectWidget: Widget<Select, typeof schema> = {
45
47
  schema,
46
48
  Meta,
47
49
  TYPE_NAME: "Select",
50
+ label: selectField.name,
48
51
  };
@@ -2,6 +2,8 @@ import { RichText } from "@prismicio/types-internal/lib/customtypes/widgets/nest
2
2
  import { MdTextFields } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { richTextField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { removeProp } from "../../../../utils";
7
9
  import { Widget } from "../Widget";
@@ -55,4 +57,5 @@ export const StructuredTextWidget: Widget<RichText, typeof schema> = {
55
57
  schema,
56
58
  TYPE_NAME: "StructuredText",
57
59
  Form,
60
+ label: richTextField.name,
58
61
  };
@@ -3,6 +3,8 @@ import { Table } from "@prismicio/types-internal/lib/customtypes/widgets/nestabl
3
3
  import { FaTable } from "react-icons/fa";
4
4
  import * as yup from "yup";
5
5
 
6
+ import { tableField } from "@/domain/fields";
7
+
6
8
  import { DefaultFields } from "../../../../forms/defaults";
7
9
  import { Widget } from "../Widget";
8
10
 
@@ -49,4 +51,5 @@ export const TableWidget: Widget<Table, typeof schema> = {
49
51
  TYPE_NAME: "Table",
50
52
  schema,
51
53
  Meta,
54
+ label: tableField.name,
52
55
  };
@@ -2,6 +2,8 @@ import { Text } from "@prismicio/types-internal/lib/customtypes/widgets/nestable
2
2
  import { MdTitle } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { textField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { DefaultFields } from "../../../../forms/defaults";
7
9
  /**
@@ -45,4 +47,5 @@ export const TextWidget: Widget<Text, typeof schema> = {
45
47
  TYPE_NAME: "Text",
46
48
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
47
49
  FormFields,
50
+ label: textField.name,
48
51
  };
@@ -2,6 +2,8 @@ import { Timestamp } from "@prismicio/types-internal/lib/customtypes/widgets/nes
2
2
  import { MdSchedule } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { timestampField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { DefaultFields } from "../../../../forms/defaults";
7
9
  /** {
@@ -43,4 +45,5 @@ export const TimestampWidget: Widget<Timestamp, typeof schema> = {
43
45
  FormFields,
44
46
  TYPE_NAME: "Timestamp",
45
47
  Meta,
48
+ label: timestampField.name,
46
49
  };
@@ -2,6 +2,8 @@ import { UID } from "@prismicio/types-internal/lib/customtypes/widgets";
2
2
  import { MdTag } from "react-icons/md";
3
3
  import * as yup from "yup";
4
4
 
5
+ import { uidField } from "@/domain/fields";
6
+
5
7
  import { createValidationSchema } from "../../../../forms";
6
8
  import { DefaultFields } from "../../../../forms/defaults";
7
9
  /**
@@ -50,4 +52,5 @@ export const UIDWidget: Widget<UID, typeof schema> = {
50
52
  schema,
51
53
  TYPE_NAME: "UID",
52
54
  FormFields,
55
+ label: uidField.name,
53
56
  };
@@ -24,6 +24,7 @@ interface WidgetBase<F extends TabField, S extends AnyObjectSchema> {
24
24
  customTypes: LocalOnlyCustomType[],
25
25
  initialValues: F["config"],
26
26
  ) => F["config"];
27
+ label: string;
27
28
  }
28
29
 
29
30
  export type Widget<F extends TabField, S extends AnyObjectSchema> = F extends
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,e,t,i,b,f,d,n,u,h,l,k,j,p,g,o,r,m){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[s,e,p,g,"static/chunks/pages/index-0d8cb369de720a35.js"],"/_error":["static/chunks/pages/_error-fedd2c6ebd3d27b9.js"],"/changelog":[c,t,"static/chunks/870-a72b74312773efea.js","static/chunks/pages/changelog-98836c22c6a40c5d.js"],"/changes":[c,i,"static/chunks/8eec4907-b712959d9f984b68.js","static/chunks/918-fa4f2563cb5fd014.js",a,f,"static/css/d98ebc475f8423a3.css","static/chunks/pages/changes-2bd69f3877d60b26.js"],"/custom-types":[s,e,p,g,"static/chunks/pages/custom-types-5acd56959b60346f.js"],"/custom-types/[customTypeId]":[c,d,n,u,h,s,t,b,l,o,a,e,k,j,r,m,"static/chunks/pages/custom-types/[customTypeId]-4024560ca59ad2be.js"],"/labs":["static/chunks/pages/labs-ad7f36c6f544c1a8.js"],"/page-types/[pageTypeId]":[c,d,n,u,h,s,t,b,l,o,a,e,k,j,r,m,"static/chunks/pages/page-types/[pageTypeId]-0d2416da0958eb40.js"],"/slices":[c,i,s,b,a,f,j,"static/css/efa5152b7c0f35c0.css","static/chunks/pages/slices-fe1bb16ff3020762.js"],"/slices/[lib]/[sliceName]/[variation]":[c,i,d,n,u,h,s,t,b,l,a,k,f,"static/css/cdee5b195444f185.css","static/chunks/pages/slices/[lib]/[sliceName]/[variation]-8b6e7854cb3466d4.js"],"/slices/[lib]/[sliceName]/[variation]/simulator":[i,"static/chunks/72585f70-28b4d7d5384b3703.js","static/chunks/157-54b8336d20b41933.js","static/chunks/pages/slices/[lib]/[sliceName]/[variation]/simulator-0ecd552897e61e29.js"],sortedPages:["/","/_app","/_error","/changelog","/changes","/custom-types","/custom-types/[customTypeId]","/labs","/page-types/[pageTypeId]","/slices","/slices/[lib]/[sliceName]/[variation]","/slices/[lib]/[sliceName]/[variation]/simulator"]}}("static/chunks/397-e6c340070a3bcb41.js","static/chunks/59b4e022-ef680789f7cc9b11.js","static/chunks/34-6c3125e6f01c62c7.js","static/chunks/647-7b9b5aa9468f9e4b.js","static/chunks/183-4ea255b867ff171b.js","static/chunks/c8eae200-966ce352f7b5d2b9.js","static/chunks/44-a2056f993381ad0f.js","static/chunks/658-8231c0b729e0124a.js","static/chunks/f36c6662-1f3a854183168b10.js","static/chunks/4c744e84-480e426e4b1cfef3.js","static/chunks/065a3ddb-9a38ca0d60f0bf2f.js","static/chunks/1cc2734a-09fb3b997ad1eb70.js","static/chunks/349-7118116b93278f73.js","static/chunks/630-799c128fd87fa645.js","static/chunks/907-a42dc5698d5dc000.js","static/chunks/248-6f20227ad4764216.js","static/css/4e475d945cf8a890.css","static/chunks/385-b949173dfa03dd3e.js","static/chunks/489-a42bd4eeb1350d97.js","static/css/56f2a6684a524374.css"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();