{"version":3,"file":"index.js","names":["c","_c","getTranslation","usePathname","useRouter","useSearchParams","sortableFieldTypes","fieldAffectsData","qs","React","useEffect","useState","useTranslation","ReactSelect","baseClass","SortComplex","props","$","collection","handleChange","modifySearchQuery","t0","undefined","router","pathname","searchParams","i18n","t","sortOptions","setSortOptions","t1","fields","reduce","field","indexOf","type","label","name","value","sortFields","sortField","setSortField","t2","initialSort","sortOrder","setSortOrder","t3","t4","newSortValue","get","search","stringify","sort","addQueryPrefix","replace","t5","t6","t7","t8","incomingSort","_jsx","className","children","Fragment","_jsxs","onChange","options"],"sources":["../../../src/elements/SortComplex/index.tsx"],"sourcesContent":["'use client'\nimport type { OptionObject, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { usePathname, useRouter, useSearchParams } from 'next/navigation.js'\nimport { sortableFieldTypes } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useEffect, useState } from 'react'\n\nexport type SortComplexProps = {\n collection: SanitizedCollectionConfig\n handleChange?: (sort: string) => void\n modifySearchQuery?: boolean\n sort?: string\n}\n\nimport type { Option } from '../ReactSelect/index.js'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'sort-complex'\n\nexport const SortComplex: React.FC = (props) => {\n const { collection, handleChange, modifySearchQuery = true } = props\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const { i18n, t } = useTranslation()\n const [sortOptions, setSortOptions] = useState()\n\n const [sortFields] = useState(() =>\n collection.fields.reduce((fields, field) => {\n if (fieldAffectsData(field) && sortableFieldTypes.indexOf(field.type) > -1) {\n return [\n ...fields,\n { label: getTranslation(field.label || field.name, i18n), value: field.name },\n ]\n }\n return fields\n }, []),\n )\n\n const [sortField, setSortField] = useState(sortFields[0])\n const [initialSort] = useState