@mattisvensson/strapi-plugin-webatlas 0.6.1 → 0.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 (51) hide show
  1. package/README.md +9 -2
  2. package/dist/_chunks/{de-CL1TIZPg.js → de-BZc1BkzH.js} +4 -1
  3. package/dist/_chunks/{de-CL1TIZPg.js.map → de-BZc1BkzH.js.map} +1 -1
  4. package/dist/_chunks/{de-CzVD4dbZ.mjs → de-oxxH8hft.mjs} +4 -1
  5. package/dist/_chunks/{de-CzVD4dbZ.mjs.map → de-oxxH8hft.mjs.map} +1 -1
  6. package/dist/_chunks/{en-Du-Ap60j.js → en-Deg4n_IM.js} +4 -1
  7. package/dist/_chunks/{en-Du-Ap60j.js.map → en-Deg4n_IM.js.map} +1 -1
  8. package/dist/_chunks/{en-Nk6QcTdr.mjs → en-DqC5aDzA.mjs} +4 -1
  9. package/dist/_chunks/{en-Nk6QcTdr.mjs.map → en-DqC5aDzA.mjs.map} +1 -1
  10. package/dist/_chunks/{index-C2V-ZFHK.mjs → index-B6MYtu3A.mjs} +79 -53
  11. package/dist/_chunks/{index-DCCE7rxt.js.map → index-B6MYtu3A.mjs.map} +1 -1
  12. package/dist/_chunks/index-BEgpEtto.mjs +247 -0
  13. package/dist/_chunks/index-BEgpEtto.mjs.map +1 -0
  14. package/dist/_chunks/{index-BvqWnL1-.js → index-BOEv4jIJ.js} +6 -6
  15. package/dist/_chunks/{index-BvqWnL1-.js.map → index-BOEv4jIJ.js.map} +1 -1
  16. package/dist/_chunks/{index-DYKhGn15.mjs → index-BPhRQoGD.mjs} +2 -2
  17. package/dist/_chunks/{index-DYKhGn15.mjs.map → index-BPhRQoGD.mjs.map} +1 -1
  18. package/dist/_chunks/index-BdlPAWj6.mjs +246 -0
  19. package/dist/_chunks/index-Bg96TqDm.js +247 -0
  20. package/dist/_chunks/index-Bg96TqDm.js.map +1 -0
  21. package/dist/_chunks/{index-Bfu5AVqu.mjs → index-BgzZLDPv.mjs} +78 -52
  22. package/dist/_chunks/index-BoVX1KF8.js +246 -0
  23. package/dist/_chunks/{index-B5ji2Qhs.js → index-ByU38WNH.js} +5 -5
  24. package/dist/_chunks/{index-JVvkmiKE.mjs → index-CZ5qsGXH.mjs} +6 -6
  25. package/dist/_chunks/{index-JVvkmiKE.mjs.map → index-CZ5qsGXH.mjs.map} +1 -1
  26. package/dist/_chunks/{index-DesLqdi-.mjs → index-D3xDvB4d.mjs} +5 -5
  27. package/dist/_chunks/{index-BKds0CRq.mjs → index-DKdAgBbF.mjs} +1 -1
  28. package/dist/_chunks/{index-Cp_UPsle.js → index-D_QCV5Z5.js} +2 -2
  29. package/dist/_chunks/{index-Cp_UPsle.js.map → index-D_QCV5Z5.js.map} +1 -1
  30. package/dist/_chunks/{index-D2CkoDhN.js → index-UJ0LQ3Y3.js} +1 -1
  31. package/dist/_chunks/{index-BJHlAfrS.js → index-dSU20yZ4.js} +78 -52
  32. package/dist/_chunks/{index-DCCE7rxt.js → index-mObQ5NXj.js} +79 -53
  33. package/dist/_chunks/index-mObQ5NXj.js.map +1 -0
  34. package/dist/admin/index.js +1 -1
  35. package/dist/admin/index.mjs +1 -1
  36. package/dist/admin/src/pages/Routes/TableHeader.d.ts +5 -1
  37. package/dist/admin/src/pages/Routes/compareBy.d.ts +2 -0
  38. package/dist/server/index.js +1 -1
  39. package/dist/server/index.mjs +1 -1
  40. package/package.json +1 -1
  41. package/dist/_chunks/EmptyBox-BM4IscSk.mjs +0 -13
  42. package/dist/_chunks/EmptyBox-BM4IscSk.mjs.map +0 -1
  43. package/dist/_chunks/EmptyBox-T8t29l25.js +0 -12
  44. package/dist/_chunks/EmptyBox-T8t29l25.js.map +0 -1
  45. package/dist/_chunks/index-BEwslndX.js +0 -127
  46. package/dist/_chunks/index-BEwslndX.js.map +0 -1
  47. package/dist/_chunks/index-C-4C6ezO.mjs +0 -126
  48. package/dist/_chunks/index-C2V-ZFHK.mjs.map +0 -1
  49. package/dist/_chunks/index-DBVU2KOj.js +0 -126
  50. package/dist/_chunks/index-mUDowsKQ.mjs +0 -127
  51. package/dist/_chunks/index-mUDowsKQ.mjs.map +0 -1
package/README.md CHANGED
@@ -94,9 +94,16 @@ For each selected content type, you have the following settings:
94
94
 
95
95
  ## 📖 Usage
96
96
 
97
+ ### Setting the path field
98
+ To set the path (slug) field for a content type, you need to ensure that the content type is enabled for Webatlas in the settings page. Once enabled, the plugin will automatically generate and manage the slug based on your configuration. The generated slug will be visible in the content type's aside panel when editing an entry. The **uid route** and **document route** will also be displayed there. These two path are permanent and cannot be changed.
99
+
100
+ Hint: If you want a page to be at the root of your website, override the automatic slug generation by setting the slug to `(frontpage)`.
101
+
102
+ ### API endpoints
103
+
97
104
  Webatlas provides two API endpoints. One to fetch routes and one to fetch navigations.
98
105
 
99
- ### Fetch route
106
+ #### Fetch route
100
107
 
101
108
  `GET /api/webatlas/path`
102
109
 
@@ -107,7 +114,7 @@ Query parameters:
107
114
  - `fields` (string, optional): Comma-separated list of fields to include in the response.
108
115
  - `status` (string, optional): `draft` or `published`. Default is `published`. Returns the draft or published version of the entity.
109
116
 
110
- ### Fetch navigation
117
+ #### Fetch navigation
111
118
 
112
119
  `GET /api/webatlas/navigation`
113
120
 
@@ -13,6 +13,7 @@ const de = {
13
13
  "webatlas.routes.page.subtitle": "Übersicht aller vorhandenen Routen",
14
14
  "webatlas.routes.page.emptyRoutes": "Es wurden keine Routen gefunden",
15
15
  "webatlas.routes.page.column.type": "Typ",
16
+ "webatlas.routes.page.searchPlaceholder": "Routen suchen",
16
17
  "webatlas.settings.page.subtitle": "Konfigurieren Sie Ihre Webatlas-Plugin-Einstellungen",
17
18
  "webatlas.settings.page.enabledContentTypes": "Aktivierte Inhaltstypen",
18
19
  "webatlas.settings.page.enabledContentTypes.hint": "Wählen Sie die Inhaltstypen aus, für die Sie URL-Aliase aktivieren möchten",
@@ -90,6 +91,8 @@ const de = {
90
91
  "webatlas.route.type.internal": "Intern",
91
92
  "webatlas.route.type.external": "Extern",
92
93
  "webatlas.route.type.wrapper": "Wrapper",
94
+ "webatlas.link.navigation": "Navigation",
95
+ "webatlas.link.routes": "Routen",
93
96
  "webatlas.title": "Titel",
94
97
  "webatlas.route": "Route",
95
98
  "webatlas.actions": "Aktionen",
@@ -115,4 +118,4 @@ const de = {
115
118
  "webatlas.notification.navigation.creationFailed": "Erstellung der Navigation fehlgeschlagen"
116
119
  };
117
120
  exports.default = de;
118
- //# sourceMappingURL=de-CL1TIZPg.js.map
121
+ //# sourceMappingURL=de-BZc1BkzH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"de-CL1TIZPg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"de-BZc1BkzH.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,6 +11,7 @@ const de = {
11
11
  "webatlas.routes.page.subtitle": "Übersicht aller vorhandenen Routen",
12
12
  "webatlas.routes.page.emptyRoutes": "Es wurden keine Routen gefunden",
13
13
  "webatlas.routes.page.column.type": "Typ",
14
+ "webatlas.routes.page.searchPlaceholder": "Routen suchen",
14
15
  "webatlas.settings.page.subtitle": "Konfigurieren Sie Ihre Webatlas-Plugin-Einstellungen",
15
16
  "webatlas.settings.page.enabledContentTypes": "Aktivierte Inhaltstypen",
16
17
  "webatlas.settings.page.enabledContentTypes.hint": "Wählen Sie die Inhaltstypen aus, für die Sie URL-Aliase aktivieren möchten",
@@ -88,6 +89,8 @@ const de = {
88
89
  "webatlas.route.type.internal": "Intern",
89
90
  "webatlas.route.type.external": "Extern",
90
91
  "webatlas.route.type.wrapper": "Wrapper",
92
+ "webatlas.link.navigation": "Navigation",
93
+ "webatlas.link.routes": "Routen",
91
94
  "webatlas.title": "Titel",
92
95
  "webatlas.route": "Route",
93
96
  "webatlas.actions": "Aktionen",
@@ -115,4 +118,4 @@ const de = {
115
118
  export {
116
119
  de as default
117
120
  };
118
- //# sourceMappingURL=de-CzVD4dbZ.mjs.map
121
+ //# sourceMappingURL=de-oxxH8hft.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"de-CzVD4dbZ.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"de-oxxH8hft.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -13,6 +13,7 @@ const en = {
13
13
  "webatlas.routes.page.subtitle": "Overview of all existing routes",
14
14
  "webatlas.routes.page.emptyRoutes": "No routes found",
15
15
  "webatlas.routes.page.column.type": "Type",
16
+ "webatlas.routes.page.searchPlaceholder": "Search routes",
16
17
  "webatlas.settings.page.subtitle": "Configure your Webatlas plugin settings",
17
18
  "webatlas.settings.page.enabledContentTypes": "Enabled Content Types",
18
19
  "webatlas.settings.page.enabledContentTypes.hint": "Select the content types for which you want to enable URL aliases",
@@ -90,6 +91,8 @@ const en = {
90
91
  "webatlas.route.type.internal": "Internal",
91
92
  "webatlas.route.type.external": "External",
92
93
  "webatlas.route.type.wrapper": "Wrapper",
94
+ "webatlas.link.navigation": "Navigation",
95
+ "webatlas.link.routes": "Routes",
93
96
  "webatlas.title": "Title",
94
97
  "webatlas.route": "Route",
95
98
  "webatlas.actions": "Actions",
@@ -115,4 +118,4 @@ const en = {
115
118
  "webatlas.notification.navigation.creationFailed": "Creation of navigation failed"
116
119
  };
117
120
  exports.default = en;
118
- //# sourceMappingURL=en-Du-Ap60j.js.map
121
+ //# sourceMappingURL=en-Deg4n_IM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-Du-Ap60j.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en-Deg4n_IM.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,6 +11,7 @@ const en = {
11
11
  "webatlas.routes.page.subtitle": "Overview of all existing routes",
12
12
  "webatlas.routes.page.emptyRoutes": "No routes found",
13
13
  "webatlas.routes.page.column.type": "Type",
14
+ "webatlas.routes.page.searchPlaceholder": "Search routes",
14
15
  "webatlas.settings.page.subtitle": "Configure your Webatlas plugin settings",
15
16
  "webatlas.settings.page.enabledContentTypes": "Enabled Content Types",
16
17
  "webatlas.settings.page.enabledContentTypes.hint": "Select the content types for which you want to enable URL aliases",
@@ -88,6 +89,8 @@ const en = {
88
89
  "webatlas.route.type.internal": "Internal",
89
90
  "webatlas.route.type.external": "External",
90
91
  "webatlas.route.type.wrapper": "Wrapper",
92
+ "webatlas.link.navigation": "Navigation",
93
+ "webatlas.link.routes": "Routes",
91
94
  "webatlas.title": "Title",
92
95
  "webatlas.route": "Route",
93
96
  "webatlas.actions": "Actions",
@@ -115,4 +118,4 @@ const en = {
115
118
  export {
116
119
  en as default
117
120
  };
118
- //# sourceMappingURL=en-Nk6QcTdr.mjs.map
121
+ //# sourceMappingURL=en-DqC5aDzA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"en-Nk6QcTdr.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en-DqC5aDzA.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,14 @@
1
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { useNavigate, useParams, Routes, Route } from "react-router-dom";
3
3
  import { Trash, Pencil, Check, Drag, More, Link, OneToMany, ExternalLink, Plus } from "@strapi/icons";
4
- import { Dialog, Typography, Button, Modal, Flex, SingleSelect, SingleSelectOption, Grid, Box, Field, Toggle, Divider, Status, SimpleMenu, IconButton, MenuItem } from "@strapi/design-system";
4
+ import { Box, Typography, Dialog, Button, Modal, Flex, SingleSelect, SingleSelectOption, Grid, Field, Toggle, Divider, Status, SimpleMenu, IconButton, MenuItem } from "@strapi/design-system";
5
5
  import { useState, useEffect, createContext, useRef, useContext, useReducer, useCallback, useMemo, forwardRef } from "react";
6
6
  import { createPortal } from "react-dom";
7
7
  import { useIntl } from "react-intl";
8
- import { u as useApi, g as getTranslation, d as debounce, a as duplicateCheck, t as transformToUrl, U as URLInfo } from "./index-JVvkmiKE.mjs";
8
+ import { u as useApi, g as getTranslation, d as debounce, a as duplicateCheck, t as transformToUrl, U as URLInfo } from "./index-CZ5qsGXH.mjs";
9
9
  import { useFetchClient, useNotification, Page, Layouts } from "@strapi/strapi/admin";
10
10
  import { C as Center, F as FullLoader } from "./FullLoader-CrPED_dY.mjs";
11
- import { E as EmptyBox } from "./EmptyBox-BM4IscSk.mjs";
11
+ import { EmptyDocuments } from "@strapi/icons/symbols";
12
12
  import { MeasuringStrategy, DndContext, closestCenter, DragOverlay } from "@dnd-kit/core";
13
13
  import { arrayMove, useSortable, SortableContext, verticalListSortingStrategy } from "@dnd-kit/sortable";
14
14
  import { CSS } from "@dnd-kit/utilities";
@@ -81,6 +81,12 @@ function createTempNavItemObject({
81
81
  };
82
82
  return tempNavItem;
83
83
  }
84
+ function EmptyBox({ msg }) {
85
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
86
+ /* @__PURE__ */ jsx(EmptyDocuments, { width: "10rem", height: "6rem" }),
87
+ /* @__PURE__ */ jsx(Box, { padding: 4, children: /* @__PURE__ */ jsx(Typography, { variant: "beta", textColor: "neutral600", children: msg }) })
88
+ ] });
89
+ }
84
90
  const ModalContext = createContext({ modalType: "", setModalType: () => {
85
91
  } });
86
92
  const SelectedNavigationContext = createContext({ selectedNavigation: void 0, setSelectedNavigation: () => {
@@ -4629,6 +4635,7 @@ function ItemCreateComponent({
4629
4635
  onCreate
4630
4636
  }) {
4631
4637
  const [loading, setLoading] = useState(false);
4638
+ const [loadingRoute, setLoadingRoute] = useState(true);
4632
4639
  const { formatMessage } = useIntl();
4633
4640
  useEffect(() => {
4634
4641
  if (!entities) return;
@@ -4644,9 +4651,10 @@ function ItemCreateComponent({
4644
4651
  useEffect(() => {
4645
4652
  async function fetchRoute() {
4646
4653
  if (selectedContentType?.contentType && selectedEntity?.id) {
4654
+ setLoadingRoute(true);
4647
4655
  try {
4648
4656
  const route = await getRelatedRoute(selectedEntity.documentId);
4649
- if (!route) return;
4657
+ if (!route) throw new Error("No route found for the selected entity");
4650
4658
  dispatchPath({ type: "NO_URL_CHECK", payload: route.fullPath });
4651
4659
  dispatchPath({ type: "SET_UIDPATH", payload: route.uidPath });
4652
4660
  dispatchPath({ type: "SET_INITIALPATH", payload: route.fullPath });
@@ -4664,6 +4672,8 @@ function ItemCreateComponent({
4664
4672
  setEntityRoute(route);
4665
4673
  } catch (err) {
4666
4674
  console.log(err);
4675
+ } finally {
4676
+ setLoadingRoute(false);
4667
4677
  }
4668
4678
  }
4669
4679
  }
@@ -4690,6 +4700,68 @@ function ItemCreateComponent({
4690
4700
  setLoading(false);
4691
4701
  }
4692
4702
  };
4703
+ function ItemDetails() {
4704
+ if (loadingRoute) return /* @__PURE__ */ jsx(FullLoader, { height: 50 });
4705
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Grid.Root, { gap: 4, children: [
4706
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, alignItems: "baseline", children: /* @__PURE__ */ jsx(Box, { width: "100%", children: /* @__PURE__ */ jsxs(Field.Root, { children: [
4707
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
4708
+ id: getTranslation("modal.item.titleField.label"),
4709
+ defaultMessage: "Title"
4710
+ }) }),
4711
+ /* @__PURE__ */ jsx(
4712
+ Field.Input,
4713
+ {
4714
+ placeholder: formatMessage({
4715
+ id: getTranslation("modal.item.titleField.placeholder"),
4716
+ defaultMessage: "e.g. About us"
4717
+ }),
4718
+ name: "title",
4719
+ value: navItemState.title || "",
4720
+ onChange: (e) => dispatchItemState({ type: "SET_TITLE", payload: e.target.value }),
4721
+ required: true
4722
+ }
4723
+ )
4724
+ ] }) }) }),
4725
+ /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(Box, { width: "100%", children: [
4726
+ /* @__PURE__ */ jsxs(Field.Root, { children: [
4727
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
4728
+ id: getTranslation("modal.item.routeField.label"),
4729
+ defaultMessage: "Route"
4730
+ }) }),
4731
+ /* @__PURE__ */ jsx(
4732
+ Field.Input,
4733
+ {
4734
+ required: true,
4735
+ placeholder: formatMessage({
4736
+ id: getTranslation("modal.item.routeField.placeholder"),
4737
+ defaultMessage: "e.g. about/"
4738
+ }),
4739
+ name: "slug",
4740
+ value: path?.value || "",
4741
+ onChange: (e) => dispatchPath({ type: "NO_TRANSFORM_AND_CHECK", payload: e.target.value }),
4742
+ onBlur: (e) => {
4743
+ if (e.target.value === path.prevValue) return;
4744
+ dispatchPath({ type: "DEFAULT", payload: e.target.value });
4745
+ }
4746
+ }
4747
+ )
4748
+ ] }),
4749
+ /* @__PURE__ */ jsx(URLInfo, { validationState, replacement })
4750
+ ] }) })
4751
+ ] }) });
4752
+ }
4753
+ if (availableEntities && availableEntities.length === 0) {
4754
+ return /* @__PURE__ */ jsx(
4755
+ NavModal,
4756
+ {
4757
+ confirmText: formatMessage({ id: getTranslation("add"), defaultMessage: "Add" }),
4758
+ closeText: formatMessage({ id: getTranslation("cancel"), defaultMessage: "Cancel" }),
4759
+ titleText: formatMessage({ id: getTranslation("modal.internalItem.titleText.create"), defaultMessage: "Add new navigation item" }),
4760
+ footer: /* @__PURE__ */ jsx(Fragment, {}),
4761
+ children: /* @__PURE__ */ jsx(FullLoader, { height: 50 })
4762
+ }
4763
+ );
4764
+ }
4693
4765
  return /* @__PURE__ */ jsxs(
4694
4766
  NavModal,
4695
4767
  {
@@ -4760,53 +4832,7 @@ function ItemCreateComponent({
4760
4832
  ] }),
4761
4833
  selectedEntity && selectedContentType && /* @__PURE__ */ jsxs(Fragment, { children: [
4762
4834
  /* @__PURE__ */ jsx(Box, { paddingBottom: 6, paddingTop: 6, children: /* @__PURE__ */ jsx(Divider, {}) }),
4763
- /* @__PURE__ */ jsxs(Grid.Root, { gap: 4, paddingBottom: 6, children: [
4764
- /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, alignItems: "baseline", children: /* @__PURE__ */ jsx(Box, { width: "100%", children: /* @__PURE__ */ jsxs(Field.Root, { children: [
4765
- /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
4766
- id: getTranslation("modal.item.titleField.label"),
4767
- defaultMessage: "Title"
4768
- }) }),
4769
- /* @__PURE__ */ jsx(
4770
- Field.Input,
4771
- {
4772
- placeholder: formatMessage({
4773
- id: getTranslation("modal.item.titleField.placeholder"),
4774
- defaultMessage: "e.g. About us"
4775
- }),
4776
- name: "title",
4777
- value: navItemState.title || "",
4778
- onChange: (e) => dispatchItemState({ type: "SET_TITLE", payload: e.target.value }),
4779
- required: true
4780
- }
4781
- )
4782
- ] }) }) }),
4783
- /* @__PURE__ */ jsx(Grid.Item, { col: 6, s: 12, children: /* @__PURE__ */ jsxs(Box, { width: "100%", children: [
4784
- /* @__PURE__ */ jsxs(Field.Root, { children: [
4785
- /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
4786
- id: getTranslation("modal.item.routeField.label"),
4787
- defaultMessage: "Route"
4788
- }) }),
4789
- /* @__PURE__ */ jsx(
4790
- Field.Input,
4791
- {
4792
- required: true,
4793
- placeholder: formatMessage({
4794
- id: getTranslation("modal.item.routeField.placeholder"),
4795
- defaultMessage: "e.g. about/"
4796
- }),
4797
- name: "slug",
4798
- value: path?.value || "",
4799
- onChange: (e) => dispatchPath({ type: "NO_TRANSFORM_AND_CHECK", payload: e.target.value }),
4800
- onBlur: (e) => {
4801
- if (e.target.value === path.prevValue) return;
4802
- dispatchPath({ type: "DEFAULT", payload: e.target.value });
4803
- }
4804
- }
4805
- )
4806
- ] }),
4807
- /* @__PURE__ */ jsx(URLInfo, { validationState, replacement })
4808
- ] }) })
4809
- ] })
4835
+ /* @__PURE__ */ jsx(ItemDetails, {})
4810
4836
  ] })
4811
4837
  ]
4812
4838
  }
@@ -12201,4 +12227,4 @@ const App = () => {
12201
12227
  export {
12202
12228
  App as default
12203
12229
  };
12204
- //# sourceMappingURL=index-C2V-ZFHK.mjs.map
12230
+ //# sourceMappingURL=index-B6MYtu3A.mjs.map