{"version":3,"file":"index.cjs","names":[],"sources":["../../src/icon/icon.classes.ts","../../src/icon/icon.api.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nexport const iconClasses = {\n  root: \"qui-icon__root\",\n} as const\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {coercePixelProperty} from \"@qualcomm-ui/utils/coercion\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {iconClasses} from \"./icon.classes.js\"\nimport type {\n  QdsIconApiProps,\n  QdsIconBindings,\n  QdsIconSize,\n} from \"./icon.types.js\"\n\nconst qdsIconSizes = new Set<string>([\"xs\", \"sm\", \"md\", \"lg\", \"xl\"])\n\n/**\n * Returns the size of the icon when it is supplied as a pixel value, or undefined\n * if it is a predefined size.\n */\nexport function getIconSize(\n  size: QdsIconSize | null | undefined,\n): string | undefined {\n  if (!size) {\n    return\n  }\n  // the raw size is determined by CSS\n  return qdsIconSizes.has(size as string)\n    ? // handled by CSS\n      undefined\n    : coercePixelProperty(size)\n}\n\nexport function getQdsIconBindings(\n  props: QdsIconApiProps,\n  normalize: PropNormalizer,\n): QdsIconBindings {\n  const iconSize = getIconSize(props.size)\n  return normalize.element({\n    className: iconClasses.root,\n    \"data-size\": iconSize ?? (props.size || \"md\"),\n    fill: \"none\",\n    stroke: \"currentColor\",\n    strokeLinecap: \"round\",\n    strokeLinejoin: \"round\",\n    style: iconSize\n      ? {\n          \"--icon-size\": iconSize,\n        }\n      : {},\n    viewBox: props.viewBox || \"0 0 24 24\",\n    xmlns: props.xmlns || \"http://www.w3.org/2000/svg\",\n  })\n}\n"],"mappings":"gHAGA,IAAa,EAAc,CACzB,KAAM,iBACP,CCQK,EAAe,IAAI,IAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAK,CAAC,CAMpE,SAAgB,EACd,EACoB,CACf,KAIL,OAAO,EAAa,IAAI,EAAe,CAEnC,IAAA,IAAA,EAAA,EAAA,qBACoB,EAAK,CAG/B,SAAgB,EACd,EACA,EACiB,CACjB,IAAM,EAAW,EAAY,EAAM,KAAK,CACxC,OAAO,EAAU,QAAQ,CACvB,UAAW,EAAY,KACvB,YAAa,IAAa,EAAM,MAAQ,MACxC,KAAM,OACN,OAAQ,eACR,cAAe,QACf,eAAgB,QAChB,MAAO,EACH,CACE,cAAe,EAChB,CACD,EAAE,CACN,QAAS,EAAM,SAAW,YAC1B,MAAO,EAAM,OAAS,6BACvB,CAAC"}