{"version":3,"file":"getExtraSizes.mjs","sources":[""],"sourcesContent":["import { getStrWithCapitalized } from \"@web3r/flowerkit/str\";\r\nimport type { IComponentBaseProps, TBaseSizes, TCustomBaseSize } from \"#package/types\";\r\nimport { constants } from \"../constants\";\r\n\r\ninterface IGetExtraSizesProps {\r\n  extraClasses?: IComponentBaseProps[\"extraClasses\"];\r\n  size: TBaseSizes | TCustomBaseSize;\r\n}\r\n\r\n/**\r\n * Стандартный размер (medium)\r\n */\r\nconst fallbackSize = constants.defaultSizes[2];\r\n\r\n/**\n * Получает классы элемента\n * @returns {IComponentBaseProps[\"extraClasses\"]} Возвращает объект `extraClasses` c добавленным размерным модификатором вида `isSize...`.\n * @example\n * import { getExtraSizes } from \"@delement/ui/utils\";\n *\n * const extraClasses = getExtraSizes({ size: \"medium\" });\n */\nexport const getExtraSizes = ({\n  extraClasses = {},\r\n  size = fallbackSize,\r\n}: IGetExtraSizesProps): IComponentBaseProps[\"extraClasses\"] => {\r\n\r\n  const getNormalizedSize = (size: string): string => getStrWithCapitalized(size.toLowerCase());\r\n\r\n  const extraSizes: IComponentBaseProps[\"extraClasses\"] = {};\r\n\r\n  if (typeof size === \"string\" && constants.defaultSizes.includes(size.toLowerCase() as TBaseSizes)) {\r\n    extraSizes[`isSize${getNormalizedSize(size)}`] = true;\r\n  } else {\r\n    console.error(`[getExtraSizes] Please use function for custom size: \"${size}\"`);\r\n  }\r\n\r\n  if (typeof size === \"function\") {\r\n    const userSize = size() || fallbackSize;\r\n    extraSizes[`isSize${getNormalizedSize(userSize)}`] = true;\r\n  }\r\n\r\n  return { ...extraClasses, ...extraSizes };\r\n\r\n};\r\n"],"names":["fallbackSize","constants","defaultSizes","getExtraSizes","extraClasses","size","getNormalizedSize","getStrWithCapitalized","toLowerCase","extraSizes","includes","console","error","userSize"],"mappings":";;;GAYA,MAAMA,aAAeC,UAAUC,aAAa;;;;;;;;GAUrC,MAAMC,cAAgB,EAC3BC,0BAAe,CAAA,EACfC,UAAOL,iBAGP,MAAMM,kBAAqBD,MAAyBE,sBAAsBF,KAAKG,eAE/E,MAAMC,WAAkD,CAAA,EAExD,UAAWJ,OAAS,UAAYJ,UAAUC,aAAaQ,SAASL,KAAKG,eACnEC,WAAW,SAASH,kBAAkBD,SAAW,UAEjDM,QAAQC,MAAM,yDAAyDP,SAGzE,UAAWA,OAAS,WAAY,CAC9B,MAAMQ,SAAWR,QAAUL,aAC3BS,WAAW,SAASH,kBAAkBO,aAAe,IACvD,CAEA,MAAO,IAAKT,gBAAiBK"}