{"version":3,"file":"index.cjs","names":[],"sources":["../../src/button/button-group.anatomy.ts","../../src/button/button.classes.ts","../../src/button/button-group.api.ts","../../src/button/button.anatomy.ts","../../src/button/button.api.ts","../../src/button/icon-button.anatomy.ts","../../src/button/icon-button.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\"] as const\n\nexport const buttonGroupAnatomy: Anatomy<\n  \"buttonGroup\",\n  (typeof parts)[number]\n> = createAnatomy(\"buttonGroup\").parts(...parts)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nexport const buttonClasses = {\n  group: \"qui-button-group\",\n  icon: \"qui-button__icon\",\n  root: \"qui-button__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 {Explicit} from \"@qualcomm-ui/utils/guard\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {buttonGroupAnatomy} from \"./button-group.anatomy.js\"\nimport type {\n  QdsButtonGroupApiProps,\n  QdsButtonGroupBindings,\n} from \"./button-group.types.js\"\nimport {buttonClasses} from \"./button.classes.js\"\nimport type {QdsButtonApiProps} from \"./button.types.js\"\n\nexport type ResolvableButtonGroupProps = Pick<\n  QdsButtonGroupApiProps,\n  keyof QdsButtonGroupApiProps & keyof QdsButtonApiProps\n>\n\n/**\n * Merges button-group context values with a button's own props.\n *\n * `density`, `disabled`, and `size` are non-overridable (group wins).\n * `emphasis` and `variant` are overridable per-button (button wins).\n */\nexport function resolveButtonPropsWithGroup<\n  T extends ResolvableButtonGroupProps,\n>(group: ResolvableButtonGroupProps | undefined, base: T): T {\n  if (!group) {\n    return base\n  }\n  const {density, disabled, emphasis, size, variant} = group\n  return {\n    ...base,\n    density: density ?? base.density,\n    disabled: disabled ?? base.disabled,\n    emphasis: base.emphasis ?? emphasis,\n    size: size ?? base.size,\n    variant: base.variant ?? variant,\n  }\n}\n\nconst parts = buttonGroupAnatomy.parts\n\nexport function getQdsButtonGroupBindings(\n  {\n    \"aria-label\": ariaLabel,\n    \"aria-labelledby\": ariaLabelledby,\n    density,\n    disabled,\n    emphasis,\n    layout,\n    size,\n    variant,\n  }: Explicit<QdsButtonGroupApiProps>,\n  normalize: PropNormalizer,\n): QdsButtonGroupBindings {\n  const hasAriaLabel = !!(ariaLabel || ariaLabelledby)\n\n  return normalize.element({\n    ...parts.root,\n    \"aria-label\": ariaLabel || undefined,\n    \"aria-labelledby\": ariaLabelledby || undefined,\n    className: buttonClasses.group,\n    \"data-density\": density || \"default\",\n    \"data-disabled\": booleanDataAttr(disabled),\n    \"data-emphasis\": emphasis || undefined,\n    \"data-layout\": layout || \"hug\",\n    \"data-size\": size || \"md\",\n    \"data-variant\": variant || undefined,\n    ...(hasAriaLabel && {role: \"group\"}),\n  })\n}\n","// 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 buttonAnatomy: Anatomy<\"button\", (typeof parts)[number]> =\n  createAnatomy(\"button\").parts(...parts)\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 {Explicit} from \"@qualcomm-ui/utils/guard\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {buttonAnatomy} from \"./button.anatomy.js\"\nimport {buttonClasses} from \"./button.classes.js\"\nimport type {\n  QdsButtonApi,\n  QdsButtonApiProps,\n  QdsButtonEndIconBindings,\n  QdsButtonRootBindings,\n  QdsButtonStartIconBindings,\n} from \"./button.types.js\"\n\nconst parts = buttonAnatomy.parts\n\nconst sharedDefaults = {\n  size: \"md\",\n} satisfies Pick<QdsButtonApiProps, \"size\">\n\nexport function createQdsButtonApi(\n  props: Explicit<QdsButtonApiProps>,\n  normalize: PropNormalizer,\n): QdsButtonApi {\n  const density = props.density || \"default\"\n  const disabled = props.disabled\n  const emphasis = props.emphasis || \"neutral\"\n  const size = props.size || sharedDefaults.size\n  const variant = props.variant || \"fill\"\n\n  return {\n    getEndIconBindings(): QdsButtonEndIconBindings {\n      return normalize.element({\n        ...parts.icon,\n        className: buttonClasses.icon,\n        \"data-density\": density,\n        \"data-placement\": \"end\",\n        \"data-size\": size,\n      })\n    },\n    getRootBindings(): QdsButtonRootBindings {\n      return normalize.button({\n        ...parts.root,\n        className: buttonClasses.root,\n        \"data-density\": density,\n        \"data-disabled\": booleanDataAttr(disabled),\n        \"data-emphasis\": emphasis,\n        \"data-kind\": \"text\",\n        \"data-size\": size,\n        \"data-variant\": variant,\n        disabled,\n      })\n    },\n    getStartIconBindings(): QdsButtonStartIconBindings {\n      return normalize.element({\n        ...parts.icon,\n        className: buttonClasses.icon,\n        \"data-density\": density,\n        \"data-placement\": \"start\",\n        \"data-size\": size,\n      })\n    },\n  }\n}\n","// 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 iconButtonAnatomy: Anatomy<\"iconButton\", (typeof parts)[number]> =\n  createAnatomy(\"iconButton\").parts(...parts)\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 {Explicit} from \"@qualcomm-ui/utils/guard\"\nimport type {PropNormalizer} from \"@qualcomm-ui/utils/machine\"\n\nimport {buttonClasses} from \"./button.classes.js\"\nimport {iconButtonAnatomy} from \"./icon-button.anatomy.js\"\nimport type {\n  QdsIconButtonApi,\n  QdsIconButtonApiProps,\n  QdsIconButtonIconBindings,\n  QdsIconButtonRootBindings,\n} from \"./icon-button.types.js\"\n\nconst parts = iconButtonAnatomy.parts\n\nexport function createQdsIconButtonApi(\n  props: Explicit<QdsIconButtonApiProps>,\n  normalize: PropNormalizer,\n): QdsIconButtonApi {\n  const density = props.density || \"default\"\n  const disabled = props.disabled\n  const emphasis = props.emphasis || \"neutral\"\n  const shape = props.shape || \"square\"\n  const size = props.size || \"md\"\n  const variant = props.variant || \"fill\"\n\n  return {\n    getIconBindings(): QdsIconButtonIconBindings {\n      return normalize.element({\n        ...parts.icon,\n        className: buttonClasses.icon,\n        \"data-density\": density,\n        \"data-size\": size,\n      })\n    },\n    getRootBindings(): QdsIconButtonRootBindings {\n      return normalize.button({\n        ...parts.root,\n        className: buttonClasses.root,\n        \"data-density\": density,\n        \"data-disabled\": booleanDataAttr(disabled),\n        \"data-emphasis\": emphasis,\n        \"data-kind\": \"icon\",\n        \"data-shape\": shape,\n        \"data-size\": size,\n        \"data-variant\": variant,\n        disabled,\n      })\n    },\n  }\n}\n"],"mappings":"0JAOA,IAAa,GAAA,EAAA,EAAA,eAGK,cAAc,CAAC,MALlB,OAKiC,CCPnC,EAAgB,CAC3B,MAAO,mBACP,KAAM,mBACN,KAAM,mBACP,CCmBD,SAAgB,EAEd,EAA+C,EAAY,CAC3D,GAAI,CAAC,EACH,OAAO,EAET,GAAM,CAAC,UAAS,WAAU,WAAU,OAAM,WAAW,EACrD,MAAO,CACL,GAAG,EACH,QAAS,GAAW,EAAK,QACzB,SAAU,GAAY,EAAK,SAC3B,SAAU,EAAK,UAAY,EAC3B,KAAM,GAAQ,EAAK,KACnB,QAAS,EAAK,SAAW,EAC1B,CAGH,IAAM,EAAQ,EAAmB,MAEjC,SAAgB,EACd,CACE,aAAc,EACd,kBAAmB,EACnB,UACA,WACA,WACA,SACA,OACA,WAEF,EACwB,CACxB,IAAM,EAAe,CAAC,EAAE,GAAa,GAErC,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,aAAc,GAAa,IAAA,GAC3B,kBAAmB,GAAkB,IAAA,GACrC,UAAW,EAAc,MACzB,eAAgB,GAAW,UAC3B,iBAAA,EAAA,EAAA,iBAAiC,EAAS,CAC1C,gBAAiB,GAAY,IAAA,GAC7B,cAAe,GAAU,MACzB,YAAa,GAAQ,KACrB,eAAgB,GAAW,IAAA,GAC3B,GAAI,GAAgB,CAAC,KAAM,QAAQ,CACpC,CAAC,CCjEJ,IAAa,GAAA,EAAA,EAAA,eACG,SAAS,CAAC,MAHX,OAAQ,OAGkB,CCSnC,EAAQ,EAAc,MAEtB,EAAiB,CACrB,KAAM,KACP,CAED,SAAgB,EACd,EACA,EACc,CACd,IAAM,EAAU,EAAM,SAAW,UAC3B,EAAW,EAAM,SACjB,EAAW,EAAM,UAAY,UAC7B,EAAO,EAAM,MAAQ,EAAe,KACpC,EAAU,EAAM,SAAW,OAEjC,MAAO,CACL,oBAA+C,CAC7C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,UAAW,EAAc,KACzB,eAAgB,EAChB,iBAAkB,MAClB,YAAa,EACd,CAAC,EAEJ,iBAAyC,CACvC,OAAO,EAAU,OAAO,CACtB,GAAG,EAAM,KACT,UAAW,EAAc,KACzB,eAAgB,EAChB,iBAAA,EAAA,EAAA,iBAAiC,EAAS,CAC1C,gBAAiB,EACjB,YAAa,OACb,YAAa,EACb,eAAgB,EAChB,WACD,CAAC,EAEJ,sBAAmD,CACjD,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,UAAW,EAAc,KACzB,eAAgB,EAChB,iBAAkB,QAClB,YAAa,EACd,CAAC,EAEL,CC1DH,IAAa,GAAA,EAAA,EAAA,eACG,aAAa,CAAC,MAHf,OAAQ,OAGsB,CCQvC,EAAQ,EAAkB,MAEhC,SAAgB,EACd,EACA,EACkB,CAClB,IAAM,EAAU,EAAM,SAAW,UAC3B,EAAW,EAAM,SACjB,EAAW,EAAM,UAAY,UAC7B,EAAQ,EAAM,OAAS,SACvB,EAAO,EAAM,MAAQ,KACrB,EAAU,EAAM,SAAW,OAEjC,MAAO,CACL,iBAA6C,CAC3C,OAAO,EAAU,QAAQ,CACvB,GAAG,EAAM,KACT,UAAW,EAAc,KACzB,eAAgB,EAChB,YAAa,EACd,CAAC,EAEJ,iBAA6C,CAC3C,OAAO,EAAU,OAAO,CACtB,GAAG,EAAM,KACT,UAAW,EAAc,KACzB,eAAgB,EAChB,iBAAA,EAAA,EAAA,iBAAiC,EAAS,CAC1C,gBAAiB,EACjB,YAAa,OACb,aAAc,EACd,YAAa,EACb,eAAgB,EAChB,WACD,CAAC,EAEL"}