import type { ComponentType } from 'react';
import { HiHome, HiMiniArrowPath } from 'react-icons/hi2';
import {
	PiAlignLeftSimpleFill,
	PiArrowDown,
	PiArrowLineDown,
	PiArrowLineUp,
	PiArrowsClockwise,
	PiArrowSquareOut,
	PiArrowUp,
	PiCaretDownFill,
	PiCheck,
	PiClock,
	PiCopy,
	PiDotsThreeOutlineVerticalFill,
	PiDownloadSimple,
	PiEye,
	PiEyeClosed,
	PiFloppyDisk,
	PiFolder,
	PiFolders,
	PiGear,
	PiInfo,
	PiListDashes,
	PiMagnifyingGlass,
	PiNotePencil,
	PiPencil,
	PiPlus,
	PiSortAscending,
	PiSortDescending,
	PiSquaresFour,
	PiTrashSimple,
	PiUploadSimple,
	PiX,
	PiXCircle,
} from 'react-icons/pi';

export const ActionIcon = {
	Ascend: PiSortAscending,
	Cancel: PiXCircle,
	Close: PiX,
	Collapse: PiCaretDownFill,
	Copy: PiCopy,
	Delete: PiTrashSimple,
	Descend: PiSortDescending,
	Download: PiDownloadSimple,
	DropdownIndicator: PiCaretDownFill,
	Edit: PiPencil,
	Expand: PiCaretDownFill,
	GridView: PiSquaresFour,
	Hide: PiEyeClosed,
	Info: PiInfo,
	KebabMenu: PiDotsThreeOutlineVerticalFill,
	ListView: PiListDashes,
	More: PiDotsThreeOutlineVerticalFill,
	MoveBottom: PiArrowLineDown,
	MoveDown: PiArrowDown,
	MoveFile: PiFolder,
	MoveTop: PiArrowLineUp,
	MoveUp: PiArrowUp,
	Open: PiArrowSquareOut,
	Plus: PiPlus,
	Popup: PiArrowSquareOut,
	Refresh: PiArrowsClockwise,
	Reload: PiArrowsClockwise,
	Save: PiFloppyDisk,
	Search: PiMagnifyingGlass,
	Show: PiEye,
	Submit: PiCheck,
	Upload: PiUploadSimple,
	View: PiEye,
	Write: PiNotePencil,
	Backward: PiAlignLeftSimpleFill,
	Reset: HiMiniArrowPath,
	Home: HiHome,
} as const satisfies Record<string, ComponentType<any>>;

export const AppletIcon = {
	Clock: PiClock,
	FileManager: PiFolders,
	Dashboard: PiSquaresFour,
	Settings: PiGear,
} as const satisfies Record<string, ComponentType<any>>;
