@payloadcms/ui 3.3.0 → 3.4.1-canary.2a8fa30
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.
- package/dist/elements/CodeEditor/CodeEditor.js +39 -32
- package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
- package/dist/elements/CodeEditor/types.d.ts +4 -0
- package/dist/elements/CodeEditor/types.d.ts.map +1 -1
- package/dist/elements/CodeEditor/types.js.map +1 -1
- package/dist/elements/CopyLocaleData/index.d.ts.map +1 -1
- package/dist/elements/CopyLocaleData/index.js +4 -3
- package/dist/elements/CopyLocaleData/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +2 -2
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/PublishButton/index.js +15 -18
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +2 -0
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +35 -31
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +2 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
- package/dist/elements/TableColumns/buildColumnState.js +5 -2
- package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/reduceClientFields.js +2 -2
- package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -1
- package/dist/exports/client/{CodeEditor-RZ32B2QF.js → CodeEditor-QIIK6FKF.js} +2 -2
- package/dist/exports/client/{chunk-CKHKQPOO.js → chunk-MFQ5YTBK.js} +6 -6
- package/dist/exports/client/chunk-MFQ5YTBK.js.map +8 -0
- package/dist/exports/client/index.d.ts +4 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +10 -10
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Group/index.d.ts.map +1 -1
- package/dist/fields/Group/index.js +2 -1
- package/dist/fields/Group/index.js.map +1 -1
- package/dist/fields/Join/index.d.ts.map +1 -1
- package/dist/fields/Join/index.js +15 -3
- package/dist/fields/Join/index.js.map +1 -1
- package/dist/fields/Relationship/index.d.ts.map +1 -1
- package/dist/fields/Relationship/index.js +1 -1
- package/dist/fields/Relationship/index.js.map +1 -1
- package/dist/fields/Select/Input.d.ts +1 -0
- package/dist/fields/Select/Input.d.ts.map +1 -1
- package/dist/fields/Select/Input.js +41 -38
- package/dist/fields/Select/Input.js.map +1 -1
- package/dist/fields/Tabs/index.d.ts +15 -0
- package/dist/fields/Tabs/index.d.ts.map +1 -1
- package/dist/fields/Tabs/index.js +2 -2
- package/dist/fields/Tabs/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +2 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/RenderFields/index.js +2 -2
- package/dist/forms/RenderFields/index.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +5 -8
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/renderField.js +4 -0
- package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
- package/dist/providers/Locale/index.d.ts +15 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +50 -119
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/SearchParams/index.d.ts.map +1 -1
- package/dist/providers/SearchParams/index.js +25 -68
- package/dist/providers/SearchParams/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildTableState.d.ts.map +1 -1
- package/dist/utilities/buildTableState.js.map +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +11 -4
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/formatFields.d.ts.map +1 -1
- package/dist/utilities/formatFields.js +2 -2
- package/dist/utilities/formatFields.js.map +1 -1
- package/dist/utilities/groupNavItems.d.ts.map +1 -1
- package/dist/utilities/groupNavItems.js +6 -6
- package/dist/utilities/groupNavItems.js.map +1 -1
- package/dist/utilities/renderTable.d.ts.map +1 -1
- package/dist/utilities/renderTable.js +4 -0
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/views/Edit/index.js +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/exports/client/chunk-CKHKQPOO.js.map +0 -8
- /package/dist/exports/client/{CodeEditor-RZ32B2QF.js.map → CodeEditor-QIIK6FKF.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderField.js","names":["getTranslation","createClientField","MissingEditorProp","fieldIsHiddenOrDisabled","RenderServerComponent","FieldDescription","defaultUIFieldComponentKeys","renderField","id","clientFieldSchemaMap","collectionSlug","data","fieldConfig","fieldSchemaMap","fieldState","formState","indexPath","operation","parentPath","parentSchemaPath","path","permissions","preferences","req","schemaPath","siblingData","clientField","get","defaultIDType","payload","config","db","field","i18n","importMap","clientProps","customComponents","readOnly","includes","type","serverProps","user","rows","forEach","row","rowIndex","admin","components","RowLabels","Component","RowLabel","rowLabel","labels","singular","String","padStart","rowNumber","editor","Error","Field","FieldComponent","key","description","Description","_jsx","t","AfterInput","afterInput","BeforeInput","beforeInput","Label"],"sources":["../../../src/forms/fieldSchemasToFormState/renderField.tsx"],"sourcesContent":["import type { ClientComponentProps, ClientField, FieldPaths, ServerComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { createClientField, MissingEditorProp } from 'payload'\nimport { fieldIsHiddenOrDisabled } from 'payload/shared'\n\nimport type { RenderFieldMethod } from './types.js'\n\nimport { RenderServerComponent } from '../../elements/RenderServerComponent/index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir -- need this to reference already existing bundle. Otherwise, bundle size increases., payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../exports/client/index.js'\n\nconst defaultUIFieldComponentKeys: Array<'Cell' | 'Description' | 'Field' | 'Filter'> = [\n 'Cell',\n 'Description',\n 'Field',\n 'Filter',\n]\n\nexport const renderField: RenderFieldMethod = ({\n id,\n clientFieldSchemaMap,\n collectionSlug,\n data,\n fieldConfig,\n fieldSchemaMap,\n fieldState,\n formState,\n indexPath,\n operation,\n parentPath,\n parentSchemaPath,\n path,\n permissions,\n preferences,\n req,\n schemaPath,\n siblingData,\n}) => {\n const clientField = clientFieldSchemaMap\n ? (clientFieldSchemaMap.get(schemaPath) as ClientField)\n : createClientField({\n defaultIDType: req.payload.config.db.defaultIDType,\n field: fieldConfig,\n i18n: req.i18n,\n importMap: req.payload.importMap,\n })\n\n if (fieldIsHiddenOrDisabled(clientField)) {\n return\n }\n\n const clientProps: ClientComponentProps & Partial<FieldPaths> = {\n customComponents: fieldState?.customComponents || {},\n field: clientField,\n path,\n readOnly: typeof permissions === 'boolean' ? !permissions : !permissions?.[operation],\n schemaPath,\n }\n\n // fields with subfields\n if (['array', 'blocks', 'collapsible', 'group', 'row', 'tabs'].includes(fieldConfig.type)) {\n clientProps.indexPath = indexPath\n clientProps.parentPath = parentPath\n clientProps.parentSchemaPath = parentSchemaPath\n }\n\n const serverProps: ServerComponentProps = {\n id,\n clientField,\n clientFieldSchemaMap,\n data,\n field: fieldConfig,\n fieldSchemaMap,\n permissions,\n // TODO: Should we pass explicit values? initialValue, value, valid\n // value and initialValue should be typed\n collectionSlug,\n formState,\n i18n: req.i18n,\n operation,\n payload: req.payload,\n preferences,\n req,\n siblingData,\n user: req.user,\n }\n\n if (!fieldState?.customComponents) {\n fieldState.customComponents = {}\n }\n\n switch (fieldConfig.type) {\n // TODO: handle block row labels as well in a similar fashion\n case 'array': {\n fieldState?.rows?.forEach((row, rowIndex) => {\n if (fieldConfig.admin?.components && 'RowLabel' in fieldConfig.admin.components) {\n if (!fieldState.customComponents.RowLabels) {\n fieldState.customComponents.RowLabels = []\n }\n\n fieldState.customComponents.RowLabels[rowIndex] = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.RowLabel,\n importMap: req.payload.importMap,\n serverProps: {\n ...serverProps,\n rowLabel: `${getTranslation(fieldConfig.labels.singular, req.i18n)} ${String(\n rowIndex + 1,\n ).padStart(2, '0')}`,\n rowNumber: rowIndex + 1,\n },\n })\n }\n })\n\n break\n }\n\n case 'richText': {\n if (!fieldConfig?.editor) {\n throw new MissingEditorProp(fieldConfig) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof fieldConfig?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (!fieldConfig.admin) {\n fieldConfig.admin = {}\n }\n\n if (!fieldConfig.admin.components) {\n fieldConfig.admin.components = {}\n }\n\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.editor.FieldComponent,\n importMap: req.payload.importMap,\n serverProps,\n })\n\n break\n }\n\n case 'ui': {\n if (fieldConfig?.admin?.components) {\n // Render any extra, untyped components\n for (const key in fieldConfig.admin.components) {\n if (key in defaultUIFieldComponentKeys) {\n continue\n }\n const Component = fieldConfig.admin.components[key]\n fieldState.customComponents[key] = RenderServerComponent({\n clientProps,\n Component,\n importMap: req.payload.importMap,\n key: `field.admin.components.${key}`,\n serverProps,\n })\n }\n }\n break\n }\n\n default: {\n break\n }\n }\n\n if (fieldConfig.admin) {\n if ('description' in fieldConfig.admin) {\n if (typeof fieldConfig.admin?.description === 'function') {\n fieldState.customComponents.Description = (\n <FieldDescription\n description={fieldConfig.admin?.description({\n t: req.i18n.t,\n })}\n path={path}\n />\n )\n }\n }\n\n if (fieldConfig.admin?.components) {\n if ('afterInput' in fieldConfig.admin.components) {\n fieldState.customComponents.AfterInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.afterInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.afterInput',\n serverProps,\n })\n }\n\n if ('beforeInput' in fieldConfig.admin.components) {\n fieldState.customComponents.BeforeInput = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.beforeInput,\n importMap: req.payload.importMap,\n key: 'field.admin.components.beforeInput',\n serverProps,\n })\n }\n\n if ('Description' in fieldConfig.admin.components) {\n fieldState.customComponents.Description = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Description,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Description',\n serverProps,\n })\n }\n\n if ('Error' in fieldConfig.admin.components) {\n fieldState.customComponents.Error = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Error,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Error',\n serverProps,\n })\n }\n\n if ('Label' in fieldConfig.admin.components) {\n fieldState.customComponents.Label = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Label,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Label',\n serverProps,\n })\n }\n\n if ('Field' in fieldConfig.admin.components) {\n fieldState.customComponents.Field = RenderServerComponent({\n clientProps,\n Component: fieldConfig.admin.components.Field,\n importMap: req.payload.importMap,\n key: 'field.admin.components.Field',\n serverProps,\n })\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,21 @@ export declare const LocaleProvider: React.FC<{
|
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
}>;
|
|
6
6
|
/**
|
|
7
|
-
* A hook that returns the current locale object.
|
|
7
|
+
* @deprecated A hook that returns the current locale object.
|
|
8
|
+
*
|
|
9
|
+
* ---
|
|
10
|
+
*
|
|
11
|
+
* #### 🚨 V4 Breaking Change
|
|
12
|
+
* The `useLocale` return type now reflects `null | Locale` instead of `false | Locale`.
|
|
13
|
+
*
|
|
14
|
+
* **Old (V3):**
|
|
15
|
+
* ```ts
|
|
16
|
+
* const { code } = useLocale();
|
|
17
|
+
* ```
|
|
18
|
+
* **New (V4):**
|
|
19
|
+
* ```ts
|
|
20
|
+
* const locale = useLocale();
|
|
21
|
+
* ```
|
|
8
22
|
*/
|
|
9
23
|
export declare const useLocale: () => Locale;
|
|
10
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,KAAyD,MAAM,OAAO,CAAA;AAS7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,
|
|
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,KAAyD,MAAM,OAAO,CAAA;AAS7E,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAkDnE,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,SAAS,QAAO,MAAmC,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import { useSearchParams } from 'next/navigation.js';
|
|
6
5
|
import React, { createContext, useContext, useEffect, useState } from 'react';
|
|
@@ -9,138 +8,70 @@ import { useAuth } from '../Auth/index.js';
|
|
|
9
8
|
import { useConfig } from '../Config/index.js';
|
|
10
9
|
import { usePreferences } from '../Preferences/index.js';
|
|
11
10
|
const LocaleContext = /*#__PURE__*/createContext({});
|
|
12
|
-
export const LocaleProvider =
|
|
13
|
-
|
|
11
|
+
export const LocaleProvider = ({
|
|
12
|
+
children
|
|
13
|
+
}) => {
|
|
14
14
|
const {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
config: t1
|
|
15
|
+
config: {
|
|
16
|
+
localization = false
|
|
17
|
+
}
|
|
19
18
|
} = useConfig();
|
|
20
|
-
const {
|
|
21
|
-
localization: t2
|
|
22
|
-
} = t1;
|
|
23
|
-
const localization = t2 === undefined ? false : t2;
|
|
24
19
|
const {
|
|
25
20
|
user
|
|
26
21
|
} = useAuth();
|
|
27
|
-
const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale :
|
|
28
|
-
const searchParams = useSearchParams();
|
|
29
|
-
let t3;
|
|
30
|
-
if ($[0] !== searchParams) {
|
|
31
|
-
t3 = searchParams.get("locale");
|
|
32
|
-
$[0] = searchParams;
|
|
33
|
-
$[1] = t3;
|
|
34
|
-
} else {
|
|
35
|
-
t3 = $[1];
|
|
36
|
-
}
|
|
37
|
-
const localeFromParams = t3;
|
|
38
|
-
const [localeCode, setLocaleCode] = useState(localeFromParams || defaultLocale);
|
|
39
|
-
let t4;
|
|
40
|
-
if ($[2] !== localeCode || $[3] !== localization) {
|
|
41
|
-
t4 = localization && findLocaleFromCode(localization, localeCode);
|
|
42
|
-
$[2] = localeCode;
|
|
43
|
-
$[3] = localization;
|
|
44
|
-
$[4] = t4;
|
|
45
|
-
} else {
|
|
46
|
-
t4 = $[4];
|
|
47
|
-
}
|
|
48
|
-
const [locale, setLocale] = useState(t4);
|
|
22
|
+
const defaultLocale = localization && localization.defaultLocale ? localization.defaultLocale : 'en';
|
|
49
23
|
const {
|
|
50
24
|
getPreference,
|
|
51
25
|
setPreference
|
|
52
26
|
} = usePreferences();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
27
|
+
const searchParams = useSearchParams();
|
|
28
|
+
const localeFromParams = searchParams.get('locale');
|
|
29
|
+
const [localeCode, setLocaleCode] = useState(defaultLocale);
|
|
30
|
+
const locale = React.useMemo(() => {
|
|
31
|
+
if (!localization) {
|
|
32
|
+
// TODO: return null V4
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
35
|
+
return findLocaleFromCode(localization, localeFromParams || localeCode) || findLocaleFromCode(localization, defaultLocale);
|
|
36
|
+
}, [localeCode, localeFromParams, localization, defaultLocale]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
async function setInitialLocale() {
|
|
39
|
+
if (localization && user) {
|
|
40
|
+
if (typeof localeFromParams !== 'string') {
|
|
41
|
+
try {
|
|
42
|
+
const localeToSet = await getPreference('locale');
|
|
43
|
+
setLocaleCode(localeToSet);
|
|
44
|
+
} catch (_) {
|
|
45
|
+
setLocaleCode(defaultLocale);
|
|
67
46
|
}
|
|
68
|
-
} catch (t6) {
|
|
69
|
-
const error = t6;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
$[5] = defaultLocale;
|
|
74
|
-
$[6] = localeCode;
|
|
75
|
-
$[7] = localization;
|
|
76
|
-
$[8] = setPreference;
|
|
77
|
-
$[9] = user;
|
|
78
|
-
$[10] = t5;
|
|
79
|
-
} else {
|
|
80
|
-
t5 = $[10];
|
|
81
|
-
}
|
|
82
|
-
const switchLocale = t5;
|
|
83
|
-
let t6;
|
|
84
|
-
if ($[11] !== defaultLocale || $[12] !== getPreference || $[13] !== localeFromParams || $[14] !== switchLocale || $[15] !== user) {
|
|
85
|
-
t6 = () => {
|
|
86
|
-
const setInitialLocale = async function setInitialLocale() {
|
|
87
|
-
let localeToSet_0 = defaultLocale;
|
|
88
|
-
if (typeof localeFromParams === "string") {
|
|
89
|
-
localeToSet_0 = localeFromParams;
|
|
90
47
|
} else {
|
|
91
|
-
|
|
92
|
-
;
|
|
93
|
-
try {
|
|
94
|
-
localeToSet_0 = await getPreference("locale");
|
|
95
|
-
} catch (t7) {
|
|
96
|
-
const error_0 = t7;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
48
|
+
void setPreference('locale', findLocaleFromCode(localization, localeFromParams)?.code || defaultLocale);
|
|
99
49
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
$[15] = user;
|
|
109
|
-
$[16] = t6;
|
|
110
|
-
} else {
|
|
111
|
-
t6 = $[16];
|
|
112
|
-
}
|
|
113
|
-
let t7;
|
|
114
|
-
if ($[17] !== defaultLocale || $[18] !== getPreference || $[19] !== localeFromParams || $[20] !== localization || $[21] !== setPreference || $[22] !== switchLocale || $[23] !== user) {
|
|
115
|
-
t7 = [defaultLocale, getPreference, localization, localeFromParams, setPreference, user, switchLocale];
|
|
116
|
-
$[17] = defaultLocale;
|
|
117
|
-
$[18] = getPreference;
|
|
118
|
-
$[19] = localeFromParams;
|
|
119
|
-
$[20] = localization;
|
|
120
|
-
$[21] = setPreference;
|
|
121
|
-
$[22] = switchLocale;
|
|
122
|
-
$[23] = user;
|
|
123
|
-
$[24] = t7;
|
|
124
|
-
} else {
|
|
125
|
-
t7 = $[24];
|
|
126
|
-
}
|
|
127
|
-
useEffect(t6, t7);
|
|
128
|
-
let t8;
|
|
129
|
-
if ($[25] !== children || $[26] !== locale) {
|
|
130
|
-
t8 = _jsx(LocaleContext.Provider, {
|
|
131
|
-
value: locale,
|
|
132
|
-
children
|
|
133
|
-
});
|
|
134
|
-
$[25] = children;
|
|
135
|
-
$[26] = locale;
|
|
136
|
-
$[27] = t8;
|
|
137
|
-
} else {
|
|
138
|
-
t8 = $[27];
|
|
139
|
-
}
|
|
140
|
-
return t8;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
void setInitialLocale();
|
|
53
|
+
}, [defaultLocale, getPreference, localization, localeFromParams, setPreference, user]);
|
|
54
|
+
return /*#__PURE__*/_jsx(LocaleContext.Provider, {
|
|
55
|
+
value: locale,
|
|
56
|
+
children: children
|
|
57
|
+
});
|
|
141
58
|
};
|
|
142
59
|
/**
|
|
143
|
-
* A hook that returns the current locale object.
|
|
60
|
+
* @deprecated A hook that returns the current locale object.
|
|
61
|
+
*
|
|
62
|
+
* ---
|
|
63
|
+
*
|
|
64
|
+
* #### 🚨 V4 Breaking Change
|
|
65
|
+
* The `useLocale` return type now reflects `null | Locale` instead of `false | Locale`.
|
|
66
|
+
*
|
|
67
|
+
* **Old (V3):**
|
|
68
|
+
* ```ts
|
|
69
|
+
* const { code } = useLocale();
|
|
70
|
+
* ```
|
|
71
|
+
* **New (V4):**
|
|
72
|
+
* ```ts
|
|
73
|
+
* const locale = useLocale();
|
|
74
|
+
* ```
|
|
144
75
|
*/
|
|
145
76
|
export const useLocale = () => {
|
|
146
77
|
return useContext(LocaleContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["useSearchParams","React","createContext","useContext","useEffect","useState","findLocaleFromCode","useAuth","useConfig","usePreferences","LocaleContext","LocaleProvider","children","config","localization","user","defaultLocale","getPreference","setPreference","searchParams","localeFromParams","get","localeCode","setLocaleCode","locale","useMemo","setInitialLocale","localeToSet","_","code","_jsx","Provider","value","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, 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 LocaleProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const {\n config: { localization = false },\n } = useConfig()\n\n const { user } = useAuth()\n const defaultLocale =\n localization && localization.defaultLocale ? localization.defaultLocale : 'en'\n\n const { getPreference, setPreference } = usePreferences()\n const searchParams = useSearchParams()\n const localeFromParams = searchParams.get('locale')\n\n const [localeCode, setLocaleCode] = useState<string>(defaultLocale)\n\n const locale: Locale = React.useMemo(() => {\n if (!localization) {\n // TODO: return null V4\n return {} as Locale\n }\n\n return (\n findLocaleFromCode(localization, localeFromParams || localeCode) ||\n findLocaleFromCode(localization, defaultLocale)\n )\n }, [localeCode, localeFromParams, localization, defaultLocale])\n\n useEffect(() => {\n async function setInitialLocale() {\n if (localization && user) {\n if (typeof localeFromParams !== 'string') {\n try {\n const localeToSet = await getPreference<string>('locale')\n setLocaleCode(localeToSet)\n } catch (_) {\n setLocaleCode(defaultLocale)\n }\n } else {\n void setPreference(\n 'locale',\n findLocaleFromCode(localization, localeFromParams)?.code || defaultLocale,\n )\n }\n }\n }\n\n void setInitialLocale()\n }, [defaultLocale, getPreference, localization, localeFromParams, setPreference, user])\n\n return <LocaleContext.Provider value={locale}>{children}</LocaleContext.Provider>\n}\n\n/**\n * @deprecated A hook that returns the current locale object.\n *\n * ---\n *\n * #### 🚨 V4 Breaking Change\n * The `useLocale` return type now reflects `null | Locale` instead of `false | Locale`.\n *\n * **Old (V3):**\n * ```ts\n * const { code } = useLocale();\n * ```\n * **New (V4):**\n * ```ts\n * const locale = useLocale();\n * ```\n */\nexport const useLocale = (): Locale => useContext(LocaleContext)\n"],"mappings":"AAAA;;;AAIA,SAASA,eAAe,QAAQ;AAChC,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAEtE,SAASC,kBAAkB,QAAQ;AACnC,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAE/B,MAAMC,aAAA,gBAAgBR,aAAA,CAAc,CAAC;AAErC,OAAO,MAAMS,cAAA,GAA2DA,CAAC;EAAEC;AAAQ,CAAE;EACnF,MAAM;IACJC,MAAA,EAAQ;MAAEC,YAAA,GAAe;IAAK;EAAE,CACjC,GAAGN,SAAA;EAEJ,MAAM;IAAEO;EAAI,CAAE,GAAGR,OAAA;EACjB,MAAMS,aAAA,GACJF,YAAA,IAAgBA,YAAA,CAAaE,aAAa,GAAGF,YAAA,CAAaE,aAAa,GAAG;EAE5E,MAAM;IAAEC,aAAa;IAAEC;EAAa,CAAE,GAAGT,cAAA;EACzC,MAAMU,YAAA,GAAenB,eAAA;EACrB,MAAMoB,gBAAA,GAAmBD,YAAA,CAAaE,GAAG,CAAC;EAE1C,MAAM,CAACC,UAAA,EAAYC,aAAA,CAAc,GAAGlB,QAAA,CAAiBW,aAAA;EAErD,MAAMQ,MAAA,GAAiBvB,KAAA,CAAMwB,OAAO,CAAC;IACnC,IAAI,CAACX,YAAA,EAAc;MACjB;MACA,OAAO,CAAC;IACV;IAEA,OACER,kBAAA,CAAmBQ,YAAA,EAAcM,gBAAA,IAAoBE,UAAA,KACrDhB,kBAAA,CAAmBQ,YAAA,EAAcE,aAAA;EAErC,GAAG,CAACM,UAAA,EAAYF,gBAAA,EAAkBN,YAAA,EAAcE,aAAA,CAAc;EAE9DZ,SAAA,CAAU;IACR,eAAesB,iBAAA;MACb,IAAIZ,YAAA,IAAgBC,IAAA,EAAM;QACxB,IAAI,OAAOK,gBAAA,KAAqB,UAAU;UACxC,IAAI;YACF,MAAMO,WAAA,GAAc,MAAMV,aAAA,CAAsB;YAChDM,aAAA,CAAcI,WAAA;UAChB,EAAE,OAAOC,CAAA,EAAG;YACVL,aAAA,CAAcP,aAAA;UAChB;QACF,OAAO;UACL,KAAKE,aAAA,CACH,UACAZ,kBAAA,CAAmBQ,YAAA,EAAcM,gBAAA,GAAmBS,IAAA,IAAQb,aAAA;QAEhE;MACF;IACF;IAEA,KAAKU,gBAAA;EACP,GAAG,CAACV,aAAA,EAAeC,aAAA,EAAeH,YAAA,EAAcM,gBAAA,EAAkBF,aAAA,EAAeH,IAAA,CAAK;EAEtF,oBAAOe,IAAA,CAACpB,aAAA,CAAcqB,QAAQ;IAACC,KAAA,EAAOR,MAAA;cAASZ;;AACjD;AAEA;;;;;;;;;;;;;;;;;AAiBA,OAAO,MAAMqB,SAAA,GAAYA,CAAA;EAAA,OAAc9B,UAAA,CAAAO,aAAW;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SearchParams/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,KAAoC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/SearchParams/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,EAAE,CAAC,QAAQ,CAAA;IACzB,eAAe,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAA;CAC7F,CAAA;AASD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA2BzE,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
4
|
import { useSearchParams as useNextSearchParams } from 'next/navigation.js';
|
|
6
5
|
import * as qs from 'qs-esm';
|
|
7
6
|
import React, { createContext, useContext } from 'react';
|
|
8
|
-
import { parseSearchParams } from '../../utilities/parseSearchParams.js';
|
|
9
7
|
const initialContext = {
|
|
10
8
|
searchParams: {},
|
|
11
9
|
stringifyParams: () => ''
|
|
@@ -19,74 +17,33 @@ const Context = /*#__PURE__*/createContext(initialContext);
|
|
|
19
17
|
* import { useSearchParams } from 'next/navigation'
|
|
20
18
|
* ```
|
|
21
19
|
*/
|
|
22
|
-
export const SearchParamsProvider =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
children
|
|
26
|
-
} = t0;
|
|
20
|
+
export const SearchParamsProvider = ({
|
|
21
|
+
children
|
|
22
|
+
}) => {
|
|
27
23
|
const nextSearchParams = useNextSearchParams();
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
replace: t4
|
|
43
|
-
} = t3;
|
|
44
|
-
const replace = t4 === undefined ? false : t4;
|
|
45
|
-
return qs.stringify({
|
|
46
|
-
...(replace ? {} : searchParams),
|
|
47
|
-
...params
|
|
48
|
-
}, {
|
|
49
|
-
addQueryPrefix: true
|
|
50
|
-
});
|
|
51
|
-
};
|
|
52
|
-
$[2] = searchParams;
|
|
53
|
-
$[3] = t2;
|
|
54
|
-
} else {
|
|
55
|
-
t2 = $[3];
|
|
56
|
-
}
|
|
57
|
-
const stringifyParams = t2;
|
|
58
|
-
let t3;
|
|
59
|
-
let t4;
|
|
60
|
-
if ($[4] !== nextSearchParams) {
|
|
61
|
-
t3 = () => {
|
|
62
|
-
setSearchParams(parseSearchParams(nextSearchParams));
|
|
63
|
-
};
|
|
64
|
-
t4 = [nextSearchParams];
|
|
65
|
-
$[4] = nextSearchParams;
|
|
66
|
-
$[5] = t3;
|
|
67
|
-
$[6] = t4;
|
|
68
|
-
} else {
|
|
69
|
-
t3 = $[5];
|
|
70
|
-
t4 = $[6];
|
|
71
|
-
}
|
|
72
|
-
React.useEffect(t3, t4);
|
|
73
|
-
let t5;
|
|
74
|
-
if ($[7] !== children || $[8] !== searchParams || $[9] !== stringifyParams) {
|
|
75
|
-
t5 = _jsx(Context.Provider, {
|
|
76
|
-
value: {
|
|
77
|
-
searchParams,
|
|
78
|
-
stringifyParams
|
|
79
|
-
},
|
|
80
|
-
children
|
|
24
|
+
const searchString = nextSearchParams.toString();
|
|
25
|
+
const searchParams = React.useMemo(() => qs.parse(searchString, {
|
|
26
|
+
depth: 10,
|
|
27
|
+
ignoreQueryPrefix: true
|
|
28
|
+
}), [searchString]);
|
|
29
|
+
const stringifyParams = React.useCallback(({
|
|
30
|
+
params,
|
|
31
|
+
replace = false
|
|
32
|
+
}) => {
|
|
33
|
+
return qs.stringify({
|
|
34
|
+
...(replace ? {} : searchParams),
|
|
35
|
+
...params
|
|
36
|
+
}, {
|
|
37
|
+
addQueryPrefix: true
|
|
81
38
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
39
|
+
}, [searchParams]);
|
|
40
|
+
return /*#__PURE__*/_jsx(Context.Provider, {
|
|
41
|
+
value: {
|
|
42
|
+
searchParams,
|
|
43
|
+
stringifyParams
|
|
44
|
+
},
|
|
45
|
+
children: children
|
|
46
|
+
});
|
|
90
47
|
};
|
|
91
48
|
/**
|
|
92
49
|
* @deprecated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["useSearchParams","useNextSearchParams","qs","React","createContext","useContext","initialContext","searchParams","stringifyParams","Context","SearchParamsProvider","children","nextSearchParams","searchString","toString","useMemo","parse","depth","ignoreQueryPrefix","useCallback","params","replace","stringify","addQueryPrefix","_jsx","Provider","value"],"sources":["../../../src/providers/SearchParams/index.tsx"],"sourcesContent":["'use client'\n\nimport { useSearchParams as useNextSearchParams } from 'next/navigation.js'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useContext } from 'react'\n\nexport type SearchParamsContext = {\n searchParams: qs.ParsedQs\n stringifyParams: ({ params, replace }: { params: qs.ParsedQs; replace?: boolean }) => string\n}\n\nconst initialContext: SearchParamsContext = {\n searchParams: {},\n stringifyParams: () => '',\n}\n\nconst Context = createContext(initialContext)\n\n/**\n * @deprecated\n * The SearchParamsProvider is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n */\nexport const SearchParamsProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const nextSearchParams = useNextSearchParams()\n const searchString = nextSearchParams.toString()\n\n const searchParams = React.useMemo(\n () =>\n qs.parse(searchString, {\n depth: 10,\n ignoreQueryPrefix: true,\n }),\n [searchString],\n )\n\n const stringifyParams = React.useCallback(\n ({ params, replace = false }: { params: qs.ParsedQs; replace?: boolean }) => {\n return qs.stringify(\n {\n ...(replace ? {} : searchParams),\n ...params,\n },\n { addQueryPrefix: true },\n )\n },\n [searchParams],\n )\n\n return <Context.Provider value={{ searchParams, stringifyParams }}>{children}</Context.Provider>\n}\n\n/**\n * @deprecated\n * The `useSearchParams` hook is deprecated and will be removed in the next major release. Instead, use the `useSearchParams` hook from `next/navigation` directly. See https://github.com/payloadcms/payload/pull/9581.\n * @example\n * ```tsx\n * import { useSearchParams } from 'next/navigation'\n * ```\n * If you need to parse the `where` query, you can do so with the `parseSearchParams` utility.\n * ```tsx\n * import { parseSearchParams } from '@payloadcms/ui'\n * const parsedSearchParams = parseSearchParams(searchParams)\n * ```\n */\nexport const useSearchParams = (): SearchParamsContext => useContext(Context)\n"],"mappings":"AAAA;;;AAEA,SAASA,eAAA,IAAmBC,mBAAmB,QAAQ;AACvD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,QAAQ;AAOjD,MAAMC,cAAA,GAAsC;EAC1CC,YAAA,EAAc,CAAC;EACfC,eAAA,EAAiBA,CAAA,KAAM;AACzB;AAEA,MAAMC,OAAA,gBAAUL,aAAA,CAAcE,cAAA;AAE9B;;;;;;;;AAQA,OAAO,MAAMI,oBAAA,GAAiEA,CAAC;EAAEC;AAAQ,CAAE;EACzF,MAAMC,gBAAA,GAAmBX,mBAAA;EACzB,MAAMY,YAAA,GAAeD,gBAAA,CAAiBE,QAAQ;EAE9C,MAAMP,YAAA,GAAeJ,KAAA,CAAMY,OAAO,CAChC,MACEb,EAAA,CAAGc,KAAK,CAACH,YAAA,EAAc;IACrBI,KAAA,EAAO;IACPC,iBAAA,EAAmB;EACrB,IACF,CAACL,YAAA,CAAa;EAGhB,MAAML,eAAA,GAAkBL,KAAA,CAAMgB,WAAW,CACvC,CAAC;IAAEC,MAAM;IAAEC,OAAA,GAAU;EAAK,CAA8C;IACtE,OAAOnB,EAAA,CAAGoB,SAAS,CACjB;MACE,IAAID,OAAA,GAAU,CAAC,IAAId,YAAY;MAC/B,GAAGa;IACL,GACA;MAAEG,cAAA,EAAgB;IAAK;EAE3B,GACA,CAAChB,YAAA,CAAa;EAGhB,oBAAOiB,IAAA,CAACf,OAAA,CAAQgB,QAAQ;IAACC,KAAA,EAAO;MAAEnB,YAAA;MAAcC;IAAgB;cAAIG;;AACtE;AAEA;;;;;;;;;;;;;AAaA,OAAO,MAAMX,eAAA,GAAkBA,CAAA;EAAA,OAA2BK,UAAA,CAAAI,OAAW;AAAA","ignoreList":[]}
|