@mattisvensson/strapi-plugin-webatlas 0.9.6 → 0.10.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 (81) hide show
  1. package/README.md +24 -36
  2. package/dist/_chunks/{SettingTitle-77mvMRg_.mjs → SettingTitle-CdR3SVn_.mjs} +1 -1
  3. package/dist/_chunks/{SettingTitle-DLj_Wwqy.js → SettingTitle-RU1azFIM.js} +1 -1
  4. package/dist/_chunks/{de-C-uxto84.mjs → de-B5pRvs13.mjs} +13 -7
  5. package/dist/_chunks/{de-CGXL_3o_.js → de-CqU1FU8C.js} +13 -7
  6. package/dist/_chunks/{en-B1CHnIH7.mjs → en-BE-zzIv8.mjs} +13 -7
  7. package/dist/_chunks/{en-DWEd5BXK.js → en-C7I90FwV.js} +13 -7
  8. package/dist/_chunks/{index-DwaKIwAz.mjs → index-B07UVUOa.mjs} +387 -229
  9. package/dist/_chunks/{index-3pYLMhui.mjs → index-BmyxSosC.mjs} +3 -3
  10. package/dist/_chunks/{index-Dt-AXdaw.js → index-BucL4va6.js} +38 -82
  11. package/dist/_chunks/{index-BRKi-K-v.mjs → index-BvcX9hcc.mjs} +61 -24
  12. package/dist/_chunks/{index-COfk3YSm.js → index-BxpDM360.js} +386 -228
  13. package/dist/_chunks/{index-5OG4i6qO.mjs → index-CIM-JzLK.mjs} +38 -82
  14. package/dist/_chunks/{index-BWzalvVi.mjs → index-CNKWb8pn.mjs} +614 -320
  15. package/dist/_chunks/{index-VXuAEnpX.js → index-D-vJE_K8.js} +3 -3
  16. package/dist/_chunks/{index-BOtvXSPU.js → index-IRSCe8PX.js} +609 -315
  17. package/dist/_chunks/{index-DTsHvlTa.js → index-d09V61nm.js} +61 -24
  18. package/dist/admin/index.js +1 -1
  19. package/dist/admin/index.mjs +1 -1
  20. package/dist/admin/src/components/CMEditViewAside/NewPathInfo.d.ts +2 -0
  21. package/dist/admin/src/components/CMEditViewAside/OverrideCheckbox.d.ts +7 -0
  22. package/dist/admin/src/components/CMEditViewAside/Panel.d.ts +5 -0
  23. package/dist/admin/src/components/CMEditViewAside/PathInput.d.ts +11 -0
  24. package/dist/admin/src/components/CMEditViewAside/RouteStructure.d.ts +3 -0
  25. package/dist/admin/src/components/CMEditViewAside/UidPathDisplay.d.ts +4 -0
  26. package/dist/admin/src/components/PathInfo.d.ts +2 -3
  27. package/dist/admin/src/components/modals/externalItem/index.d.ts +1 -1
  28. package/dist/admin/src/components/modals/internalItem/ItemDetails.d.ts +13 -0
  29. package/dist/admin/src/components/modals/internalItem/internalItemCreate.d.ts +1 -1
  30. package/dist/admin/src/components/modals/internalItem/internalItemEdit.d.ts +1 -1
  31. package/dist/admin/src/components/modals/useModalSharedLogic.d.ts +1 -1
  32. package/dist/admin/src/components/modals/wrapperItem/index.d.ts +1 -1
  33. package/dist/admin/src/hooks/useApi.d.ts +4 -3
  34. package/dist/admin/src/pages/Navigation/RouteItem.d.ts +1 -15
  35. package/dist/admin/src/pages/Navigation/RouteItemBadge.d.ts +4 -0
  36. package/dist/admin/src/pages/Navigation/RouteItemIcon.d.ts +5 -0
  37. package/dist/admin/src/pages/Navigation/RouteItemMenu.d.ts +10 -0
  38. package/dist/admin/src/pages/Navigation/RouteItemStatus.d.ts +5 -0
  39. package/dist/admin/src/pages/Navigation/SortableRouteItem.d.ts +1 -1
  40. package/dist/admin/src/types/index.d.ts +3 -0
  41. package/dist/admin/src/types/modal.d.ts +56 -0
  42. package/dist/admin/src/types/navigation.d.ts +18 -0
  43. package/dist/admin/src/types/panel.d.ts +41 -0
  44. package/dist/admin/src/types/route.d.ts +1 -1
  45. package/dist/admin/src/utils/buildBreadcrumbString.d.ts +16 -0
  46. package/dist/admin/src/utils/createTempNavItemObject.d.ts +6 -8
  47. package/dist/admin/src/utils/duplicateCheck.d.ts +10 -4
  48. package/dist/admin/src/utils/findParentNavItem.d.ts +13 -0
  49. package/dist/admin/src/utils/index.d.ts +3 -2
  50. package/dist/server/index.js +630 -200
  51. package/dist/server/index.mjs +630 -200
  52. package/dist/server/src/content-types/index.d.ts +18 -0
  53. package/dist/server/src/content-types/route/index.d.ts +18 -0
  54. package/dist/server/src/content-types/route/schema.d.ts +18 -0
  55. package/dist/server/src/controllers/admin.d.ts +3 -2
  56. package/dist/server/src/controllers/index.d.ts +3 -2
  57. package/dist/server/src/index.d.ts +24 -4
  58. package/dist/server/src/migrations/001-canonical-path.d.ts +7 -0
  59. package/dist/server/src/migrations/index.d.ts +3 -0
  60. package/dist/server/src/services/admin.d.ts +3 -2
  61. package/dist/server/src/services/index.d.ts +3 -2
  62. package/dist/server/src/utils/buildCanonicalPath.d.ts +1 -0
  63. package/dist/server/src/utils/buildNavigationPath.d.ts +5 -0
  64. package/dist/server/src/utils/cascadeCanonicalPathUpdates.d.ts +1 -0
  65. package/dist/server/src/utils/getNonInternalRouteIds.d.ts +1 -0
  66. package/dist/server/src/utils/getRouteAncestors.d.ts +1 -0
  67. package/dist/server/src/utils/getRouteDescendants.d.ts +1 -0
  68. package/dist/server/src/utils/index.d.ts +10 -2
  69. package/dist/server/src/utils/navigationItemStructure.d.ts +27 -0
  70. package/dist/server/src/utils/routeHandler.d.ts +4 -2
  71. package/dist/server/src/utils/validateRouteDependencies.d.ts +4 -0
  72. package/dist/types/index.d.ts +0 -1
  73. package/dist/types/navigation.d.ts +13 -12
  74. package/dist/types/route.d.ts +7 -2
  75. package/dist/types/strapi.d.ts +1 -2
  76. package/dist/utils/index.d.ts +1 -2
  77. package/package.json +1 -1
  78. package/dist/admin/src/components/CMEditViewAside/Path.d.ts +0 -5
  79. package/dist/admin/src/utils/countChildren.d.ts +0 -2
  80. package/dist/types/modal.d.ts +0 -36
  81. package/dist/utils/getPath.d.ts +0 -1
@@ -2,11 +2,11 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { useReducer, useState, useRef, useEffect } from "react";
3
3
  import { Box, Accordion, Field, SingleSelect, SingleSelectOption, Typography, Link } from "@strapi/design-system";
4
4
  import { useNotification, Page } from "@strapi/strapi/admin";
5
- import { g as getTranslation, T as Tooltip, c as usePluginConfig, e as useAllContentTypes, p as pluginPermissions, f as PLUGIN_NAME, h as PLUGIN_VERSION, t as transformToUrl } from "./index-DwaKIwAz.mjs";
5
+ import { g as getTranslation, c as usePluginConfig, e as useAllContentTypes, p as pluginPermissions, f as PLUGIN_NAME, h as PLUGIN_VERSION } from "./index-B07UVUOa.mjs";
6
6
  import { useIntl } from "react-intl";
7
7
  import "@strapi/icons/symbols";
8
8
  import { F as FullLoader } from "./FullLoader-CrPED_dY.mjs";
9
- import { P as PageWrapper, C as ContentBox, S as SettingTitle } from "./SettingTitle-77mvMRg_.mjs";
9
+ import { P as PageWrapper, C as ContentBox, S as SettingTitle } from "./SettingTitle-CdR3SVn_.mjs";
10
10
  import { ExternalLink } from "@strapi/icons";
11
11
  function ContentTypeAccordion({
12
12
  contentType,
@@ -21,79 +21,41 @@ function ContentTypeAccordion({
21
21
  borderColor: !contentTypeSettings.default && "danger500",
22
22
  children: /* @__PURE__ */ jsxs(Accordion.Item, { value: contentType.uid, size: "S", children: [
23
23
  /* @__PURE__ */ jsx(Accordion.Header, { children: /* @__PURE__ */ jsx(Accordion.Trigger, { children: contentType?.info.displayName }) }),
24
- /* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsxs(Box, { padding: 3, children: [
25
- /* @__PURE__ */ jsxs(
26
- Field.Root,
27
- {
28
- name: "selectedContentTypes",
29
- hint: formatMessage({
30
- id: getTranslation("settings.page.generate.hint"),
31
- defaultMessage: 'The selected field from the content type will be used to generate the path. Use a field that is unique and descriptive, such as a "title" or "name".'
32
- }),
33
- error: !contentTypeSettings.default && formatMessage({
34
- id: getTranslation("settings.page.generate.error"),
35
- defaultMessage: "Please select a default field"
36
- }),
37
- required: true,
38
- children: [
39
- /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
40
- id: getTranslation("settings.page.generate"),
41
- defaultMessage: "Generate paths from"
42
- }) }),
43
- /* @__PURE__ */ jsx(
44
- SingleSelect,
45
- {
46
- name: `defaultField-${contentType.uid}`,
47
- onClear: () => dispatch({ type: "SET_DEFAULT_FIELD", payload: { ctUid: contentType.uid, field: "" } }),
48
- value: contentTypeSettings?.default || "",
49
- onChange: (value) => dispatch({ type: "SET_DEFAULT_FIELD", payload: { ctUid: contentType.uid, field: value } }),
50
- children: Object.entries(contentType.attributes).map(([key], index) => {
51
- if (key === "id" || key === "documentId" || key === "createdAt" || key === "updatedAt" || key === "createdBy" || key === "updatedBy" || key === "webatlas_path" || key === "webatlas_override") return null;
52
- return /* @__PURE__ */ jsx(SingleSelectOption, { value: key, children: key }, index);
53
- })
54
- }
55
- ),
56
- /* @__PURE__ */ jsx(Field.Hint, {})
57
- ]
58
- }
59
- ),
60
- /* @__PURE__ */ jsx(Box, { paddingTop: 4, children: /* @__PURE__ */ jsxs(
61
- Field.Root,
62
- {
63
- name: "pattern",
64
- hint: formatMessage({
65
- id: getTranslation("settings.page.pattern.hint"),
66
- defaultMessage: 'The pattern to prepend to the generated path. For example, if you enter "blog" and the value of default field is "My First Post", the generated path will be "blog/my-first-post". Leave empty for no prefix.'
67
- }),
68
- children: [
69
- /* @__PURE__ */ jsxs(Field.Label, { children: [
70
- formatMessage({
71
- id: getTranslation("settings.page.pattern"),
72
- defaultMessage: "Path Pattern"
73
- }),
74
- /* @__PURE__ */ jsx(Tooltip, { description: formatMessage({
75
- id: getTranslation("settings.page.pattern.tooltip"),
76
- defaultMessage: "Leading and trailing slashes will be removed. Spaces will be replaced with hyphens. Special characters will be encoded."
77
- }) })
78
- ] }),
79
- /* @__PURE__ */ jsx(
80
- Field.Input,
81
- {
82
- value: contentTypeSettings.pattern,
83
- onChange: (e) => dispatch({ type: "SET_PATTERN", payload: { ctUid: contentType.uid, pattern: e.target.value } }),
84
- disabled: !contentTypeSettings.default,
85
- type: "text",
86
- placeholder: formatMessage({
87
- id: getTranslation("settings.page.pattern.placeholder"),
88
- defaultMessage: "e.g. blog"
89
- })
90
- }
91
- ),
92
- /* @__PURE__ */ jsx(Field.Hint, {})
93
- ]
94
- }
95
- ) })
96
- ] }) })
24
+ /* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(Box, { padding: 3, children: /* @__PURE__ */ jsxs(
25
+ Field.Root,
26
+ {
27
+ name: "selectedContentTypes",
28
+ hint: formatMessage({
29
+ id: getTranslation("settings.page.generate.hint"),
30
+ defaultMessage: 'The selected field from the content type will be used to generate the path. Use a field that is unique and descriptive, such as a "title" or "name".'
31
+ }),
32
+ error: !contentTypeSettings.default && formatMessage({
33
+ id: getTranslation("settings.page.generate.error"),
34
+ defaultMessage: "Please select a default field"
35
+ }),
36
+ required: true,
37
+ children: [
38
+ /* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
39
+ id: getTranslation("settings.page.generate"),
40
+ defaultMessage: "Generate paths from"
41
+ }) }),
42
+ /* @__PURE__ */ jsx(
43
+ SingleSelect,
44
+ {
45
+ name: `defaultField-${contentType.uid}`,
46
+ onClear: () => dispatch({ type: "SET_DEFAULT_FIELD", payload: { ctUid: contentType.uid, field: "" } }),
47
+ value: contentTypeSettings?.default || "",
48
+ onChange: (value) => dispatch({ type: "SET_DEFAULT_FIELD", payload: { ctUid: contentType.uid, field: value } }),
49
+ children: Object.entries(contentType.attributes).map(([key], index) => {
50
+ if (key === "id" || key === "documentId" || key === "createdAt" || key === "updatedAt" || key === "createdBy" || key === "updatedBy" || key === "webatlas_path" || key === "webatlas_override" || key === "webatlas_parent") return null;
51
+ return /* @__PURE__ */ jsx(SingleSelectOption, { value: key, children: key }, index);
52
+ })
53
+ }
54
+ ),
55
+ /* @__PURE__ */ jsx(Field.Hint, {})
56
+ ]
57
+ }
58
+ ) }) })
97
59
  ] }, contentType.uid)
98
60
  },
99
61
  contentType.uid
@@ -108,12 +70,6 @@ function reducer(newConfig, action) {
108
70
  (ct) => ct.uid === action.payload.ctUid ? { ...ct, default: action.payload.field } : ct
109
71
  );
110
72
  return { ...newConfig, selectedContentTypes: updatedContentTypes || [] };
111
- case "SET_PATTERN":
112
- if (!newConfig) return null;
113
- updatedContentTypes = newConfig?.selectedContentTypes.map(
114
- (ct) => ct.uid === action.payload.ctUid ? { ...ct, pattern: transformToUrl(action.payload.pattern) } : ct
115
- );
116
- return { ...newConfig, selectedContentTypes: updatedContentTypes || [] };
117
73
  case "SET_CONFIG":
118
74
  return action.payload;
119
75
  default:
@@ -168,7 +124,7 @@ const Settings = () => {
168
124
  defaultMessage: "An error occurred"
169
125
  }) + ": " + err
170
126
  });
171
- console.error(err);
127
+ strapi.log.error(err);
172
128
  }
173
129
  }
174
130
  if (loading) {