import type { IComponentBaseProps } from "#package/types"; import type { TGetCNFunction } from "#package/utils/react/useCN"; /** * Generates a mapping of modifier names to their final CSS class names. * This is used to toggle state classes on the container element. * @returns {IComponentBaseProps["extraClasses"]} */ export const getStateClasses = ( getCN: TGetCNFunction, mods: string[] = [ "isRequired", "isOpen", "isDisabled", "isLoading", "isTransition" ] ): IComponentBaseProps["extraClasses"] => { return Object.fromEntries( mods.map((modName) => [ modName, getCN("", { [modName]: true }).split(" ").pop()! ]) ); };