@payloadcms/ui 3.28.0 → 3.28.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 (147) hide show
  1. package/dist/elements/BulkUpload/FormsManager/index.js +2 -2
  2. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/index.js +2 -4
  5. package/dist/elements/BulkUpload/index.js.map +1 -1
  6. package/dist/elements/Collapsible/provider.d.ts.map +1 -1
  7. package/dist/elements/Collapsible/provider.js +3 -5
  8. package/dist/elements/Collapsible/provider.js.map +1 -1
  9. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  10. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  11. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  12. package/dist/elements/Drawer/index.d.ts.map +1 -1
  13. package/dist/elements/Drawer/index.js +3 -5
  14. package/dist/elements/Drawer/index.js.map +1 -1
  15. package/dist/elements/EditMany/DrawerContent.js +1 -1
  16. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  17. package/dist/elements/ListDrawer/Provider.js +3 -3
  18. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  19. package/dist/elements/LoadingOverlay/index.js +3 -3
  20. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  21. package/dist/elements/Nav/context.d.ts.map +1 -1
  22. package/dist/elements/Nav/context.js +2 -4
  23. package/dist/elements/Nav/context.js.map +1 -1
  24. package/dist/elements/StepNav/context.d.ts.map +1 -1
  25. package/dist/elements/StepNav/context.js +3 -5
  26. package/dist/elements/StepNav/context.js.map +1 -1
  27. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  28. package/dist/elements/Table/RelationshipProvider/index.js +3 -5
  29. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  30. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  31. package/dist/elements/TableColumns/RenderDefaultCell/index.js +2 -4
  32. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  33. package/dist/elements/TableColumns/context.d.ts.map +1 -1
  34. package/dist/elements/TableColumns/context.js +2 -2
  35. package/dist/elements/TableColumns/context.js.map +1 -1
  36. package/dist/elements/TableColumns/index.js +1 -1
  37. package/dist/elements/TableColumns/index.js.map +1 -1
  38. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  39. package/dist/elements/Toasts/fieldErrors.js +2 -2
  40. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  41. package/dist/exports/client/{CodeEditor-TQ5ADFPC.js → CodeEditor-J4IKAVAK.js} +2 -2
  42. package/dist/exports/client/{DatePicker-HHQ6TPOW.js → DatePicker-DMHV2M2L.js} +2 -2
  43. package/dist/exports/client/{chunk-IMEQ6NKQ.js → chunk-3AA2TJQ5.js} +2 -2
  44. package/dist/exports/client/{chunk-IMEQ6NKQ.js.map → chunk-3AA2TJQ5.js.map} +3 -3
  45. package/dist/exports/client/{chunk-LMYT7O7U.js → chunk-PKQOCWZD.js} +2 -2
  46. package/dist/exports/client/{chunk-LMYT7O7U.js.map → chunk-PKQOCWZD.js.map} +3 -3
  47. package/dist/exports/client/index.js +23 -23
  48. package/dist/exports/client/index.js.map +3 -3
  49. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  50. package/dist/fields/Blocks/BlockRow.js +26 -20
  51. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  52. package/dist/fields/Group/provider.d.ts.map +1 -1
  53. package/dist/fields/Group/provider.js +3 -5
  54. package/dist/fields/Group/provider.js.map +1 -1
  55. package/dist/fields/Row/provider.d.ts.map +1 -1
  56. package/dist/fields/Row/provider.js +3 -5
  57. package/dist/fields/Row/provider.js.map +1 -1
  58. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  59. package/dist/fields/Tabs/provider.js +3 -5
  60. package/dist/fields/Tabs/provider.js.map +1 -1
  61. package/dist/forms/Form/context.d.ts.map +1 -1
  62. package/dist/forms/Form/context.js +9 -25
  63. package/dist/forms/Form/context.js.map +1 -1
  64. package/dist/forms/Form/index.d.ts.map +1 -1
  65. package/dist/forms/Form/index.js +8 -8
  66. package/dist/forms/Form/index.js.map +1 -1
  67. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  68. package/dist/forms/RowLabel/Context/index.js +2 -2
  69. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  70. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  71. package/dist/forms/RowLabel/index.js +2 -2
  72. package/dist/forms/RowLabel/index.js.map +1 -1
  73. package/dist/forms/RowLabel/types.d.ts +1 -1
  74. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  75. package/dist/forms/RowLabel/types.js.map +1 -1
  76. package/dist/hooks/useQueues.js +3 -3
  77. package/dist/hooks/useQueues.js.map +1 -1
  78. package/dist/providers/Actions/index.d.ts.map +1 -1
  79. package/dist/providers/Actions/index.js +3 -5
  80. package/dist/providers/Actions/index.js.map +1 -1
  81. package/dist/providers/Auth/index.d.ts.map +1 -1
  82. package/dist/providers/Auth/index.js +3 -5
  83. package/dist/providers/Auth/index.js.map +1 -1
  84. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  85. package/dist/providers/ClientFunction/index.js +4 -4
  86. package/dist/providers/ClientFunction/index.js.map +1 -1
  87. package/dist/providers/Config/index.d.ts.map +1 -1
  88. package/dist/providers/Config/index.js +3 -5
  89. package/dist/providers/Config/index.js.map +1 -1
  90. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  91. package/dist/providers/DocumentEvents/index.js +3 -5
  92. package/dist/providers/DocumentEvents/index.js.map +1 -1
  93. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  94. package/dist/providers/DocumentInfo/index.js +3 -5
  95. package/dist/providers/DocumentInfo/index.js.map +1 -1
  96. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  97. package/dist/providers/EditDepth/index.js +3 -5
  98. package/dist/providers/EditDepth/index.js.map +1 -1
  99. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  100. package/dist/providers/EntityVisibility/index.js +3 -5
  101. package/dist/providers/EntityVisibility/index.js.map +1 -1
  102. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  103. package/dist/providers/ListQuery/context.js +2 -2
  104. package/dist/providers/ListQuery/context.js.map +1 -1
  105. package/dist/providers/ListQuery/index.js +1 -1
  106. package/dist/providers/ListQuery/index.js.map +1 -1
  107. package/dist/providers/Locale/index.d.ts.map +1 -1
  108. package/dist/providers/Locale/index.js +5 -9
  109. package/dist/providers/Locale/index.js.map +1 -1
  110. package/dist/providers/Operation/index.d.ts.map +1 -1
  111. package/dist/providers/Operation/index.js +3 -5
  112. package/dist/providers/Operation/index.js.map +1 -1
  113. package/dist/providers/Params/index.d.ts.map +1 -1
  114. package/dist/providers/Params/index.js +3 -5
  115. package/dist/providers/Params/index.js.map +1 -1
  116. package/dist/providers/Preferences/index.d.ts.map +1 -1
  117. package/dist/providers/Preferences/index.js +3 -5
  118. package/dist/providers/Preferences/index.js.map +1 -1
  119. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  120. package/dist/providers/RouteCache/index.js +3 -5
  121. package/dist/providers/RouteCache/index.js.map +1 -1
  122. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  123. package/dist/providers/RouteTransition/index.js +2 -4
  124. package/dist/providers/RouteTransition/index.js.map +1 -1
  125. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  126. package/dist/providers/SearchParams/index.js +3 -5
  127. package/dist/providers/SearchParams/index.js.map +1 -1
  128. package/dist/providers/Selection/index.d.ts.map +1 -1
  129. package/dist/providers/Selection/index.js +3 -5
  130. package/dist/providers/Selection/index.js.map +1 -1
  131. package/dist/providers/ServerFunctions/index.js +2 -2
  132. package/dist/providers/ServerFunctions/index.js.map +1 -1
  133. package/dist/providers/Theme/index.d.ts.map +1 -1
  134. package/dist/providers/Theme/index.js +3 -5
  135. package/dist/providers/Theme/index.js.map +1 -1
  136. package/dist/providers/Translation/index.d.ts.map +1 -1
  137. package/dist/providers/Translation/index.js +3 -5
  138. package/dist/providers/Translation/index.js.map +1 -1
  139. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  140. package/dist/providers/UploadEdits/index.js +2 -4
  141. package/dist/providers/UploadEdits/index.js.map +1 -1
  142. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  143. package/dist/providers/UploadHandlers/index.js +3 -3
  144. package/dist/providers/UploadHandlers/index.js.map +1 -1
  145. package/package.json +5 -5
  146. /package/dist/exports/client/{CodeEditor-TQ5ADFPC.js.map → CodeEditor-J4IKAVAK.js.map} +0 -0
  147. /package/dist/exports/client/{DatePicker-HHQ6TPOW.js.map → DatePicker-DMHV2M2L.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","t0","$","children","t1","Symbol","for","clientFunctions","setClientFunctions","useState","t2","args","state","newState","key","func","t3","args_0","state_0","newState_0","t4","_jsx","Provider","value","useAddClientFunction","useContext","useEffect","useClientFunctions"],"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext.Provider\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext.Provider value={clientFunctions}>\n {children}\n </ClientFunctionsContext.Provider>\n </ModifyClientFunctionContext.Provider>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.useContext(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.useContext(ClientFunctionsContext)\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","ModifyClientFunctionContext","createContext","addClientFunction","removeClientFunction","ClientFunctionsContext","ClientFunctionProvider","t0","$","children","t1","Symbol","for","clientFunctions","setClientFunctions","useState","t2","args","state","newState","key","func","t3","args_0","state_0","newState_0","t4","_jsx","value","useAddClientFunction","use","useEffect","useClientFunctions"],"sources":["../../../src/providers/ClientFunction/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\ntype ModifyClientFunctionContextType = {\n addClientFunction: (args: ModifyFunctionArgs) => void\n removeClientFunction: (args: ModifyFunctionArgs) => void\n}\ntype ClientFunctionsContextType = Record<string, any>\n\nconst ModifyClientFunctionContext = React.createContext<ModifyClientFunctionContextType>({\n addClientFunction: () => null,\n removeClientFunction: () => null,\n})\nconst ClientFunctionsContext = React.createContext<ClientFunctionsContextType>({})\n\ntype ModifyFunctionArgs = { func: any; key: string }\n\nexport const ClientFunctionProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [clientFunctions, setClientFunctions] = React.useState({})\n\n const addClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n newState[args.key] = args.func\n return newState\n })\n }, [])\n\n const removeClientFunction = React.useCallback((args: ModifyFunctionArgs) => {\n setClientFunctions((state) => {\n const newState = { ...state }\n delete newState[args.key]\n return newState\n })\n }, [])\n\n return (\n <ModifyClientFunctionContext\n value={{\n addClientFunction,\n removeClientFunction,\n }}\n >\n <ClientFunctionsContext value={clientFunctions}>{children}</ClientFunctionsContext>\n </ModifyClientFunctionContext>\n )\n}\n\nexport const useAddClientFunction = (key: string, func: any) => {\n const { addClientFunction, removeClientFunction } = React.use(ModifyClientFunctionContext)\n\n React.useEffect(() => {\n addClientFunction({\n func,\n key,\n })\n\n return () => {\n removeClientFunction({\n func,\n key,\n })\n }\n }, [func, key, addClientFunction, removeClientFunction])\n}\n\nexport const useClientFunctions = () => {\n return React.use(ClientFunctionsContext)\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA+E,MAAM,OAAO,CAAA;AAEnG,KAAK,iBAAiB,GAAG;IAGvB,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,EAAE,GAAG,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,sBAAsB,CAAA;IAI3F,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,EAAE,GAAG,UAAU,CAAA;KAAE,GAAG,kBAAkB,CAAA;IAGnF,CAAC,IAAI,EAAE;QACL,cAAc,CAAC,EAAE,EAAE,GAAG,cAAc,CAAA;QACpC,UAAU,CAAC,EAAE,EAAE,GAAG,UAAU,CAAA;KAC7B,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,IAAI,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB;;;;OAIG;IACH,eAAe,EAAE,iBAAiB,CAAA;IAClC,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;CAC1C,CAAA;AAsBD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB,CAAA;CACxD,CA0CA,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,mBAAoD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Config/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAwE,MAAM,OAAO,CAAA;AAE5F,KAAK,iBAAiB,GAAG;IAGvB,CAAC,IAAI,EAAE;QAAE,cAAc,EAAE,EAAE,GAAG,cAAc,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,sBAAsB,CAAA;IAI3F,CAAC,IAAI,EAAE;QAAE,cAAc,CAAC,EAAE,KAAK,CAAC;QAAC,UAAU,EAAE,EAAE,GAAG,UAAU,CAAA;KAAE,GAAG,kBAAkB,CAAA;IAGnF,CAAC,IAAI,EAAE;QACL,cAAc,CAAC,EAAE,EAAE,GAAG,cAAc,CAAA;QACpC,UAAU,CAAC,EAAE,EAAE,GAAG,UAAU,CAAA;KAC7B,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,IAAI,CAAA;CACvD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB;;;;OAIG;IACH,eAAe,EAAE,iBAAiB,CAAA;IAClC,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;CAC1C,CAAA;AAsBD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,uBAAuB,CAAA;CACxD,CAwCA,CAAA;AAED,eAAO,MAAM,SAAS,QAAO,mBAA6C,CAAA"}
@@ -2,7 +2,7 @@
2
2
  'use client';
3
3
 
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
5
+ import React, { createContext, use, useCallback, useEffect, useMemo, useState } from 'react';
6
6
  const RootConfigContext = /*#__PURE__*/createContext(undefined);
7
7
  function sanitizeClientConfig(unSanitizedConfig) {
8
8
  if (!unSanitizedConfig?.blocks?.length || unSanitizedConfig.blocksMap) {
@@ -56,7 +56,7 @@ export const ConfigProvider = ({
56
56
  }
57
57
  return null;
58
58
  }, [collectionsBySlug_0, globalsBySlug_0]);
59
- return /*#__PURE__*/_jsx(RootConfigContext.Provider, {
59
+ return /*#__PURE__*/_jsx(RootConfigContext, {
60
60
  value: {
61
61
  config,
62
62
  getEntityConfig,
@@ -65,7 +65,5 @@ export const ConfigProvider = ({
65
65
  children: children
66
66
  });
67
67
  };
68
- export const useConfig = () => {
69
- return useContext(RootConfigContext);
70
- };
68
+ export const useConfig = () => use(RootConfigContext);
71
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","createContext","useCallback","useContext","useEffect","useMemo","useState","RootConfigContext","undefined","sanitizeClientConfig","unSanitizedConfig","blocks","length","blocksMap","sanitizedConfig","block","slug","ConfigProvider","children","config","configFromProps","setConfig","collectionsBySlug","globalsBySlug","collection","collections","global","globals","getEntityConfig","args","collectionSlug","globalSlug","_jsx","Provider","value","useConfig"],"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["/* eslint-disable perfectionist/sort-object-types */ // Need to disable this rule because the order of the overloads is important\n'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientGlobalConfig,\n CollectionSlug,\n GlobalSlug,\n UnsanitizedClientConfig,\n} from 'payload'\n\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react'\n\ntype GetEntityConfigFn = {\n // Overload #1: collectionSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug: {} | CollectionSlug; globalSlug?: never }): ClientCollectionConfig\n\n // Overload #2: globalSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug?: never; globalSlug: {} | GlobalSlug }): ClientGlobalConfig\n\n // Overload #3: both/none (fall back to union | null)\n (args: {\n collectionSlug?: {} | CollectionSlug\n globalSlug?: {} | GlobalSlug\n }): ClientCollectionConfig | ClientGlobalConfig | null\n}\n\nexport type ClientConfigContext = {\n config: ClientConfig\n /**\n * Get a collection or global config by its slug. This is preferred over\n * using `config.collections.find` or `config.globals.find`, because\n * getEntityConfig uses a lookup map for O(1) lookups.\n */\n getEntityConfig: GetEntityConfigFn\n setConfig: (config: ClientConfig) => void\n}\n\nconst RootConfigContext = createContext<ClientConfigContext | undefined>(undefined)\n\nfunction sanitizeClientConfig(\n unSanitizedConfig: ClientConfig | UnsanitizedClientConfig,\n): ClientConfig {\n if (!unSanitizedConfig?.blocks?.length || (unSanitizedConfig as ClientConfig).blocksMap) {\n ;(unSanitizedConfig as ClientConfig).blocksMap = {}\n return unSanitizedConfig as ClientConfig\n }\n const sanitizedConfig: ClientConfig = { ...unSanitizedConfig } as ClientConfig\n\n sanitizedConfig.blocksMap = {}\n\n for (const block of unSanitizedConfig.blocks) {\n sanitizedConfig.blocksMap[block.slug] = block\n }\n\n return sanitizedConfig\n}\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig | UnsanitizedClientConfig\n}> = ({ children, config: configFromProps }) => {\n const [config, setConfig] = useState<ClientConfig>(() => sanitizeClientConfig(configFromProps))\n\n // Need to update local config state if config from props changes, for HMR.\n // That way, config changes will be updated in the UI immediately without needing a refresh.\n useEffect(() => {\n setConfig(sanitizeClientConfig(configFromProps))\n }, [configFromProps])\n\n // Build lookup maps for collections and globals so we can do O(1) lookups by slug\n const { collectionsBySlug, globalsBySlug } = useMemo(() => {\n const collectionsBySlug: Record<string, ClientCollectionConfig> = {}\n const globalsBySlug: Record<string, ClientGlobalConfig> = {}\n\n for (const collection of config.collections) {\n collectionsBySlug[collection.slug] = collection\n }\n for (const global of config.globals) {\n globalsBySlug[global.slug] = global\n }\n\n return { collectionsBySlug, globalsBySlug }\n }, [config])\n\n const getEntityConfig = useCallback<GetEntityConfigFn>(\n (args) => {\n if ('collectionSlug' in args) {\n return collectionsBySlug[args.collectionSlug] ?? null\n }\n if ('globalSlug' in args) {\n return globalsBySlug[args.globalSlug] ?? null\n }\n return null as any\n },\n [collectionsBySlug, globalsBySlug],\n )\n\n return (\n <RootConfigContext.Provider value={{ config, getEntityConfig, setConfig }}>\n {children}\n </RootConfigContext.Provider>\n )\n}\n\nexport const useConfig = (): ClientConfigContext => useContext(RootConfigContext)\n"],"mappings":"AAAA,sDAAsD;AACtD;;;AAUA,OAAOA,KAAA,IAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AA6B5F,MAAMC,iBAAA,gBAAoBN,aAAA,CAA+CO,SAAA;AAEzE,SAASC,qBACPC,iBAAyD;EAEzD,IAAI,CAACA,iBAAA,EAAmBC,MAAA,EAAQC,MAAA,IAAUF,iBAAC,CAAmCG,SAAS,EAAE;;IACrFH,iBAAA,CAAmCG,SAAS,GAAG,CAAC;IAClD,OAAOH,iBAAA;EACT;EACA,MAAMI,eAAA,GAAgC;IAAE,GAAGJ;EAAkB;EAE7DI,eAAA,CAAgBD,SAAS,GAAG,CAAC;EAE7B,KAAK,MAAME,KAAA,IAASL,iBAAA,CAAkBC,MAAM,EAAE;IAC5CG,eAAA,CAAgBD,SAAS,CAACE,KAAA,CAAMC,IAAI,CAAC,GAAGD,KAAA;EAC1C;EAEA,OAAOD,eAAA;AACT;AAEA,OAAO,MAAMG,cAAA,GAGRA,CAAC;EAAEC,QAAQ;EAAEC,MAAA,EAAQC;AAAe,CAAE;EACzC,MAAM,CAACD,MAAA,EAAQE,SAAA,CAAU,GAAGf,QAAA,CAAuB,MAAMG,oBAAA,CAAqBW,eAAA;EAE9E;EACA;EACAhB,SAAA,CAAU;IACRiB,SAAA,CAAUZ,oBAAA,CAAqBW,eAAA;EACjC,GAAG,CAACA,eAAA,CAAgB;EAEpB;EACA,MAAM;IAAEE,iBAAiB,EAAjBA,mBAAiB;IAAEC,aAAa,EAAbA;EAAa,CAAE,GAAGlB,OAAA,CAAQ;IACnD,MAAMiB,iBAAA,GAA4D,CAAC;IACnE,MAAMC,aAAA,GAAoD,CAAC;IAE3D,KAAK,MAAMC,UAAA,IAAcL,MAAA,CAAOM,WAAW,EAAE;MAC3CH,iBAAiB,CAACE,UAAA,CAAWR,IAAI,CAAC,GAAGQ,UAAA;IACvC;IACA,KAAK,MAAME,MAAA,IAAUP,MAAA,CAAOQ,OAAO,EAAE;MACnCJ,aAAa,CAACG,MAAA,CAAOV,IAAI,CAAC,GAAGU,MAAA;IAC/B;IAEA,OAAO;MAAEJ,iBAAA;MAAmBC;IAAc;EAC5C,GAAG,CAACJ,MAAA,CAAO;EAEX,MAAMS,eAAA,GAAkB1B,WAAA,CACrB2B,IAAA;IACC,IAAI,oBAAoBA,IAAA,EAAM;MAC5B,OAAOP,mBAAiB,CAACO,IAAA,CAAKC,cAAc,CAAC,IAAI;IACnD;IACA,IAAI,gBAAgBD,IAAA,EAAM;MACxB,OAAON,eAAa,CAACM,IAAA,CAAKE,UAAU,CAAC,IAAI;IAC3C;IACA,OAAO;EACT,GACA,CAACT,mBAAA,EAAmBC,eAAA,CAAc;EAGpC,oBACES,IAAA,CAACzB,iBAAA,CAAkB0B,QAAQ;IAACC,KAAA,EAAO;MAAEf,MAAA;MAAQS,eAAA;MAAiBP;IAAU;cACrEH;;AAGP;AAEA,OAAO,MAAMiB,SAAA,GAAYA,CAAA;EAAA,OAA2BhC,UAAA,CAAAI,iBAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","createContext","use","useCallback","useEffect","useMemo","useState","RootConfigContext","undefined","sanitizeClientConfig","unSanitizedConfig","blocks","length","blocksMap","sanitizedConfig","block","slug","ConfigProvider","children","config","configFromProps","setConfig","collectionsBySlug","globalsBySlug","collection","collections","global","globals","getEntityConfig","args","collectionSlug","globalSlug","_jsx","value","useConfig"],"sources":["../../../src/providers/Config/index.tsx"],"sourcesContent":["/* eslint-disable perfectionist/sort-object-types */ // Need to disable this rule because the order of the overloads is important\n'use client'\nimport type {\n ClientCollectionConfig,\n ClientConfig,\n ClientGlobalConfig,\n CollectionSlug,\n GlobalSlug,\n UnsanitizedClientConfig,\n} from 'payload'\n\nimport React, { createContext, use, useCallback, useEffect, useMemo, useState } from 'react'\n\ntype GetEntityConfigFn = {\n // Overload #1: collectionSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug: {} | CollectionSlug; globalSlug?: never }): ClientCollectionConfig\n\n // Overload #2: globalSlug only\n // @todo remove \"{} |\" in 4.0, which would be a breaking change\n (args: { collectionSlug?: never; globalSlug: {} | GlobalSlug }): ClientGlobalConfig\n\n // Overload #3: both/none (fall back to union | null)\n (args: {\n collectionSlug?: {} | CollectionSlug\n globalSlug?: {} | GlobalSlug\n }): ClientCollectionConfig | ClientGlobalConfig | null\n}\n\nexport type ClientConfigContext = {\n config: ClientConfig\n /**\n * Get a collection or global config by its slug. This is preferred over\n * using `config.collections.find` or `config.globals.find`, because\n * getEntityConfig uses a lookup map for O(1) lookups.\n */\n getEntityConfig: GetEntityConfigFn\n setConfig: (config: ClientConfig) => void\n}\n\nconst RootConfigContext = createContext<ClientConfigContext | undefined>(undefined)\n\nfunction sanitizeClientConfig(\n unSanitizedConfig: ClientConfig | UnsanitizedClientConfig,\n): ClientConfig {\n if (!unSanitizedConfig?.blocks?.length || (unSanitizedConfig as ClientConfig).blocksMap) {\n ;(unSanitizedConfig as ClientConfig).blocksMap = {}\n return unSanitizedConfig as ClientConfig\n }\n const sanitizedConfig: ClientConfig = { ...unSanitizedConfig } as ClientConfig\n\n sanitizedConfig.blocksMap = {}\n\n for (const block of unSanitizedConfig.blocks) {\n sanitizedConfig.blocksMap[block.slug] = block\n }\n\n return sanitizedConfig\n}\n\nexport const ConfigProvider: React.FC<{\n readonly children: React.ReactNode\n readonly config: ClientConfig | UnsanitizedClientConfig\n}> = ({ children, config: configFromProps }) => {\n const [config, setConfig] = useState<ClientConfig>(() => sanitizeClientConfig(configFromProps))\n\n // Need to update local config state if config from props changes, for HMR.\n // That way, config changes will be updated in the UI immediately without needing a refresh.\n useEffect(() => {\n setConfig(sanitizeClientConfig(configFromProps))\n }, [configFromProps])\n\n // Build lookup maps for collections and globals so we can do O(1) lookups by slug\n const { collectionsBySlug, globalsBySlug } = useMemo(() => {\n const collectionsBySlug: Record<string, ClientCollectionConfig> = {}\n const globalsBySlug: Record<string, ClientGlobalConfig> = {}\n\n for (const collection of config.collections) {\n collectionsBySlug[collection.slug] = collection\n }\n for (const global of config.globals) {\n globalsBySlug[global.slug] = global\n }\n\n return { collectionsBySlug, globalsBySlug }\n }, [config])\n\n const getEntityConfig = useCallback<GetEntityConfigFn>(\n (args) => {\n if ('collectionSlug' in args) {\n return collectionsBySlug[args.collectionSlug] ?? null\n }\n if ('globalSlug' in args) {\n return globalsBySlug[args.globalSlug] ?? null\n }\n return null as any\n },\n [collectionsBySlug, globalsBySlug],\n )\n\n return (\n <RootConfigContext value={{ config, getEntityConfig, setConfig }}>{children}</RootConfigContext>\n )\n}\n\nexport const useConfig = (): ClientConfigContext => use(RootConfigContext)\n"],"mappings":"AAAA,sDAAsD;AACtD;;;AAUA,OAAOA,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AA6BrF,MAAMC,iBAAA,gBAAoBN,aAAA,CAA+CO,SAAA;AAEzE,SAASC,qBACPC,iBAAyD;EAEzD,IAAI,CAACA,iBAAA,EAAmBC,MAAA,EAAQC,MAAA,IAAUF,iBAAC,CAAmCG,SAAS,EAAE;;IACrFH,iBAAA,CAAmCG,SAAS,GAAG,CAAC;IAClD,OAAOH,iBAAA;EACT;EACA,MAAMI,eAAA,GAAgC;IAAE,GAAGJ;EAAkB;EAE7DI,eAAA,CAAgBD,SAAS,GAAG,CAAC;EAE7B,KAAK,MAAME,KAAA,IAASL,iBAAA,CAAkBC,MAAM,EAAE;IAC5CG,eAAA,CAAgBD,SAAS,CAACE,KAAA,CAAMC,IAAI,CAAC,GAAGD,KAAA;EAC1C;EAEA,OAAOD,eAAA;AACT;AAEA,OAAO,MAAMG,cAAA,GAGRA,CAAC;EAAEC,QAAQ;EAAEC,MAAA,EAAQC;AAAe,CAAE;EACzC,MAAM,CAACD,MAAA,EAAQE,SAAA,CAAU,GAAGf,QAAA,CAAuB,MAAMG,oBAAA,CAAqBW,eAAA;EAE9E;EACA;EACAhB,SAAA,CAAU;IACRiB,SAAA,CAAUZ,oBAAA,CAAqBW,eAAA;EACjC,GAAG,CAACA,eAAA,CAAgB;EAEpB;EACA,MAAM;IAAEE,iBAAiB,EAAjBA,mBAAiB;IAAEC,aAAa,EAAbA;EAAa,CAAE,GAAGlB,OAAA,CAAQ;IACnD,MAAMiB,iBAAA,GAA4D,CAAC;IACnE,MAAMC,aAAA,GAAoD,CAAC;IAE3D,KAAK,MAAMC,UAAA,IAAcL,MAAA,CAAOM,WAAW,EAAE;MAC3CH,iBAAiB,CAACE,UAAA,CAAWR,IAAI,CAAC,GAAGQ,UAAA;IACvC;IACA,KAAK,MAAME,MAAA,IAAUP,MAAA,CAAOQ,OAAO,EAAE;MACnCJ,aAAa,CAACG,MAAA,CAAOV,IAAI,CAAC,GAAGU,MAAA;IAC/B;IAEA,OAAO;MAAEJ,iBAAA;MAAmBC;IAAc;EAC5C,GAAG,CAACJ,MAAA,CAAO;EAEX,MAAMS,eAAA,GAAkBzB,WAAA,CACrB0B,IAAA;IACC,IAAI,oBAAoBA,IAAA,EAAM;MAC5B,OAAOP,mBAAiB,CAACO,IAAA,CAAKC,cAAc,CAAC,IAAI;IACnD;IACA,IAAI,gBAAgBD,IAAA,EAAM;MACxB,OAAON,eAAa,CAACM,IAAA,CAAKE,UAAU,CAAC,IAAI;IAC3C;IACA,OAAO;EACT,GACA,CAACT,mBAAA,EAAmBC,eAAA,CAAc;EAGpC,oBACES,IAAA,CAACzB,iBAAA;IAAkB0B,KAAA,EAAO;MAAEd,MAAA;MAAQS,eAAA;MAAiBP;IAAU;cAAIH;;AAEvE;AAEA,OAAO,MAAMgB,SAAA,GAAYA,CAAA,KAA2BhC,GAAA,CAAIK,iBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentEvents/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAA8C,MAAM,OAAO,CAAA;AAOlE,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAI1E,CAAA;AAED,eAAO,MAAM,iBAAiB;;wBATR,aAAa;CASuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentEvents/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAuC,MAAM,OAAO,CAAA;AAO3D,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAI1E,CAAA;AAED,eAAO,MAAM,iBAAiB;;wBATR,aAAa;CASgB,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { createContext, useContext, useState } from 'react';
5
+ import React, { createContext, use, useState } from 'react';
6
6
  const Context = /*#__PURE__*/createContext({
7
7
  mostRecentUpdate: null,
8
8
  reportUpdate: doc => null
@@ -15,7 +15,7 @@ export const DocumentEventsProvider = t0 => {
15
15
  const [mostRecentUpdate, reportUpdate] = useState(null);
16
16
  let t1;
17
17
  if ($[0] !== children || $[1] !== mostRecentUpdate) {
18
- t1 = _jsx(Context.Provider, {
18
+ t1 = _jsx(Context, {
19
19
  value: {
20
20
  mostRecentUpdate,
21
21
  reportUpdate
@@ -30,7 +30,5 @@ export const DocumentEventsProvider = t0 => {
30
30
  }
31
31
  return t1;
32
32
  };
33
- export const useDocumentEvents = () => {
34
- return useContext(Context);
35
- };
33
+ export const useDocumentEvents = () => use(Context);
36
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","useState","Context","mostRecentUpdate","reportUpdate","doc","DocumentEventsProvider","t0","$","children","t1","_jsx","Provider","value","useDocumentEvents"],"sources":["../../../src/providers/DocumentEvents/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentEvent } from 'payload'\n\nimport React, { createContext, useContext, useState } from 'react'\n\nconst Context = createContext({\n mostRecentUpdate: null,\n reportUpdate: (doc: DocumentEvent) => null,\n})\n\nexport const DocumentEventsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [mostRecentUpdate, reportUpdate] = useState<DocumentEvent>(null)\n\n return <Context.Provider value={{ mostRecentUpdate, reportUpdate }}>{children}</Context.Provider>\n}\n\nexport const useDocumentEvents = () => useContext(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ;AAE3D,MAAMC,OAAA,gBAAUH,aAAA,CAAc;EAC5BI,gBAAA,EAAkB;EAClBC,YAAA,EAAeC,GAAA,IAAuB;AACxC;AAEA,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY;EAAA,IAAAF,EAAY;EAC1F,OAAAJ,gBAAA,EAAAC,YAAA,IAAyCH,QAAA,KAAwB;EAAA,IAAAS,EAAA;EAAA,IAAAF,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAL,gBAAA;IAE1DO,EAAA,GAAAC,IAAA,CAAAT,OAAA,CAAAU,QAAA;MAAAC,KAAA;QAAAV,gBAAA;QAAAC;MAAA;MAAAK;IAAA,C;;;;;;;SAAAC,E;CACT;AAEA,OAAO,MAAMI,iBAAA,GAAoBA,CAAA;EAAA,OAAMd,UAAA,CAAAE,OAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useState","Context","mostRecentUpdate","reportUpdate","doc","DocumentEventsProvider","t0","$","children","t1","_jsx","value","useDocumentEvents"],"sources":["../../../src/providers/DocumentEvents/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentEvent } from 'payload'\n\nimport React, { createContext, use, useState } from 'react'\n\nconst Context = createContext({\n mostRecentUpdate: null,\n reportUpdate: (doc: DocumentEvent) => null,\n})\n\nexport const DocumentEventsProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [mostRecentUpdate, reportUpdate] = useState<DocumentEvent>(null)\n\n return <Context value={{ mostRecentUpdate, reportUpdate }}>{children}</Context>\n}\n\nexport const useDocumentEvents = () => use(Context)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,QAAQ,QAAQ;AAEpD,MAAMC,OAAA,gBAAUH,aAAA,CAAc;EAC5BI,gBAAA,EAAkB;EAClBC,YAAA,EAAeC,GAAA,IAAuB;AACxC;AAEA,OAAO,MAAMC,sBAAA,GAAkEC,EAAA;EAAA,MAAAC,CAAA,GAAAX,EAAA;EAAC;IAAAY;EAAA,IAAAF,EAAY;EAC1F,OAAAJ,gBAAA,EAAAC,YAAA,IAAyCH,QAAA,KAAwB;EAAA,IAAAS,EAAA;EAAA,IAAAF,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAL,gBAAA;IAE1DO,EAAA,GAAAC,IAAA,CAAAT,OAAA;MAAAU,KAAA;QAAAT,gBAAA;QAAAC;MAAA;MAAAK;IAAA,C;;;;;;;SAAAC,E;CACT;AAEA,OAAO,MAAMG,iBAAA,GAAoBA,CAAA,KAAMb,GAAA,CAAIE,OAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAQN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA+U7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAQN,MAAM,OAAO,CAAA;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAAmC,CAAA;AA+UtE,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CACnC,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx } from "react/jsx-runtime";
4
4
  import * as qs from 'qs-esm';
5
- import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
5
+ import React, { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';
6
6
  import { useAuth } from '../../providers/Auth/index.js';
7
7
  import { requests } from '../../utilities/api.js';
8
8
  import { formatDocTitle } from '../../utilities/formatDocTitle.js';
@@ -13,9 +13,7 @@ import { useTranslation } from '../Translation/index.js';
13
13
  import { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js';
14
14
  import { useGetDocPermissions } from './useGetDocPermissions.js';
15
15
  const Context = /*#__PURE__*/createContext({});
16
- export const useDocumentInfo = () => {
17
- return useContext(Context);
18
- };
16
+ export const useDocumentInfo = () => use(Context);
19
17
  const DocumentInfo = ({
20
18
  children,
21
19
  ...props
@@ -304,7 +302,7 @@ const DocumentInfo = ({
304
302
  uploadStatus,
305
303
  versionCount
306
304
  };
307
- return /*#__PURE__*/_jsx(Context.Provider, {
305
+ return /*#__PURE__*/_jsx(Context, {
308
306
  value: value,
309
307
  children: children
310
308
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","createContext","useCallback","useContext","useEffect","useMemo","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","title","_jsx","Provider","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences, SanitizedDocumentPermissions } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n const [uploadStatus, setUploadStatus] = useState<'failed' | 'idle' | 'uploading'>('idle')\n\n const updateUploadStatus = useCallback((status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n }, [])\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","createContext","use","useCallback","useEffect","useMemo","useRef","useState","useAuth","requests","formatDocTitle","useConfig","useLocale","useLocaleLoading","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","useGetDocPermissions","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","currentEditor","currentEditorFromProps","docPermissions","docPermissionsFromProps","globalSlug","hasPublishedDoc","hasPublishedDocFromProps","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermission","hasSavePermissionFromProps","initialData","initialState","isLocked","isLockedFromProps","lastUpdateTime","lastUpdateTimeFromProps","mostRecentVersionIsAutosaved","mostRecentVersionIsAutosavedFromProps","unpublishedVersionCount","unpublishedVersionCountFromProps","versionCount","versionCountFromProps","setDocPermissions","setHasSavePermission","setHasPublishPermission","permissions","config","admin","dateFormat","routes","api","serverURL","getEntityConfig","collectionConfig","globalConfig","abortControllerRef","AbortController","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","setMostRecentVersionIsAutosaved","setVersionCount","setHasPublishedDoc","setUnpublishedVersionCount","documentIsLocked","setDocumentIsLocked","setCurrentEditor","setLastUpdateTime","savedDocumentData","setSavedDocumentData","uploadStatus","setUploadStatus","updateUploadStatus","status","getPreference","setPreference","code","locale","localeIsLoading","isInitializing","undefined","baseURL","slug","pluralType","preferencesKey","unlockDocument","docID","isGlobal","query","request","get","docs","json","length","lockID","delete","headers","error","console","updateDocumentEditor","user","userData","relationTo","collection","value","patch","body","JSON","stringify","getDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","incrementVersionCount","newCount","versions","maxPerDoc","Math","min","max","updateSavedDocumentData","re1","current","abort","_err","action","docURL","params","depth","addQueryPrefix","title","_jsx","DocumentInfoProvider"],"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientUser, DocumentPreferences, SanitizedDocumentPermissions } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale, useLocaleLoading } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\nimport { useGetDocPermissions } from './useGetDocPermissions.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => use(Context)\n\nconst DocumentInfo: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n currentEditor: currentEditorFromProps,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishedDoc: hasPublishedDocFromProps,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData,\n initialState,\n isLocked: isLockedFromProps,\n lastUpdateTime: lastUpdateTimeFromProps,\n mostRecentVersionIsAutosaved: mostRecentVersionIsAutosavedFromProps,\n unpublishedVersionCount: unpublishedVersionCountFromProps,\n versionCount: versionCountFromProps,\n } = props\n\n const [docPermissions, setDocPermissions] =\n useState<SanitizedDocumentPermissions>(docPermissionsFromProps)\n\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n\n const { permissions } = useAuth()\n\n const {\n config: {\n admin: { dateFormat },\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const abortControllerRef = useRef(new AbortController())\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() =>\n formatDocTitle({\n collectionConfig,\n data: { ...(initialData || {}), id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n\n const [mostRecentVersionIsAutosaved, setMostRecentVersionIsAutosaved] = useState(\n mostRecentVersionIsAutosavedFromProps,\n )\n\n const [versionCount, setVersionCount] = useState(versionCountFromProps)\n\n const [hasPublishedDoc, setHasPublishedDoc] = useState(hasPublishedDocFromProps)\n const [unpublishedVersionCount, setUnpublishedVersionCount] = useState(\n unpublishedVersionCountFromProps,\n )\n\n const [documentIsLocked, setDocumentIsLocked] = useState<boolean | undefined>(isLockedFromProps)\n const [currentEditor, setCurrentEditor] = useState<ClientUser | null>(currentEditorFromProps)\n const [lastUpdateTime, setLastUpdateTime] = useState<number>(lastUpdateTimeFromProps)\n const [savedDocumentData, setSavedDocumentData] = useState(initialData)\n const [uploadStatus, setUploadStatus] = useState<'failed' | 'idle' | 'uploading'>('idle')\n\n const updateUploadStatus = useCallback((status: 'failed' | 'idle' | 'uploading') => {\n setUploadStatus(status)\n }, [])\n\n const { getPreference, setPreference } = usePreferences()\n const { code: locale } = useLocale()\n const { localeIsLoading } = useLocaleLoading()\n\n const isInitializing = useMemo(\n () => initialState === undefined || initialData === undefined || localeIsLoading,\n [initialData, initialState, localeIsLoading],\n )\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const unlockDocument = useCallback(\n async (docID: number | string, slug: string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n await requests.delete(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n setDocumentIsLocked(false)\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to unlock the document', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const updateDocumentEditor = useCallback(\n async (docID: number | string, slug: string, user: ClientUser | number | string) => {\n try {\n const isGlobal = slug === globalSlug\n\n const query = isGlobal\n ? `where[globalSlug][equals]=${slug}`\n : `where[document.value][equals]=${docID}&where[document.relationTo][equals]=${slug}`\n\n // Check if the document is already locked\n const request = await requests.get(`${serverURL}${api}/payload-locked-documents?${query}`)\n\n const { docs } = await request.json()\n\n if (docs.length > 0) {\n const lockID = docs[0].id\n\n const userData =\n typeof user === 'object'\n ? { relationTo: user.collection, value: user.id }\n : { relationTo: 'users', value: user }\n\n // Send a patch request to update the _lastEdited info\n await requests.patch(`${serverURL}${api}/payload-locked-documents/${lockID}`, {\n body: JSON.stringify({\n user: userData,\n }),\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Failed to update the document editor', error)\n }\n },\n [serverURL, api, globalSlug],\n )\n\n const getDocPermissions = useGetDocPermissions({\n id: id as string,\n api,\n collectionSlug,\n globalSlug,\n i18n,\n locale,\n permissions,\n serverURL,\n setDocPermissions,\n setHasPublishPermission,\n setHasSavePermission,\n })\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const incrementVersionCount = useCallback(() => {\n const newCount = versionCount + 1\n if (collectionConfig && collectionConfig.versions) {\n if (collectionConfig.versions.maxPerDoc > 0) {\n setVersionCount(Math.min(newCount, collectionConfig.versions.maxPerDoc))\n } else {\n setVersionCount(newCount)\n }\n } else if (globalConfig && globalConfig.versions) {\n if (globalConfig.versions.max > 0) {\n setVersionCount(Math.min(newCount, globalConfig.versions.max))\n } else {\n setVersionCount(newCount)\n }\n }\n }, [collectionConfig, globalConfig, versionCount])\n\n const updateSavedDocumentData = React.useCallback<DocumentInfoContext['updateSavedDocumentData']>(\n (json) => {\n setSavedDocumentData(json)\n },\n [],\n )\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...savedDocumentData, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, globalConfig, savedDocumentData, dateFormat, i18n, id])\n\n // clean on unmount\n useEffect(() => {\n const re1 = abortControllerRef.current\n\n return () => {\n if (re1) {\n try {\n re1.abort()\n } catch (_err) {\n // swallow error\n }\n }\n }\n }, [])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n currentEditor,\n docConfig,\n docPermissions,\n documentIsLocked,\n getDocPermissions,\n getDocPreferences,\n hasPublishedDoc,\n hasPublishPermission,\n hasSavePermission,\n incrementVersionCount,\n initialData,\n initialState,\n isInitializing,\n lastUpdateTime,\n mostRecentVersionIsAutosaved,\n preferencesKey,\n savedDocumentData,\n setCurrentEditor,\n setDocFieldPreferences,\n setDocumentIsLocked,\n setDocumentTitle,\n setHasPublishedDoc,\n setLastUpdateTime,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n setUploadStatus: updateUploadStatus,\n title: documentTitle,\n unlockDocument,\n unpublishedVersionCount,\n updateDocumentEditor,\n updateSavedDocumentData,\n uploadStatus,\n versionCount,\n }\n\n return <Context value={value}>{children}</Context>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n readonly children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EditDepth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,eAAO,MAAM,gBAAgB,uBAAmB,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAKrE,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,MAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EditDepth/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,gBAAgB,uBAAmB,CAAA;AAEhD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAKrE,CAAA;AAED,eAAO,MAAM,YAAY,QAAO,MAA+B,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { createContext, useContext } from 'react';
5
+ import React, { createContext, use } from 'react';
6
6
  export const EditDepthContext = /*#__PURE__*/createContext(0);
7
7
  export const EditDepthProvider = t0 => {
8
8
  const $ = _c(3);
@@ -13,7 +13,7 @@ export const EditDepthProvider = t0 => {
13
13
  const depth = parentDepth + 1;
14
14
  let t1;
15
15
  if ($[0] !== children || $[1] !== depth) {
16
- t1 = _jsx(EditDepthContext.Provider, {
16
+ t1 = _jsx(EditDepthContext, {
17
17
  value: depth,
18
18
  children
19
19
  });
@@ -25,7 +25,5 @@ export const EditDepthProvider = t0 => {
25
25
  }
26
26
  return t1;
27
27
  };
28
- export const useEditDepth = () => {
29
- return useContext(EditDepthContext);
30
- };
28
+ export const useEditDepth = () => use(EditDepthContext);
31
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useContext","EditDepthContext","EditDepthProvider","t0","$","children","parentDepth","useEditDepth","depth","t1","_jsx","Provider","value"],"sources":["../../../src/providers/EditDepth/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext } from 'react'\n\nexport const EditDepthContext = createContext(0)\n\nexport const EditDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useEditDepth()\n const depth = parentDepth + 1\n\n return <EditDepthContext.Provider value={depth}>{children}</EditDepthContext.Provider>\n}\n\nexport const useEditDepth = (): number => useContext(EditDepthContext)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,QAAQ;AAEjD,OAAO,MAAMC,gBAAA,gBAAmBF,aAAA,CAAc;AAE9C,OAAO,MAAMG,iBAAA,GAA6DC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAAY;EACrF,MAAAG,WAAA,GAAoBC,YAAA;EACpB,MAAAC,KAAA,GAAcF,WAAA,IAAc;EAAA,IAAAG,EAAA;EAAA,IAAAL,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAI,KAAA;IAErBC,EAAA,GAAAC,IAAA,CAAAT,gBAAA,CAAAU,QAAA;MAAAC,KAAA,EAAkCJ,KAAA;MAAAH;IAAA,C;;;;;;;SAAlCI,E;CACT;AAEA,OAAO,MAAMF,YAAA,GAAeA,CAAA;EAAA,OAAcP,UAAA,CAAAC,gBAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","EditDepthContext","EditDepthProvider","t0","$","children","parentDepth","useEditDepth","depth","t1","_jsx","value"],"sources":["../../../src/providers/EditDepth/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use } from 'react'\n\nexport const EditDepthContext = createContext(0)\n\nexport const EditDepthProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const parentDepth = useEditDepth()\n const depth = parentDepth + 1\n\n return <EditDepthContext value={depth}>{children}</EditDepthContext>\n}\n\nexport const useEditDepth = (): number => use(EditDepthContext)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,QAAQ;AAE1C,OAAO,MAAMC,gBAAA,gBAAmBF,aAAA,CAAc;AAE9C,OAAO,MAAMG,iBAAA,GAA6DC,EAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EAAC;IAAAQ;EAAA,IAAAF,EAAY;EACrF,MAAAG,WAAA,GAAoBC,YAAA;EACpB,MAAAC,KAAA,GAAcF,WAAA,IAAc;EAAA,IAAAG,EAAA;EAAA,IAAAL,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAI,KAAA;IAErBC,EAAA,GAAAC,IAAA,CAAAT,gBAAA;MAAAU,KAAA,EAAyBH,KAAA;MAAAH;IAAA,C;;;;;;;SAAzBI,E;CACT;AAEA,OAAO,MAAMF,YAAA,GAAeA,CAAA,KAAcP,GAAA,CAAIC,gBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEhG,OAAO,KAAiD,MAAM,OAAO,CAAA;AAErE,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,CAAC,EAChB,cAAc,EACd,UAAU,GACX,EAAE;QACD,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;KAC3C,KAAK,OAAO,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,2CAAkD,CAAA;AAEtF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CA2BA,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,0BACF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/EntityVisibility/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEhG,OAAO,KAA0C,MAAM,OAAO,CAAA;AAE9D,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,CAAC,EAChB,cAAc,EACd,UAAU,GACX,EAAE;QACD,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;QAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;KAC3C,KAAK,OAAO,CAAA;IACb,eAAe,EAAE,eAAe,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,uBAAuB,2CAAkD,CAAA;AAEtF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,eAAe,CAAA;CAClC,CA2BA,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,0BACT,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { createContext, useCallback, useContext } from 'react';
5
+ import React, { createContext, use, useCallback } from 'react';
6
6
  export const EntityVisibilityContext = /*#__PURE__*/createContext({});
7
7
  export const EntityVisibilityProvider = t0 => {
8
8
  const $ = _c(6);
@@ -33,7 +33,7 @@ export const EntityVisibilityProvider = t0 => {
33
33
  const isEntityVisible = t1;
34
34
  let t2;
35
35
  if ($[2] !== children || $[3] !== isEntityVisible || $[4] !== visibleEntities) {
36
- t2 = _jsx(EntityVisibilityContext.Provider, {
36
+ t2 = _jsx(EntityVisibilityContext, {
37
37
  value: {
38
38
  isEntityVisible,
39
39
  visibleEntities
@@ -49,7 +49,5 @@ export const EntityVisibilityProvider = t0 => {
49
49
  }
50
50
  return t2;
51
51
  };
52
- export const useEntityVisibility = () => {
53
- return useContext(EntityVisibilityContext);
54
- };
52
+ export const useEntityVisibility = () => use(EntityVisibilityContext);
55
53
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","createContext","useCallback","useContext","EntityVisibilityContext","EntityVisibilityProvider","t0","$","children","visibleEntities","t1","t2","collectionSlug","globalSlug","collections","includes","globals","isEntityVisible","_jsx","Provider","value","useEntityVisibility"],"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload'\n\nimport React, { createContext, useCallback, useContext } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext.Provider value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext.Provider>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n useContext(EntityVisibilityContext)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,QAAQ;AAa9D,OAAO,MAAMC,uBAAA,gBAA0BH,aAAA,CAAc,CAAC;AAEtD,OAAO,MAAMI,wBAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,QAAA;IAAAC;EAAA,IAAAH,EAA6B;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,eAAA;IAE/BC,EAAA,GAAAC,EAAA;MAAC;QAAAC,cAAA;QAAAC;MAAA,IAAAF,EAMA;MAAA,IACKC,cAAA;QAAA,OACKH,eAAA,CAAAK,WAAA,CAAAC,QAAA,CAAqCH,cAAA;MAAA;MAAA,IAG1CC,UAAA;QAAA,OACKJ,eAAA,CAAAO,OAAA,CAAAD,QAAA,CAAiCF,UAAA;MAAA;MAAA;IAAA;IAI5CN,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAjBF,MAAAU,eAAA,GAAwBP,EAkBL;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAU,eAAA,IAAAV,CAAA,QAAAE,eAAA;IAIjBE,EAAA,GAAAO,IAAA,CAAAd,uBAAA,CAAAe,QAAA;MAAAC,KAAA;QAAAH,eAAA;QAAAR;MAAA;MAAAD;IAAA,C;;;;;;;;SAAAG,E;CAIJ;AAEA,OAAO,MAAMU,mBAAA,GAAsBA,CAAA;EAAA,OACjClB,UAAA,CAAAC,uBAAW;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","createContext","use","useCallback","EntityVisibilityContext","EntityVisibilityProvider","t0","$","children","visibleEntities","t1","t2","collectionSlug","globalSlug","collections","includes","globals","isEntityVisible","_jsx","value","useEntityVisibility"],"sources":["../../../src/providers/EntityVisibility/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig, VisibleEntities } from 'payload'\n\nimport React, { createContext, use, useCallback } from 'react'\n\nexport type VisibleEntitiesContextType = {\n isEntityVisible: ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n }) => boolean\n visibleEntities: VisibleEntities\n}\n\nexport const EntityVisibilityContext = createContext({} as VisibleEntitiesContextType)\n\nexport const EntityVisibilityProvider: React.FC<{\n children: React.ReactNode\n visibleEntities?: VisibleEntities\n}> = ({ children, visibleEntities }) => {\n const isEntityVisible = useCallback(\n ({\n collectionSlug,\n globalSlug,\n }: {\n collectionSlug: SanitizedCollectionConfig['slug']\n globalSlug: SanitizedGlobalConfig['slug']\n }) => {\n if (collectionSlug) {\n return visibleEntities.collections.includes(collectionSlug)\n }\n\n if (globalSlug) {\n return visibleEntities.globals.includes(globalSlug)\n }\n\n return false\n },\n [visibleEntities],\n )\n\n return (\n <EntityVisibilityContext value={{ isEntityVisible, visibleEntities }}>\n {children}\n </EntityVisibilityContext>\n )\n}\n\nexport const useEntityVisibility = (): VisibleEntitiesContextType =>\n use(EntityVisibilityContext)\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,WAAW,QAAQ;AAavD,OAAO,MAAMC,uBAAA,gBAA0BH,aAAA,CAAc,CAAC;AAEtD,OAAO,MAAMI,wBAAA,GAGRC,EAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EAAC;IAAAS,QAAA;IAAAC;EAAA,IAAAH,EAA6B;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAE,eAAA;IAE/BC,EAAA,GAAAC,EAAA;MAAC;QAAAC,cAAA;QAAAC;MAAA,IAAAF,EAMA;MAAA,IACKC,cAAA;QAAA,OACKH,eAAA,CAAAK,WAAA,CAAAC,QAAA,CAAqCH,cAAA;MAAA;MAAA,IAG1CC,UAAA;QAAA,OACKJ,eAAA,CAAAO,OAAA,CAAAD,QAAA,CAAiCF,UAAA;MAAA;MAAA;IAAA;IAI5CN,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAjBF,MAAAU,eAAA,GAAwBP,EAkBL;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAU,eAAA,IAAAV,CAAA,QAAAE,eAAA;IAIjBE,EAAA,GAAAO,IAAA,CAAAd,uBAAA;MAAAe,KAAA;QAAAF,eAAA;QAAAR;MAAA;MAAAD;IAAA,C;;;;;;;;SAAAG,E;CAIJ;AAEA,OAAO,MAAMS,mBAAA,GAAsBA,CAAA,KACjClB,GAAA,CAAIE,uBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,gBAAgB,4CAAyC,CAAA;AAEtE,eAAO,MAAM,YAAY,QAAO,iBAAiD,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,eAAO,MAAM,gBAAgB,4CAAyC,CAAA;AAEtE,eAAO,MAAM,YAAY,QAAO,iBAA0C,CAAA"}
@@ -1,4 +1,4 @@
1
- import { createContext, useContext } from 'react';
1
+ import { createContext, use } from 'react';
2
2
  export const ListQueryContext = createContext({});
3
- export const useListQuery = () => useContext(ListQueryContext);
3
+ export const useListQuery = () => use(ListQueryContext);
4
4
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["createContext","useContext","ListQueryContext","useListQuery"],"sources":["../../../src/providers/ListQuery/context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nimport type { IListQueryContext } from './types.js'\n\nexport const ListQueryContext = createContext({} as IListQueryContext)\n\nexport const useListQuery = (): IListQueryContext => useContext(ListQueryContext)\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ;AAI1C,OAAO,MAAMC,gBAAA,GAAmBF,aAAA,CAAc,CAAC;AAE/C,OAAO,MAAMG,YAAA,GAAeA,CAAA,KAAyBF,UAAA,CAAWC,gBAAA","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["createContext","use","ListQueryContext","useListQuery"],"sources":["../../../src/providers/ListQuery/context.ts"],"sourcesContent":["import { createContext, use } from 'react'\n\nimport type { IListQueryContext } from './types.js'\n\nexport const ListQueryContext = createContext({} as IListQueryContext)\n\nexport const useListQuery = (): IListQueryContext => use(ListQueryContext)\n"],"mappings":"AAAA,SAASA,aAAa,EAAEC,GAAG,QAAQ;AAInC,OAAO,MAAMC,gBAAA,GAAmBF,aAAA,CAAc,CAAC;AAE/C,OAAO,MAAMG,YAAA,GAAeA,CAAA,KAAyBF,GAAA,CAAIC,gBAAA","ignoreList":[]}
@@ -131,7 +131,7 @@ export const ListQueryProvider = ({
131
131
  syncQuery();
132
132
  }
133
133
  }, [defaultSort, defaultLimit, modifySearchParams, columns]);
134
- return /*#__PURE__*/_jsx(ListQueryContext.Provider, {
134
+ return /*#__PURE__*/_jsx(ListQueryContext, {
135
135
  value: {
136
136
  data,
137
137
  handlePageChange,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","isNumber","transformColumnsToSearchParams","qs","React","useCallback","useEffect","useMemo","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","ListQueryContext","useListQuery","ListQueryProvider","children","columns","data","defaultLimit","defaultSort","listPreferences","modifySearchParams","onQueryChange","onQueryChangeFromProps","router","rawSearchParams","startRouteTransition","searchParams","currentQuery","setCurrentQuery","refineListData","query","page","newQuery","limit","String","search","sort","where","replace","stringify","JSON","addQueryPrefix","onChangeFn","handlePageChange","arg","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","syncQuery","shouldUpdateQueryString","window","history","replaceState","_jsx","Provider","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { type ListQuery, type Where } from 'payload'\nimport { isNumber, transformColumnsToSearchParams } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ListQueryContext } from './context.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n columns,\n data,\n defaultLimit,\n defaultSort,\n listPreferences,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n}) => {\n 'use no memo'\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const searchParams = useMemo<ListQuery>(\n () => parseSearchParams(rawSearchParams),\n [rawSearchParams],\n )\n\n const { onQueryChange } = useListDrawerContext()\n\n const [currentQuery, setCurrentQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {}\n }\n })\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (query: ListQuery) => {\n let page = 'page' in query ? query.page : currentQuery?.page\n\n if ('where' in query || 'search' in query) {\n page = '1'\n }\n\n const newQuery: ListQuery = {\n columns: 'columns' in query ? query.columns : currentQuery.columns,\n limit: 'limit' in query ? query.limit : (currentQuery?.limit ?? String(defaultLimit)),\n page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : ((currentQuery?.sort as string) ?? defaultSort),\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n if (modifySearchParams) {\n startRouteTransition(() =>\n router.replace(\n `${qs.stringify(\n { ...newQuery, columns: JSON.stringify(newQuery.columns) },\n { addQueryPrefix: true },\n )}`,\n ),\n )\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n\n setCurrentQuery(newQuery)\n },\n [\n currentQuery?.columns,\n currentQuery?.limit,\n currentQuery?.page,\n currentQuery?.search,\n currentQuery?.sort,\n currentQuery?.where,\n startRouteTransition,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: String(arg) })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: String(arg), page: '1' })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n await refineListData({ sort: arg })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n await refineListData({ where: arg })\n },\n [refineListData],\n )\n\n const syncQuery = useEffectEvent(() => {\n let shouldUpdateQueryString = false\n const newQuery = { ...(currentQuery || {}) }\n\n // Allow the URL to override the default limit\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n newQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n\n // Allow the URL to override the default sort\n if (defaultSort && !('sort' in currentQuery)) {\n newQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n\n // Only modify columns if they originated from preferences\n // We can assume they did if `listPreferences.columns` is defined\n if (columns && listPreferences?.columns && !('columns' in currentQuery)) {\n newQuery.columns = transformColumnsToSearchParams(columns)\n shouldUpdateQueryString = true\n }\n\n if (shouldUpdateQueryString) {\n setCurrentQuery(newQuery)\n // Do not use router.replace here to avoid re-rendering on initial load\n window.history.replaceState(\n null,\n '',\n `?${qs.stringify({ ...newQuery, columns: JSON.stringify(newQuery.columns) })}`,\n )\n }\n })\n\n // If `defaultLimit` or `defaultSort` are updated externally, update the query\n // I.e. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams) {\n syncQuery()\n }\n }, [defaultSort, defaultLimit, modifySearchParams, columns])\n\n return (\n <ListQueryContext.Provider\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n query: currentQuery,\n refineListData,\n }}\n >\n {children}\n </ListQueryContext.Provider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","isNumber","transformColumnsToSearchParams","qs","React","useCallback","useEffect","useMemo","useState","useListDrawerContext","useEffectEvent","useRouteTransition","parseSearchParams","ListQueryContext","useListQuery","ListQueryProvider","children","columns","data","defaultLimit","defaultSort","listPreferences","modifySearchParams","onQueryChange","onQueryChangeFromProps","router","rawSearchParams","startRouteTransition","searchParams","currentQuery","setCurrentQuery","refineListData","query","page","newQuery","limit","String","search","sort","where","replace","stringify","JSON","addQueryPrefix","onChangeFn","handlePageChange","arg","handlePerPageChange","handleSearchChange","undefined","handleSortChange","handleWhereChange","syncQuery","shouldUpdateQueryString","window","history","replaceState","_jsx","value"],"sources":["../../../src/providers/ListQuery/index.tsx"],"sourcesContent":["'use client'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { type ListQuery, type Where } from 'payload'\nimport { isNumber, transformColumnsToSearchParams } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { ListQueryProps } from './types.js'\n\nimport { useListDrawerContext } from '../../elements/ListDrawer/Provider.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useRouteTransition } from '../../providers/RouteTransition/index.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { ListQueryContext } from './context.js'\n\nexport { useListQuery } from './context.js'\n\nexport const ListQueryProvider: React.FC<ListQueryProps> = ({\n children,\n columns,\n data,\n defaultLimit,\n defaultSort,\n listPreferences,\n modifySearchParams,\n onQueryChange: onQueryChangeFromProps,\n}) => {\n 'use no memo'\n const router = useRouter()\n const rawSearchParams = useSearchParams()\n const { startRouteTransition } = useRouteTransition()\n\n const searchParams = useMemo<ListQuery>(\n () => parseSearchParams(rawSearchParams),\n [rawSearchParams],\n )\n\n const { onQueryChange } = useListDrawerContext()\n\n const [currentQuery, setCurrentQuery] = useState<ListQuery>(() => {\n if (modifySearchParams) {\n return searchParams\n } else {\n return {}\n }\n })\n\n const refineListData = useCallback(\n // eslint-disable-next-line @typescript-eslint/require-await\n async (query: ListQuery) => {\n let page = 'page' in query ? query.page : currentQuery?.page\n\n if ('where' in query || 'search' in query) {\n page = '1'\n }\n\n const newQuery: ListQuery = {\n columns: 'columns' in query ? query.columns : currentQuery.columns,\n limit: 'limit' in query ? query.limit : (currentQuery?.limit ?? String(defaultLimit)),\n page,\n search: 'search' in query ? query.search : currentQuery?.search,\n sort: 'sort' in query ? query.sort : ((currentQuery?.sort as string) ?? defaultSort),\n where: 'where' in query ? query.where : currentQuery?.where,\n }\n\n if (modifySearchParams) {\n startRouteTransition(() =>\n router.replace(\n `${qs.stringify(\n { ...newQuery, columns: JSON.stringify(newQuery.columns) },\n { addQueryPrefix: true },\n )}`,\n ),\n )\n } else if (\n typeof onQueryChange === 'function' ||\n typeof onQueryChangeFromProps === 'function'\n ) {\n const onChangeFn = onQueryChange || onQueryChangeFromProps\n onChangeFn(newQuery)\n }\n\n setCurrentQuery(newQuery)\n },\n [\n currentQuery?.columns,\n currentQuery?.limit,\n currentQuery?.page,\n currentQuery?.search,\n currentQuery?.sort,\n currentQuery?.where,\n startRouteTransition,\n defaultLimit,\n defaultSort,\n modifySearchParams,\n onQueryChange,\n onQueryChangeFromProps,\n router,\n ],\n )\n\n const handlePageChange = useCallback(\n async (arg: number) => {\n await refineListData({ page: String(arg) })\n },\n [refineListData],\n )\n\n const handlePerPageChange = React.useCallback(\n async (arg: number) => {\n await refineListData({ limit: String(arg), page: '1' })\n },\n [refineListData],\n )\n\n const handleSearchChange = useCallback(\n async (arg: string) => {\n const search = arg === '' ? undefined : arg\n await refineListData({ search })\n },\n [refineListData],\n )\n\n const handleSortChange = useCallback(\n async (arg: string) => {\n await refineListData({ sort: arg })\n },\n [refineListData],\n )\n\n const handleWhereChange = useCallback(\n async (arg: Where) => {\n await refineListData({ where: arg })\n },\n [refineListData],\n )\n\n const syncQuery = useEffectEvent(() => {\n let shouldUpdateQueryString = false\n const newQuery = { ...(currentQuery || {}) }\n\n // Allow the URL to override the default limit\n if (isNumber(defaultLimit) && !('limit' in currentQuery)) {\n newQuery.limit = String(defaultLimit)\n shouldUpdateQueryString = true\n }\n\n // Allow the URL to override the default sort\n if (defaultSort && !('sort' in currentQuery)) {\n newQuery.sort = defaultSort\n shouldUpdateQueryString = true\n }\n\n // Only modify columns if they originated from preferences\n // We can assume they did if `listPreferences.columns` is defined\n if (columns && listPreferences?.columns && !('columns' in currentQuery)) {\n newQuery.columns = transformColumnsToSearchParams(columns)\n shouldUpdateQueryString = true\n }\n\n if (shouldUpdateQueryString) {\n setCurrentQuery(newQuery)\n // Do not use router.replace here to avoid re-rendering on initial load\n window.history.replaceState(\n null,\n '',\n `?${qs.stringify({ ...newQuery, columns: JSON.stringify(newQuery.columns) })}`,\n )\n }\n })\n\n // If `defaultLimit` or `defaultSort` are updated externally, update the query\n // I.e. when HMR runs, these properties may be different\n useEffect(() => {\n if (modifySearchParams) {\n syncQuery()\n }\n }, [defaultSort, defaultLimit, modifySearchParams, columns])\n\n return (\n <ListQueryContext\n value={{\n data,\n handlePageChange,\n handlePerPageChange,\n handleSearchChange,\n handleSortChange,\n handleWhereChange,\n query: currentQuery,\n refineListData,\n }}\n >\n {children}\n </ListQueryContext>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAGrC,OAAO,KAAiE,MAAM,OAAO,CAAA;AASrF,eAAO,MAAM,oBAAoB;;4BAEP,OAAO;EAC/B,CAAA;AAcF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,CA2F5F,CAAA;AAED,eAAO,MAAM,gBAAgB;;4BA5GH,OAAO;CA4GqC,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Locale/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAGrC,OAAO,KAA0D,MAAM,OAAO,CAAA;AAS9E,eAAO,MAAM,oBAAoB;;4BAEP,OAAO;EAC/B,CAAA;AAcF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;CAAE,CA2F5F,CAAA;AAED,eAAO,MAAM,gBAAgB;;4BA5GH,OAAO;CA4G8B,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAO,MAA4B,CAAA"}
@@ -3,7 +3,7 @@
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import { useSearchParams } from 'next/navigation.js';
6
- import React, { createContext, useContext, useEffect, useRef, useState } from 'react';
6
+ import React, { createContext, use, useEffect, useRef, useState } from 'react';
7
7
  import { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js';
8
8
  import { useAuth } from '../Auth/index.js';
9
9
  import { useConfig } from '../Config/index.js';
@@ -133,9 +133,9 @@ export const LocaleProvider = t0 => {
133
133
  useEffect(t9, t11);
134
134
  let t12;
135
135
  if ($[23] !== children || $[24] !== isLoading || $[25] !== locale) {
136
- t12 = _jsx(LocaleContext.Provider, {
136
+ t12 = _jsx(LocaleContext, {
137
137
  value: locale,
138
- children: _jsx(LocaleLoadingContext.Provider, {
138
+ children: _jsx(LocaleLoadingContext, {
139
139
  value: {
140
140
  localeIsLoading: isLoading,
141
141
  setLocaleIsLoading
@@ -152,16 +152,12 @@ export const LocaleProvider = t0 => {
152
152
  }
153
153
  return t12;
154
154
  };
155
- export const useLocaleLoading = () => {
156
- return useContext(LocaleLoadingContext);
157
- };
155
+ export const useLocaleLoading = () => use(LocaleLoadingContext);
158
156
  /**
159
157
  * TODO: V4
160
158
  * The return type of the `useLocale` hook will change in v4. It will return `null | Locale` instead of `false | {} | Locale`.
161
159
  */
162
- export const useLocale = () => {
163
- return useContext(LocaleContext);
164
- };
160
+ export const useLocale = () => use(LocaleContext);
165
161
  function _temp(res) {
166
162
  return res.value;
167
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","useSearchParams","React","createContext","useContext","useEffect","useRef","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","LocaleContext","LocaleLoadingContext","localeIsLoading","setLocaleIsLoading","_","undefined","fetchPreferences","key","baseURL","fetch","credentials","headers","method","then","res","json","LocaleProvider","t0","$","children","locale","initialLocaleFromPrefs","config","t1","localization","t2","routes","t3","serverURL","api","apiRoute","user","defaultLocale","getPreference","t4","t5","get","localeFromParams","t6","locales","length","code","setLocale","isLoading","prevLocale","t7","t8","current","fetchURL","t9","id","resetLocale","localeToUse","_temp","newLocale","t10","t11","t12","_jsx","Provider","value","useLocaleLoading","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { createContext, useContext, useEffect, useRef, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleLoadingContext = createContext({\n localeIsLoading: false,\n setLocaleIsLoading: (_: boolean) => undefined,\n})\n\nconst fetchPreferences = async <T extends Record<string, unknown> | string>(\n key: string,\n baseURL: string,\n): Promise<{ id: string; value: T }> =>\n await fetch(`${baseURL}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })?.then((res) => res.json() as Promise<{ id: string; value: T }>)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Locale['code'] }> = ({\n children,\n /**\n The `locale` prop originates from the root layout, which does not have access to search params\n This component uses the `useSearchParams` hook to get the locale from the URL as precedence over this prop\n This prop does not update as the user navigates the site, because the root layout does not re-render\n */\n locale: initialLocaleFromPrefs,\n}) => {\n const {\n config: {\n localization = false,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { user } = useAuth()\n\n const defaultLocale = localization ? localization.defaultLocale : 'en'\n\n const { getPreference, setPreference } = usePreferences()\n const localeFromParams = useSearchParams().get('locale')\n\n const [locale, setLocale] = React.useState<Locale>(() => {\n if (!localization || (localization && !localization.locales.length)) {\n // TODO: return null V4\n return {} as Locale\n }\n\n return (\n findLocaleFromCode(localization, localeFromParams) ||\n findLocaleFromCode(localization, initialLocaleFromPrefs) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization.locales[0].code)\n )\n })\n\n const [isLoading, setLocaleIsLoading] = useState(false)\n\n const prevLocale = useRef<Locale>(locale)\n\n useEffect(() => {\n /**\n * We need to set `isLoading` back to false once the locale is detected to be different\n * This happens when the user clicks an anchor link which appends the `?locale=` query param\n * This triggers a client-side navigation, which re-renders the page with the new locale\n * In Next.js, local state is persisted during this type of navigation because components are not unmounted\n */\n if (locale.code !== prevLocale.current.code) {\n setLocaleIsLoading(false)\n }\n\n prevLocale.current = locale\n }, [locale])\n\n const fetchURL = `${serverURL}${apiRoute}`\n\n useEffect(() => {\n /**\n * This effect should only run when `localeFromParams` changes, i.e. when the user clicks an anchor link\n * The root layout, which sends the initial locale from prefs, will not re-render as the user navigates the site\n * For this reason, we need to fetch the locale from prefs if the search params clears the `locale` query param\n */\n async function resetLocale() {\n if (localization && user?.id) {\n const localeToUse =\n localeFromParams ||\n (await fetchPreferences<Locale['code']>('locale', fetchURL)?.then((res) => res.value))\n\n const newLocale =\n findLocaleFromCode(localization, localeToUse) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization?.locales?.[0]?.code)\n\n if (newLocale) {\n setLocale(newLocale)\n }\n }\n }\n\n void resetLocale()\n }, [defaultLocale, getPreference, localization, fetchURL, localeFromParams, user?.id])\n\n return (\n <LocaleContext.Provider value={locale}>\n <LocaleLoadingContext.Provider value={{ localeIsLoading: isLoading, setLocaleIsLoading }}>\n {children}\n </LocaleLoadingContext.Provider>\n </LocaleContext.Provider>\n )\n}\n\nexport const useLocaleLoading = () => useContext(LocaleLoadingContext)\n\n/**\n * TODO: V4\n * The return type of the `useLocale` hook will change in v4. It will return `null | Locale` instead of `false | {} | Locale`.\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","useSearchParams","React","createContext","use","useEffect","useRef","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","LocaleContext","LocaleLoadingContext","localeIsLoading","setLocaleIsLoading","_","undefined","fetchPreferences","key","baseURL","fetch","credentials","headers","method","then","res","json","LocaleProvider","t0","$","children","locale","initialLocaleFromPrefs","config","t1","localization","t2","routes","t3","serverURL","api","apiRoute","user","defaultLocale","getPreference","t4","t5","get","localeFromParams","t6","locales","length","code","setLocale","isLoading","prevLocale","t7","t8","current","fetchURL","t9","id","resetLocale","localeToUse","_temp","newLocale","t10","t11","t12","_jsx","value","useLocaleLoading","useLocale"],"sources":["../../../src/providers/Locale/index.tsx"],"sourcesContent":["'use client'\n\nimport type { Locale } from 'payload'\n\nimport { useSearchParams } from 'next/navigation.js'\nimport React, { createContext, use, useEffect, useRef, useState } from 'react'\n\nimport { findLocaleFromCode } from '../../utilities/findLocaleFromCode.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { usePreferences } from '../Preferences/index.js'\n\nconst LocaleContext = createContext({} as Locale)\n\nexport const LocaleLoadingContext = createContext({\n localeIsLoading: false,\n setLocaleIsLoading: (_: boolean) => undefined,\n})\n\nconst fetchPreferences = async <T extends Record<string, unknown> | string>(\n key: string,\n baseURL: string,\n): Promise<{ id: string; value: T }> =>\n await fetch(`${baseURL}/payload-preferences/${key}`, {\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'GET',\n })?.then((res) => res.json() as Promise<{ id: string; value: T }>)\n\nexport const LocaleProvider: React.FC<{ children?: React.ReactNode; locale?: Locale['code'] }> = ({\n children,\n /**\n The `locale` prop originates from the root layout, which does not have access to search params\n This component uses the `useSearchParams` hook to get the locale from the URL as precedence over this prop\n This prop does not update as the user navigates the site, because the root layout does not re-render\n */\n locale: initialLocaleFromPrefs,\n}) => {\n const {\n config: {\n localization = false,\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { user } = useAuth()\n\n const defaultLocale = localization ? localization.defaultLocale : 'en'\n\n const { getPreference, setPreference } = usePreferences()\n const localeFromParams = useSearchParams().get('locale')\n\n const [locale, setLocale] = React.useState<Locale>(() => {\n if (!localization || (localization && !localization.locales.length)) {\n // TODO: return null V4\n return {} as Locale\n }\n\n return (\n findLocaleFromCode(localization, localeFromParams) ||\n findLocaleFromCode(localization, initialLocaleFromPrefs) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization.locales[0].code)\n )\n })\n\n const [isLoading, setLocaleIsLoading] = useState(false)\n\n const prevLocale = useRef<Locale>(locale)\n\n useEffect(() => {\n /**\n * We need to set `isLoading` back to false once the locale is detected to be different\n * This happens when the user clicks an anchor link which appends the `?locale=` query param\n * This triggers a client-side navigation, which re-renders the page with the new locale\n * In Next.js, local state is persisted during this type of navigation because components are not unmounted\n */\n if (locale.code !== prevLocale.current.code) {\n setLocaleIsLoading(false)\n }\n\n prevLocale.current = locale\n }, [locale])\n\n const fetchURL = `${serverURL}${apiRoute}`\n\n useEffect(() => {\n /**\n * This effect should only run when `localeFromParams` changes, i.e. when the user clicks an anchor link\n * The root layout, which sends the initial locale from prefs, will not re-render as the user navigates the site\n * For this reason, we need to fetch the locale from prefs if the search params clears the `locale` query param\n */\n async function resetLocale() {\n if (localization && user?.id) {\n const localeToUse =\n localeFromParams ||\n (await fetchPreferences<Locale['code']>('locale', fetchURL)?.then((res) => res.value))\n\n const newLocale =\n findLocaleFromCode(localization, localeToUse) ||\n findLocaleFromCode(localization, defaultLocale) ||\n findLocaleFromCode(localization, localization?.locales?.[0]?.code)\n\n if (newLocale) {\n setLocale(newLocale)\n }\n }\n }\n\n void resetLocale()\n }, [defaultLocale, getPreference, localization, fetchURL, localeFromParams, user?.id])\n\n return (\n <LocaleContext value={locale}>\n <LocaleLoadingContext value={{ localeIsLoading: isLoading, setLocaleIsLoading }}>\n {children}\n </LocaleLoadingContext>\n </LocaleContext>\n )\n}\n\nexport const useLocaleLoading = () => use(LocaleLoadingContext)\n\n/**\n * TODO: V4\n * The return type of the `useLocale` hook will change in v4. It will return `null | Locale` instead of `false | {} | Locale`.\n */\nexport const useLocale = (): Locale => use(LocaleContext)\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Operation/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,eAAO,MAAM,gBAAgB,0BAAiC,CAAA;AAE9D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAGH,CAAA;AAEzF,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3C,eAAO,MAAM,YAAY,QAAO,SAAS,GAAG,SAAyC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/Operation/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA6B,MAAM,OAAO,CAAA;AAEjD,eAAO,MAAM,gBAAgB,0BAAiC,CAAA;AAE9D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAGrB,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE3C,eAAO,MAAM,YAAY,QAAO,SAAS,GAAG,SAAkC,CAAA"}