@mattisvensson/strapi-plugin-webatlas 0.9.6 → 0.10.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.
Files changed (132) hide show
  1. package/README.md +24 -36
  2. package/dist/{_chunks/SettingTitle-77mvMRg_.mjs → admin/SettingTitle-DbsxB1V9.mjs} +2 -2
  3. package/dist/{_chunks/SettingTitle-DLj_Wwqy.js → admin/SettingTitle-uw1S5OmC.js} +2 -2
  4. package/dist/{_chunks/de-C-uxto84.mjs → admin/de-B5pRvs13.mjs} +13 -7
  5. package/dist/{_chunks/de-CGXL_3o_.js → admin/de-CqU1FU8C.js} +13 -7
  6. package/dist/{_chunks/en-B1CHnIH7.mjs → admin/en-BE-zzIv8.mjs} +13 -7
  7. package/dist/{_chunks/en-DWEd5BXK.js → admin/en-C7I90FwV.js} +13 -7
  8. package/dist/{_chunks/index-5OG4i6qO.mjs → admin/index-B07KlG03.mjs} +40 -84
  9. package/dist/{_chunks/index-BRKi-K-v.mjs → admin/index-BKWY9Ta-.mjs} +61 -24
  10. package/dist/admin/index-BXt-QjKo.js +9368 -0
  11. package/dist/{_chunks/index-VXuAEnpX.js → admin/index-BYlmJycd.js} +3 -3
  12. package/dist/{_chunks/index-Dt-AXdaw.js → admin/index-CGsC8P9P.js} +40 -84
  13. package/dist/{_chunks/index-DwaKIwAz.mjs → admin/index-CIr8o1RP.mjs} +403 -356
  14. package/dist/{_chunks/index-3pYLMhui.mjs → admin/index-CUaBX_v-.mjs} +3 -3
  15. package/dist/{_chunks/index-COfk3YSm.js → admin/index-DC5WwNdi.js} +402 -355
  16. package/dist/{_chunks/index-DTsHvlTa.js → admin/index-DkqiqVx2.js} +61 -24
  17. package/dist/admin/index-tPrfjOIn.mjs +9368 -0
  18. package/dist/admin/index.js +3 -2
  19. package/dist/admin/index.mjs +1 -1
  20. package/dist/server/index.js +5266 -4524
  21. package/dist/server/index.mjs +5264 -4523
  22. package/dist/server/src/index.d.ts +33 -13
  23. package/package.json +19 -7
  24. package/dist/_chunks/index-BOtvXSPU.js +0 -8310
  25. package/dist/_chunks/index-BWzalvVi.mjs +0 -8310
  26. package/dist/admin/src/components/CMEditViewAside/Path.d.ts +0 -5
  27. package/dist/admin/src/components/CMEditViewAside/index.d.ts +0 -3
  28. package/dist/admin/src/components/Initializer.d.ts +0 -5
  29. package/dist/admin/src/components/PathInfo.d.ts +0 -7
  30. package/dist/admin/src/components/PluginIcon.d.ts +0 -3
  31. package/dist/admin/src/components/Tooltip.d.ts +0 -3
  32. package/dist/admin/src/components/UI/Center.d.ts +0 -5
  33. package/dist/admin/src/components/UI/EmptyBox.d.ts +0 -5
  34. package/dist/admin/src/components/UI/FullLoader.d.ts +0 -3
  35. package/dist/admin/src/components/UI/index.d.ts +0 -4
  36. package/dist/admin/src/components/modals/Delete.d.ts +0 -14
  37. package/dist/admin/src/components/modals/NavCreate.d.ts +0 -1
  38. package/dist/admin/src/components/modals/NavEdit.d.ts +0 -7
  39. package/dist/admin/src/components/modals/NavModal.d.ts +0 -17
  40. package/dist/admin/src/components/modals/NavOverview.d.ts +0 -8
  41. package/dist/admin/src/components/modals/externalItem/index.d.ts +0 -15
  42. package/dist/admin/src/components/modals/index.d.ts +0 -12
  43. package/dist/admin/src/components/modals/internalItem/internalItemCreate.d.ts +0 -3
  44. package/dist/admin/src/components/modals/internalItem/internalItemEdit.d.ts +0 -3
  45. package/dist/admin/src/components/modals/useModalSharedLogic.d.ts +0 -2
  46. package/dist/admin/src/components/modals/withModalSharedLogic.d.ts +0 -3
  47. package/dist/admin/src/components/modals/wrapperItem/index.d.ts +0 -15
  48. package/dist/admin/src/contexts/index.d.ts +0 -13
  49. package/dist/admin/src/hooks/index.d.ts +0 -6
  50. package/dist/admin/src/hooks/useAllContentTypes.d.ts +0 -7
  51. package/dist/admin/src/hooks/useAllEntities.d.ts +0 -7
  52. package/dist/admin/src/hooks/useApi.d.ts +0 -17
  53. package/dist/admin/src/hooks/useNavigations.d.ts +0 -7
  54. package/dist/admin/src/hooks/usePluginConfig.d.ts +0 -9
  55. package/dist/admin/src/pages/Navigation/Page.d.ts +0 -2
  56. package/dist/admin/src/pages/Navigation/PageWrapper.d.ts +0 -7
  57. package/dist/admin/src/pages/Navigation/RouteItem.d.ts +0 -17
  58. package/dist/admin/src/pages/Navigation/SortableRouteItem.d.ts +0 -2
  59. package/dist/admin/src/pages/Navigation/index.d.ts +0 -2
  60. package/dist/admin/src/pages/Paths/PageWrapper.d.ts +0 -4
  61. package/dist/admin/src/pages/Paths/PathTable.d.ts +0 -8
  62. package/dist/admin/src/pages/Paths/SearchInput.d.ts +0 -6
  63. package/dist/admin/src/pages/Paths/TableHeader.d.ts +0 -5
  64. package/dist/admin/src/pages/Paths/TableRow.d.ts +0 -4
  65. package/dist/admin/src/pages/Paths/compareBy.d.ts +0 -3
  66. package/dist/admin/src/pages/Paths/index.d.ts +0 -2
  67. package/dist/admin/src/pages/Settings/ContentBox.d.ts +0 -5
  68. package/dist/admin/src/pages/Settings/General/ContentTypeAccordion.d.ts +0 -7
  69. package/dist/admin/src/pages/Settings/General/index.d.ts +0 -2
  70. package/dist/admin/src/pages/Settings/Navigation/index.d.ts +0 -2
  71. package/dist/admin/src/pages/Settings/PageWrapper.d.ts +0 -8
  72. package/dist/admin/src/pages/Settings/SettingTitle.d.ts +0 -4
  73. package/dist/admin/src/pages/Settings/index.d.ts +0 -4
  74. package/dist/admin/src/permissions.d.ts +0 -23
  75. package/dist/admin/src/types/index.d.ts +0 -1
  76. package/dist/admin/src/types/modal.d.ts +0 -0
  77. package/dist/admin/src/types/route.d.ts +0 -2
  78. package/dist/admin/src/utils/countChildren.d.ts +0 -2
  79. package/dist/admin/src/utils/createTempNavItemObject.d.ts +0 -24
  80. package/dist/admin/src/utils/debounce.d.ts +0 -1
  81. package/dist/admin/src/utils/dnd.d.ts +0 -13
  82. package/dist/admin/src/utils/duplicateCheck.d.ts +0 -9
  83. package/dist/admin/src/utils/getTranslation.d.ts +0 -2
  84. package/dist/admin/src/utils/index.d.ts +0 -7
  85. package/dist/admin/src/utils/typeChecks.d.ts +0 -3
  86. package/dist/server/src/bootstrap.d.ts +0 -5
  87. package/dist/server/src/config/index.d.ts +0 -10
  88. package/dist/server/src/content-types/index.d.ts +0 -184
  89. package/dist/server/src/content-types/navigation/index.d.ts +0 -50
  90. package/dist/server/src/content-types/navigation/schema.d.ts +0 -48
  91. package/dist/server/src/content-types/navitem/index.d.ts +0 -51
  92. package/dist/server/src/content-types/navitem/schema.d.ts +0 -49
  93. package/dist/server/src/content-types/route/index.d.ts +0 -83
  94. package/dist/server/src/content-types/route/schema.d.ts +0 -81
  95. package/dist/server/src/controllers/admin.d.ts +0 -14
  96. package/dist/server/src/controllers/client.d.ts +0 -8
  97. package/dist/server/src/controllers/index.d.ts +0 -22
  98. package/dist/server/src/destroy.d.ts +0 -5
  99. package/dist/server/src/middlewares/index.d.ts +0 -2
  100. package/dist/server/src/policies/has-permissions.d.ts +0 -2
  101. package/dist/server/src/policies/index.d.ts +0 -4
  102. package/dist/server/src/register.d.ts +0 -5
  103. package/dist/server/src/routes/admin.d.ts +0 -17
  104. package/dist/server/src/routes/client.d.ts +0 -12
  105. package/dist/server/src/routes/index.d.ts +0 -30
  106. package/dist/server/src/services/admin.d.ts +0 -17
  107. package/dist/server/src/services/client.d.ts +0 -8
  108. package/dist/server/src/services/index.d.ts +0 -24
  109. package/dist/server/src/utils/buildStructuredNavigation.d.ts +0 -11
  110. package/dist/server/src/utils/cleanRootKeys.d.ts +0 -1
  111. package/dist/server/src/utils/duplicateCheck.d.ts +0 -1
  112. package/dist/server/src/utils/extractRouteAndItems.d.ts +0 -2
  113. package/dist/server/src/utils/index.d.ts +0 -11
  114. package/dist/server/src/utils/navItemHandler.d.ts +0 -5
  115. package/dist/server/src/utils/pluginHelpers.d.ts +0 -3
  116. package/dist/server/src/utils/populateDeep.d.ts +0 -4
  117. package/dist/server/src/utils/reduceDepthOfOrphanedItems.d.ts +0 -2
  118. package/dist/server/src/utils/removeWaFields.d.ts +0 -1
  119. package/dist/server/src/utils/routeHandler.d.ts +0 -3
  120. package/dist/types/api.d.ts +0 -7
  121. package/dist/types/index.d.ts +0 -5
  122. package/dist/types/modal.d.ts +0 -36
  123. package/dist/types/navigation.d.ts +0 -65
  124. package/dist/types/route.d.ts +0 -32
  125. package/dist/types/strapi.d.ts +0 -53
  126. package/dist/utils/getPath.d.ts +0 -1
  127. package/dist/utils/index.d.ts +0 -5
  128. package/dist/utils/pluginConstants.d.ts +0 -3
  129. package/dist/utils/pluginId.d.ts +0 -4
  130. package/dist/utils/transformToUrl.d.ts +0 -1
  131. /package/dist/{_chunks → admin}/FullLoader-Cmsf8xS6.js +0 -0
  132. /package/dist/{_chunks → admin}/FullLoader-CrPED_dY.mjs +0 -0
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useMemo } from "react";
3
- import { g as getTranslation, u as useApi, d as debounce, p as pluginPermissions } from "./index-DwaKIwAz.mjs";
3
+ import { g as getTranslation, u as useApi, d as debounce, p as pluginPermissions } from "./index-CIr8o1RP.mjs";
4
4
  import { Page, Layouts, useNotification } from "@strapi/strapi/admin";
5
5
  import { Grid, Box, Field, Thead, Tr, Th, Typography, VisuallyHidden, Td, Flex, LinkButton, Table, Tbody, EmptyStateLayout } from "@strapi/design-system";
6
6
  import "@strapi/icons/symbols";
@@ -39,6 +39,15 @@ function compareBy(field, direction) {
39
39
  return (a, b) => {
40
40
  const aValue = a[field];
41
41
  const bValue = b[field];
42
+ if (aValue == null && bValue == null) {
43
+ return 0;
44
+ }
45
+ if (aValue == null) {
46
+ return direction === "asc" ? 1 : -1;
47
+ }
48
+ if (bValue == null) {
49
+ return direction === "asc" ? -1 : 1;
50
+ }
42
51
  if (typeof aValue === "string" && typeof bValue === "string") {
43
52
  return direction === "asc" ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);
44
53
  }
@@ -86,6 +95,13 @@ function TableHeader({
86
95
  }) }),
87
96
  sortKey === "title" && /* @__PURE__ */ jsx(ChevronDown, {})
88
97
  ] }),
98
+ /* @__PURE__ */ jsxs(Th, { onClick: () => handleSort("canonicalPath"), cursor: "pointer", children: [
99
+ /* @__PURE__ */ jsx(Typography, { variant: "sigma", children: formatMessage({
100
+ id: getTranslation("canonicalPath"),
101
+ defaultMessage: "Canonical Path"
102
+ }) }),
103
+ sortKey === "canonicalPath" && /* @__PURE__ */ jsx(ChevronDown, {})
104
+ ] }),
89
105
  /* @__PURE__ */ jsxs(Th, { onClick: () => handleSort("path"), cursor: "pointer", children: [
90
106
  /* @__PURE__ */ jsx(Typography, { variant: "sigma", children: formatMessage({
91
107
  id: getTranslation("path"),
@@ -109,12 +125,25 @@ function TableHeader({
109
125
  function TableRow({ route }) {
110
126
  const { formatMessage } = useIntl();
111
127
  return /* @__PURE__ */ jsxs(Tr, { children: [
112
- /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: route.title }) }),
113
- /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: route.path }) }),
114
- /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: formatMessage({
115
- id: getTranslation(`path.type.${route.type}`),
116
- defaultMessage: "-"
117
- }) }) }),
128
+ [route.title, route.canonicalPath, route.path].map((field, index) => /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(
129
+ Typography,
130
+ {
131
+ title: field,
132
+ textColor: "neutral800",
133
+ children: field || "-"
134
+ }
135
+ ) }, index)),
136
+ /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(
137
+ Typography,
138
+ {
139
+ title: route.type,
140
+ textColor: "neutral800",
141
+ children: formatMessage({
142
+ id: getTranslation(`path.type.${route.type}`),
143
+ defaultMessage: "-"
144
+ })
145
+ }
146
+ ) }),
118
147
  /* @__PURE__ */ jsx(Td, { children: /* @__PURE__ */ jsx(Flex, { gap: 2, justifyContent: "end", children: route.type === "internal" && /* @__PURE__ */ jsx(
119
148
  LinkButton,
120
149
  {
@@ -135,22 +164,30 @@ function PathTable({
135
164
  handleSort
136
165
  }) {
137
166
  const { formatMessage } = useIntl();
138
- return /* @__PURE__ */ jsxs(Table, { colCount: 4, rowCount: routes.length, children: [
139
- /* @__PURE__ */ jsx(TableHeader, { sortKey, handleSort }),
140
- /* @__PURE__ */ jsx(Tbody, { children: routes.length > 0 ? routes.map((route) => /* @__PURE__ */ jsx(TableRow, { route }, route.id)) : /* @__PURE__ */ jsx(Tr, { children: /* @__PURE__ */ jsx(Td, { colSpan: 4, children: /* @__PURE__ */ jsx(
141
- EmptyStateLayout,
142
- {
143
- content: formatMessage({
144
- id: getTranslation("paths.page.emptyPaths"),
145
- defaultMessage: "No paths found"
146
- }),
147
- shadow: false
148
- }
149
- ) }) }) })
150
- ] });
167
+ const TABLE_COL_COUNT = 5;
168
+ return /* @__PURE__ */ jsxs(
169
+ Table,
170
+ {
171
+ colCount: TABLE_COL_COUNT,
172
+ rowCount: routes.length,
173
+ children: [
174
+ /* @__PURE__ */ jsx(TableHeader, { sortKey, handleSort }),
175
+ /* @__PURE__ */ jsx(Tbody, { children: routes.length > 0 ? routes.map((route) => /* @__PURE__ */ jsx(TableRow, { route }, route.id)) : /* @__PURE__ */ jsx(Tr, { children: /* @__PURE__ */ jsx(Td, { colSpan: TABLE_COL_COUNT, children: /* @__PURE__ */ jsx(
176
+ EmptyStateLayout,
177
+ {
178
+ shadow: "none",
179
+ content: formatMessage({
180
+ id: getTranslation("paths.page.emptyPaths"),
181
+ defaultMessage: "No paths found"
182
+ })
183
+ }
184
+ ) }) }) })
185
+ ]
186
+ }
187
+ );
151
188
  }
152
189
  const Paths = () => {
153
- const { getRoutes } = useApi();
190
+ const { getAllRoutes } = useApi();
154
191
  const { formatMessage } = useIntl();
155
192
  const { toggleNotification } = useNotification();
156
193
  const [allRoutes, setAllRoutes] = useState([]);
@@ -159,7 +196,7 @@ const Paths = () => {
159
196
  const [searchParams, setSearchParams] = useSearchParams();
160
197
  const initialQuery = searchParams.get("search") || "";
161
198
  const [searchQuery, setSearchQuery] = useState(initialQuery);
162
- const [sortKey, setSortKey] = useState("title");
199
+ const [sortKey, setSortKey] = useState("canonicalPath");
163
200
  const [sortDirection, setSortDirection] = useState("asc");
164
201
  useEffect(() => {
165
202
  const query = searchQuery.toLowerCase();
@@ -183,11 +220,11 @@ const Paths = () => {
183
220
  useEffect(() => {
184
221
  async function fetchRoutes() {
185
222
  try {
186
- const data = await getRoutes();
223
+ const data = await getAllRoutes();
187
224
  setAllRoutes(data);
188
225
  setRoutes(data);
189
226
  } catch (err) {
190
- console.error("Failed to fetch paths:", err);
227
+ strapi.log.error("Failed to fetch paths:", err);
191
228
  toggleNotification({
192
229
  type: "danger",
193
230
  message: formatMessage({