@strapi/content-manager 5.12.3 → 5.12.5

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 (100) hide show
  1. package/dist/admin/components/Widgets.js +161 -0
  2. package/dist/admin/components/Widgets.js.map +1 -0
  3. package/dist/admin/components/Widgets.mjs +158 -0
  4. package/dist/admin/components/Widgets.mjs.map +1 -0
  5. package/dist/admin/content-manager.js.map +1 -1
  6. package/dist/admin/content-manager.mjs.map +1 -1
  7. package/dist/admin/history/pages/History.js +1 -9
  8. package/dist/admin/history/pages/History.js.map +1 -1
  9. package/dist/admin/history/pages/History.mjs +1 -9
  10. package/dist/admin/history/pages/History.mjs.map +1 -1
  11. package/dist/admin/hooks/useDocumentActions.js +8 -1
  12. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  13. package/dist/admin/hooks/useDocumentActions.mjs +8 -1
  14. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  15. package/dist/admin/hooks/useDocumentContext.js +57 -0
  16. package/dist/admin/hooks/useDocumentContext.js.map +1 -0
  17. package/dist/admin/hooks/useDocumentContext.mjs +36 -0
  18. package/dist/admin/hooks/useDocumentContext.mjs.map +1 -0
  19. package/dist/admin/index.js +41 -2
  20. package/dist/admin/index.js.map +1 -1
  21. package/dist/admin/index.mjs +42 -3
  22. package/dist/admin/index.mjs.map +1 -1
  23. package/dist/admin/pages/EditView/EditViewPage.js +85 -93
  24. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  25. package/dist/admin/pages/EditView/EditViewPage.mjs +86 -94
  26. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  27. package/dist/admin/pages/EditView/components/DocumentActions.js +28 -32
  28. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  29. package/dist/admin/pages/EditView/components/DocumentActions.mjs +32 -36
  30. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js +2 -2
  32. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.js.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs +2 -2
  34. package/dist/admin/pages/EditView/components/FormInputs/Component/Input.mjs.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +2 -2
  36. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +2 -2
  38. package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -2
  40. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +2 -2
  42. package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +5 -16
  44. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +5 -16
  46. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +2 -3
  48. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +2 -3
  50. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +432 -344
  52. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +432 -346
  54. package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +55 -37
  56. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +57 -39
  58. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormInputs/UID.js +7 -7
  60. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  61. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +7 -7
  62. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  63. package/dist/admin/pages/EditView/components/InputRenderer.js +3 -10
  64. package/dist/admin/pages/EditView/components/InputRenderer.js.map +1 -1
  65. package/dist/admin/pages/EditView/components/InputRenderer.mjs +3 -10
  66. package/dist/admin/pages/EditView/components/InputRenderer.mjs.map +1 -1
  67. package/dist/admin/preview/components/PreviewHeader.js +2 -5
  68. package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
  69. package/dist/admin/preview/components/PreviewHeader.mjs +2 -5
  70. package/dist/admin/preview/components/PreviewHeader.mjs.map +1 -1
  71. package/dist/admin/preview/pages/Preview.js +94 -102
  72. package/dist/admin/preview/pages/Preview.js.map +1 -1
  73. package/dist/admin/preview/pages/Preview.mjs +94 -102
  74. package/dist/admin/preview/pages/Preview.mjs.map +1 -1
  75. package/dist/admin/services/homepage.js +26 -0
  76. package/dist/admin/services/homepage.js.map +1 -0
  77. package/dist/admin/services/homepage.mjs +24 -0
  78. package/dist/admin/services/homepage.mjs.map +1 -0
  79. package/dist/admin/src/components/Widgets.d.ts +3 -0
  80. package/dist/admin/src/content-manager.d.ts +0 -3
  81. package/dist/admin/src/features/DocumentRBAC.d.ts +1 -1
  82. package/dist/admin/src/history/pages/History.d.ts +1 -1
  83. package/dist/admin/src/hooks/useDocumentContext.d.ts +30 -0
  84. package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +1 -1
  85. package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +1 -1
  86. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +50 -5
  87. package/dist/admin/src/pages/EditView/components/FormInputs/Relations/Relations.d.ts +1 -0
  88. package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +1 -1
  89. package/dist/admin/src/preview/pages/Preview.d.ts +2 -1
  90. package/dist/admin/src/services/homepage.d.ts +5 -0
  91. package/dist/server/src/services/homepage.d.ts +11 -0
  92. package/dist/server/src/services/homepage.d.ts.map +1 -0
  93. package/dist/shared/contracts/homepage.d.ts +25 -0
  94. package/dist/shared/contracts/homepage.d.ts.map +1 -0
  95. package/package.json +8 -8
  96. package/dist/admin/features/DocumentContext.js +0 -71
  97. package/dist/admin/features/DocumentContext.js.map +0 -1
  98. package/dist/admin/features/DocumentContext.mjs +0 -49
  99. package/dist/admin/features/DocumentContext.mjs.map +0 -1
  100. package/dist/admin/src/features/DocumentContext.d.ts +0 -53
@@ -0,0 +1,25 @@
1
+ import type { errors } from '@strapi/utils';
2
+ import type { Struct, UID } from '@strapi/types';
3
+ export interface RecentDocument {
4
+ kind: Struct.ContentTypeKind;
5
+ contentTypeUid: UID.ContentType;
6
+ contentTypeDisplayName: string;
7
+ documentId: string;
8
+ locale: string | null;
9
+ status?: 'draft' | 'published' | 'modified';
10
+ title: string;
11
+ updatedAt: Date;
12
+ publishedAt?: Date | null;
13
+ }
14
+ export declare namespace GetRecentDocuments {
15
+ interface Request {
16
+ body: {};
17
+ query: {
18
+ action: 'update' | 'publish';
19
+ };
20
+ }
21
+ interface Response {
22
+ data: RecentDocument[];
23
+ error?: errors.ApplicationError;
24
+ }
25
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"homepage.d.ts","sourceRoot":"","sources":["../../../shared/contracts/homepage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,UAAiB,OAAO;QACtB,IAAI,EAAE,EAAE,CAAC;QACT,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;SAC9B,CAAC;KACH;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/content-manager",
3
- "version": "5.12.3",
3
+ "version": "5.12.5",
4
4
  "description": "A powerful UI to easily manage your data.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -64,10 +64,10 @@
64
64
  "@radix-ui/react-toolbar": "1.0.4",
65
65
  "@reduxjs/toolkit": "1.9.7",
66
66
  "@sindresorhus/slugify": "1.1.0",
67
- "@strapi/design-system": "2.0.0-rc.18",
68
- "@strapi/icons": "2.0.0-rc.18",
69
- "@strapi/types": "5.12.3",
70
- "@strapi/utils": "5.12.3",
67
+ "@strapi/design-system": "2.0.0-rc.21",
68
+ "@strapi/icons": "2.0.0-rc.21",
69
+ "@strapi/types": "5.12.5",
70
+ "@strapi/utils": "5.12.5",
71
71
  "codemirror5": "npm:codemirror@^5.65.11",
72
72
  "date-fns": "2.30.0",
73
73
  "fractional-indexing": "3.2.0",
@@ -75,7 +75,7 @@
75
75
  "immer": "9.0.21",
76
76
  "koa": "2.15.4",
77
77
  "lodash": "4.17.21",
78
- "markdown-it": "^12.3.2",
78
+ "markdown-it": "^13.0.2",
79
79
  "markdown-it-abbr": "^1.0.4",
80
80
  "markdown-it-container": "^3.0.0",
81
81
  "markdown-it-deflist": "^2.1.0",
@@ -102,8 +102,8 @@
102
102
  "yup": "0.32.9"
103
103
  },
104
104
  "devDependencies": {
105
- "@strapi/admin": "5.12.3",
106
- "@strapi/database": "5.12.3",
105
+ "@strapi/admin": "5.12.5",
106
+ "@strapi/database": "5.12.5",
107
107
  "@testing-library/react": "15.0.7",
108
108
  "@types/jest": "29.5.2",
109
109
  "@types/lodash": "^4.14.191",
@@ -1,71 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var strapiAdmin = require('@strapi/admin/strapi-admin');
6
- var useDocument = require('../hooks/useDocument.js');
7
- var api = require('../utils/api.js');
8
-
9
- function _interopNamespaceDefault(e) {
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
18
- });
19
- }
20
- });
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
24
- }
25
-
26
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
27
-
28
- const [DocumentProvider, useDocumentContext] = strapiAdmin.createContext('DocumentContext');
29
- /**
30
- * TODO: Document in contributor docs, Add unit test
31
- *
32
- * This context provider and its associated hook are used to access a document at its root level
33
- * and expose a function to change the current document being viewed to one of the root level docuemnt's relations.
34
- *
35
- * The useDocumentContext hook exposes:
36
- * - meta: information about the currentDocument,
37
- * - document: the actual document,
38
- * - changeDocument: a function to change the current document to one of its relations.
39
- * - rootDocumentMeta: information about the root level document (current page)
40
- */ const DocumentContextProvider = ({ children, initialDocument, onPreview })=>{
41
- /**
42
- * Initialize with the "root" document and expose a setter method to change to
43
- * one of the root level document's relations.
44
- */ const [currentDocumentMeta, changeDocument] = React__namespace.useState(initialDocument);
45
- const params = React__namespace.useMemo(()=>api.buildValidParams(currentDocumentMeta.params ?? {}), [
46
- currentDocumentMeta.params
47
- ]);
48
- const document = useDocument.useDocument({
49
- ...currentDocumentMeta,
50
- params
51
- });
52
- const [documentHistory, setDocumentHistory] = React__namespace.useState([]);
53
- return /*#__PURE__*/ jsxRuntime.jsx(DocumentProvider, {
54
- changeDocument: changeDocument,
55
- document: document,
56
- rootDocumentMeta: {
57
- documentId: initialDocument.documentId,
58
- model: initialDocument.model,
59
- collectionType: initialDocument.collectionType
60
- },
61
- meta: currentDocumentMeta,
62
- documentHistory: documentHistory,
63
- setDocumentHistory: setDocumentHistory,
64
- onPreview: onPreview,
65
- children: children
66
- });
67
- };
68
-
69
- exports.DocumentContextProvider = DocumentContextProvider;
70
- exports.useDocumentContext = useDocumentContext;
71
- //# sourceMappingURL=DocumentContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentContext.js","sources":["../../../admin/src/features/DocumentContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { createContext } from '@strapi/admin/strapi-admin';\n\nimport { useDocument, type UseDocument } from '../hooks/useDocument';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string, string | string[] | null>;\n}\n\ninterface DocumentContextValue {\n rootDocumentMeta: DocumentMeta;\n document: ReturnType<UseDocument>;\n meta: DocumentMeta;\n changeDocument: (newRelation: DocumentMeta) => void;\n documentHistory: DocumentMeta[];\n setDocumentHistory: React.Dispatch<React.SetStateAction<DocumentMeta[]>>;\n onPreview?: () => void;\n}\n\nconst [DocumentProvider, useDocumentContext] =\n createContext<DocumentContextValue>('DocumentContext');\n\n/**\n * TODO: Document in contributor docs, Add unit test\n *\n * This context provider and its associated hook are used to access a document at its root level\n * and expose a function to change the current document being viewed to one of the root level docuemnt's relations.\n *\n * The useDocumentContext hook exposes:\n * - meta: information about the currentDocument,\n * - document: the actual document,\n * - changeDocument: a function to change the current document to one of its relations.\n * - rootDocumentMeta: information about the root level document (current page)\n */\nconst DocumentContextProvider = ({\n children,\n initialDocument,\n onPreview,\n}: {\n children: React.ReactNode | React.ReactNode[];\n initialDocument: DocumentMeta;\n onPreview?: () => void;\n}) => {\n /**\n * Initialize with the \"root\" document and expose a setter method to change to\n * one of the root level document's relations.\n */\n const [currentDocumentMeta, changeDocument] = React.useState<DocumentMeta>(initialDocument);\n const params = React.useMemo(\n () => buildValidParams(currentDocumentMeta.params ?? {}),\n [currentDocumentMeta.params]\n );\n const document = useDocument({ ...currentDocumentMeta, params });\n\n const [documentHistory, setDocumentHistory] = React.useState<DocumentMeta[]>([]);\n\n return (\n <DocumentProvider\n changeDocument={changeDocument}\n document={document}\n rootDocumentMeta={{\n documentId: initialDocument.documentId,\n model: initialDocument.model,\n collectionType: initialDocument.collectionType,\n }}\n meta={currentDocumentMeta}\n documentHistory={documentHistory}\n setDocumentHistory={setDocumentHistory}\n onPreview={onPreview}\n >\n {children}\n </DocumentProvider>\n );\n};\n\nexport { useDocumentContext, DocumentContextProvider };\nexport type { DocumentMeta };\n"],"names":["DocumentProvider","useDocumentContext","createContext","DocumentContextProvider","children","initialDocument","onPreview","currentDocumentMeta","changeDocument","React","useState","params","useMemo","buildValidParams","document","useDocument","documentHistory","setDocumentHistory","_jsx","rootDocumentMeta","documentId","model","collectionType","meta"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAM,CAACA,gBAAAA,EAAkBC,kBAAmB,CAAA,GAC1CC,yBAAoC,CAAA,iBAAA;AAEtC;;;;;;;;;;;IAYA,MAAMC,0BAA0B,CAAC,EAC/BC,QAAQ,EACRC,eAAe,EACfC,SAAS,EAKV,GAAA;AACC;;;AAGC,MACD,MAAM,CAACC,mBAAAA,EAAqBC,eAAe,GAAGC,gBAAAA,CAAMC,QAAQ,CAAeL,eAAAA,CAAAA;IAC3E,MAAMM,MAAAA,GAASF,gBAAMG,CAAAA,OAAO,CAC1B,IAAMC,qBAAiBN,mBAAoBI,CAAAA,MAAM,IAAI,EACrD,CAAA,EAAA;AAACJ,QAAAA,mBAAAA,CAAoBI;AAAO,KAAA,CAAA;AAE9B,IAAA,MAAMG,WAAWC,uBAAY,CAAA;AAAE,QAAA,GAAGR,mBAAmB;AAAEI,QAAAA;AAAO,KAAA,CAAA;AAE9D,IAAA,MAAM,CAACK,eAAiBC,EAAAA,kBAAAA,CAAmB,GAAGR,gBAAMC,CAAAA,QAAQ,CAAiB,EAAE,CAAA;AAE/E,IAAA,qBACEQ,cAAClB,CAAAA,gBAAAA,EAAAA;QACCQ,cAAgBA,EAAAA,cAAAA;QAChBM,QAAUA,EAAAA,QAAAA;QACVK,gBAAkB,EAAA;AAChBC,YAAAA,UAAAA,EAAYf,gBAAgBe,UAAU;AACtCC,YAAAA,KAAAA,EAAOhB,gBAAgBgB,KAAK;AAC5BC,YAAAA,cAAAA,EAAgBjB,gBAAgBiB;AAClC,SAAA;QACAC,IAAMhB,EAAAA,mBAAAA;QACNS,eAAiBA,EAAAA,eAAAA;QACjBC,kBAAoBA,EAAAA,kBAAAA;QACpBX,SAAWA,EAAAA,SAAAA;AAEVF,QAAAA,QAAAA,EAAAA;;AAGP;;;;;"}
@@ -1,49 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import * as React from 'react';
3
- import { createContext } from '@strapi/admin/strapi-admin';
4
- import { useDocument } from '../hooks/useDocument.mjs';
5
- import { buildValidParams } from '../utils/api.mjs';
6
-
7
- const [DocumentProvider, useDocumentContext] = createContext('DocumentContext');
8
- /**
9
- * TODO: Document in contributor docs, Add unit test
10
- *
11
- * This context provider and its associated hook are used to access a document at its root level
12
- * and expose a function to change the current document being viewed to one of the root level docuemnt's relations.
13
- *
14
- * The useDocumentContext hook exposes:
15
- * - meta: information about the currentDocument,
16
- * - document: the actual document,
17
- * - changeDocument: a function to change the current document to one of its relations.
18
- * - rootDocumentMeta: information about the root level document (current page)
19
- */ const DocumentContextProvider = ({ children, initialDocument, onPreview })=>{
20
- /**
21
- * Initialize with the "root" document and expose a setter method to change to
22
- * one of the root level document's relations.
23
- */ const [currentDocumentMeta, changeDocument] = React.useState(initialDocument);
24
- const params = React.useMemo(()=>buildValidParams(currentDocumentMeta.params ?? {}), [
25
- currentDocumentMeta.params
26
- ]);
27
- const document = useDocument({
28
- ...currentDocumentMeta,
29
- params
30
- });
31
- const [documentHistory, setDocumentHistory] = React.useState([]);
32
- return /*#__PURE__*/ jsx(DocumentProvider, {
33
- changeDocument: changeDocument,
34
- document: document,
35
- rootDocumentMeta: {
36
- documentId: initialDocument.documentId,
37
- model: initialDocument.model,
38
- collectionType: initialDocument.collectionType
39
- },
40
- meta: currentDocumentMeta,
41
- documentHistory: documentHistory,
42
- setDocumentHistory: setDocumentHistory,
43
- onPreview: onPreview,
44
- children: children
45
- });
46
- };
47
-
48
- export { DocumentContextProvider, useDocumentContext };
49
- //# sourceMappingURL=DocumentContext.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentContext.mjs","sources":["../../../admin/src/features/DocumentContext.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { createContext } from '@strapi/admin/strapi-admin';\n\nimport { useDocument, type UseDocument } from '../hooks/useDocument';\nimport { buildValidParams } from '../utils/api';\n\ninterface DocumentMeta {\n /**\n * The equivalent of the \":id\" url param value\n * i.e. gus5a67jcboa3o2zjnz39mb1\n */\n documentId: string;\n /**\n * The equivalent of the url \":slug\" param value\n * i.e. api::articles.article\n */\n model: string;\n /**\n * The equivalent of the url \":collectionType\" param value\n * i.e. collection-types or single-types\n */\n collectionType: string;\n /**\n * Query params object\n * i.e. { locale: 'fr' }\n */\n params?: Record<string, string | string[] | null>;\n}\n\ninterface DocumentContextValue {\n rootDocumentMeta: DocumentMeta;\n document: ReturnType<UseDocument>;\n meta: DocumentMeta;\n changeDocument: (newRelation: DocumentMeta) => void;\n documentHistory: DocumentMeta[];\n setDocumentHistory: React.Dispatch<React.SetStateAction<DocumentMeta[]>>;\n onPreview?: () => void;\n}\n\nconst [DocumentProvider, useDocumentContext] =\n createContext<DocumentContextValue>('DocumentContext');\n\n/**\n * TODO: Document in contributor docs, Add unit test\n *\n * This context provider and its associated hook are used to access a document at its root level\n * and expose a function to change the current document being viewed to one of the root level docuemnt's relations.\n *\n * The useDocumentContext hook exposes:\n * - meta: information about the currentDocument,\n * - document: the actual document,\n * - changeDocument: a function to change the current document to one of its relations.\n * - rootDocumentMeta: information about the root level document (current page)\n */\nconst DocumentContextProvider = ({\n children,\n initialDocument,\n onPreview,\n}: {\n children: React.ReactNode | React.ReactNode[];\n initialDocument: DocumentMeta;\n onPreview?: () => void;\n}) => {\n /**\n * Initialize with the \"root\" document and expose a setter method to change to\n * one of the root level document's relations.\n */\n const [currentDocumentMeta, changeDocument] = React.useState<DocumentMeta>(initialDocument);\n const params = React.useMemo(\n () => buildValidParams(currentDocumentMeta.params ?? {}),\n [currentDocumentMeta.params]\n );\n const document = useDocument({ ...currentDocumentMeta, params });\n\n const [documentHistory, setDocumentHistory] = React.useState<DocumentMeta[]>([]);\n\n return (\n <DocumentProvider\n changeDocument={changeDocument}\n document={document}\n rootDocumentMeta={{\n documentId: initialDocument.documentId,\n model: initialDocument.model,\n collectionType: initialDocument.collectionType,\n }}\n meta={currentDocumentMeta}\n documentHistory={documentHistory}\n setDocumentHistory={setDocumentHistory}\n onPreview={onPreview}\n >\n {children}\n </DocumentProvider>\n );\n};\n\nexport { useDocumentContext, DocumentContextProvider };\nexport type { DocumentMeta };\n"],"names":["DocumentProvider","useDocumentContext","createContext","DocumentContextProvider","children","initialDocument","onPreview","currentDocumentMeta","changeDocument","React","useState","params","useMemo","buildValidParams","document","useDocument","documentHistory","setDocumentHistory","_jsx","rootDocumentMeta","documentId","model","collectionType","meta"],"mappings":";;;;;;AAwCA,MAAM,CAACA,gBAAAA,EAAkBC,kBAAmB,CAAA,GAC1CC,aAAoC,CAAA,iBAAA;AAEtC;;;;;;;;;;;IAYA,MAAMC,0BAA0B,CAAC,EAC/BC,QAAQ,EACRC,eAAe,EACfC,SAAS,EAKV,GAAA;AACC;;;AAGC,MACD,MAAM,CAACC,mBAAAA,EAAqBC,eAAe,GAAGC,KAAAA,CAAMC,QAAQ,CAAeL,eAAAA,CAAAA;IAC3E,MAAMM,MAAAA,GAASF,KAAMG,CAAAA,OAAO,CAC1B,IAAMC,iBAAiBN,mBAAoBI,CAAAA,MAAM,IAAI,EACrD,CAAA,EAAA;AAACJ,QAAAA,mBAAAA,CAAoBI;AAAO,KAAA,CAAA;AAE9B,IAAA,MAAMG,WAAWC,WAAY,CAAA;AAAE,QAAA,GAAGR,mBAAmB;AAAEI,QAAAA;AAAO,KAAA,CAAA;AAE9D,IAAA,MAAM,CAACK,eAAiBC,EAAAA,kBAAAA,CAAmB,GAAGR,KAAMC,CAAAA,QAAQ,CAAiB,EAAE,CAAA;AAE/E,IAAA,qBACEQ,GAAClB,CAAAA,gBAAAA,EAAAA;QACCQ,cAAgBA,EAAAA,cAAAA;QAChBM,QAAUA,EAAAA,QAAAA;QACVK,gBAAkB,EAAA;AAChBC,YAAAA,UAAAA,EAAYf,gBAAgBe,UAAU;AACtCC,YAAAA,KAAAA,EAAOhB,gBAAgBgB,KAAK;AAC5BC,YAAAA,cAAAA,EAAgBjB,gBAAgBiB;AAClC,SAAA;QACAC,IAAMhB,EAAAA,mBAAAA;QACNS,eAAiBA,EAAAA,eAAAA;QACjBC,kBAAoBA,EAAAA,kBAAAA;QACpBX,SAAWA,EAAAA,SAAAA;AAEVF,QAAAA,QAAAA,EAAAA;;AAGP;;;;"}
@@ -1,53 +0,0 @@
1
- import * as React from 'react';
2
- import { type UseDocument } from '../hooks/useDocument';
3
- interface DocumentMeta {
4
- /**
5
- * The equivalent of the ":id" url param value
6
- * i.e. gus5a67jcboa3o2zjnz39mb1
7
- */
8
- documentId: string;
9
- /**
10
- * The equivalent of the url ":slug" param value
11
- * i.e. api::articles.article
12
- */
13
- model: string;
14
- /**
15
- * The equivalent of the url ":collectionType" param value
16
- * i.e. collection-types or single-types
17
- */
18
- collectionType: string;
19
- /**
20
- * Query params object
21
- * i.e. { locale: 'fr' }
22
- */
23
- params?: Record<string, string | string[] | null>;
24
- }
25
- interface DocumentContextValue {
26
- rootDocumentMeta: DocumentMeta;
27
- document: ReturnType<UseDocument>;
28
- meta: DocumentMeta;
29
- changeDocument: (newRelation: DocumentMeta) => void;
30
- documentHistory: DocumentMeta[];
31
- setDocumentHistory: React.Dispatch<React.SetStateAction<DocumentMeta[]>>;
32
- onPreview?: () => void;
33
- }
34
- declare const useDocumentContext: <Selected>(consumerName: string, selector: (value: DocumentContextValue) => Selected) => Selected;
35
- /**
36
- * TODO: Document in contributor docs, Add unit test
37
- *
38
- * This context provider and its associated hook are used to access a document at its root level
39
- * and expose a function to change the current document being viewed to one of the root level docuemnt's relations.
40
- *
41
- * The useDocumentContext hook exposes:
42
- * - meta: information about the currentDocument,
43
- * - document: the actual document,
44
- * - changeDocument: a function to change the current document to one of its relations.
45
- * - rootDocumentMeta: information about the root level document (current page)
46
- */
47
- declare const DocumentContextProvider: ({ children, initialDocument, onPreview, }: {
48
- children: React.ReactNode | React.ReactNode[];
49
- initialDocument: DocumentMeta;
50
- onPreview?: () => void;
51
- }) => import("react/jsx-runtime").JSX.Element;
52
- export { useDocumentContext, DocumentContextProvider };
53
- export type { DocumentMeta };