UNPKG

vuestic-ui

Version:
1 lines 2.32 kB
{"version":3,"file":"useToggleIcon.mjs","sources":["../../../../../../src/components/va-select/hooks/useToggleIcon.ts"],"sourcesContent":["import { Ref, computed, PropType, ExtractPropTypes } from 'vue'\n\nimport { useColors } from '../../../composables'\n\nimport type { SelectDropdownIcon } from '../types'\n\nexport const useToggleIconProps = {\n dropdownIcon: {\n type: [String, Object] as PropType<string | SelectDropdownIcon>,\n default: (): SelectDropdownIcon => ({\n open: 'va-arrow-down',\n close: 'va-arrow-up',\n }),\n validator: (value: string | SelectDropdownIcon) => {\n if (typeof value === 'string') { return true }\n\n return Object.entries(value)\n .every(([prop, propValue]) => ['open', 'close'].includes(prop) && typeof propValue === 'string')\n },\n },\n}\n\nexport const useToggleIcon = (\n props: ExtractPropTypes<typeof useToggleIconProps> & { readonly: boolean, color: string },\n showDropdownContent: Ref<boolean>,\n) => {\n const toggleIcon = computed(() => {\n if (!props.dropdownIcon) { return '' }\n\n if (typeof props.dropdownIcon === 'string') {\n return props.dropdownIcon\n }\n\n return showDropdownContent.value ? props.dropdownIcon.close : props.dropdownIcon.open\n })\n\n const { getHoverColor, getColor } = useColors()\n const colorComputed = computed(() => getColor('secondary'))\n const toggleIconColor = computed(() => props.readonly ? getHoverColor(colorComputed.value) : colorComputed.value)\n\n return { toggleIcon, toggleIconColor }\n}\n"],"names":[],"mappings":";;AAMO,MAAM,qBAAqB;AAAA,EAChC,cAAc;AAAA,IACZ,MAAM,CAAC,QAAQ,MAAM;AAAA,IACrB,SAAS,OAA2B;AAAA,MAClC,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,IAET,WAAW,CAAC,UAAuC;AAC7C,UAAA,OAAO,UAAU,UAAU;AAAS,eAAA;AAAA,MAAK;AAE7C,aAAO,OAAO,QAAQ,KAAK,EACxB,MAAM,CAAC,CAAC,MAAM,SAAS,MAAM,CAAC,QAAQ,OAAO,EAAE,SAAS,IAAI,KAAK,OAAO,cAAc,QAAQ;AAAA,IACnG;AAAA,EACF;AACF;AAEa,MAAA,gBAAgB,CAC3B,OACA,wBACG;AACG,QAAA,aAAa,SAAS,MAAM;AAC5B,QAAA,CAAC,MAAM,cAAc;AAAS,aAAA;AAAA,IAAG;AAEjC,QAAA,OAAO,MAAM,iBAAiB,UAAU;AAC1C,aAAO,MAAM;AAAA,IACf;AAEA,WAAO,oBAAoB,QAAQ,MAAM,aAAa,QAAQ,MAAM,aAAa;AAAA,EAAA,CAClF;AAED,QAAM,EAAE,eAAe,SAAS,IAAI,UAAU;AAC9C,QAAM,gBAAgB,SAAS,MAAM,SAAS,WAAW,CAAC;AACpD,QAAA,kBAAkB,SAAS,MAAM,MAAM,WAAW,cAAc,cAAc,KAAK,IAAI,cAAc,KAAK;AAEzG,SAAA,EAAE,YAAY;AACvB;"}