{"version":3,"file":"index.mjs","sources":["../../../../../hooks/use-button/index.ts"],"sourcesContent":["import {\n  css,\n  themePaletteColor,\n  useColor,\n  useRgbColor,\n} from '@fusion-ui-vue/theme'\nimport {\n  type ButtonProps,\n  type IconButtonProps,\n  buttonHeight,\n} from '@fusion-ui-vue/components'\nimport { computed } from 'vue'\nimport type { ComponentStylingHook } from '../types'\n\nexport const useButton: ComponentStylingHook<ButtonProps> = (props, ns) => {\n  const $color = useColor(props, 'color', 'var(--md-sys-color-primary)')\n  const $colorRgb = useRgbColor(props, 'color', 'var(--md-sys-color-primary)')\n  const $onColor = computed(() =>\n    themePaletteColor.includes(props.color as any)\n      ? `var(--md-sys-color-on-${props.color})`\n      : null\n  )\n\n  return computed(() => {\n    return css`\n      --fn-button-color: ${$color.value};\n      --fn-button-color-rgb: ${$colorRgb.value};\n      --fn-button-on-color: ${\n        $onColor.value ?? 'var(--md-sys-color-on-primary)'\n      };\n      &.${ns!.m('filled')} {\n          box-shadow: ${\n            props.disableElevation\n              ? 'var(--md-sys-elevation-level-0)'\n              : 'var(--md-sys-elevation-level-2)'\n          };\n          &:not([disabled]):hover {\n            box-shadow: ${\n              props.disableElevation\n                ? 'var(--md-sys-elevation-level-0)'\n                : 'var(--md-sys-elevation-level-4)'\n            };\n          },\n        },\n      &.${ns!.m(props.size)} {\n        height: ${buttonHeight[props.size]}px;\n      }\n    `\n  })\n}\n\nexport const useIconButton: ComponentStylingHook<IconButtonProps> = props => {\n  const $color = useColor(props, 'color', 'var(--md-sys-color-primary)')\n  const $colorRgb = useRgbColor(\n    props,\n    'color',\n    'var(--md-sys-color-primary-rgb)'\n  )\n\n  return computed(() => {\n    return css`\n      --fn-icon-button-color: ${$color.value};\n      --fn-icon-button-color-rgb: ${$colorRgb.value};\n    `\n  })\n}\n"],"names":[],"mappings":";;;;;;;;;AAca,MAAA,SAAA,GAA+C,CAAC,KAAA,EAAO,EAAO,KAAA;AACzE,EAAA,MAAM,MAAS,GAAA,QAAA,CAAS,KAAO,EAAA,OAAA,EAAS,6BAA6B,CAAA,CAAA;AACrE,EAAA,MAAM,SAAY,GAAA,WAAA,CAAY,KAAO,EAAA,OAAA,EAAS,6BAA6B,CAAA,CAAA;AAC3E,EAAA,MAAM,QAAW,GAAA,QAAA;AAAA,IAAS,MACxB,kBAAkB,QAAS,CAAA,KAAA,CAAM,KAAY,CACzC,GAAA,CAAA,sBAAA,EAAyB,KAAM,CAAA,KAAK,CACpC,CAAA,CAAA,GAAA,IAAA;AAAA,GACN,CAAA;AAEA,EAAA,OAAO,SAAS,MAAM;AAvBxB,IAAA,IAAA,EAAA,CAAA;AAwBI,IAAO,OAAA,GAAA,CAAA;AAAA,yBAAA,EACgB,OAAO,KAAK,CAAA;AAAA,6BAAA,EACR,UAAU,KAAK,CAAA;AAAA,4BAEtC,EAAA,CAAA,EAAA,GAAA,QAAA,CAAS,KAAT,KAAA,IAAA,GAAA,EAAA,GAAkB,gCACpB,CAAA;AAAA,QACI,EAAA,EAAA,CAAI,CAAE,CAAA,QAAQ,CAAC,CAAA;AAAA,sBAEb,EAAA,KAAA,CAAM,gBACF,GAAA,iCAAA,GACA,iCACN,CAAA;AAAA;AAAA,wBAGI,EAAA,KAAA,CAAM,gBACF,GAAA,iCAAA,GACA,iCACN,CAAA;AAAA;AAAA;AAAA,QAAA,EAGF,EAAI,CAAA,CAAA,CAAE,KAAM,CAAA,IAAI,CAAC,CAAA;AAAA,gBACT,EAAA,YAAA,CAAa,KAAM,CAAA,IAAI,CAAC,CAAA;AAAA;AAAA,IAAA,CAAA,CAAA;AAAA,GAGvC,CAAA,CAAA;AACH,EAAA;AAEO,MAAM,gBAAuD,CAAS,KAAA,KAAA;AAC3E,EAAA,MAAM,MAAS,GAAA,QAAA,CAAS,KAAO,EAAA,OAAA,EAAS,6BAA6B,CAAA,CAAA;AACrE,EAAA,MAAM,SAAY,GAAA,WAAA;AAAA,IAChB,KAAA;AAAA,IACA,OAAA;AAAA,IACA,iCAAA;AAAA,GACF,CAAA;AAEA,EAAA,OAAO,SAAS,MAAM;AACpB,IAAO,OAAA,GAAA,CAAA;AAAA,8BAAA,EACqB,OAAO,KAAK,CAAA;AAAA,kCAAA,EACR,UAAU,KAAK,CAAA;AAAA,IAAA,CAAA,CAAA;AAAA,GAEhD,CAAA,CAAA;AACH;;;;"}