UNPKG

@vuesax-alpha/nightly

Version:
1 lines 1.46 kB
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-group-provide/index.ts"],"sourcesContent":["import { provide, reactive } from 'vue'\nimport type { ParentProvide } from '@vuesax-alpha/tokens'\nimport type { ComponentInternalInstance, InjectionKey } from '@vue/runtime-core'\n\nexport const useGroupProvide = <T extends Record<string, unknown>>(\n key: InjectionKey<ParentProvide<T>>,\n data: T\n) => {\n const children: ComponentInternalInstance[] = reactive([])\n\n const insert = (child: ComponentInternalInstance) => {\n children.push(child)\n }\n const remove = (child: ComponentInternalInstance) => {\n const index = children.indexOf(child)\n children.splice(index, 1)\n }\n\n provide(key, {\n ...data,\n children,\n insert,\n remove,\n })\n\n return {\n children,\n insert,\n remove,\n }\n}\n"],"names":[],"mappings":";;AAIa,MAAA,eAAA,GAAkB,CAC7B,GAAA,EACA,IACG,KAAA;AACH,EAAM,MAAA,QAAA,GAAwC,QAAS,CAAA,EAAE,CAAA,CAAA;AAEzD,EAAM,MAAA,MAAA,GAAS,CAAC,KAAqC,KAAA;AACnD,IAAA,QAAA,CAAS,KAAK,KAAK,CAAA,CAAA;AAAA,GACrB,CAAA;AACA,EAAM,MAAA,MAAA,GAAS,CAAC,KAAqC,KAAA;AACnD,IAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AACpC,IAAS,QAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,GAC1B,CAAA;AAEA,EAAA,OAAA,CAAQ,GAAK,EAAA;AAAA,IACX,GAAG,IAAA;AAAA,IACH,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,MAAA;AAAA,IACA,MAAA;AAAA,GACF,CAAA;AACF;;;;"}