{"version":3,"file":"index.cjs","names":[],"sources":["../../src/card/card.anatomy.ts","../../src/card/card.classes.ts","../../src/card/card.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 = [\n  \"root\",\n  \"media\",\n  \"avatar\",\n  \"badge\",\n  \"content\",\n  \"heading\",\n  \"headingText\",\n  \"subheadingText\",\n  \"paragraphText\",\n  \"eyebrowText\",\n  \"menuTrigger\",\n  \"footer\",\n  \"button\",\n  \"link\",\n] as const\n\nexport const cardAnatomy: Anatomy<\"card\", (typeof parts)[number]> =\n  createAnatomy(\"card\").parts(...parts)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nexport const cardClasses = {\n  avatar: \"qui-card__avatar\",\n  badge: \"qui-card__badge\",\n  button: \"qui-card__button\",\n  content: \"qui-card__content\",\n  eyebrowText: \"qui-card__eyebrow-text\",\n  footer: \"qui-card__footer\",\n  heading: \"qui-card__heading\",\n  headingText: \"qui-card__heading-text\",\n  link: \"qui-card__link\",\n  media: \"qui-card__media\",\n  menuTrigger: \"qui-card__menu-trigger\",\n  paragraphText: \"qui-card__paragraph-text\",\n  root: \"qui-card__root\",\n  subheadingText: \"qui-card__subheading-text\",\n} as const\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {QdsButtonApiProps} from \"@qualcomm-ui/qds-core/button\"\nimport type {QdsLinkApiProps} from \"@qualcomm-ui/qds-core/link\"\nimport {booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {cardAnatomy} from \"./card.anatomy.js\"\nimport {cardClasses} from \"./card.classes.js\"\nimport type {\n  QdsCardApi,\n  QdsCardApiProps,\n  QdsCardAvatarBindings,\n  QdsCardBadgeBindings,\n  QdsCardButtonApiProps,\n  QdsCardButtonBindings,\n  QdsCardContentBindings,\n  QdsCardEyebrowTextBindings,\n  QdsCardFooterBindings,\n  QdsCardHeadingBindings,\n  QdsCardHeadingTextBindings,\n  QdsCardLinkApiProps,\n  QdsCardLinkBindings,\n  QdsCardMediaBindings,\n  QdsCardMenuTriggerBindings,\n  QdsCardParagraphTextBindings,\n  QdsCardRootBindings,\n  QdsCardSubheadingTextBindings,\n} from \"./card.types.js\"\n\nconst parts = cardAnatomy.parts\n\nexport function createQdsCardApi(\n  props: QdsCardApiProps,\n  normalize: PropNormalizer,\n): QdsCardApi {\n  const size = props.size || \"sm\"\n  const variant = props.variant || \"outline\"\n  const alignment = props.alignment || \"start\"\n  const interactive = props.interactive\n\n  return {\n    alignment,\n    size,\n    variant,\n\n    // group: bindings\n    getAvatarBindings(): QdsCardAvatarBindings {\n      return normalize.element({\n        ...parts.avatar,\n        className: cardClasses.avatar,\n        \"data-size\": \"xl\",\n      })\n    },\n    getBadgeBindings(): QdsCardBadgeBindings {\n      return normalize.element({\n        ...parts.badge,\n        className: cardClasses.badge,\n      })\n    },\n    getButtonBindings(): QdsCardButtonBindings {\n      return normalize.element({\n        ...parts.button,\n        className: cardClasses.button,\n        \"data-size\": size === \"lg\" ? \"md\" : \"sm\",\n      })\n    },\n    getContentBindings(): QdsCardContentBindings {\n      return normalize.element({\n        ...parts.content,\n        className: cardClasses.content,\n        \"data-alignment\": alignment,\n        \"data-size\": size,\n      })\n    },\n    getEyebrowTextBindings(): QdsCardEyebrowTextBindings {\n      return normalize.element({\n        ...parts.eyebrowText,\n        className: cardClasses.eyebrowText,\n        \"data-size\": size,\n      })\n    },\n    getFooterBindings(): QdsCardFooterBindings {\n      return normalize.element({\n        ...parts.footer,\n        className: cardClasses.footer,\n        \"data-alignment\": alignment,\n        \"data-size\": size,\n      })\n    },\n    getHeadingBindings(): QdsCardHeadingBindings {\n      return normalize.element({\n        ...parts.heading,\n        className: cardClasses.heading,\n        \"data-alignment\": alignment,\n        \"data-size\": size,\n      })\n    },\n    getHeadingTextBindings(): QdsCardHeadingTextBindings {\n      return normalize.element({\n        ...parts.headingText,\n        className: cardClasses.headingText,\n        \"data-size\": size,\n      })\n    },\n    getLinkBindings(): QdsCardLinkBindings {\n      return normalize.element({\n        ...parts.link,\n        className: cardClasses.link,\n        \"data-size\": size === \"lg\" ? \"md\" : size === \"md\" ? \"sm\" : \"xs\",\n      })\n    },\n    getMediaBindings(props): QdsCardMediaBindings {\n      return normalize.element({\n        ...parts.media,\n        className: cardClasses.media,\n        \"data-padding\": props.padding || \"sm\",\n        \"data-size\": size,\n      })\n    },\n    getMenuTriggerBindings(): QdsCardMenuTriggerBindings {\n      return normalize.element({\n        ...parts.menuTrigger,\n        className: cardClasses.menuTrigger,\n        \"data-size\": size,\n      })\n    },\n    getParagraphTextBindings(): QdsCardParagraphTextBindings {\n      return normalize.element({\n        ...parts.paragraphText,\n        className: cardClasses.paragraphText,\n        \"data-size\": size,\n      })\n    },\n    getRootBindings(): QdsCardRootBindings {\n      return normalize.element({\n        ...parts.root,\n        className: cardClasses.root,\n        \"data-alignment\": alignment,\n        \"data-interactive\": booleanDataAttr(interactive),\n        \"data-size\": size,\n        \"data-variant\": variant,\n        dir: props.dir || \"ltr\",\n      })\n    },\n    getSubheadingTextBindings(): QdsCardSubheadingTextBindings {\n      return normalize.element({\n        ...parts.subheadingText,\n        className: cardClasses.subheadingText,\n        \"data-size\": size,\n      })\n    },\n  }\n}\n\nexport function translateCardButtonProps(\n  props: QdsCardButtonApiProps,\n): QdsButtonApiProps {\n  return {\n    emphasis: props.variant === \"primary\" ? \"primary\" : \"neutral\",\n    variant: props.variant === \"primary\" ? \"fill\" : \"outline\",\n  }\n}\n\nexport function translateCardLinkProps(\n  props: QdsCardLinkApiProps,\n): QdsLinkApiProps {\n  return {\n    emphasis: props.variant === \"secondary\" ? \"neutral\" : \"default\",\n  }\n}\n"],"mappings":"kHAsBA,IAAa,GAAA,wCAAA,eACG,OAAO,CAAC,MAjBtB,OACA,QACA,SACA,QACA,UACA,UACA,cACA,iBACA,gBACA,cACA,cACA,SACA,SACA,OAIqC,CCpB1B,EAAc,CACzB,OAAQ,mBACR,MAAO,kBACP,OAAQ,mBACR,QAAS,oBACT,YAAa,yBACb,OAAQ,mBACR,QAAS,oBACT,YAAa,yBACb,KAAM,iBACN,MAAO,kBACP,YAAa,yBACb,cAAe,2BACf,KAAM,iBACN,eAAgB,4BACjB,CCaK,EAAQ,EAAY,MAE1B,SAAgB,EACd,EACA,EACY,CACZ,IAAM,EAAO,EAAM,MAAQ,KACrB,EAAU,EAAM,SAAW,UAC3B,EAAY,EAAM,WAAa,QAC/B,EAAc,EAAM,YAE1B,MAAO,CACL,YACA,OACA,UAGA,mBAA2C,CACzC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,OACT,UAAW,EAAY,OACvB,YAAa,KACd,CAAC,EAEJ,kBAAyC,CACvC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,MACT,UAAW,EAAY,MACxB,CAAC,EAEJ,mBAA2C,CACzC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,OACT,UAAW,EAAY,OACvB,YAAa,IAAS,KAAO,KAAO,KACrC,CAAC,EAEJ,oBAA6C,CAC3C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,QACT,UAAW,EAAY,QACvB,iBAAkB,EAClB,YAAa,EACd,CAAC,EAEJ,wBAAqD,CACnD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,YACT,UAAW,EAAY,YACvB,YAAa,EACd,CAAC,EAEJ,mBAA2C,CACzC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,OACT,UAAW,EAAY,OACvB,iBAAkB,EAClB,YAAa,EACd,CAAC,EAEJ,oBAA6C,CAC3C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,QACT,UAAW,EAAY,QACvB,iBAAkB,EAClB,YAAa,EACd,CAAC,EAEJ,wBAAqD,CACnD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,YACT,UAAW,EAAY,YACvB,YAAa,EACd,CAAC,EAEJ,iBAAuC,CACrC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,UAAW,EAAY,KACvB,YAAa,IAAS,KAAO,KAAO,IAAS,KAAO,KAAO,KAC5D,CAAC,EAEJ,iBAAiB,EAA6B,CAC5C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,MACT,UAAW,EAAY,MACvB,eAAgB,EAAM,SAAW,KACjC,YAAa,EACd,CAAC,EAEJ,wBAAqD,CACnD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,YACT,UAAW,EAAY,YACvB,YAAa,EACd,CAAC,EAEJ,0BAAyD,CACvD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,cACT,UAAW,EAAY,cACvB,YAAa,EACd,CAAC,EAEJ,iBAAuC,CACrC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,UAAW,EAAY,KACvB,iBAAkB,EAClB,oBAAA,EAAA,EAAA,iBAAoC,EAAY,CAChD,YAAa,EACb,eAAgB,EAChB,IAAK,EAAM,KAAO,MACnB,CAAC,EAEJ,2BAA2D,CACzD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,eACT,UAAW,EAAY,eACvB,YAAa,EACd,CAAC,EAEL,CAGH,SAAgB,EACd,EACmB,CACnB,MAAO,CACL,SAAU,EAAM,UAAY,UAAY,UAAY,UACpD,QAAS,EAAM,UAAY,UAAY,OAAS,UACjD,CAGH,SAAgB,EACd,EACiB,CACjB,MAAO,CACL,SAAU,EAAM,UAAY,YAAc,UAAY,UACvD"}