{"version":3,"file":"index.cjs","names":[],"sources":["../../src/link/link.anatomy.ts","../../src/link/link.classes.ts","../../src/link/link.api.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {type Anatomy, createAnatomy} from \"@qualcomm-ui/utils/anatomy\"\n\nconst parts = [\"root\", \"icon\"] as const\n\nexport const linkAnatomy: Anatomy<\"link\", (typeof parts)[number]> =\n  createAnatomy(\"link\").parts(...parts)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nexport const linkClasses = {\n  icon: \"qui-link__icon\",\n  root: \"qui-link__root\",\n} as const\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {linkAnatomy} from \"./link.anatomy.js\"\nimport {linkClasses} from \"./link.classes.js\"\nimport type {\n  QdsLinkApi,\n  QdsLinkApiProps,\n  QdsLinkEndIconBindings,\n  QdsLinkRootBindings,\n  QdsLinkStartIconBindings,\n} from \"./link.types.js\"\n\nexport function createQdsLinkApi(\n  props: QdsLinkApiProps,\n  normalize: PropNormalizer,\n): QdsLinkApi {\n  const emphasis = props.emphasis || \"default\"\n  const size = props.size || \"sm\"\n\n  return {\n    emphasis,\n    size,\n\n    // group: bindings\n    getEndIconBindings(): QdsLinkEndIconBindings {\n      return normalize.element({\n        ...linkAnatomy.parts.icon,\n        className: linkClasses.icon,\n        \"data-placement\": \"end\",\n        \"data-size\": size,\n      })\n    },\n    getRootBindings(): QdsLinkRootBindings {\n      return normalize.element({\n        ...linkAnatomy.parts.root,\n        className: linkClasses.root,\n        \"data-disabled\": booleanDataAttr(props.disabled),\n        \"data-emphasis\": emphasis,\n        \"data-inherit-font-size\": booleanDataAttr(props.inheritFontSize),\n        \"data-size\": size,\n        dir: props.dir || \"ltr\",\n      })\n    },\n    getStartIconBindings(): QdsLinkStartIconBindings {\n      return normalize.element({\n        ...linkAnatomy.parts.icon,\n        className: linkClasses.icon,\n        \"data-placement\": \"start\",\n        \"data-size\": size,\n      })\n    },\n  }\n}\n"],"mappings":"kHAOA,IAAa,GAAA,wCAAA,eACG,OAAO,CAAC,MAHT,OAAQ,OAGgB,CCL1B,EAAc,CACzB,KAAM,iBACN,KAAM,iBACP,CCUD,SAAgB,EACd,EACA,EACY,CACZ,IAAM,EAAW,EAAM,UAAY,UAC7B,EAAO,EAAM,MAAQ,KAE3B,MAAO,CACL,WACA,OAGA,oBAA6C,CAC3C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAY,MAAM,KACrB,UAAW,EAAY,KACvB,iBAAkB,MAClB,YAAa,EACd,CAAC,EAEJ,iBAAuC,CACrC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAY,MAAM,KACrB,UAAW,EAAY,KACvB,iBAAA,EAAA,EAAA,iBAAiC,EAAM,SAAS,CAChD,gBAAiB,EACjB,0BAAA,EAAA,EAAA,iBAA0C,EAAM,gBAAgB,CAChE,YAAa,EACb,IAAK,EAAM,KAAO,MACnB,CAAC,EAEJ,sBAAiD,CAC/C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAY,MAAM,KACrB,UAAW,EAAY,KACvB,iBAAkB,QAClB,YAAa,EACd,CAAC,EAEL"}