UNPKG

vuestic-ui

Version:
1 lines 2.33 kB
{"version":3,"file":"useFixedBar.mjs","sources":["../../../../src/composables/useFixedBar.ts"],"sourcesContent":["import { computed, ExtractPropTypes, Ref, StyleValue } from 'vue'\n\nexport const useFixedBarProps = {\n hideOnScroll: { type: Boolean, default: false },\n fixed: { type: Boolean, default: false },\n bottom: { type: Boolean, default: false },\n}\n\nexport function useFixedBar (props: ExtractPropTypes<typeof useFixedBarProps>, isScrolledDown: Ref<boolean>) {\n const isHiddenComputed = computed(() => isScrolledDown.value ? !!props.hideOnScroll : false)\n\n const transformComputed = computed(() => {\n if (!props.bottom && !isHiddenComputed.value) { return }\n if (props.bottom && isHiddenComputed.value) { return 'translateY(100%)' }\n if (props.bottom) { return props.fixed ? 'translateY(-100%)' : 'translateY(0)' }\n return 'translateY(-100%)'\n })\n\n const positionComputed = computed(() => {\n if (props.fixed) { return 'fixed' }\n return isHiddenComputed.value ? 'absolute' : undefined\n })\n\n const fixedBarStyleComputed = computed(() => {\n const result = {\n top: props.bottom && (isHiddenComputed.value || props.fixed) ? '100%' : undefined,\n transform: props.hideOnScroll || props.fixed ? transformComputed.value : undefined,\n }\n\n positionComputed.value && Object.assign(result, { position: positionComputed.value })\n\n return result\n })\n\n return { fixedBarStyleComputed }\n}\n"],"names":[],"mappings":";AAEO,MAAM,mBAAmB;AAAA,EAC9B,cAAc,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EAC9C,OAAO,EAAE,MAAM,SAAS,SAAS,MAAM;AAAA,EACvC,QAAQ,EAAE,MAAM,SAAS,SAAS,MAAM;AAC1C;AAEgB,SAAA,YAAa,OAAkD,gBAA8B;AACrG,QAAA,mBAAmB,SAAS,MAAM,eAAe,QAAQ,CAAC,CAAC,MAAM,eAAe,KAAK;AAErF,QAAA,oBAAoB,SAAS,MAAM;AACvC,QAAI,CAAC,MAAM,UAAU,CAAC,iBAAiB,OAAO;AAAE;AAAA,IAAO;AACnD,QAAA,MAAM,UAAU,iBAAiB,OAAO;AAAS,aAAA;AAAA,IAAmB;AACxE,QAAI,MAAM,QAAQ;AAAS,aAAA,MAAM,QAAQ,sBAAsB;AAAA,IAAgB;AACxE,WAAA;AAAA,EAAA,CACR;AAEK,QAAA,mBAAmB,SAAS,MAAM;AACtC,QAAI,MAAM,OAAO;AAAS,aAAA;AAAA,IAAQ;AAC3B,WAAA,iBAAiB,QAAQ,aAAa;AAAA,EAAA,CAC9C;AAEK,QAAA,wBAAwB,SAAS,MAAM;AAC3C,UAAM,SAAS;AAAA,MACb,KAAK,MAAM,WAAW,iBAAiB,SAAS,MAAM,SAAS,SAAS;AAAA,MACxE,WAAW,MAAM,gBAAgB,MAAM,QAAQ,kBAAkB,QAAQ;AAAA,IAAA;AAG1D,qBAAA,SAAS,OAAO,OAAO,QAAQ,EAAE,UAAU,iBAAiB,OAAO;AAE7E,WAAA;AAAA,EAAA,CACR;AAED,SAAO,EAAE,sBAAsB;AACjC;"}