{"version":3,"file":"index.js","names":["React","ChevronIcon","SortDownIcon","SortUpIcon","useFolder","useTranslation","Pill","Popup","PopupList","baseClass","sortOnOptions","label","t","value","orderOnOptions","_jsxs","_Fragment","_jsx","SortByPill","refineFolderData","sort","sortDirection","startsWith","selectedSortOption","filter","slice","selectedOrderOption","button","className","icon","size","horizontalAlign","render","close","GroupLabel","ButtonGroup","map","Button","active","onClick","query","page","updateURL","Divider","showScrollbar","verticalAlign"],"sources":["../../../../src/elements/FolderView/SortByPill/index.tsx"],"sourcesContent":["import type { TFunction } from '@payloadcms/translations'\nimport type { FolderSortKeys } from 'payload'\n\nimport React from 'react'\n\nimport { ChevronIcon } from '../../../icons/Chevron/index.js'\nimport { SortDownIcon, SortUpIcon } from '../../../icons/Sort/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Pill } from '../../Pill/index.js'\nimport { Popup, PopupList } from '../../Popup/index.js'\nimport './index.scss'\n\nconst baseClass = 'sort-by-pill'\n\nconst sortOnOptions: {\n label: (t: TFunction) => React.ReactNode\n value: FolderSortKeys\n}[] = [\n { label: (t) => t('general:name'), value: 'name' },\n { label: (t) => t('general:createdAt'), value: 'createdAt' },\n { label: (t) => t('general:updatedAt'), value: 'updatedAt' },\n]\nconst orderOnOptions: {\n label: (t: TFunction) => React.ReactNode\n value: 'asc' | 'desc'\n}[] = [\n {\n label: (t) => (\n <>\n \n {t('general:ascending')}\n >\n ),\n value: 'asc',\n },\n {\n label: (t) => (\n <>\n \n {t('general:descending')}\n >\n ),\n value: 'desc',\n },\n]\nexport function SortByPill() {\n const { refineFolderData, sort } = useFolder()\n const { t } = useTranslation()\n const sortDirection = sort.startsWith('-') ? 'desc' : 'asc'\n const [selectedSortOption] =\n sortOnOptions.filter(({ value }) => value === (sort.startsWith('-') ? sort.slice(1) : sort)) ||\n sortOnOptions\n const [selectedOrderOption] = orderOnOptions.filter(({ value }) => value === sortDirection)\n\n return (\n } size=\"small\">\n {sortDirection === 'asc' ? (\n \n ) : (\n \n )}\n {selectedSortOption?.label(t)}\n \n }\n className={baseClass}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <>\n \n \n {sortOnOptions.map(({ label, value }) => (\n {\n refineFolderData({\n query: {\n page: '1',\n sort: sortDirection === 'desc' ? `-${value}` : value,\n },\n updateURL: true,\n })\n close()\n }}\n >\n {label(t)}\n \n ))}\n \n \n \n \n {orderOnOptions.map(({ label, value }) => (\n {\n if (sortDirection !== value) {\n refineFolderData({\n query: {\n page: '1',\n sort:\n value === 'desc'\n ? `-${selectedSortOption?.value}`\n : selectedSortOption?.value,\n },\n updateURL: true,\n })\n close()\n }\n }}\n >\n {label(t)}\n \n ))}\n \n >\n )}\n showScrollbar\n verticalAlign=\"bottom\"\n />\n )\n}\n"],"mappings":"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","ignoreList":[]}