tav-ui
Version:
1 lines • 1.43 kB
Source Map (JSON)
{"version":3,"file":"use-slot-keys2.mjs","sources":["../../../../../../../../packages/components/file/src/hooks/use-slot-keys.ts"],"sourcesContent":["import { type Slots, computed } from 'vue'\n\nexport function useSlotKeys(slots: Slots, prefix: string, filterPrefix = '') {\n const getSlotKeys = computed(() => {\n const keys = Object.keys(slots)\n return keys\n .map((item) => (!item.startsWith(filterPrefix) && item.startsWith(prefix) ? item : null))\n .filter((item) => !!item) as string[]\n })\n\n function replaceSlotKey(key: string) {\n if (!key) return ''\n // eslint-disable-next-line no-useless-escape\n return key?.replace?.(new RegExp(prefix), '') ?? ''\n }\n\n return {\n getSlotKeys,\n replaceSlotKey,\n }\n}\n"],"names":[],"mappings":";;AACO,SAAS,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,EAAE,EAAE;AAC9D,EAAE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM;AACrC,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAChI,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,IAAI,CAAC,GAAG;AACZ,MAAM,OAAO,EAAE,CAAC;AAChB,IAAI,OAAO,GAAG,EAAE,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AACxD,GAAG;AACH,EAAE,OAAO;AACT,IAAI,WAAW;AACf,IAAI,cAAc;AAClB,GAAG,CAAC;AACJ;;;;"}