vuestic-ui
Version:
Vue 3 UI Framework
1 lines • 2.38 kB
Source Map (JSON)
{"version":3,"file":"useBreakpoint.mjs","sources":["../../../../src/composables/useBreakpoint.ts"],"sourcesContent":["import { inject, computed, ComputedRef } from 'vue'\n\nimport { warn } from '../utils/console'\nimport { vaBreakpointSymbol } from '../services/breakpoint'\nimport { useReactiveComputed } from './useReactiveComputed'\nimport { useGlobalConfig } from './useGlobalConfig'\nimport { useIsMounted } from './useIsMounted'\n\nimport type {\n BreakpointServiceObject,\n BreakpointHelpersKeys,\n BreakpointHelpers,\n BreakpointConfig,\n} from '../services/breakpoint'\n\nconst helpersKeys: BreakpointHelpersKeys[] = ['xs', 'sm', 'md', 'lg', 'xl', 'smUp', 'mdUp', 'lgUp', 'smDown', 'mdDown', 'lgDown']\nconst defaultHelpers = helpersKeys.reduce((acc, key) => {\n acc[key] = false\n return acc\n}, {} as BreakpointHelpers)\n\nexport const useBreakpoint = (): BreakpointServiceObject => {\n const injected = inject(vaBreakpointSymbol, {}) as BreakpointServiceObject\n\n const isMounted = useIsMounted()\n\n const { globalConfig } = useGlobalConfig()\n\n const breakpointConfig: ComputedRef<BreakpointConfig> = computed(() => {\n const breakpoint = globalConfig.value.breakpoint\n if (!breakpoint) { warn('useBreakpoint: breakpointConfig is not defined!') }\n return breakpoint ?? {} as BreakpointConfig\n })\n\n const defaultBreakpoint = computed(() => breakpointConfig.value.enabled\n ? {\n width: undefined,\n height: undefined,\n current: undefined,\n thresholds: breakpointConfig.value.thresholds,\n ...defaultHelpers,\n }\n : {} as BreakpointServiceObject)\n\n return useReactiveComputed(() => isMounted.value ? injected : defaultBreakpoint.value)\n}\n"],"names":[],"mappings":";;;;;;AAeA,MAAM,cAAuC,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,QAAQ,QAAQ,UAAU,UAAU,QAAQ;AAChI,MAAM,iBAAiB,YAAY,OAAO,CAAC,KAAK,QAAQ;AACtD,MAAI,GAAG,IAAI;AACJ,SAAA;AACT,GAAG,CAAuB,CAAA;AAEnB,MAAM,gBAAgB,MAA+B;AAC1D,QAAM,WAAW,OAAO,oBAAoB,CAAE,CAAA;AAE9C,QAAM,YAAY;AAEZ,QAAA,EAAE,iBAAiB;AAEnB,QAAA,mBAAkD,SAAS,MAAM;AAC/D,UAAA,aAAa,aAAa,MAAM;AACtC,QAAI,CAAC,YAAY;AAAE,WAAK,iDAAiD;AAAA,IAAE;AAC3E,WAAO,cAAc,CAAA;AAAA,EAAC,CACvB;AAED,QAAM,oBAAoB,SAAS,MAAM,iBAAiB,MAAM,UAC5D;AAAA,IACA,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY,iBAAiB,MAAM;AAAA,IACnC,GAAG;AAAA,EACL,IACE,CAA6B,CAAA;AAEjC,SAAO,oBAAoB,MAAM,UAAU,QAAQ,WAAW,kBAAkB,KAAK;AACvF;"}